.staff-work{--sw-bg:#111714;--sw-card:#29332b;--sw-card-alt:#212b25;--sw-line:#50604d;--sw-text:#f1f3eb;--sw-muted:#becab7;--sw-lime:#ddf878;--sw-warning:#f3c58d;color:var(--sw-text);background:var(--sw-bg);font-family:'INFI8 Sandoll','Sandoll GothicNeo1','Noto Sans KR','Malgun Gothic',sans-serif;line-height:1.55;border-radius:24px;padding:clamp(16px,3vw,32px);max-width:1140px;margin:0 auto;box-sizing:border-box}.staff-work *{box-sizing:border-box}.staff-work button,.staff-work input,.staff-work select,.staff-work textarea{font:inherit}.staff-work button{cursor:pointer;min-height:44px;border:1px solid var(--sw-line);border-radius:14px;padding:10px 16px;background:#354238;color:var(--sw-text);font-weight:700}.staff-work button:hover{border-color:var(--sw-lime);background:#435246}.staff-work button:focus-visible,.staff-work input:focus-visible,.staff-work select:focus-visible,.staff-work textarea:focus-visible,.staff-work summary:focus-visible{outline:3px solid var(--sw-lime);outline-offset:3px}.staff-work button:disabled{opacity:.55;cursor:not-allowed}.staff-work .sw-primary{background:var(--sw-lime);color:#172013;border-color:var(--sw-lime)}.staff-work .sw-primary:hover{background:#edffa9;color:#172013}.sw-hero{padding:8px 0 20px}.sw-hero h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.035em;line-height:1.25;margin:4px 0 8px}.sw-hero p{margin:0;color:var(--sw-muted)}.sw-hero .sw-kicker{color:var(--sw-lime);font-size:12px;font-weight:800;letter-spacing:.14em}.staff-work .sw-feedback{min-height:0}.staff-work .sw-feedback:not(:empty){padding:12px 16px;margin:0 0 16px;border:1px solid #8e7051;border-radius:12px;background:#383128;color:#ffe2b4}.sw-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:14px 0}.sw-toolbar .sw-field{width:auto;min-width:180px}.sw-pill{display:inline-flex;min-height:44px;align-items:center;background:var(--sw-card);border-radius:999px;padding:8px 16px;color:var(--sw-lime);font-weight:700}.sw-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 2px 12px;scrollbar-color:var(--sw-line) transparent}.sw-tabs button{border-radius:24px;white-space:nowrap;flex-shrink:0;background:var(--sw-card-alt)}.sw-tabs button[aria-current="page"]{background:var(--sw-lime);color:#172013;border-color:var(--sw-lime)}.sw-coverage,.sw-card,.sw-help{background:var(--sw-card);border:1px solid var(--sw-line);border-radius:24px;padding:20px;margin:16px 0}.sw-coverage{background:#202c24}.sw-coverage strong{color:var(--sw-lime)}.sw-coverage p{margin:5px 0}.sw-coverage small,.sw-meta{color:var(--sw-muted);font-size:13px}.sw-section-heading{margin:24px 0 16px}.sw-section-heading h3{font-size:23px;letter-spacing:-.025em;margin:0}.sw-section-heading p{margin:4px 0;color:var(--sw-muted)}.sw-stack{display:grid;gap:12px;margin:18px 0}.sw-stack>h4{font-size:17px;margin:8px 0 0}.sw-stack .sw-card{margin:0}.sw-card h4{font-size:17px;margin:0 0 6px;line-height:1.4}.sw-card h4 small{font-size:13px;color:var(--sw-muted);font-weight:500}.sw-row{display:flex;justify-content:space-between;align-items:start;gap:12px}.sw-row>*:first-child{min-width:0}.sw-meta{margin:4px 0;overflow-wrap:anywhere}.sw-preserve{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.sw-badge{display:inline-block;flex:none;border:1px solid #738461;border-radius:999px;color:var(--sw-lime);padding:4px 10px;font-size:12px;font-weight:800}.sw-pending,.sw-open,.sw-issue,.sw-handoff{border-color:#a4845b;color:#f3c58d}.sw-cancelled,.sw-draft{border-color:#89938a;color:#c6d0c4}.sw-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}.staff-work .sw-link{background:transparent;border-color:transparent;text-decoration:underline;color:var(--sw-lime);padding:8px}.sw-empty{color:var(--sw-muted);background:var(--sw-card-alt);border:1px dashed var(--sw-line);border-radius:16px;padding:20px;margin:14px 0}.sw-note{font-size:13px;color:var(--sw-muted);margin:10px 0}.sw-alert{color:#ffe4bc;background:#3b3028;border-left:3px solid #f3c58d;padding:10px 12px;border-radius:8px}.sw-overdue{border-color:#d9a267}.sw-summary{display:flex;gap:12px;flex-wrap:wrap}.sw-summary span,.sw-deadline{background:var(--sw-card-alt);border:1px solid var(--sw-line);border-radius:14px;padding:12px 16px;margin:0;color:var(--sw-muted)}.sw-summary strong,.sw-deadline strong{color:var(--sw-lime);font-size:18px}.sw-help summary{cursor:pointer;font-weight:700;color:var(--sw-lime)}.sw-help p{white-space:pre-wrap}.sw-form{display:grid;gap:14px;margin:20px 0}.sw-form h4{font-size:19px}.sw-field{display:flex;flex-direction:column;gap:5px;min-width:0}.sw-field>span,.sw-fieldset legend{font-size:14px;font-weight:750;color:var(--sw-text)}.sw-field input,.sw-field select,.sw-field textarea{width:100%;min-height:44px;background:#18221d;color:var(--sw-text);border:1px solid #778874;border-radius:12px;padding:10px 12px;outline:none}.sw-field textarea{min-height:88px;resize:vertical;white-space:pre-wrap}.sw-field input::placeholder,.sw-field textarea::placeholder{color:#aab6a7}.sw-fieldset{border:1px solid var(--sw-line);border-radius:14px;padding:10px 14px;display:flex;flex-wrap:wrap;gap:10px}.sw-fieldset legend{padding:0 6px}.sw-check{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--sw-line);border-radius:12px;cursor:pointer}.sw-check input{width:18px;height:18px;accent-color:var(--sw-lime)}.sw-history-list{padding-left:22px}.sw-history-list li{margin:12px 0;border-bottom:1px solid var(--sw-line);padding:4px 0 12px}.sw-history-list pre{white-space:pre-wrap;word-break:break-word;background:#172019;border-radius:12px;padding:12px;font-size:12px;max-height:220px;overflow:auto}.sw-loading{padding:20px}.sw-state{margin-top:0}.staff-work [hidden]{display:none!important}@media(min-width:800px){.sw-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-form>h4,.sw-form>.sw-fieldset,.sw-form>.sw-note,.sw-form>.sw-actions,.sw-form>input[type="hidden"]{grid-column:1/-1}.sw-form>.sw-field:has(textarea){grid-column:1/-1}.sw-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-stack>h4,.sw-stack>.sw-empty{grid-column:1/-1}}@media(max-width:600px){.staff-work{padding:14px;border-radius:18px}.sw-card,.sw-coverage,.sw-help{padding:16px;border-radius:20px}.sw-toolbar{align-items:stretch}.sw-toolbar .sw-field{flex:1;min-width:160px}.sw-toolbar button{align-self:end}.sw-pill{width:100%}.sw-row{align-items:flex-start}.sw-actions button{flex-grow:1}.sw-tabs{margin-right:-14px;padding-right:14px}.sw-summary span{flex:1;min-width:125px}}

.sw-coverage{padding:10px 16px;margin:8px 0;background:#202c24}.sw-coverage summary{cursor:pointer;color:var(--sw-muted);font-size:13px;font-weight:700}.sw-coverage p{font-size:13px;color:var(--sw-muted);margin:8px 0 0}.sw-optional{border:1px solid var(--sw-line);border-radius:14px;padding:12px 16px;grid-column:1/-1}.sw-optional summary{cursor:pointer;color:var(--sw-lime);font-weight:700}.sw-optional .sw-field{margin-top:12px}.sw-history-list details summary{cursor:pointer;color:var(--sw-lime);font-size:13px}.sw-history-list p{color:var(--sw-muted);margin:4px 0 8px}

.sw-wod-followups{margin:16px 0}.sw-wod-followups h4{font-size:17px;margin:0 0 10px}.sw-wod-list{display:grid;gap:8px}.sw-wod-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--sw-line);border-radius:16px;background:var(--sw-card-alt)}.sw-wod-item>div{display:grid;gap:2px;min-width:0}.sw-wod-item strong{font-size:15px}.sw-wod-item span{color:var(--sw-lime);font-size:13px}.sw-wod-item small{color:var(--sw-muted);font-size:12px}.sw-wod-item button{flex:none;font-size:13px}@media(max-width:600px){.sw-wod-item{align-items:stretch;flex-direction:column}.sw-wod-item button{align-self:flex-start}}

