:root{font-family:Arial,"Microsoft JhengHei",sans-serif;color:#19354a;background:#f4f7fa;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:1px solid #cbd7e1;background:#fff;color:#35516a;border-radius:6px;padding:7px 10px;cursor:pointer}button:hover{background:#eaf1f8}button:disabled{opacity:.55;cursor:wait}.primary{background:#416e9e;border-color:#416e9e;color:#fff}.primary:hover{background:#345c87}input,select{border:1px solid #cbd7e1;background:#fff;color:#19354a;border-radius:6px;padding:8px 10px;max-width:100%}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #9bbddd}header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 24px;background:#fff;border-bottom:1px solid #dce4eb}header small{color:#66829a}h1{margin:2px 0;font-size:21px}h2{font-size:17px;margin:0}h3{font-size:14px}header a{color:#315d86;text-decoration:none;border:1px solid #a5bfd6;border-radius:6px;padding:8px 11px;white-space:nowrap}header a:hover{background:#eaf1f8}main{max-width:1800px;margin:auto;padding:18px 22px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;background:#fff;border:1px solid #dbe4ec;border-radius:8px}.toolbar label{display:flex;align-items:center;gap:10px;font-weight:700}.toolbar select{min-width:190px}.toolbar-actions{display:flex;gap:7px}#fixedGroupLabel{font-size:18px;color:#315c84}.instructions{font-size:12px;color:#668098;line-height:1.6;margin:9px 0}.stats{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 11px}.stats span{background:#eaf1f8;border-radius:5px;padding:7px 9px;color:#315c84;font-size:12px}#notice{padding:10px 13px;border-radius:6px;margin:10px 0;line-height:1.5}#notice.success{background:#e7f4eb;color:#26633a;border:1px solid #a9d2b4}#notice.error{background:#fff0ef;color:#9b3939;border:1px solid #e0b4b0}.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}.targets,.staff{background:#fff;border:1px solid #dbe4ec;border-radius:8px;padding:14px;min-width:0}.staff{position:sticky;top:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.section-head>div{display:flex;gap:6px;flex-wrap:wrap}.section-head input[type=search]{min-width:200px}.staff .section-head{display:block}.staff .section-head input{width:100%;margin-top:8px}.staff-add{display:flex;gap:5px;margin-bottom:7px}.staff-add input{min-width:0;flex:1}.staff-add button{white-space:nowrap}#selectionHint{font-size:11px;color:#718391;margin:2px 0 8px}.staff-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.staff-item{position:relative;min-width:0}.staff-name{width:100%;padding:6px 16px 6px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grab;font-size:12px}.staff-name.chosen{background:#416e9e;color:#fff;border-color:#416e9e}.staff-delete{position:absolute;right:2px;top:2px;padding:1px 3px;border:0;background:transparent;color:#a24b4b;font-size:14px;line-height:1}.staff-delete:hover{background:#fee5e4;color:#852e2e}.company-heading{margin:14px 0 6px;padding:7px 9px;background:#eaf1f8;border-left:4px solid #416e9e;color:#315c84}.company-heading:first-child{margin-top:2px}.company-heading small{font-weight:normal;color:#6c8599;margin-left:5px}.target-card{display:grid;grid-template-columns:minmax(105px,1fr) minmax(160px,1.2fr) minmax(130px,.65fr);align-items:center;gap:5px 8px;border:1px solid #dbe4ec;border-radius:6px;padding:7px 9px;margin-bottom:5px;font-size:12px}.target-head strong{display:block;overflow-wrap:anywhere;font-size:13px}.target-head span,.target-actions small{display:block;color:#718391;font-size:11px;margin-top:2px}.drop{min-height:34px;padding:7px 9px;display:flex;align-items:center;background:#f3f8fd;border:2px dashed #9cb8d4;border-radius:6px;color:#315c84;cursor:pointer;overflow-wrap:anywhere}.drop.over,.drop.draft{background:#e4f1fd;border-color:#416e9e}.drop.assigned{background:#fff0ef;color:#ab3030;border-color:#d77171;font-weight:700}.target-actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.target-actions button{padding:5px 7px;font-size:11px}.target-actions small{width:100%;margin:0}.dorms{grid-column:1/-1;color:#647e91;font-size:11px}.dorms span{display:inline-block;margin-right:7px}.empty{text-align:center;color:#718391;padding:18px;grid-column:1/-1}@media(max-width:1100px){.layout{grid-template-columns:minmax(0,1fr) 300px}.target-card{grid-template-columns:1fr 1fr}.target-actions{grid-column:1/-1}.staff-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){main{padding:12px}.layout{grid-template-columns:1fr}.staff{grid-row:1;position:static}.toolbar{flex-wrap:wrap}.section-head{flex-wrap:wrap}.section-head input[type=search]{min-width:0}.target-card{grid-template-columns:1fr 1fr}}@media(max-width:520px){header{padding:10px 12px}.toolbar{padding:10px}.toolbar label{width:100%;justify-content:space-between}.toolbar select{min-width:0}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.section-head>div{width:100%}.section-head>div input,.section-head>div select{width:100%}.target-card{grid-template-columns:1fr}.target-actions{grid-column:auto}.dorms{grid-column:auto}}
:where([hidden]){display:none!important}
.layout{grid-template-columns:minmax(0,1fr) 520px}
.staff-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.target-card{padding:10px 12px;margin-bottom:8px;gap:8px 10px}
.target-head strong{font-size:16px;line-height:1.5}
.drop{min-height:68px;padding:12px;font-size:15px;line-height:1.5}
@media(max-width:1200px){.layout{grid-template-columns:minmax(0,1fr) 430px}}
@media(max-width:760px){.layout{grid-template-columns:1fr}}
@media(max-width:520px){.staff-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.staff-list{display:block;column-count:4;column-gap:4px}
.staff-item{break-inside:avoid;margin-bottom:4px}
@media(max-width:520px){.staff-list{column-count:2}}
