/* dem — DEM-01 Squad 보드 · DEM-02 Squad 상세 (설계서 .board .lane .sq .sgt .sqh .slg .cand .wks .iss 재사용) */
.pt-dem-kpi{cursor:pointer}
.pt-dem-kpi:hover{border-color:var(--hq)}
.pt-dem-kpi.on{outline:2px solid var(--hq);background:color-mix(in srgb,var(--hq) 6%,var(--surface))}
.pt-dem-board .sq{transition:box-shadow .12s}
.pt-dem-board .sq:hover{box-shadow:0 3px 12px rgba(20,30,60,.13)}
.pt-dem-board .sq .need{cursor:pointer}
.pt-dem-board .sq .need:hover{background:color-mix(in srgb,var(--need) 14%,transparent)}
.pt-dem-board .sq .t1 .r{display:inline-flex;gap:4px}
.pt-dem-more{padding:0 6px!important;line-height:16px;margin-left:2px}
.pt-dem-board .lane>header .btn{color:var(--fg)}
/* 팝업 메뉴 */
.pt-dem-menu{position:fixed;z-index:45;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 30px rgba(10,20,40,.22);padding:4px;font-size:12.5px}
.pt-dem-mi{padding:6px 10px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pt-dem-mi small{flex-basis:100%;font-size:10.5px;color:var(--muted)}
.pt-dem-mi:hover{background:var(--surface2)}
.pt-dem-mi.dis{opacity:.5;cursor:default}
.pt-dem-mi.dis:hover{background:none}
.pt-dem-mi.dan{color:var(--alert)}
.pt-dem-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
/* 타임라인 (DEM-01 B) */
.sgt .n[data-go]:hover b{text-decoration:underline}
.sgt .n small{overflow:hidden;text-overflow:ellipsis}
.pt-dem-dmv{grid-column:2/-1;display:grid;font-size:10px;text-align:center;color:var(--muted);padding:0 0 6px;font-variant-numeric:tabular-nums}
.pt-dem-dmv .short{color:var(--alert);font-weight:700}
/* 편성 타임라인 (DEM-02 A) */
.pt-dem-bar{cursor:pointer}
.slg .bar.pt-dem-bar:hover{box-shadow:0 0 0 2px var(--fg);z-index:2}
.pt-dem-bm{position:absolute;right:0;top:0;bottom:0;width:18px;text-align:center;background:color-mix(in srgb,var(--plan) 45%,var(--surface));font-weight:700;cursor:pointer}
.pt-dem-bm:hover{background:var(--plan);color:#fff}
.pt-dem-x{cursor:pointer;color:var(--muted);font-weight:400;padding:0 4px;border-radius:4px}
.pt-dem-x:hover{background:var(--surface2);color:var(--fg)}
.slg .full .btn{flex:0 0 auto}
.slg .ld small{overflow:hidden;text-overflow:ellipsis}
.slg .who{min-width:0}
.slg .who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 생성 모달 */
.typesel span{cursor:pointer}
.typesel span:hover{border-color:var(--hq)}
.pt-dem-slots td{padding:4px 5px!important;vertical-align:middle}
.pt-dem-slots .inp{width:100%;font-size:12px;padding:3px 6px}
/* 후보 드로어 */
.cand .pt-dem-why{flex:1;min-width:0;font-size:11.5px;padding:3px 8px}
.cand .ch>div{min-width:0}
/* 주간 운영 */
.wks div[data-act]{cursor:pointer}
.wks div[data-act]:hover i{filter:brightness(1.1);box-shadow:0 0 0 1px var(--fg)}
.cmt{white-space:normal;font-size:11.5px}
.pt-dem-sgt .today b{top:2px;bottom:auto;background:var(--surface);padding:0 3px;border-radius:3px}
.field>.seg{justify-self:start}

/* 슬롯별 담당자 */
.pt-sb{margin-bottom:14px}
.pt-sb-sum{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:12.5px;margin-bottom:8px}
.pt-sb-sum .plan{color:var(--plan)}
.pt-sb-guide{flex-basis:100%;font-size:12px}
.pt-sb-t td{vertical-align:top;white-space:normal!important}
.pt-sb-t tr.pt-sb-empty td{background:color-mix(in srgb,var(--alert) 5%,transparent)}
.pt-sb-t tr.pt-sb-ending td,.pt-sb-t tr.pt-sb-over td,.pt-sb-t tr.pt-sb-requested td{background:color-mix(in srgb,var(--need) 6%,transparent)}
.pt-sb-st{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.pt-sb-st.risk{color:var(--alert);border-color:color-mix(in srgb,var(--alert) 45%,var(--line))}
.pt-sb-st.warn{color:var(--need);border-color:color-mix(in srgb,var(--need) 45%,var(--line))}
.pt-sb-st.plan{color:var(--plan);border-style:dashed;border-color:var(--plan)}
.pt-sb-st.ok{color:var(--ok)}
.pt-sb-recs{display:grid;gap:4px}
.pt-sb-rec{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:12px}
.pt-sb-rec.best{border-color:var(--hq)}
.pt-sb-btns{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;font-size:12px}
.pt-sb-h{margin:4px 0 8px;font-size:13px}
.pt-sb-mode{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.pt-sb-pick{display:grid;gap:6px}
.pt-sb-pres{display:grid;gap:4px;max-height:320px;overflow:auto}
.pt-sb-pr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:12px}
.pt-sb-pr.block{opacity:.6}
.pt-sb-pr.warn{border-left:3px solid var(--need)}
.pt-sb-swap{margin-top:8px;padding:8px;border:1px dashed var(--line);border-radius:8px}