.staff-work .sw-form :is(input,select,fieldset):disabled{opacity:.58;cursor:not-allowed}.staff-work .sw-form fieldset:disabled .sw-check{cursor:not-allowed}

/* KPI panel (owner decision 2026-10-06/07, public/kpi-panel.js): my KPI cards + KPI-driven to-dos on top of the 오늘 tab.
   October 2026 is measure-only: no status colours until the server sends phase 'target' (from 2026-11-01). */
/* The owner/manager panel sits on 운영 현황, outside .staff-work, so it carries the same colour tokens itself. */
.sw-kpi{--sw-card:#29332b;--sw-card-alt:#212b25;--sw-line:#50604d;--sw-text:#f1f3eb;--sw-muted:#becab7;--sw-lime:#ddf878;--sw-warning:#f3c58d;color:var(--sw-text);background:var(--sw-card-alt);border:1px solid var(--sw-line);border-radius:24px;padding:16px 20px;margin:0 0 18px;line-height:1.55}
.sw-kpi.sw-kpi-wait p{margin:0;color:var(--sw-muted);font-size:14px}
.sw-kpi>summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;cursor:pointer;list-style:none;min-height:44px}
.sw-kpi>summary::-webkit-details-marker{display:none}
.sw-kpi>summary::after{content:"▾";margin-left:4px;color:var(--sw-muted);font-size:13px}
.sw-kpi:not([open])>summary::after{content:"▸"}
.sw-kpi-kicker{color:var(--sw-lime);font-size:12px;font-weight:800;letter-spacing:.14em}
.sw-kpi>summary strong{font-size:17px;letter-spacing:-.02em}
.sw-kpi-phase{color:var(--sw-muted);font-size:13px}
.sw-kpi-count{margin-left:auto;border:1px solid var(--sw-line);border-radius:999px;padding:3px 11px;font-size:12px;font-weight:800;color:var(--sw-lime);white-space:nowrap}
.sw-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0 0}
.sw-kpi-card{background:var(--sw-card);border:1px solid var(--sw-line);border-radius:16px;padding:13px 14px;min-width:0;display:flex;flex-direction:column}
.sw-kpi-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:13.5px;font-weight:800;line-height:1.35;text-align:left}
.sw-kpi-head span{word-break:keep-all}
.sw-kpi-head em{flex:none;font-style:normal;background:var(--sw-lime);color:#172013;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800}
.sw-kpi-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 6px;margin:6px 0 4px}
.sw-kpi-value b{font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sw-kpi-value small{color:var(--sw-muted);font-size:13px;font-weight:700}
.sw-kpi-value .sw-kpi-none{color:var(--sw-muted)}
.sw-kpi-status{font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;border:1px solid var(--sw-line);color:var(--sw-muted)}
.sw-kpi-detail{margin:0;color:var(--sw-muted);font-size:12.5px;line-height:1.5;word-break:keep-all}
.sw-kpi-target{margin:8px 0 0;padding-top:7px;border-top:1px dashed var(--sw-line);color:var(--sw-muted);font-size:12px;word-break:keep-all}
.sw-kpi-good{border-color:#6f9a3a}.sw-kpi-good .sw-kpi-status{color:var(--sw-lime);border-color:#6f9a3a}
.sw-kpi-warn{border-color:#c79a3c}.sw-kpi-warn .sw-kpi-status{color:var(--sw-warning);border-color:#c79a3c}
.sw-kpi-bad{border-color:#c0604a}.sw-kpi-bad .sw-kpi-status{color:#ffb4a3;border-color:#c0604a}
.sw-kpi-soon{border:1px dashed var(--sw-line)}
.sw-kpi-net{margin:12px 0 0;font-size:14px}.sw-kpi-net b{color:var(--sw-lime);font-size:18px}.sw-kpi-net small{color:var(--sw-muted);margin-left:6px}
.sw-kpi-areas{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.sw-kpi-area{display:grid;grid-template-columns:24px minmax(0,1fr) 96px minmax(0,250px);align-items:center;gap:6px 12px;background:var(--sw-card);border:1px solid var(--sw-line);border-radius:14px;padding:8px 14px}
.sw-kpi-no{color:var(--sw-lime);font-weight:800}
.sw-kpi-area-main strong{display:block;font-size:14.5px}
.sw-kpi-area-main small{display:block;color:var(--sw-muted);font-size:12px;line-height:1.45;word-break:keep-all}
.sw-kpi-area-side{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.sw-kpi-area-side small{color:var(--sw-muted);font-size:12px;line-height:1.45;word-break:keep-all}
.sw-kpi-area .sw-kpi-value{margin:0}.sw-kpi-area .sw-kpi-value b{font-size:24px}
.sw-kpi-owners{display:flex;flex-wrap:wrap;gap:4px}
.sw-kpi-owners span{border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800;white-space:nowrap}
.sw-kpi-main{background:var(--sw-lime);color:#172013}.sw-kpi-sub{border:1px solid var(--sw-line);color:var(--sw-muted)}
.sw-kpi-todos{margin:14px 0 0}
.sw-kpi-todos h4{margin:0 0 6px;font-size:14px}
/* 확인 필요 기록 (handoff 2026-10-07): 운영 현황 block for 대표·매니저·헤드코치; layout only, colours come from the page. */
.record-review summary{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;cursor:pointer}.record-review summary small{font-size:12px;opacity:.75}
.record-review-list{list-style:none;margin:10px 0 6px;padding:0;display:grid;gap:8px}.record-review-list li{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);border-radius:12px;padding:9px 12px}
.record-review .rr-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.record-review .rr-date{font-size:13px;opacity:.75}.record-review .rr-lv{font-size:12px;font-weight:800;letter-spacing:.06em}.record-review .rr-score{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}
.record-review .rr-why{margin:3px 0 0;font-size:13px;opacity:.85}
/* Owner review 2026-10-07 #3: each to-do is a card; each person has [연락함] / [내일]. */
.sw-kpi-todolist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sw-kpi-todo{background:var(--sw-card);border:1px solid var(--sw-line);border-radius:16px;padding:12px 14px}
.sw-kpi-todo-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.sw-kpi-todo-head strong{font-size:15px;line-height:1.4}
.sw-kpi-tag,.sw-duty-tag{display:inline-flex;align-items:center;flex:none;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800;letter-spacing:.04em}
.sw-kpi-tag{border:1px solid var(--sw-lime);color:var(--sw-lime)}
.sw-duty-tag{border:1px solid var(--sw-line);color:var(--sw-muted)}
.sw-kpi-donecount{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--sw-lime)}
.sw-kpi-todo-done{opacity:.75}
/* WOD registration alert (A7, 2026-10-07): '와드' cards; past 20:00 the day before (KPI ④ deadline) they turn urgent. */
.sw-kpi-tag-wod{border:1px solid #f3c58d;color:#f3c58d}
.sw-kpi-urgent{border-color:#ff8a65;box-shadow:inset 4px 0 0 #ff8a65}.sw-kpi-urgent .sw-kpi-tag-wod{background:#ff8a65;border-color:#ff8a65;color:#1b1310}
.sw-kpi-wodalert{display:grid;gap:8px;margin:0 0 12px}
.sw-kpi-wodline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:10px 14px;border:1px solid #f3c58d;border-radius:14px;background:#2a2620;color:#f6efe4}.sw-kpi-wodline strong{font-size:15px;line-height:1.4}
.sw-kpi-wodline.sw-kpi-urgent{background:#3a221b;border-color:#ff8a65}
.sw-kpi-people{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.sw-kpi-person{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px dashed var(--sw-line);padding-top:7px}
.sw-kpi-who{font-size:14.5px;font-weight:700;min-width:0}.sw-kpi-who small{color:var(--sw-muted);font-weight:500;margin-left:4px}
.sw-kpi-acts{display:flex;gap:6px;flex:none}
.sw-kpi-follow,.staff-work .sw-kpi-follow{min-height:40px;padding:6px 12px;border-radius:10px;font-size:13px;font-weight:800;border:1px solid var(--sw-lime);background:transparent;color:var(--sw-lime);cursor:pointer}
.sw-kpi-later,.staff-work .sw-kpi-later{border-color:var(--sw-line);color:var(--sw-muted)}
.sw-kpi-busy{opacity:.5}
.sw-kpi-more{color:var(--sw-muted);font-size:13px}
.sw-kpi-flash{margin:0 0 8px;padding:8px 12px;border-radius:10px;border:1px solid #6f9a3a;color:var(--sw-lime);font-size:13px}
.sw-kpi-todos-moved{margin:12px 0 0;color:var(--sw-muted);font-size:13px}
.sw-kpi-done{margin:0;color:var(--sw-muted);font-size:13px}
.sw-kpi-notes{margin:12px 0 0;padding-left:18px;color:var(--sw-muted);font-size:12px;word-break:keep-all}
.sw-kpi-strip{display:none}
/* 코치 수업 인센티브 카드 (대표 2026-10-29, kpi-panel.js incentiveCardHtml): KPI 패널 안, 그 코치 본인과 대표만 본다. 버튼 없음. */
.sw-inc-list{display:grid;gap:10px;margin:14px 0 0}
.sw-inc{background:var(--sw-card);border:1px solid var(--sw-line);border-radius:16px;padding:13px 14px;min-width:0}
.sw-inc-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 8px}
.sw-inc-head strong{font-size:14.5px;line-height:1.35;word-break:keep-all}
.sw-inc-chip{flex:none;white-space:nowrap;border:1px solid var(--sw-line);border-radius:999px;padding:1px 9px;font-size:11.5px;font-weight:800;color:var(--sw-muted)}
.sw-inc-main{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;margin:8px 0 2px}
.sw-inc-avg{margin:0;white-space:nowrap}.sw-inc-avg b{font-size:34px;line-height:1.05;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sw-inc-avg small{margin-left:4px;color:var(--sw-muted);font-size:13px;font-weight:700}
.sw-inc-amount{white-space:nowrap;color:var(--sw-muted);font-size:13px;font-weight:700}.sw-inc-amount b{margin-left:5px;color:var(--sw-lime);font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}
.sw-inc-sub{margin:0;color:var(--sw-muted);font-size:13px;word-break:keep-all}
.sw-inc-tiers{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.sw-inc-tiers li{display:flex;flex-direction:column;align-items:center;gap:1px;border:1px solid var(--sw-line);border-radius:12px;padding:6px 4px;color:var(--sw-muted);min-width:0}
.sw-inc-tiers b{color:var(--sw-text);font-size:14.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.sw-inc-tiers small{font-size:12px;white-space:nowrap}
.sw-inc-tiers li.on{border-color:var(--sw-lime);box-shadow:inset 0 0 0 1px var(--sw-lime);color:var(--sw-lime)}.sw-inc-tiers li.on b{color:var(--sw-lime)}
.sw-inc-next{margin:8px 0 0;font-size:13.5px;font-weight:700;word-break:keep-all}
.sw-inc-last{margin:10px 0 0;padding-top:8px;border-top:1px dashed var(--sw-line);color:var(--sw-muted);font-size:12.5px;word-break:keep-all}
.sw-inc-foot{margin:2px 0 0;color:var(--sw-muted);font-size:12px;line-height:1.5;word-break:keep-all}
/* Owner review 2026-10-07 #1: the class that matters now, first on the 오늘 업무 tab. */
.sw-now{background:var(--sw-card);border:1px solid var(--sw-line);border-left:5px solid var(--sw-lime);border-radius:20px;padding:16px 18px;margin:0 0 16px;display:grid;gap:8px}
.sw-now-live{box-shadow:0 0 0 1px var(--sw-lime) inset}
.sw-now-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sw-now-label{margin:0;color:var(--sw-lime);font-size:13.5px;font-weight:800}
.sw-now-mine{font-size:12px;font-weight:800;border:1px solid var(--sw-line);border-radius:999px;padding:2px 9px;color:var(--sw-muted)}
.sw-now-title{font-size:22px;letter-spacing:-.02em;line-height:1.3}
.sw-now-counts{margin:0;display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--sw-muted);font-size:14px}.sw-now-counts b{color:var(--sw-text);font-size:18px}
.sw-now-wait{margin:0;font-size:13.5px;color:var(--sw-muted)}
.staff-work .sw-now-btn{justify-self:start;min-height:48px;padding:12px 22px;font-size:15px}
.sw-now-done{border-left-color:var(--sw-line)}.sw-now-done strong{font-size:18px}.sw-now-done span{color:var(--sw-muted);font-size:14px}
/* #3: one '오늘 할 일' list for head coach/coach (KPI to-dos + assigned duties). */
.sw-unified{background:var(--sw-card-alt);border:1px solid var(--sw-line);border-radius:24px;padding:16px 18px;margin:0 0 16px}
.sw-unified>h4{margin:0 0 10px;font-size:18px}
.sw-unified-sub{display:flex;align-items:center;gap:8px;margin:16px 0 8px;font-size:14px}.sw-unified-sub small{color:var(--sw-muted);font-weight:600}
@media(max-width:600px){.sw-kpi{padding:14px}.sw-kpi-grid{grid-template-columns:1fr;gap:8px}.sw-kpi-card{padding:11px 13px}.sw-kpi-value{margin:4px 0 2px}.sw-kpi-value b{font-size:26px}.sw-kpi-area{grid-template-columns:22px minmax(0,1fr) auto}.sw-kpi-area-side{grid-column:2/-1}.sw-kpi-count{margin-left:0}
.sw-kpi-strip{display:flex;width:100%;gap:6px}.sw-kpi[open] .sw-kpi-strip{display:none}
.sw-kpi-strip>span{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--sw-card);border:1px solid var(--sw-line);border-radius:12px;padding:6px 4px}
.sw-kpi-strip small{font-size:11.5px;color:var(--sw-muted)}.sw-kpi-strip b{font-size:18px;line-height:1.2}
.sw-kpi-phase{display:none}.sw-kpi[open] .sw-kpi-phase{display:inline}
.staff-work .sw-now-btn{justify-self:stretch}.sw-unified{padding:14px}.sw-now{padding:14px 16px}}
/* KPI 할 일 이름 → 회원 상세 (2026-10-14): 이름 줄 전체가 44px 터치 영역, 밑줄과 › 로 누를 수 있음을 보여준다.
   .sw-kpi-person .sw-kpi-open.sw-kpi-who outranks the workspace light theme's generic button border/hover. */
.sw-kpi-person .sw-kpi-open.sw-kpi-who{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;min-height:44px;margin:0;padding:6px 0;background:none;border:0;border-radius:6px;box-shadow:none;color:inherit;font:inherit;font-size:14.5px;font-weight:700;text-align:left;cursor:pointer}
.sw-kpi-person .sw-kpi-open.sw-kpi-who:hover{background:none;border:0;filter:none}
.sw-kpi-open .sw-kpi-name{min-width:0;overflow-wrap:anywhere;word-break:keep-all;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(221,248,120,.45);text-underline-offset:4px}
.sw-kpi-open .sw-kpi-name small{display:inline-block;text-decoration:none}
.sw-kpi-open:hover .sw-kpi-name{text-decoration-color:var(--sw-lime)}
.sw-kpi-open .sw-kpi-chev{flex:none;color:var(--sw-lime);font-size:20px;line-height:1;font-weight:400}
.sw-kpi-open:focus-visible{outline:2px solid var(--sw-lime);outline-offset:2px}
