.fka-stb{--pri:#0073ea;--grid:#e6e9ef;--mut:#676879;font-family:Figtree,system-ui,sans-serif;color:#323338;background:#f6f7fb;padding:20px;border-radius:12px;font-size:14px;line-height:1.35}
.fka-stb *{box-sizing:border-box}
.stb-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.stb-top h2{font-size:24px;font-weight:700;margin:0 auto 0 0}
.stb-seg{display:inline-flex;background:#fff;border:1px solid var(--grid);border-radius:8px;padding:3px}
.stb-seg button{border:0;background:none;font:inherit;padding:6px 14px;border-radius:6px;cursor:pointer;color:var(--mut)}
.stb-seg button.on{background:#cce5ff;color:#0060b9;font-weight:600}
.stb-btn{background:var(--pri);color:#fff;border:0;border-radius:6px;padding:8px 16px;font:inherit;font-weight:500;cursor:pointer}
.stb-btn.ghost{background:#fff;color:#323338;border:1px solid #c3c6d4}.stb-btn:disabled{background:#c3c6d4;cursor:not-allowed}
.stb-btn.big{width:100%;padding:12px;margin-top:12px}
/* workload strip + leaderboard */
.stb-strip{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:12px;margin-bottom:14px}
.stb-wl{background:#fff;border-radius:10px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start;border-top:4px solid var(--g);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.stb-wl>div{flex:1}.stb-wl .m{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--mut);margin-top:2px}
.stb-wl .m .r{color:#e2445c;font-weight:600}.stb-wl .m .g{color:#00a35c;font-weight:600}.stb-wl .m .y{color:#d58a00;font-weight:600}
.stb-wl .bar{height:6px;background:#eef0f4;border-radius:3px;margin-top:8px;overflow:hidden}.stb-wl .bar i{display:block;height:100%;background:var(--g)}
.stb-wl.c{box-shadow:none;border:1px solid var(--grid);border-top:4px solid var(--g);padding:8px 10px}
.stb-lb{background:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 1px 3px rgba(0,0,0,.05);font-size:13px}
.stb-lb .row{display:flex;align-items:center;gap:8px;margin-top:5px}.stb-lb .sp{width:18px;display:inline-block}
.stb-lb .stb-av{width:22px;height:22px;font-size:10px}.stb-lb .n{flex:1}.stb-lb .w{color:var(--mut)}.stb-lb .fire{background:#fff1e0;color:#d55b00;border-radius:10px;padding:1px 7px;font-weight:600;font-size:12px}
.stb-board{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.stb-group{margin-bottom:26px}
.stb-gh{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600;cursor:pointer;margin:0 0 8px;user-select:none}
.stb-gh .car{transition:transform .15s;display:inline-block}.stb-group.closed .car{transform:rotate(-90deg)}
.stb-gh small{color:var(--mut);font-weight:400;font-size:13px}
.stb-group.closed .stb-t,.stb-group.closed .stb-bat{display:none}
.stb-t{width:100%;border-collapse:collapse;table-layout:fixed}
.stb-t th{font-weight:400;color:var(--mut);font-size:13px;height:34px;border:1px solid var(--grid);text-align:center}
.stb-t th:first-child{text-align:left;padding-left:14px}
.stb-t td{height:38px;border:1px solid var(--grid);text-align:center;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stb-t tr:hover td{background:#f5f6f8}
.stb-t td.job{text-align:left;position:relative;padding-left:14px;cursor:pointer;line-height:1.15}
.stb-t td.job:before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:6px;background:var(--g)}
.stb-t td.job b{font-weight:500}.stb-t td.job span{color:var(--mut);font-size:12px;margin-left:6px}
.age{display:block;font-style:normal;font-size:11px;color:#9699a6}
.stb-t td.ms{text-align:left}.stb-t td.ms .lbl{margin-right:6px}
.stb-t td.st{padding:0}
.stb-pill{display:flex;align-items:center;justify-content:center;width:100%;height:38px;color:#fff;font-weight:500;cursor:pointer;border:0;font:inherit;font-weight:500}
.stb-pill.dark{color:#323338}
span.stb-pill{white-space:nowrap;flex:none;display:inline-flex;width:auto;height:22px;padding:0 10px;border-radius:11px;font-size:12px;cursor:default}
.stb-badge{display:inline-block;font-size:11px;padding:1px 6px;border-radius:4px;background:#eef0f4;color:var(--mut);font-weight:600;vertical-align:middle}
.stb-badge.full{background:#00c875;color:#fff}
.stb-q{display:inline-block;font-size:11px;padding:1px 7px;border-radius:4px;background:#ede1fa;color:#7e3bc1;font-weight:600;margin-left:6px;vertical-align:middle}
.stb-q.ov{background:#fde3e7;color:#c21e3a}
.stb-maj{font-size:11px;font-weight:600;color:#0086c0;background:#e1f3fb;padding:2px 6px;border-radius:4px}
.stb-menu{position:absolute;z-index:100001;background:#fff;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.18);padding:8px;display:grid;gap:6px;width:190px;font-family:Figtree,system-ui,sans-serif}
.stb-menu button{height:32px;border:0;border-radius:4px;color:#fff;font:inherit;cursor:pointer}.stb-menu small{font-size:11px;color:#676879}
.stb-av{display:inline-flex;width:28px;height:28px;border-radius:50%;color:#fff;font-size:12px;font-weight:600;align-items:center;justify-content:center;vertical-align:middle;flex:none}
.stb-tl{display:flex;gap:3px;height:18px;border-radius:9px;overflow:hidden;background:#e6e9ef}
.stb-tl i{flex:1;background:#c4c4c4}.stb-tl i.dn{background:#00c875}.stb-tl i.run{background:#fdab3d}.stb-tl i.ov{background:#e2445c}
.stb-el.ov,.stb-due.ov{color:#e2445c;font-weight:600}
.stb-bat{display:flex;height:22px;margin:6px 0 0 31%;border-radius:4px;overflow:hidden;border:1px solid var(--grid)}
/* kanban */
.stb-kan{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow:auto}
.stb-col{background:#f6f7fb;border-radius:10px;padding:10px;min-height:200px}
.stb-col h4{margin:0 0 10px;padding:8px 12px;border-radius:6px;color:#fff;font-weight:600;font-size:14px}
.stb-card{background:#fff;border-radius:8px;padding:10px 12px;margin-bottom:8px;box-shadow:0 1px 2px rgba(0,0,0,.08);border-left:5px solid var(--g);cursor:pointer}
.stb-card .sub{font-size:12px;color:var(--mut)}.stb-card .r{display:flex;gap:6px;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;color:var(--mut)}
.stb-card .pw{margin-top:8px;border-radius:4px;overflow:hidden}.stb-card .pw .stb-pill{height:30px}
/* timeline */
.stb-gantt{position:relative;overflow:hidden}
.stb-gantt .gh,.stb-gantt .gr{display:flex}.stb-gantt .lab{width:260px;flex:none;padding:0 10px;display:flex;align-items:center;gap:6px;justify-content:space-between}
.stb-gantt .gh .area{height:28px;border-bottom:1px solid var(--grid)}.stb-gantt .area{flex:1;position:relative}
.stb-gantt .wk{position:absolute;top:6px;font-size:11px;color:var(--mut);transform:translateX(-50%)}
.stb-gantt .gg{font-weight:600;margin:12px 0 4px 10px}
.stb-gantt .gr{height:40px;border-bottom:1px solid #f0f1f4}.stb-gantt .gr .lab{border-left:5px solid var(--g);cursor:pointer;font-size:13px;overflow:hidden}
.stb-gantt .gr .lab b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stb-gantt .vl{position:absolute;top:0;bottom:0;border-left:1px solid #f0f1f4}
.stb-gantt .seg{position:absolute;top:9px;height:22px;border-radius:11px;background:var(--c);color:#fff;font-size:11px;overflow:hidden;white-space:nowrap;padding:0 8px;line-height:22px;border:2px solid #fff}
.stb-gantt .seg.dn{background:#00c875}.stb-gantt .seg.run{background:#fdab3d}.stb-gantt .seg.ov{background:#e2445c}
.stb-gantt .seg.plan{background:repeating-linear-gradient(135deg,#eef0f4 0 6px,#e4e7ee 6px 12px);color:var(--mut)}
.stb-gantt .tg{position:absolute;top:6px;height:28px;border-left:2px dashed #323338;opacity:.5}
.stb-gantt .qm{position:absolute;top:-1px;font-style:normal;font-size:10px;font-weight:700;color:#7e3bc1;transform:translateX(-50%)}
.stb-proj{font-size:12px;color:var(--mut);margin:18px 0 0}
/* panel */
.stb-panel{position:fixed;top:0;right:0;bottom:0;width:min(500px,100%);background:#fff;box-shadow:-8px 0 30px rgba(0,0,0,.15);z-index:100000;padding:22px;overflow:auto;transform:translateX(100%);transition:transform .2s;font-family:Figtree,system-ui,sans-serif}
.stb-panel.open{transform:none}.stb-panel h3{font-size:20px;margin:0 30px 4px 0}.stb-panel .sub{font-size:13px;color:var(--mut)}
.stb-panel .flds{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:14px 0}
.stb-panel .flds label span,.lab2{display:block;font-size:12px;color:var(--mut);margin:0 0 3px}.lab2{margin-top:16px}
.stb-panel input:not([type=checkbox]),.stb-panel textarea,.stb-panel select{width:100%;border:1px solid #c3c6d4;border-radius:6px;padding:7px 8px;font:inherit;background:#fff}
.stb-panel textarea{min-height:80px}
.cl{margin-top:10px}.cg{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);margin:12px 0 4px;font-weight:600}
.ci{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;cursor:pointer}
.ci:hover{background:#f5f6f8}.ci input{width:16px;height:16px;accent-color:#00c875;flex:none}
.ci span{flex:1}.ci.on span{color:var(--mut);text-decoration:line-through}.ci.dis{cursor:default}
.ci b{font-size:10px;padding:1px 5px;border-radius:3px;font-weight:600}.ci b.w{background:#fde3e7;color:#c21e3a}.ci b.p{background:#ede1fa;color:#7e3bc1}
.ci.on b.w{background:#eef0f4;color:#9699a6}.ci small{font-size:10px;color:#9699a6}
.stb-qbox{border:1px solid #d9c3f3;background:#faf6ff;border-radius:10px;padding:12px;margin-top:12px}
.stb-qbox .hd{font-weight:600;color:#7e3bc1;margin-bottom:6px}.stb-qbox .sm,.sm{font-size:12px;color:var(--mut);margin:4px 0}
.stb-qbox .qa{display:flex;gap:8px}.stb-qbox .qa select{flex:1}
.qclock{background:#fff;border-radius:8px;padding:10px;margin-bottom:8px;text-align:center}.qclock span{font-size:12px;color:#7e3bc1;font-weight:600;display:block}
.qclock b{font-size:28px;font-variant-numeric:tabular-nums;display:block}.qclock small{color:var(--mut)}.qclock.ov b{color:#e2445c}
.qh{list-style:none;padding:0;margin:10px 0 0;font-size:12px;color:var(--mut)}.qh li{padding:3px 0}
.stb-log{list-style:none;padding:0;font-size:12px;color:var(--mut)}.stb-log li{padding:4px 0;border-bottom:1px solid #f0f0f0}
/* modal */
.stb-modal{position:fixed;inset:0;background:rgba(41,47,76,.45);z-index:100002;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:40px 12px;font-family:Figtree,system-ui,sans-serif}
.stb-modal .box{background:#fff;border-radius:12px;padding:22px;width:min(640px,100%)}.stb-modal h3{margin:0 0 10px;font-size:20px}
.stb-modal label{display:block;font-size:12px;color:var(--mut);margin:10px 0 0}
.stb-modal input:not([type=radio]),.stb-modal select{display:block;width:100%;margin-top:3px;border:1px solid #c3c6d4;border-radius:6px;padding:8px;font:inherit;color:#323338}
.stb-modal .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stb-modal .pick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}
.stb-modal .opt{margin:0;cursor:pointer;position:relative}.stb-modal .opt input{position:absolute;opacity:0}
.stb-modal .opt input:checked+.stb-wl{outline:2px solid var(--pri);background:#f0f6ff}
.stb-modal .act{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
/* phone */
.stb-phone{max-width:480px;margin:0 auto}
.stb-phone .who{display:flex;gap:8px;margin-bottom:14px}
.stb-phone .who button{flex:1;padding:10px;border-radius:8px;border:2px solid transparent;color:#fff;font:inherit;font-weight:600}
.stb-phone .who button.on{border-color:#323338}
.stb-pc{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;border-left:6px solid var(--g)}
.stb-pc .top{display:flex;justify-content:space-between;gap:8px;align-items:center}.stb-pc .sub{font-size:13px;color:var(--mut);margin-top:4px}
.stb-pc .clk{font-size:30px;font-variant-numeric:tabular-nums;font-weight:600;margin:6px 0 2px}.stb-pc .clk.ov{color:#e2445c}
.stb-pc .nx{margin:6px -8px}.stb-pc .stb-btn{width:100%;padding:12px;margin-top:8px}
@media(max-width:900px){.stb-t .hm{display:none}.stb-strip{grid-template-columns:1fr 1fr}.stb-modal .pick{grid-template-columns:1fr}}

.stb-gantt .lab .stb-pill{white-space:nowrap;flex:none;font-size:11px;padding:0 8px}

/* ===== v0.3 ===== */
/* drawer sits below the WP admin bar; JS refines this with the bar's real position */
body.admin-bar .stb-panel{top:32px}
@media screen and (max-width:782px){body.admin-bar .stb-panel{top:46px}}
.stb-panel{padding-top:0}
.stb-panel .ph-top{position:sticky;top:0;z-index:3;height:0;display:flex;justify-content:flex-end}
.stb-x{position:relative;top:10px;right:-8px;width:36px;height:36px;border-radius:50%;border:1px solid var(--grid,#e6e9ef);background:#fff;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);color:#323338}
.stb-x:hover{background:#f5f6f8}
.stb-panel h3{padding-top:22px}
/* timeline: Today label lives in the header row; the line runs behind the bars and never touches job names */
.stb-gantt .area{overflow:hidden}
.stb-gantt .gh .area{overflow:visible}
.stb-gantt .today-l{position:absolute;top:5px;transform:translateX(-50%);background:#e2445c;color:#fff;font-size:10px;padding:1px 7px;border-radius:8px;z-index:4;white-space:nowrap}
.stb-gantt .gr .today{position:absolute;top:0;bottom:0;border-left:2px solid rgba(226,68,92,.55);z-index:0;pointer-events:none}
.stb-gantt .seg{z-index:2}
.stb-gantt .seg.gt{background:#0073ea}
.stb-gantt .held{position:absolute;bottom:3px;height:4px;border-radius:2px;background:var(--b);opacity:.85;z-index:1}
.stb-gantt .qm{z-index:3}
/* stage number + chips */
.stb-sn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--c);color:#fff;font-size:10px;font-weight:700;margin-right:5px;vertical-align:1px}
.stb-ball{display:inline-block;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;vertical-align:middle;white-space:nowrap}
.stb-ballsel{border:0!important;border-radius:12px!important;background:var(--b)!important;color:#fff;font-weight:600;padding:3px 10px!important;width:auto!important;cursor:pointer}
.stb-ballsel option{color:#323338;background:#fff}
.stb-badge.dl{background:#e5f4ff;color:#0060b9;margin-left:4px}.stb-badge.dl.full{background:#00c875;color:#fff}
.stb-rv{display:inline-block;font-size:11px;padding:1px 7px;border-radius:4px;font-weight:600;margin-left:6px;vertical-align:middle;background:#ede1fa;color:#784bd1}
.stb-rv.approved{background:#d6f5e6;color:#00854d}.stb-rv.returned{background:#fff0d6;color:#b06a00}
.stb-tl{gap:2px}.stb-tl i.sk{flex:.35;background:repeating-linear-gradient(135deg,#eef0f4 0 3px,#dfe2e8 3px 6px)}.stb-tl i.gt{background:#0073ea}
.stb-el small.paused,.paused{display:block;font-size:10px;color:#9699a6;font-weight:400}
.stb-you{border:0;background:#e5f0ff;color:#0060b9;font:inherit;font-weight:600;border-radius:16px;padding:6px 14px;cursor:pointer}
.stb-you:before{content:"● ";color:#0073ea}
.stb-btn.ok{background:#00c875}.stb-btn.ok:disabled{background:#c3c6d4}
.stb-btn.del{background:#fff;color:#e2445c;border:1px solid #e2445c}
.lnk{border:0;background:none;color:#0073ea;font:inherit;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}
/* panel parts */
.ballrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 0;font-size:12px;color:var(--mut)}
.ballrow>span{font-weight:600;color:#323338}.ballrow small{flex-basis:100%;font-size:11px}
.mtabs{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-top:8px}
.mtabs button{border:1px solid var(--grid);background:#fff;border-radius:8px;padding:5px 2px 4px;text-align:center;cursor:pointer;font:inherit;font-size:10px;border-top:4px solid var(--c);min-width:0}
.mtabs button b{display:block;font-size:13px}.mtabs button span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtabs button small{display:block;color:var(--mut);font-size:9px;white-space:nowrap;overflow:hidden}
.mtabs button.on{background:#f0f6ff;border-color:#a9cdfa;border-top-color:var(--c);box-shadow:0 0 0 1px #a9cdfa}
.mtabs button.dn{background:#effbf5}.mtabs button.ov small{color:#e2445c;font-weight:600}.mtabs button.gt{background:#e9f2ff}
.mtabs button.sk{opacity:.5;background:repeating-linear-gradient(135deg,#fff 0 5px,#f3f4f7 5px 10px)}.mtabs button.sk span{text-decoration:line-through}
.stage-h{margin:12px 0 4px;padding:10px 12px;border-radius:8px;background:#f6f7fb;border-left:4px solid var(--c)}
.stage-h .t{font-weight:600;font-size:15px}.stage-h .oc{font-size:13px;margin-top:4px}.stage-h .meta{font-size:12px;color:var(--mut);margin-top:6px}
.stage-h input.td{width:58px!important;padding:2px 4px!important;display:inline-block}
.sug{background:#fff3d6;color:#b06a00;border-radius:4px;padding:0 5px;font-size:10px;font-weight:600}
.ci em.nt{display:block;font-style:normal;font-size:11px;color:#9699a6}
.cg .lk{text-transform:none;letter-spacing:0;font-weight:500;color:#b06a00}
.cg .stb-badge{margin-left:4px;text-transform:none;letter-spacing:0}
.stb-rbox{border:1px solid #cdb9f0;background:#f8f4ff;border-radius:10px;padding:12px;margin-top:12px}
.stb-rbox .hd{font-weight:600;color:#784bd1;margin-bottom:6px}.stb-rbox textarea{min-height:56px!important;margin:6px 0}
.stb-rbox .qa,.stb-inv .qa,.stb-hrs .qa{display:flex;gap:8px;margin-top:6px}.stb-rbox .qa .stb-btn{flex:1}
.sm.ret,.note.ret{background:#fff0d6;color:#8a5300;border-radius:6px;padding:6px 8px}
.stb-gate{margin-top:12px}.stb-gate.done{background:#effbf5;color:#00854d;border-radius:8px;padding:10px;font-size:13px;font-weight:500}
.stb-gate .warn{color:#b06a00}
.stb-wait{background:#e9f2ff;color:#0060b9;border-radius:8px;padding:12px;font-size:13px;font-weight:500;text-align:center}
.stb-inv{background:#fff8e1;border:1px solid #ffd666;border-radius:10px;padding:10px 12px;margin-top:12px;font-size:13px}
.stb-hrs,.stb-fee{border:1px solid var(--grid);border-radius:10px;padding:10px 12px;margin-top:12px}
.stb-hrs .hd,.stb-fee .hd{font-weight:600;font-size:13px}.stb-hrs .hd b{float:right}.stb-fee .hd small{font-weight:500;color:#784bd1;background:#ede1fa;border-radius:4px;padding:1px 6px;margin-left:6px}
.stb-hrs .qa input{flex:1;min-width:0}
.stb-fee .fl{display:block;margin:8px 0}.stb-fee .fl span{display:block;font-size:12px;color:var(--mut)}
.ft{width:100%;border-collapse:collapse;font-size:12px}.ft th{text-align:left;color:var(--mut);font-weight:500;padding:4px}.ft td{padding:5px 4px;border-top:1px solid #f0f1f4;vertical-align:middle}
.ft tr.off td{color:#b5b7c2}.ft td:nth-child(3){white-space:nowrap}
.burn{height:8px;background:#eef0f4;border-radius:4px;overflow:hidden;min-width:60px}.burn i{display:block;height:100%}
.inv{border:1px solid #c3c6d4;background:#fff;border-radius:12px;font:inherit;font-size:11px;padding:2px 8px;cursor:pointer;white-space:nowrap}.inv.on{background:#00c875;border-color:#00c875;color:#fff}
.danger{margin-top:20px;padding-top:12px;border-top:1px solid #f0f1f4;display:flex;align-items:center;gap:10px}.danger small{color:var(--mut);font-size:11px}
/* fees view */
.stb-fees td{white-space:normal}.stb-fees td.bc{text-align:left}
.ph{display:flex;height:20px;border-radius:4px;overflow:hidden;gap:2px}
.ph i{display:flex;align-items:center;justify-content:center;font-style:normal;font-size:9px;font-weight:700;color:#676879;background:#e6e9ef}
.ph i.inv{background:#00c875;color:#fff}.ph i.earn{background:#579bfc;color:#fff}.ph i.run{background:#fdab3d;color:#fff}.ph i.off{background:repeating-linear-gradient(135deg,#f3f4f7 0 4px,#e6e9ef 4px 8px);color:#b5b7c2}
.stb-fees tr.tot td{background:#f6f7fb}
/* weekly check */
.stb-weekly .wk-head h3{margin:0;font-size:18px}
.wk-load{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.wk-p{display:grid;grid-template-columns:auto 1fr auto;gap:2px 8px;align-items:center;border:1px solid var(--grid);border-left:5px solid var(--g);border-radius:8px;padding:8px 10px}
.wk-p .stb-av{grid-column:1;grid-row:1/3}.wk-p b{grid-column:2;grid-row:1}.wk-p>span:not(.stb-av){grid-column:2;grid-row:2;font-size:12px;color:var(--mut)}
.wk-p i{grid-row:1/3;grid-column:3;font-style:normal;font-size:11px;font-weight:600;border-radius:10px;padding:2px 8px}
.wk-p i.ok{background:#d6f5e6;color:#00854d}.wk-p i.warm{background:#fff3d6;color:#b06a00}.wk-p i.hot{background:#fde3e7;color:#c21e3a}
.wk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wk-sec{border:1px solid var(--grid);border-radius:10px;padding:10px 12px}.wk-sec h4{margin:0 0 6px;font-size:14px}.wk-sec h4 small{background:#eef0f4;border-radius:8px;padding:0 7px;color:var(--mut)}
.wk-sec.you{border-color:#a9cdfa;background:#f5f9ff}.wk-sec.ov h4{color:#c21e3a}
.wk-sec ul{list-style:none;margin:0;padding:0}.wk-sec li{padding:6px 0;border-top:1px solid #f0f1f4;font-size:13px;cursor:pointer}.wk-sec li:first-child{border-top:0}
.tag{font-size:10px;border-radius:4px;padding:1px 5px;color:#fff}.tag.rv{background:#784bd1}.tag.gt{background:#0073ea}
/* phone */
.stb-pc .clk.paused{color:#9699a6}
.stb-pc .note{font-size:12px;border-radius:6px;padding:6px 8px;margin:6px 0}.note.gt{background:#e9f2ff;color:#0060b9}.note.rv{background:#f3ecff;color:#784bd1}.note.wt{background:#f1f1f1;color:#555}
.qh2{display:flex;gap:6px;align-items:center;margin-top:8px}.chip{border:1px solid #c3c6d4;background:#fff;border-radius:14px;padding:5px 12px;font:inherit;font-size:12px;cursor:pointer}
@media(max-width:900px){.wk-grid,.wk-load{grid-template-columns:1fr}.mtabs{grid-template-columns:repeat(5,1fr)}}
/* ---- v0.3.1: teams, shared jobs, simple tasks, import ---- */
.stb-filt{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-4px 0 12px}
.stb-chips{display:inline-flex;gap:6px;flex-wrap:wrap}
.stb-chips button{border:1px solid var(--grid);background:#fff;border-radius:16px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer;color:#323338}
.stb-chips button[style]{border-left:4px solid var(--t)}
.stb-chips button.on{background:#323338;color:#fff;border-color:#323338}
.stb-gb{font-size:13px;color:var(--mut)}.stb-gb select{font:inherit;border:1px solid var(--grid);border-radius:6px;padding:4px 6px;margin-left:4px}
.stb-strip{grid-template-columns:1fr 1fr 1fr 1fr;align-items:start}
.stb-tg{background:#fff;border-radius:10px;padding:8px 10px 10px;border-top:4px solid var(--t);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.stb-tg h5{margin:0 0 6px;font-size:13px;color:var(--t)}.stb-tg h5 small{color:var(--mut);font-weight:400}
.stb-tgw{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.stb-tg .stb-wl.c{padding:5px 7px;border-top-width:3px;font-size:12px;gap:6px}.stb-tg .stb-wl .stb-av{width:22px;height:22px;font-size:10px}
.stb-tg .stb-wl .m{display:flex;flex-wrap:wrap;gap:0 6px;font-size:11px}.stb-tg .stb-wl .bar{height:4px;margin-top:4px}.stb-wl .m .su{color:#5a6c8a}
.stb-avs{display:inline-flex;flex-wrap:wrap}.stb-avs .stb-av{width:24px;height:24px;font-size:10px;margin-right:-5px;border:2px solid #fff}
.stb-av.lead{box-shadow:0 0 0 2px #ffcb00}
.stb-flag{display:inline-block;background:#fff4d6;color:#8a5a00;border:1px solid #ffcb00;border-radius:10px;font-size:11px;padding:0 7px;margin:2px 4px 0 0;font-weight:600;font-style:normal}
.stb-grp{display:inline-block;background:#e6e9ef;color:#323338;border-radius:4px;font-size:11px;padding:0 6px;margin-right:5px;font-weight:600}
.stb-t td.job em.sh{display:block;font-size:11px;color:#9d50dd;font-style:normal}
.stb-setup{display:inline-block;background:#eef1f6;color:#5a6c8a;border:1px dashed #8b9bb4;border-radius:4px;padding:1px 8px;font-size:12px;font-weight:600;margin-right:6px}
.stb-kind{display:inline-block;border-radius:4px;padding:1px 8px;font-size:11px;font-weight:600;background:#eef1f6;color:#323338}
.stb-kind.k-costing{background:#e5f4ea;color:#037f4c}.stb-kind.k-dnb{background:#ffeadf;color:#b4430f}.stb-kind.k-admin{background:#f1e6fb;color:#7a2fbf}.stb-kind.k-ccc{background:#fbe4ea;color:#bb3354}.stb-kind.k-arch{background:#e2efff;color:#0060b9}
.stb-you.su{background:#fff4d6;color:#8a5a00;border-color:#ffcb00}
.stb-flags,.stb-setupbox,.stb-task{border:1px solid #ffcb00;background:#fffaf0;border-radius:8px;padding:10px 12px;margin:10px 0}
.stb-setupbox,.stb-task{border-color:var(--grid);background:#f7f8fb}
.stb-flags .hd,.stb-setupbox .hd,.stb-task .hd{font-weight:700;margin-bottom:6px}
.stb-flags .fr{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;padding:5px 0;border-top:1px solid #f3e3b5}.stb-flags .fr:first-of-type{border-top:0}
.stb-flags .fa{display:flex;gap:6px;flex-wrap:wrap}
.stb-btn.sm2{padding:4px 10px;font-size:12px}
.stb-setupbox label{display:block;font-size:12px;color:var(--mut);margin-top:8px}.stb-setupbox select{display:block;width:100%;margin-top:3px;padding:6px;border:1px solid #c3c6d4;border-radius:6px;font:inherit}
.stb-setupbox .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
details.stb-people{margin:10px 0;border:1px solid var(--grid);border-radius:8px;padding:6px 10px}
details.stb-people summary{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:13px}details.stb-people summary>span:first-child{color:var(--mut);width:90px}
details.stb-people summary small{color:var(--mut)}
.pp .pt{margin:6px 0}.pp .pt b{display:block;font-size:12px;margin-bottom:2px}.pp .pt label{display:inline-flex;align-items:center;gap:4px;margin:2px 12px 2px 0;font-size:13px;color:#323338}
.stb-modal .pp .pt label{display:inline-flex;margin:2px 12px 2px 0}.stb-modal .pp input[type=checkbox]{display:inline;width:auto;margin:0}
.pp .pl{display:block;font-size:12px;color:var(--mut);margin-top:6px}.pp .pl select,.pp .pl input{display:block;margin-top:3px;padding:5px;border:1px solid #c3c6d4;border-radius:6px;font:inherit;width:100%}
.pp .stb-btn{margin-top:8px}
.tsb{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0}
.tsb button{border:2px solid var(--c);background:#fff;color:#323338;border-radius:6px;padding:8px 4px;font:inherit;font-weight:600;cursor:pointer}
.tsb button.on{background:var(--c);color:#fff}.tsb button:disabled{opacity:.35;cursor:not-allowed}
.tclk{margin:8px 0}.tclk b{font-size:26px;font-variant-numeric:tabular-nums}.tclk.ov b{color:#e2445c}.tclk.paused b{color:#a1a1a1}.tclk small{display:block;color:var(--mut)}
.tclk .td{width:60px}
.stb-modal .box.wide{width:min(1100px,100%)}
.stb-imp textarea{width:100%;font:13px/1.4 ui-monospace,monospace;border:1px solid #c3c6d4;border-radius:6px;padding:8px;box-sizing:border-box}
.imp-sum{background:#e2efff;border-radius:6px;padding:8px 12px;margin:12px 0 6px;font-size:14px}
.imp-wrap{max-height:56vh;overflow:auto;border:1px solid var(--grid);border-radius:8px}
.stb-t.imp td{vertical-align:top;font-size:13px}.stb-t.imp tr.fl td{background:#fffaf0}.stb-t.imp tr.mg td:first-child{box-shadow:inset 4px 0 #00c875}
.tag.mg{background:#00c875;color:#fff;border-radius:4px;padding:0 5px;font-size:11px}
.stb-t.imp .stb-av{width:20px;height:20px;font-size:9px}
.wk-team{margin-top:8px}.wk-team h5{margin:6px 0 0;color:var(--t);font-size:13px;border-left:4px solid var(--t);padding-left:6px}
.wk-team .wk-load{grid-template-columns:repeat(4,1fr);margin:6px 0}
.wk-sec.su h4{color:#5a6c8a}.wk-sec.fl h4{color:#8a5a00}
.stb-phone .who2{display:block;margin-bottom:12px;font-weight:600}.stb-phone .who2 select{font:inherit;padding:8px;border-radius:8px;border:1px solid #c3c6d4;margin-left:6px;min-width:180px}
@media(max-width:1100px){.stb-strip{grid-template-columns:1fr 1fr}.wk-team .wk-load{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.stb-strip{grid-template-columns:1fr}.stb-tgw{grid-template-columns:1fr}.wk-team .wk-load{grid-template-columns:1fr}.stb-setupbox .two{grid-template-columns:1fr}}
.stb-t.imp td,.stb-t.imp th{text-align:left}
.stb-task .tclk input.td{width:70px;display:inline-block;padding:2px 4px;margin:0 4px}
.stb-pc .sub.ov{color:#e2445c;font-weight:600}
.stb-due.soon{color:#b07d00;font-weight:600}
.stb-panel h3.stb-ttl{display:flex;align-items:center;gap:8px}.stb-panel h3.stb-ttl input{flex:1;min-width:0;font:inherit;color:inherit;border:1px solid transparent;border-radius:6px;padding:2px 6px;margin-left:-7px;background:transparent}
.stb-panel h3.stb-ttl input:hover{border-color:#d0d4e4}.stb-panel h3.stb-ttl input:focus{border-color:#0073ea;outline:none;background:#fff}.stb-panel h3.stb-ttl .ed{font-size:11px;font-weight:500;color:var(--mut);white-space:nowrap}
/* v0.3.3 submission & approval */
.stb-sa{display:inline-block;border-radius:10px;font-size:11px;padding:0 7px;margin:2px 4px 0 0;font-weight:600;font-style:normal;line-height:17px;white-space:nowrap}
.stb-sa.sb{background:#e5f0ff;color:#0060b9;border:1px solid #9cc7ff}
.stb-sa.ap{background:#ddf7ea;color:#036b3f;border:1px solid #7fd8ab}
.stb-sa.dm{background:#fde8ec;color:#b3253f;border:1px solid #f4a7b5}
.stb-t td.job .sa-chips{display:block;margin-top:1px}
.stb-sabox{border:1px solid var(--grid);background:#fff;border-radius:8px;padding:10px 12px;margin:10px 0}
.stb-sabox .hd{font-weight:700;margin-bottom:6px}.stb-sabox .hd small{font-weight:400;color:var(--mut);font-size:12px;margin-left:6px}
.sa-row{border-top:1px solid var(--grid);padding:8px 0}.sa-row:first-of-type{border-top:0}
.sa-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.sa-cols{display:grid;grid-template-columns:1.25fr 1fr;gap:8px}
.sa-in{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.sa-in input{padding:4px 6px;border:1px solid #c3c6d4;border-radius:6px;font:inherit;font-size:12px;min-width:0}.sa-in input[data-saref]{width:130px}
.sa-st{font-size:13px;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.sa-st small{color:var(--mut);font-size:11px}
.sa-st.sb{color:#0060b9}.sa-st.ap{color:#036b3f;font-weight:600}.sa-st.no{color:var(--mut);font-size:12px}
.sa-docs{margin-top:8px;background:#f7f8fb;border-radius:6px;padding:6px 8px}.sa-docs .cg{font-size:12px;font-weight:600;margin-bottom:2px}.sa-docs .cg small{font-weight:400;color:var(--mut)}
.sa-doc{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 0;font-size:13px}.sa-doc .nm{flex:1 1 210px}
.sa-doc select,.sa-doc input{padding:3px 6px;border:1px solid #c3c6d4;border-radius:6px;font:inherit;font-size:12px}.sa-doc input{flex:1 1 160px}
.sa-doc.s-missing .nm:before{content:"✗ ";color:#e2445c;font-weight:700}.sa-doc.s-found .nm:before{content:"✓ ";color:#00a35c;font-weight:700}.sa-doc.s-na .nm{color:var(--mut)}.sa-doc.s-na .nm:before{content:"– ";}
.sa-doc.s-missing select{border-color:#f4a7b5;background:#fff6f7}.sa-doc small{color:var(--mut);font-size:11px}
.sa-doc .ds{font-size:12px}.sa-doc.s-missing .ds{color:#b3253f}
.sa-add{display:flex;gap:6px;margin-top:6px}.sa-add input{flex:1;padding:4px 6px;border:1px solid #c3c6d4;border-radius:6px;font:inherit;font-size:12px}
.sa-drv{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:12px;color:var(--mut)}.sa-drv input{flex:1;padding:5px 6px;border:1px solid #c3c6d4;border-radius:6px;font:inherit;font-size:12px}
.stb-scan{background:#fff;border:1px solid var(--grid);border-radius:10px;padding:14px 16px}
.sc-top{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.sc-top h3{margin:0 0 4px;font-size:18px}.sc-top h3 small{font-size:12px;font-weight:500;color:#9d50dd;background:#f3e8fd;border-radius:10px;padding:1px 8px;margin-left:6px}
.sc-top p{max-width:820px;margin:0}
.sc-h{margin:16px 0 6px;font-size:14px}.sc-h small{color:var(--mut);font-weight:400;margin-left:6px}
.sc-job{border:1px solid var(--grid);border-left:4px solid #e2445c;border-radius:8px;padding:8px 10px;margin:6px 0}
.sc-jh{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.sc-jh a{font-size:12px}.lnk.sc-t{font-size:14px;font-weight:700;color:#323338;text-decoration:none}.lnk.sc-t:hover{text-decoration:underline}
.sc-a{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}.sc-ms{display:flex;gap:8px;flex-wrap:wrap}
.sc-m{display:inline-flex;gap:5px;align-items:center;background:#fff6f7;border:1px solid #f4d0d7;border-radius:6px;padding:3px 6px;font-size:12px}.sc-m b{color:#b3253f;font-weight:600}
.stb-btn.sm2.ghost{padding:3px 8px}
.sc-sb td{font-size:13px}.sc-sb td:first-child{text-align:left}
.sm.warn{color:#b36b00}
.stb-pscan{margin-top:16px}.stb-pscan .sc-top{flex-direction:column}
@media(max-width:600px){.sa-cols{grid-template-columns:1fr}.sc-sb{display:block;overflow-x:auto}}
.stb-t td.job .sa-chips{display:block;margin-left:0}.stb-t td.job .stb-sa{margin-left:0;font-size:11px}
.stb-t td.job .stb-sa.sb{color:#0060b9}.stb-t td.job .stb-sa.ap{color:#036b3f}.stb-t td.job .stb-sa.dm{color:#b3253f}
.fka-stb .sa-doc select{width:auto;max-width:190px;flex:0 0 auto;margin:0}.fka-stb .sa-doc input{width:auto;min-width:0;margin:0}
.fka-stb .sa-in input{width:auto;margin:0}.fka-stb .sa-in input[type=date]{width:140px}.fka-stb .sa-add input,.fka-stb .sa-drv input{width:auto;margin:0}
.stb-t td.job .sa-chips{white-space:normal;line-height:1.2}
/* v0.3.4 job category picker */
.stb-people .pcat{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin:6px 0}.stb-people .pcat>span{font-weight:600;margin-right:4px}
.stb-people .pcat label{display:inline-flex;white-space:nowrap;align-items:center;gap:4px;border-left:3px solid var(--t);padding-left:5px}.stb-people .pcat small{flex-basis:100%;color:var(--mut)}
/* v0.3.6 costing track */
.stb-costrow{margin-top:4px;line-height:1.2}
.stb-cost{display:inline-block;border-radius:10px;font-size:11px;padding:1px 8px;margin:2px 4px 0 0;font-weight:600;line-height:16px;white-space:normal;max-width:100%;vertical-align:middle;background:#fff4e8;color:#a34a12;border:1px solid #ffc49c}
.stb-cost i{font-style:normal;font-weight:500;opacity:.8}
.stb-cost.run{background:#fff4e8;color:#a34a12;border-color:#ffb27f}
.stb-cost.td{background:#f6f7fb;color:#5a6276;border-color:#d0d4e4}
.stb-cost.soon{background:#fff8d6;color:#7a5c00;border-color:#ffcb00}
.stb-cost.ov{background:#fde3e7;color:#c21e3a;border-color:#f3a5b2}
.stb-cost.wt{background:#f1f1f1;color:#555;border-color:#cfcfcf}
.stb-cost.dn{background:#ddf7ea;color:#036b3f;border-color:#7fd8ab}
.stb-cost.lk{background:#2b2f3a;color:#fff;border-color:#2b2f3a}
.stb-costbox{margin:12px 0;border:1px solid #ffc49c;border-left:4px solid #ff642e;border-radius:8px;padding:10px 12px;background:#fffaf6}
.stb-costbox.off{border-color:var(--grid);border-left-color:#c3c6d4;background:#fafbfc}
.stb-costbox .hd{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600;font-size:14px;margin-bottom:6px}
.stb-costbox .hd small{font-weight:400;color:var(--mut);font-size:11px}
.stb-costbox .cb-tg{font-size:12px;font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:4px}
.stb-costbox .cb-rule{font-size:12px;margin:4px 0 8px;display:flex;flex-direction:column;gap:4px}
.stb-costbox .cb-rule label{display:flex;align-items:center;gap:6px}
.stb-costbox .cb-lk{color:#fff;background:#2b2f3a;border-radius:6px;padding:4px 8px;font-weight:600}.stb-costbox .cb-lk .lnk{color:#9cc7ff}
.stb-costbox .cb-ok{color:#036b3f;font-weight:600}.stb-costbox .cb-ov{color:#8a5a00;background:#fff8d6;border-radius:6px;padding:4px 8px}
.cb-steps{display:flex;flex-direction:column;gap:6px}
.cb-s{background:#fff;border:1px solid var(--grid);border-radius:8px;padding:7px 9px}
.cb-s.cs-run{border-color:#ffb27f;box-shadow:inset 3px 0 0 #fdab3d}.cb-s.cs-ov{border-color:#f3a5b2;box-shadow:inset 3px 0 0 #e2445c}.cb-s.cs-soon{border-color:#ffcb00;box-shadow:inset 3px 0 0 #ffcb00}
.cb-s.cs-dn{background:#f4fcf8;border-color:#bfe9d3}.cb-s.cs-wt{box-shadow:inset 3px 0 0 #a1a1a1}
.cb-l{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px}
.cb-l .n{display:inline-flex;width:18px;height:18px;border-radius:50%;background:#ff642e;color:#fff;font-size:11px;align-items:center;justify-content:center}
.cb-s.cs-dn .cb-l .n{background:#00c875}.cb-s.cs-td .cb-l .n{background:#c3c6d4}
.cb-l .cb-time{margin-left:auto;font-size:12px;color:#323338}.cb-l .cb-time b{font-variant-numeric:tabular-nums}
.cb-tag{font-style:normal;font-size:10px;font-weight:700;border-radius:8px;padding:0 6px}.cb-tag.ov{background:#e2445c;color:#fff}.cb-tag.soon{background:#ffcb00;color:#323338}
.cb-f{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:6px;align-items:flex-end}
.cb-f label{display:flex;flex-direction:column;font-size:11px;color:var(--mut);min-width:120px;flex:1}
.stb-panel .cb-f select,.stb-panel .cb-f input{padding:4px 6px}
.stb-panel .cb-f .stb-ballsel{width:auto!important}
.cb-a{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.stb-panel .cb-a input{flex:1;min-width:140px;width:auto;padding:4px 6px}
.stb-lock{margin:10px 0;background:#2b2f3a;color:#fff;border-radius:8px;padding:10px 12px;font-size:13px}
.stb-lock p{margin:4px 0 8px;color:#e6e8ef}.stb-lock .stb-btn.ghost{background:#fff;color:#2b2f3a}
.wk-sec.cb{border-color:#ffc49c;background:#fffaf6}.wk-sec.cb h4{color:#c2410c}
.wk-sec .tag.ov2{background:#e2445c;color:#fff;border-radius:6px;padding:0 5px;font-size:11px}.wk-sec .tag.lk2{background:#2b2f3a;color:#fff;border-radius:6px;padding:0 5px;font-size:11px}
.stb-wl .m .cs{color:#c2410c}
.stb-pch{margin:16px 0 6px;font-size:15px}
.stb-costbox .cb-wl{color:#5a6276;background:#f0f1f5;border-radius:6px;padding:4px 8px}
.stb-t td.ms .stb-cost{display:table;margin:2px auto 1px;text-align:left}
