:root[data-theme=light]{--bg: #f6f6f4;--panel: #ffffff;--panel-2: #fafaf8;--ink: #15161a;--ink-2: #3c3f45;--ink-3: #6b6f76;--ink-4: #9aa0a6;--line: #e7e6e2;--line-2: #efeeea;--chip: #f2f1ec;--accent: oklch(.66 .14 55);--accent-ink: oklch(.3 .08 55);--accent-soft: oklch(.94 .04 65);--danger: oklch(.58 .18 27);--danger-soft: oklch(.95 .04 27);--warn: oklch(.7 .14 70);--ok: oklch(.62 .1 155);--shadow: 0 1px 0 rgba(20,20,20,.02), 0 1px 2px rgba(20,20,20,.04);--shadow-lg: 0 10px 40px rgba(20,20,20,.1), 0 1px 2px rgba(20,20,20,.04);--sen-L: oklch(.42 .14 300);--sen-S: oklch(.48 .08 260);--sen-M: oklch(.58 .07 200);--sen-J: oklch(.7 .05 180);--tier-1: oklch(.64 .14 55);--tier-2: oklch(.72 .08 80);--tier-3: oklch(.8 .02 240)}:root[data-theme=dark]{--bg: #0f1012;--panel: #17181b;--panel-2: #1c1d21;--ink: #ececea;--ink-2: #c5c6c2;--ink-3: #8b8d90;--ink-4: #63656a;--line: #26272b;--line-2: #202124;--chip: #222327;--accent: oklch(.76 .13 60);--accent-ink: oklch(.86 .05 60);--accent-soft: oklch(.3 .06 55);--danger: oklch(.7 .17 27);--danger-soft: oklch(.28 .08 27);--warn: oklch(.78 .13 70);--ok: oklch(.72 .1 155);--shadow: 0 1px 0 rgba(0,0,0,.2), 0 1px 2px rgba(0,0,0,.3);--shadow-lg: 0 10px 40px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.3);--sen-L: oklch(.76 .14 300);--sen-S: oklch(.78 .1 260);--sen-M: oklch(.76 .08 200);--sen-J: oklch(.78 .05 180);--tier-1: oklch(.78 .14 60);--tier-2: oklch(.8 .09 80);--tier-3: oklch(.68 .02 240)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}.mono,.alloc-val,.meter-text,.client-money,.client-rate,.sen-tag,.sum-num,.hours-num,.cov-staffed,.cov-of,.cov-pct,.preview-hours,.preview-money{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}button{font-family:inherit;font-size:inherit;color:inherit}input{font-family:inherit}.app{display:grid;grid-template-rows:56px 1fr;height:100vh}.topbar{display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:20px;padding:0 18px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--line-2)}.brand-title{font-weight:600;font-size:14px;line-height:1.1;letter-spacing:-.01em}.brand-sub{font-size:11px;color:var(--ink-3);line-height:1.2;margin-top:2px}.brand-by{font-size:10.5px;color:var(--ink-4);letter-spacing:.01em}.brand-logo{height:16px;width:auto;filter:var(--logo-filter, none);opacity:.92;vertical-align:baseline}:root[data-theme=dark]{--logo-filter: invert(1) brightness(1.1)}:root[data-theme=light]{--logo-filter: none}.top-summary{display:flex;gap:8px;justify-content:center}.sum{display:flex;align-items:baseline;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2)}.sum-num{font-size:13px;font-weight:600;color:var(--ink)}.sum-lbl{font-size:11px;color:var(--ink-3)}.sum.alert{border-color:color-mix(in oklch,var(--danger) 40%,var(--line));background:var(--danger-soft)}.sum.alert .sum-num{color:var(--danger)}.sum.alert .sum-lbl{color:color-mix(in oklch,var(--danger) 70%,var(--ink-2))}.top-right{display:flex;align-items:center;gap:8px}.current-name{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;color:var(--ink-3);margin-right:4px}.cn-name{color:var(--ink);font-weight:500}.cn-dirty{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:7px;color:var(--ink);cursor:pointer;font-size:12px;transition:background .12s,border-color .12s}.btn:hover{background:var(--panel-2);border-color:color-mix(in oklch,var(--line) 60%,var(--ink-3))}.btn.ghost{background:transparent}.btn.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.btn-primary:hover{filter:brightness(.95)}.btn.btn-primary:disabled{opacity:.5;cursor:not-allowed}.count-pill{font-size:10px;font-weight:600;padding:1px 5px;background:var(--chip);color:var(--ink-3);border-radius:99px;margin-left:2px}.icon-btn{width:30px;height:30px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:7px;color:var(--ink-2);cursor:pointer;transition:background .12s}.icon-btn:hover{background:var(--panel-2)}.workspace{display:grid;grid-template-columns:300px 1fr;overflow:hidden;min-height:0}.bench{border-right:1px solid var(--line);display:flex;flex-direction:column;background:var(--panel);min-height:0}.bench-head{padding:14px 14px 8px}.bench-title{display:flex;align-items:baseline;gap:8px;font-weight:600;font-size:13px;width:100%}.bench-count{font-size:11px;color:var(--ink-3);font-weight:500;padding:1px 6px;background:var(--chip);border-radius:999px}.bench-sub{font-size:11px;color:var(--ink-3);margin-top:2px}.bench-filters{padding:0 14px 8px;display:flex;flex-direction:column;gap:8px}.search{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;color:var(--ink-3)}.search input{background:transparent;border:none;outline:none;flex:1;color:var(--ink);font-size:12px}.search input::placeholder{color:var(--ink-4)}.level-tabs{display:flex;gap:2px;padding:2px;background:var(--panel-2);border-radius:7px;border:1px solid var(--line)}.lvl-tab{flex:1;padding:4px 6px;background:transparent;border:none;border-radius:5px;color:var(--ink-3);cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.02em;transition:background .12s,color .12s}.lvl-tab:hover{color:var(--ink)}.lvl-tab.active{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.bench-list{flex:1;overflow-y:auto;padding:4px 10px 10px;display:flex;flex-direction:column;gap:4px}.bench-empty{color:var(--ink-4);font-size:12px;text-align:center;padding:20px}.bench-foot{padding:10px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:6px;background:var(--panel-2)}.person-chip{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:grab;transition:border-color .12s,box-shadow .12s;-webkit-user-select:none;user-select:none}.person-chip:hover{border-color:color-mix(in oklch,var(--ink-3) 30%,var(--line));box-shadow:var(--shadow)}.person-chip:active{cursor:grabbing}.person-chip.over{border-color:color-mix(in oklch,var(--danger) 45%,var(--line));background:var(--danger-soft)}.avatar{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;color:#fff;letter-spacing:.02em}.avatar.av-sm{width:26px;height:26px;font-size:9px}.avatar.av-lg{width:44px;height:44px;font-size:14px}.sen-bg-L{background:var(--sen-L)}.sen-bg-S{background:var(--sen-S)}.sen-bg-M{background:var(--sen-M)}.sen-bg-J{background:var(--sen-J)}.person-body{min-width:0;display:flex;flex-direction:column;gap:3px}.person-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.person-tags{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.person-tags .disc-dot{width:8px;height:8px;margin:0}.person-name{font-size:12.5px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-sub{font-size:11px;color:var(--ink-3)}.person-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-meter{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:6px;row-gap:3px;align-items:center;margin-top:2px}.person-meter .meter-bar{grid-column:1 / 2;grid-row:1;min-width:0}.person-meter .meter-text{grid-column:2 / 3;grid-row:1}.person-meter .meter-free{grid-column:1 / 3;grid-row:2;justify-self:start}.meter-bar{flex:1;height:4px;border-radius:99px;background:var(--line);overflow:hidden}.meter-bar>span{display:block;height:100%;background:var(--ok);transition:width .15s}.person-chip.over .meter-bar>span{background:var(--danger)}.meter-text{font-size:10px;color:var(--ink-3);white-space:nowrap;display:inline-flex;align-items:baseline;gap:3px}.meter-strong{color:var(--ink-2);font-weight:600}.meter-dim{color:var(--ink-4)}.person-chip.over .meter-strong{color:var(--danger)}.meter-free{font-size:9.5px;font-weight:600;color:var(--ok);padding:1px 6px;border-radius:999px;background:color-mix(in oklch,var(--ok) 12%,transparent);border:1px solid color-mix(in oklch,var(--ok) 25%,var(--line));letter-spacing:.01em;white-space:nowrap}.meter-free.over{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in oklch,var(--danger) 35%,var(--line))}.meter-freepct{color:color-mix(in oklch,var(--ok) 80%,var(--ink-3));font-weight:500}.team-avail{margin-top:10px;padding:9px 10px 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:5px}.ta-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:18px}.ta-lbl{font-size:10px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ta-pct{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;color:var(--ink);line-height:1}.ta-bar{height:5px;border-radius:99px;background:var(--line);overflow:hidden}.ta-bar>span{display:block;height:100%;background:var(--ok);transition:width .2s}.ta-sub{font-size:10.5px;color:var(--ink-3)}.ta-strong{color:var(--ink-2);font-weight:600;font-family:JetBrains Mono,ui-monospace,monospace}.ta-dim{color:var(--ink-4)}.team-avail.ta-low .ta-bar>span{background:var(--danger)}.team-avail.ta-low .ta-pct{color:var(--danger)}.team-avail.ta-mid .ta-bar>span{background:var(--warn)}.team-avail.ta-mid .ta-pct{color:var(--warn)}.team-avail.ta-good .ta-bar>span{background:var(--ok)}.team-avail.ta-good .ta-pct{color:var(--ok)}.sen-bars{display:inline-flex;gap:2px;align-items:flex-end;height:10px}.sen-bar{width:3px;height:3px;border-radius:1px;background:var(--line)}.sen-bar:nth-child(2){height:5px}.sen-bar:nth-child(3){height:7px}.sen-bar:nth-child(4){height:10px}.sen-bar.on{background:var(--ink-2)}.sen-tag{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;color:#fff;letter-spacing:.04em}.sen-tag-L{background:var(--sen-L)}.sen-tag-S{background:var(--sen-S)}.sen-tag-M{background:var(--sen-M)}.sen-tag-J{background:var(--sen-J)}.board{display:flex;flex-direction:column;min-height:0;min-width:0}.board-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--panel)}.board-title{display:flex;align-items:baseline;gap:8px;font-weight:600;font-size:13px}.board-count{font-size:11px;color:var(--ink-3);font-weight:500;padding:1px 6px;background:var(--chip);border-radius:999px}.tier-controls{display:flex;align-items:center;gap:12px;font-size:11px}.tier-lbl{color:var(--ink-3)}.tier-input{display:inline-flex;align-items:center;gap:5px;color:var(--ink-2)}.tier-input input{width:64px;padding:3px 6px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:11px;font-family:JetBrains Mono,ui-monospace,monospace;outline:none}.tier-input input:focus{border-color:var(--accent)}.t-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.t-dot.t-1{background:var(--tier-1)}.t-dot.t-2{background:var(--tier-2)}.client-grid{flex:1;overflow-y:auto;padding:16px 20px 40px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-content:start;background:var(--bg)}.client-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;overflow:clip;align-self:start;transition:border-color .15s,box-shadow .15s,transform .15s}.client-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.client-card.tier-edge-1:before{background:var(--tier-1)}.client-card.tier-edge-2:before{background:var(--tier-2)}.client-card.tier-edge-3:before{background:var(--tier-3)}.client-card.drag-hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:translateY(-1px)}.client-card.warn{border-color:color-mix(in oklch,var(--danger) 35%,var(--line))}.client-head{padding:12px 14px 10px 16px;border-bottom:1px dashed var(--line-2);display:flex;flex-direction:column;gap:6px}.client-title-row{display:flex;align-items:center;gap:8px}.client-logo{display:inline-grid;place-items:center;flex-shrink:0;font-weight:700;letter-spacing:.02em;color:#fff;border-radius:6px;font-family:Inter,sans-serif;overflow:hidden}.client-logo.cl-sm{width:18px;height:18px;font-size:8px;border-radius:4px}.client-logo.cl-md{width:26px;height:26px;font-size:10px;border-radius:5px}.client-logo.cl-lg{width:44px;height:44px;font-size:14px;border-radius:8px}.client-logo.has-img{background:var(--panel);border:1px solid var(--line)}.client-logo.has-img img{width:100%;height:100%;object-fit:contain;padding:2px}.client-logo.cl-1{background:#b54c3d}.client-logo.cl-2{background:#946900;background:oklch(.55 .14 80)}.client-logo.cl-3{background:#007835;background:oklch(.5 .14 150)}.client-logo.cl-4{background:#007e9a;background:oklch(.55 .14 220)}.client-logo.cl-5{background:#6365c1}.client-logo.cl-6{background:#a54c8b}.client-logo.cl-int{background:var(--panel-2);color:var(--ink-3);border:1px dashed var(--line)}.proj-badge .pb-logo{display:inline-grid;place-items:center;width:12px;height:12px;background:var(--panel);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-right:1px}.proj-badge .pb-logo img{width:100%;height:100%;object-fit:contain}.proj-badge.pb-has-logo{padding-left:2px}.preview-logo-img{width:100%;height:100%;object-fit:contain;background:var(--panel);border-radius:8px;padding:4px}.preview-card.preview-client .preview-badge:has(.preview-logo-img){background:var(--panel);padding:0;overflow:hidden}.logo-upload{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;gap:6px 12px;align-items:start}.logo-preview{grid-row:1 / 3;width:64px;height:64px;background:var(--panel-2);border:1px dashed var(--line);border-radius:8px;display:grid;place-items:center;overflow:hidden}.logo-preview.has{background:var(--panel);border-style:solid}.logo-preview img{width:100%;height:100%;object-fit:contain;padding:4px}.logo-placeholder{font-size:10px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.05em}.logo-actions{display:flex;gap:6px;align-self:end}.logo-upload .fld-hint{grid-column:2;align-self:start}.client-name{font-weight:600;font-size:13.5px;color:var(--ink);letter-spacing:-.01em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-meta{display:flex;align-items:center;gap:8px}.client-money{font-size:12px;font-weight:600;color:var(--ink)}.client-money .mo{font-weight:400;color:var(--ink-3);font-size:10px;margin-left:1px}.client-rate{font-size:12px;font-weight:600;color:var(--ink-2)}.client-rate .mo{font-weight:400;color:var(--ink-3);font-size:10px;margin-left:1px}.client-needs{font-size:12px;font-weight:600;color:var(--ink-2);font-family:JetBrains Mono,ui-monospace,monospace}.client-needs .mo{font-weight:400;color:var(--ink-3);font-size:10px;margin-left:1px;font-family:inherit}.meta-sep{color:var(--ink-4)}.tier-pill{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em}.tier-pill.tier-1{background:color-mix(in oklch,var(--tier-1) 14%,transparent);color:var(--tier-1)}.tier-pill.tier-2{background:color-mix(in oklch,var(--tier-2) 14%,transparent);color:var(--tier-2)}.tier-pill.tier-3{background:color-mix(in oklch,var(--tier-3) 14%,transparent);color:var(--tier-3)}.coverage{padding:8px 16px 10px;display:flex;flex-direction:column;gap:4px;border-bottom:1px dashed var(--line-2)}.cov-bar{height:5px;border-radius:99px;background:var(--line);overflow:hidden}.cov-bar>span{display:block;height:100%;background:var(--ok);transition:width .2s}.cov-bar.short>span{background:var(--warn)}.cov-bar.over>span{background:var(--danger)}.cov-text{display:flex;align-items:baseline;gap:4px;font-size:11px}.cov-staffed{color:var(--ink);font-weight:600}.cov-staffed.short{color:var(--warn)}.cov-staffed.over{color:var(--danger)}.cov-of{color:var(--ink-4)}.cov-pct{margin-left:auto;color:var(--ink-3);font-weight:600}.cov-pct.short{color:var(--warn)}.cov-pct.over{color:var(--danger)}.warn-banner{display:flex;align-items:center;gap:6px;padding:6px 16px;background:var(--danger-soft);color:var(--danger);font-size:11px;font-weight:500}.warn-dot{width:5px;height:5px;border-radius:50%;background:var(--danger)}.assign-list{padding:6px;display:flex;flex-direction:column;gap:2px;min-height:64px}.assign-list.empty{padding:14px;display:grid;place-items:center}.drop-hint{width:100%;padding:14px;border:1px dashed var(--line);border-radius:7px;text-align:center;color:var(--ink-4);font-size:11.5px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;gap:6px}.client-card.drag-hover .drop-hint{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.assign-row{display:grid;grid-template-columns:26px 1fr auto auto auto;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;transition:background .1s}.assign-row:hover{background:var(--panel-2)}.assign-row.is-sheriff{background:color-mix(in oklch,var(--accent) 7%,transparent)}.assign-row.is-sheriff:hover{background:color-mix(in oklch,var(--accent) 12%,transparent)}.assign-avatar-wrap{position:relative;width:26px;height:26px}.sheriff-star{position:absolute;right:-4px;bottom:-4px;width:14px;height:14px;display:grid;place-items:center;background:var(--accent);color:#fff;border-radius:50%;border:1.5px solid var(--panel);line-height:0}.assign-row.is-sheriff:hover .sheriff-star{border-color:color-mix(in oklch,var(--accent) 12%,var(--panel))}.sheriff-pill{display:inline-block;margin-left:6px;font-size:8.5px;font-weight:700;padding:1px 5px;border-radius:3px;background:var(--accent);color:#fff;letter-spacing:.06em;vertical-align:1px;font-family:Inter,sans-serif}.promote{width:20px;height:20px;display:grid;place-items:center;background:transparent;border:none;border-radius:4px;color:var(--ink-4);cursor:pointer;opacity:0;transition:opacity .1s,background .1s,color .1s}.assign-row:hover .promote{opacity:1}.promote:hover{background:var(--accent-soft);color:var(--accent-ink)}.assign-info{min-width:0;display:flex;flex-direction:column;gap:1px}.assign-name{font-size:12px;color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-meta{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-3)}.assign-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-alloc{display:flex;align-items:center;gap:2px;padding:2px;background:var(--chip);border-radius:5px}.step{width:18px;height:18px;display:grid;place-items:center;background:transparent;border:none;border-radius:3px;color:var(--ink-3);cursor:pointer;font-size:14px;line-height:1;padding:0}.step:hover{background:var(--panel);color:var(--ink)}.alloc-val{min-width:40px;text-align:center;font-size:11px;font-weight:600;color:var(--ink)}.alloc-unit{color:var(--ink-3);font-weight:400;margin-left:1px;font-size:10px}.remove{width:20px;height:20px;display:grid;place-items:center;background:transparent;border:none;border-radius:4px;color:var(--ink-4);cursor:pointer;opacity:0;transition:opacity .1s,background .1s,color .1s}.assign-row:hover .remove{opacity:1}.remove:hover{background:var(--danger-soft);color:var(--danger)}.client-foot{padding:8px 14px;border-top:1px solid var(--line-2);background:var(--panel-2);display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3)}.foot-sep{color:var(--ink-4)}.foot-mix{display:flex;gap:4px;flex:1;flex-wrap:wrap}.mix-chip{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;color:#fff;letter-spacing:.04em}.snap-wrap{position:relative}.snap-menu{position:absolute;right:0;top:calc(100% + 6px);width:320px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:10px;z-index:50}.snap-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 8px;font-size:12px;font-weight:600}.snap-save-row{display:flex;gap:6px;margin-bottom:6px}.snap-save-row input{flex:1;padding:6px 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:12px;outline:none}.snap-save-row input:focus{border-color:var(--accent)}.snap-save-current{width:100%;display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--accent-soft);color:var(--accent-ink);border:1px dashed color-mix(in oklch,var(--accent) 40%,transparent);border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;margin-bottom:6px}.snap-save-current:hover{filter:brightness(.98)}.snap-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto}.snap-empty{padding:16px 10px;color:var(--ink-4);font-size:12px;text-align:center}.snap-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:2px;border-radius:6px}.snap-row:hover{background:var(--panel-2)}.snap-row.current{background:var(--accent-soft)}.snap-main{text-align:left;background:transparent;border:none;padding:6px 8px;cursor:pointer;border-radius:6px;min-width:0}.snap-name{font-size:12.5px;font-weight:500;color:var(--ink)}.snap-sub{font-size:11px;color:var(--ink-3);margin-top:2px}.snap-action{width:24px;height:24px;display:grid;place-items:center;background:transparent;border:none;border-radius:4px;color:var(--ink-4);cursor:pointer}.snap-action:hover{background:var(--chip);color:var(--ink-2)}.snap-action.danger:hover{background:var(--danger-soft);color:var(--danger)}.bench-list::-webkit-scrollbar,.client-grid::-webkit-scrollbar,.snap-list::-webkit-scrollbar{width:10px}.bench-list::-webkit-scrollbar-thumb,.client-grid::-webkit-scrollbar-thumb,.snap-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;border:2px solid transparent;background-clip:padding-box}.bench-list::-webkit-scrollbar-thumb:hover,.client-grid::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:padding-box;border:2px solid transparent}.add-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 6px;background:transparent;border:1px dashed var(--line);border-radius:999px;color:var(--ink-3);cursor:pointer;font-size:11px;font-weight:500;margin-left:auto;transition:color .12s,border-color .12s,background .12s}.add-btn:hover{color:var(--accent-ink);border-color:color-mix(in oklch,var(--accent) 50%,var(--line));background:var(--accent-soft)}.chip-edit,.card-edit{flex-shrink:0;width:22px;height:22px;display:grid;place-items:center;background:transparent;border:none;border-radius:4px;color:var(--ink-4);cursor:pointer;opacity:0;transition:opacity .1s,background .1s,color .1s}.person-chip:hover .chip-edit,.client-card:hover .card-edit{opacity:1}.chip-edit:hover,.card-edit:hover{background:var(--chip);color:var(--ink-2)}.grid-empty{grid-column:1 / -1;padding:40px;text-align:center;color:var(--ink-3);font-size:12.5px;border:1px dashed var(--line);border-radius:10px;background:var(--panel)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,black 32%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:200;padding:20px;animation:fadein .12s ease-out}@keyframes fadein{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;animation:modalin .2s cubic-bezier(.2,.7,.2,1)}@keyframes modalin{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}.modal-head{padding:16px 18px 14px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.modal-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);border:1px solid color-mix(in oklch,var(--accent) 20%,var(--line))}.modal-icon-client{background:color-mix(in oklch,var(--tier-1) 14%,transparent);color:var(--tier-1);border-color:color-mix(in oklch,var(--tier-1) 30%,var(--line))}.modal-titles{min-width:0}.modal-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.modal-subtitle{font-size:11.5px;color:var(--ink-3);margin-top:2px}.modal-preview{padding:14px 18px;background:var(--panel-2);border-bottom:1px solid var(--line)}.preview-card{display:flex;align-items:center;gap:12px}.preview-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.preview-name{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3);flex-wrap:wrap}.preview-role{color:var(--ink-3)}.preview-cap{display:flex;align-items:center;gap:8px;margin-top:2px}.preview-hours{font-size:11px;color:var(--ink-2);font-weight:600}.preview-hours .mo{color:var(--ink-4);font-weight:400;margin-left:2px;font-family:Inter,sans-serif;font-size:10.5px}.preview-money{font-size:12px;font-weight:600;color:var(--ink)}.preview-money .mo{font-weight:400;color:var(--ink-3);font-size:10px;margin-left:1px;font-family:Inter,sans-serif}.preview-badge{width:44px;height:44px;border-radius:10px;background:color-mix(in oklch,var(--tier-1) 14%,transparent);color:var(--tier-1);display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--tier-1) 30%,var(--line));flex-shrink:0}.modal-body{padding:16px 18px;display:flex;flex-direction:column;gap:14px}.modal-foot{padding:12px 18px;border-top:1px solid var(--line);background:var(--panel-2);display:flex;align-items:center;justify-content:space-between;gap:8px}.foot-right{display:flex;gap:6px;margin-left:auto}.btn.danger{color:var(--danger);border-color:color-mix(in oklch,var(--danger) 30%,var(--line))}.btn.danger:hover{background:var(--danger-soft)}.fld{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.fld>span:first-child{font-size:10.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.fld input[type=text],.fld input[type=number]{padding:9px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:13px;outline:none;transition:border-color .1s,box-shadow .1s;width:100%}.fld input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.fld-hint{font-size:11px;color:var(--ink-4)}.fld-row{display:flex;gap:10px}.fld-optional{font-weight:400;color:var(--ink-4);text-transform:none;letter-spacing:0}.fld-check{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--chip);border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--ink-2);line-height:1.45;cursor:pointer}.fld-check input[type=checkbox]{margin-top:2px;accent-color:var(--accent)}.modal-copy{margin:0 0 4px;font-size:13px;color:var(--ink-2);line-height:1.5}.modal-copy strong{color:var(--ink);font-weight:600}.hours-field,.money-field{display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;transition:border-color .1s,box-shadow .1s}.hours-field:focus-within,.money-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.hours-field input,.money-field input{flex:1;min-width:0;padding:9px 10px;background:transparent!important;border:none!important;box-shadow:none!important;outline:none;color:var(--ink);font-size:13px;font-family:JetBrains Mono,ui-monospace,monospace}.hours-suffix,.money-prefix,.money-suffix{padding:0 10px;font-size:11px;color:var(--ink-3);white-space:nowrap}.money-prefix{border-right:1px solid var(--line);padding:9px 10px;font-weight:600;color:var(--ink-2)}.money-suffix{border-left:1px solid var(--line-2);padding:9px 10px}.chips-row{display:flex;gap:4px;margin-top:2px}.mini-chip{padding:3px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;color:var(--ink-3);font-size:11px;font-weight:500;cursor:pointer;font-family:JetBrains Mono,ui-monospace,monospace;transition:background .1s,color .1s,border-color .1s}.mini-chip:hover{color:var(--ink);border-color:var(--ink-4)}.mini-chip.active{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in oklch,var(--accent) 40%,var(--line))}.seg{display:flex;gap:4px;padding:3px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px}.seg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 6px;background:transparent;border:none;border-radius:7px;color:var(--ink-3);font-size:11.5px;font-weight:500;cursor:pointer;transition:background .1s,color .1s,box-shadow .1s;white-space:nowrap}.seg-btn:hover{color:var(--ink)}.seg-btn.active{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.seg-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.seg-dot.disc-T{background:#2098db}.seg-dot.disc-MIX{background:#9d79d7}.seg-dot.disc-NT{background:#66a159}.app{grid-template-rows:56px auto 1fr}.kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:var(--panel);border-bottom:1px solid var(--line)}.kpi{padding:12px 16px;border-right:1px solid var(--line-2);display:flex;flex-direction:column;gap:2px;position:relative;min-width:0}.kpi:last-child{border-right:none}.kpi-lbl{font-size:10px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.kpi-val{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;color:var(--ink);line-height:1.1;margin-top:2px;letter-spacing:-.01em}.kpi-unit{color:var(--ink-3);font-weight:400;font-size:14px;margin-left:2px}.kpi-sub{font-size:11px;color:var(--ink-3)}.kpi-aux{color:var(--ink-4)}.kpi-bar{margin-top:6px;height:4px;border-radius:99px;background:var(--line);overflow:hidden}.kpi-bar>span{display:block;height:100%;background:var(--ok);transition:width .2s}.kpi-eff.eff-low .kpi-bar>span{background:var(--danger)}.kpi-eff.eff-mid .kpi-bar>span{background:var(--warn)}.kpi-eff.eff-good .kpi-bar>span{background:var(--ok)}.kpi-eff.eff-low .kpi-val{color:var(--danger)}.kpi-eff.eff-mid .kpi-val{color:var(--warn)}.disc-mini{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;letter-spacing:.04em;background:var(--chip);color:var(--ink-3);border:1px solid var(--line-2)}.disc-mini.disc-T{color:#1479b0;background:color-mix(in oklch,oklch(.55 .12 240) 10%,var(--panel-2));border-color:color-mix(in oklch,oklch(.55 .12 240) 20%,var(--line-2))}.disc-mini.disc-MIX{color:#7d5fad;background:color-mix(in oklch,oklch(.55 .12 300) 10%,var(--panel-2));border-color:color-mix(in oklch,oklch(.55 .12 300) 20%,var(--line-2))}.disc-mini.disc-NT{color:#518046;background:color-mix(in oklch,oklch(.55 .1 140) 10%,var(--panel-2));border-color:color-mix(in oklch,oklch(.55 .1 140) 20%,var(--line-2))}:root[data-theme=dark] .disc-mini.disc-T{color:#69c1fc;background:color-mix(in oklch,oklch(.78 .12 240) 14%,var(--panel-2))}:root[data-theme=dark] .disc-mini.disc-MIX{color:#c3a5f9;background:color-mix(in oklch,oklch(.78 .12 300) 14%,var(--panel-2))}:root[data-theme=dark] .disc-mini.disc-NT{color:#9bce90;background:color-mix(in oklch,oklch(.8 .1 140) 14%,var(--panel-2))}.disc-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:4px}.disc-dot.disc-T{background:#2098db}.disc-dot.disc-MIX{background:#9d79d7}.disc-dot.disc-NT{background:#66a159}.disc-tabs .lvl-tab{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:10.5px;padding:4px}.disc-tabs .disc-dot{width:6px;height:6px;margin-right:3px;flex-shrink:0}.sort-row{display:flex;align-items:center;gap:6px;padding:2px 0}.sort-lbl{font-size:10px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.sort-select{flex:1;padding:5px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:11.5px;font-family:inherit;outline:none;cursor:pointer}.sort-select:focus{border-color:var(--accent)}.proj-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.proj-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 5px 1px 4px;border-radius:999px;font-size:9.5px;font-weight:600;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-2);line-height:1.4;max-width:100%}.proj-badge .pb-letters{letter-spacing:.04em}.proj-badge .pb-hours{font-family:JetBrains Mono,ui-monospace,monospace;color:var(--ink-3);font-weight:500;font-size:9px}.proj-badge.pb-1{border-color:color-mix(in oklch,oklch(.65 .13 30) 35%,var(--line));background:color-mix(in oklch,oklch(.65 .13 30) 10%,var(--panel-2));color:#8f3126}.proj-badge.pb-2{border-color:color-mix(in oklch,oklch(.65 .13 80) 35%,var(--line));background:color-mix(in oklch,oklch(.65 .13 80) 10%,var(--panel-2));color:#704e00;color:oklch(.45 .13 80)}.proj-badge.pb-3{border-color:color-mix(in oklch,oklch(.65 .13 150) 35%,var(--line));background:color-mix(in oklch,oklch(.65 .13 150) 10%,var(--panel-2));color:#005e28;color:oklch(.42 .13 150)}.proj-badge.pb-4{border-color:color-mix(in oklch,oklch(.65 .13 220) 35%,var(--line));background:color-mix(in oklch,oklch(.65 .13 220) 10%,var(--panel-2));color:#005f75;color:oklch(.45 .13 220)}.proj-badge.pb-5{border-color:color-mix(in oklch,oklch(.65 .13 280) 35%,var(--line));background:color-mix(in oklch,oklch(.65 .13 280) 10%,var(--panel-2));color:#5152a4}.proj-badge.pb-6{border-color:color-mix(in oklch,oklch(.65 .13 340) 35%,var(--line));background:color-mix(in oklch,oklch(.65 .13 340) 10%,var(--panel-2));color:#8b3b74}.proj-badge.pb-int{border-style:dashed;color:var(--ink-3);background:var(--panel-2)}:root[data-theme=dark] .proj-badge.pb-1{color:#ffbaae;color:oklch(.85 .12 30)}:root[data-theme=dark] .proj-badge.pb-2{color:#f7c56d}:root[data-theme=dark] .proj-badge.pb-3{color:#89da9b}:root[data-theme=dark] .proj-badge.pb-4{color:#59d6fa}:root[data-theme=dark] .proj-badge.pb-5{color:#c3c9ff;color:oklch(.85 .12 280)}:root[data-theme=dark] .proj-badge.pb-6{color:#ffb1e5;color:oklch(.85 .12 340)}.tier-pill.tier-int{background:color-mix(in oklch,var(--sen-L) 12%,transparent);color:var(--sen-L);border:1px dashed color-mix(in oklch,var(--sen-L) 40%,transparent);padding:0 6px}.client-card.tier-edge-int:before{background:repeating-linear-gradient(to bottom,var(--sen-L) 0 6px,transparent 6px 10px)}.client-card.is-internal{background:color-mix(in oklch,var(--panel) 96%,var(--sen-L))}.client-card.is-internal .client-name:after{content:""}.modal-icon-internal,.preview-card.preview-internal .preview-badge{background:color-mix(in oklch,var(--sen-L) 14%,transparent);color:var(--sen-L);border-color:color-mix(in oklch,var(--sen-L) 30%,var(--line))}.add-split{display:inline-flex;gap:4px;margin-left:4px}.add-btn-alt{border-style:dashed}.add-btn-alt:hover{color:var(--sen-L);border-color:color-mix(in oklch,var(--sen-L) 50%,var(--line));background:color-mix(in oklch,var(--sen-L) 10%,transparent)}.tier-input input{-moz-appearance:textfield}.tier-input input::-webkit-outer-spin-button,.tier-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seg.seg-4{display:grid;grid-template-columns:repeat(4,1fr)}.seg.seg-4 .seg-btn{padding:7px 4px;font-size:11px}@media (max-width: 700px){.kpi-strip{grid-template-columns:repeat(2,1fr)}.kpi{border-right:none;border-bottom:1px solid var(--line-2)}.kpi:nth-last-child(-n+2){border-bottom:none}}@media (max-width: 1100px){.top-summary{display:none}.topbar{grid-template-columns:220px 1fr auto}}@media (max-width: 820px){.workspace{grid-template-columns:240px 1fr}}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(900px 500px at 15% 10%,color-mix(in oklch,var(--accent) 12%,transparent),transparent 60%),radial-gradient(900px 500px at 85% 90%,color-mix(in oklch,var(--accent) 8%,transparent),transparent 60%),var(--bg);padding:24px}.login-card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:28px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink)}.login-title{font-size:18px;font-weight:700;letter-spacing:-.01em}.login-sub{font-size:12px;color:var(--ink-3);margin-top:1px}.login-sub .login-logo{height:22px}.login-heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:0 0 10px 2px}.login-list{display:grid;gap:8px}.login-user{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background .12s,border-color .12s,transform .06s;text-align:left}.login-user:hover{border-color:var(--accent);background:color-mix(in oklch,var(--accent-soft) 50%,var(--panel-2))}.login-user:active{transform:translateY(1px)}.login-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:.02em;background:var(--chip);color:var(--ink-2);flex:0 0 auto}.login-avatar.role-admin{background:color-mix(in oklch,var(--accent) 22%,var(--panel));color:var(--accent-ink)}.login-user-main{display:grid;flex:1}.login-user-name{font-weight:600}.login-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.login-role.role-admin{color:var(--accent-ink)}.login-go{color:var(--ink-4)}.login-user:hover .login-go{color:var(--accent-ink)}.login-foot{margin-top:18px;font-size:11px;color:var(--ink-4);text-align:center}.current-name{display:flex;align-items:center;gap:8px;font-size:12px}.cn-vis,.cn-default,.cn-pending,.cn-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;line-height:1.4}.cn-label{background:transparent;color:var(--ink-3);padding:0}.cn-vis.vis-global{background:color-mix(in oklch,var(--accent) 18%,var(--panel));color:var(--accent-ink);border:1px solid color-mix(in oklch,var(--accent) 30%,transparent)}.cn-vis.vis-private{background:var(--chip);color:var(--ink-2);border:1px solid var(--line)}.cn-default{background:color-mix(in oklch,var(--ok) 18%,var(--panel));color:color-mix(in oklch,var(--ok) 65%,var(--ink));border:1px solid color-mix(in oklch,var(--ok) 30%,transparent)}.cn-pending{background:color-mix(in oklch,var(--warn) 20%,var(--panel));color:color-mix(in oklch,var(--warn) 60%,var(--ink));border:1px solid color-mix(in oklch,var(--warn) 30%,transparent)}.count-pill.pending-pill{background:color-mix(in oklch,var(--warn) 25%,var(--panel));color:color-mix(in oklch,var(--warn) 65%,var(--ink));margin-left:2px}.user-menu-wrap{position:relative}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background .12s,border-color .12s}.user-chip:hover{border-color:var(--accent)}.user-chip-avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:10.5px;letter-spacing:.02em;background:var(--chip);color:var(--ink-2)}.user-chip-avatar.role-admin{background:color-mix(in oklch,var(--accent) 22%,var(--panel));color:var(--accent-ink)}.user-chip-main{display:grid;text-align:left;line-height:1.1}.user-chip-name{font-weight:600;font-size:12px}.user-chip-role{font-size:9.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.user-chip-role.role-admin{color:var(--accent-ink)}.user-menu-pop{position:absolute;top:calc(100% + 6px);right:0;width:260px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;z-index:80}.um-section{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);padding:6px 8px 4px}.um-item{width:100%;display:flex;align-items:center;gap:10px;padding:7px 8px;border:1px solid transparent;border-radius:8px;cursor:pointer;background:transparent;text-align:left}.um-item:hover{background:var(--panel-2)}.um-item.is-current{background:var(--accent-soft);color:var(--accent-ink)}.um-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:10px;background:var(--chip);color:var(--ink-2);flex:0 0 auto}.um-avatar.role-admin{background:color-mix(in oklch,var(--accent) 22%,var(--panel));color:var(--accent-ink)}.um-main{display:grid;flex:1;line-height:1.15}.um-name{font-weight:600;font-size:12px}.um-role{font-size:9.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.um-role.role-admin{color:var(--accent-ink)}.um-divider{height:1px;background:var(--line);margin:4px 2px}.um-signout{color:var(--ink-2)}.um-signout:hover{color:var(--danger)}.um-header{display:flex;align-items:center;gap:10px;padding:10px 10px 8px}.um-avatar.um-avatar-lg{width:32px;height:32px;font-size:12px}.um-header-main{display:grid;line-height:1.2;min-width:0}.um-header-name{font-weight:600;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-org{width:520px;max-width:92vw}.modal-body-org{gap:10px}.org-list-head{display:flex;justify-content:space-between;align-items:baseline;font-size:10.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding:0 2px}.org-admin-count{color:var(--ink-4);font-weight:500}.org-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}.org-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.org-row:last-child{border-bottom:none}.org-avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.02em;background:var(--chip);color:var(--ink-2);border:1px solid var(--line)}.org-avatar.role-admin{background:color-mix(in oklch,var(--accent) 22%,var(--panel));color:var(--accent-ink);border-color:color-mix(in oklch,var(--accent) 28%,var(--line))}.org-main{display:grid;min-width:0;line-height:1.25}.org-name{font-size:13px;font-weight:600;color:var(--ink);display:flex;gap:6px;align-items:baseline}.org-you{font-size:10.5px;font-weight:500;color:var(--ink-4)}.org-sub{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.org-note{font-size:11.5px;color:var(--ink-3);line-height:1.5;padding:2px 2px 0}.bell-wrap,.bell-btn{position:relative}.bell-dot{position:absolute;top:-2px;right:-2px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 2px var(--panel)}.bell-pop{position:absolute;top:calc(100% + 6px);right:0;width:340px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);z-index:80;overflow:hidden}.bell-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);font-weight:600;font-size:12px}.link-btn{background:none;border:none;cursor:pointer;color:var(--accent-ink);font-size:11px;font-weight:500;padding:2px 4px}.link-btn:hover{text-decoration:underline}.bell-list{max-height:380px;overflow-y:auto}.bell-empty{padding:22px 14px;text-align:center;color:var(--ink-3);font-size:12px}.bell-item{width:100%;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:none;border-bottom:1px solid var(--line-2);background:transparent;cursor:pointer;text-align:left}.bell-item:last-child{border-bottom:none}.bell-item:hover{background:var(--panel-2)}.bell-item.is-unread{background:color-mix(in oklch,var(--accent-soft) 35%,var(--panel))}.bell-item.is-unread:hover{background:color-mix(in oklch,var(--accent-soft) 55%,var(--panel))}.bell-dot-inline{width:8px;height:8px;border-radius:50%;background:var(--ink-4);margin-top:5px;flex:0 0 auto}.bell-dot-inline.kind-proposal_submitted{background:var(--warn)}.bell-dot-inline.kind-proposal_approved{background:var(--ok)}.bell-dot-inline.kind-proposal_rejected{background:var(--danger)}.bell-dot-inline.kind-board_set_default{background:var(--accent)}.bell-item-main{display:grid;gap:2px;flex:1}.bell-item-text{font-size:12px;color:var(--ink-2);line-height:1.4}.bell-item.is-unread .bell-item-text{color:var(--ink);font-weight:500}.bell-item-time{font-size:10.5px;color:var(--ink-4)}.library-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:color-mix(in oklch,black 35%,transparent);display:grid;place-items:center;padding:24px}.library{width:100%;max-width:900px;max-height:calc(100vh - 48px);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.library-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.library-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;letter-spacing:-.005em}.library-actions{display:flex;align-items:center;gap:8px}.library-tabs{display:flex;align-items:center;gap:4px;padding:6px 18px;border-bottom:1px solid var(--line);background:var(--panel-2)}.lib-tab{position:relative;padding:8px 12px;background:transparent;border:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--ink-2);border-radius:6px;display:inline-flex;align-items:center;gap:6px}.lib-tab:hover{color:var(--ink);background:var(--panel)}.lib-tab.is-active{color:var(--ink);background:var(--panel);box-shadow:inset 0 -2px 0 var(--accent)}.tab-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--warn);color:#fff;font-size:10px;font-weight:700}.lib-tabs-spacer{flex:1}.lib-show-archived{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3);cursor:pointer}.lib-show-archived input{accent-color:var(--accent)}.library-body{flex:1;overflow-y:auto;padding:10px 18px 18px}.lib-empty{padding:40px 18px;text-align:center;color:var(--ink-3);font-size:13px}.board-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-top:8px;transition:border-color .12s,box-shadow .12s}.board-row:hover{border-color:color-mix(in oklch,var(--accent) 40%,var(--line))}.board-row.is-current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.board-row.is-archived{opacity:.7}.br-left{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:72px}.br-vis,.br-default,.br-pending,.br-archived-pill,.br-open{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;line-height:1.2}.br-vis.vis-global{background:color-mix(in oklch,var(--accent) 18%,var(--panel));color:var(--accent-ink);border:1px solid color-mix(in oklch,var(--accent) 30%,transparent)}.br-vis.vis-private{background:var(--chip);color:var(--ink-2);border:1px solid var(--line)}.br-default{background:color-mix(in oklch,var(--ok) 18%,var(--panel));color:color-mix(in oklch,var(--ok) 65%,var(--ink));border:1px solid color-mix(in oklch,var(--ok) 30%,transparent)}.br-open{background:color-mix(in oklch,var(--accent) 16%,var(--panel));color:var(--accent-ink);border:1px solid color-mix(in oklch,var(--accent) 35%,transparent)}.br-pending{background:color-mix(in oklch,var(--warn) 20%,var(--panel));color:color-mix(in oklch,var(--warn) 60%,var(--ink));border:1px solid color-mix(in oklch,var(--warn) 30%,transparent)}.br-archived-pill{background:var(--chip);color:var(--ink-3);border:1px dashed var(--line)}.br-main{display:grid;gap:3px;min-width:0}.br-name{font-weight:600;font-size:14px;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-rename{width:100%;font:inherit;font-weight:600;font-size:14px;padding:2px 6px;border:1px solid var(--accent);border-radius:6px;background:var(--panel);color:var(--ink)}.br-meta{font-size:11px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:4px;align-items:center}.br-meta-sep{color:var(--ink-4)}.br-note{margin-top:4px;padding:6px 8px;background:var(--panel-2);border:1px solid var(--line-2);border-left:3px solid var(--warn);border-radius:6px;font-size:11.5px;color:var(--ink-2)}.br-note-lbl{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;margin-right:6px}.br-note.br-reject{border-left-color:var(--danger)}.br-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}.btn.sm{padding:5px 10px;font-size:11.5px;border-radius:6px}.btn-primary-alt{background:color-mix(in oklch,var(--ok) 20%,var(--panel));border-color:color-mix(in oklch,var(--ok) 40%,var(--line));color:color-mix(in oklch,var(--ok) 60%,var(--ink))}.btn-primary-alt:hover{background:color-mix(in oklch,var(--ok) 30%,var(--panel))}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.95)}.btn-danger-ghost{color:var(--danger);border-color:color-mix(in oklch,var(--danger) 30%,var(--line));background:transparent}.btn-danger-ghost:hover{background:color-mix(in oklch,var(--danger-soft) 50%,var(--panel))}.ro-banner{display:flex;align-items:center;gap:10px;padding:8px 16px;background:color-mix(in oklch,var(--accent-soft) 60%,var(--panel));border-bottom:1px solid color-mix(in oklch,var(--accent) 22%,var(--line));color:var(--accent-ink);font-size:12.5px}.ro-banner.archived{background:var(--chip);color:var(--ink-2);border-bottom-color:var(--line)}.ro-icon{display:inline-grid;place-items:center}.ro-text{flex:1}.ro-text strong{font-weight:600}.ro-actions{display:flex;gap:6px}.no-board{padding:48px 24px;display:grid;place-items:center}.no-board-card{max-width:360px;text-align:center;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.no-board-title{font-size:15px;font-weight:700;letter-spacing:-.005em}.no-board-sub{font-size:12.5px;color:var(--ink-3);margin-top:4px}.no-board-actions{margin-top:14px;display:inline-flex;gap:8px}.tier-controls.is-disabled{opacity:.6;pointer-events:none}.app.is-readonly .bench-person{cursor:default}.app.is-readonly .client-card.drag-hover{outline:none}.modal-newboard,.modal-propose,.modal-reject{max-width:460px}.modal-icon-propose{background:color-mix(in oklch,var(--accent) 20%,var(--panel));color:var(--accent-ink)}.modal-icon-reject{background:color-mix(in oklch,var(--danger) 20%,var(--panel));color:var(--danger)}.field-optional{color:var(--ink-4);font-weight:400}.field-textarea{resize:vertical;min-height:80px;font-family:inherit}
