:root{color-scheme:light;--bg: #f3f4f6;--surface: #ffffff;--surface-2: #f6f7f9;--surface-3: #eceef2;--border: #e3e5ea;--border-strong: #d0d4db;--text: #111318;--text-2: #4b5160;--text-3: #858b98;--accent: #2a78d6;--accent-hover: #1f68c1;--accent-soft: #e8f1fc;--good: #0ca30c;--good-text: #0a7a0a;--good-soft: #e3f5e3;--warn: #e39b00;--warn-text: #8a5d00;--warn-soft: #fff4dc;--critical: #d03b3b;--critical-soft: #fbe9e9;--extra: #eb6834;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--s6: #008300;--s7: #6250d6;--s8: #e34948;--s-other: #a9a8a2;--grid: #eceef1;--side-bg: #12161f;--side-text: #a7afbf;--side-text-strong: #f2f4f8;--side-hover: #1d2330;--side-active: #243047;--shadow: 0 1px 2px rgb(16 24 40 / .05), 0 1px 3px rgb(16 24 40 / .04);--shadow-lg: 0 12px 32px rgb(16 24 40 / .16), 0 2px 6px rgb(16 24 40 / .08);--radius: 10px;--radius-sm: 6px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0e1015;--surface: #161920;--surface-2: #1b1f27;--surface-3: #232833;--border: #2a2f3a;--border-strong: #3a404d;--text: #eef0f4;--text-2: #b3b9c6;--text-3: #7d8494;--accent: #3987e5;--accent-hover: #5197ea;--accent-soft: #19283d;--good-text: #4fcb4f;--good-soft: #15301a;--warn-text: #f0b43c;--warn-soft: #33290f;--critical-soft: #3a1c1e;--extra: #d95926;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--s6: #008300;--s7: #9085e9;--s8: #e66767;--s-other: #6b6a65;--grid: #232731;--side-bg: #0a0c10;--side-hover: #151922;--side-active: #1c2638;--shadow: 0 1px 2px rgb(0 0 0 / .3);--shadow-lg: 0 12px 32px rgb(0 0 0 / .5)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1015;--surface: #161920;--surface-2: #1b1f27;--surface-3: #232833;--border: #2a2f3a;--border-strong: #3a404d;--text: #eef0f4;--text-2: #b3b9c6;--text-3: #7d8494;--accent: #3987e5;--accent-hover: #5197ea;--accent-soft: #19283d;--good-text: #4fcb4f;--good-soft: #15301a;--warn-text: #f0b43c;--warn-soft: #33290f;--critical-soft: #3a1c1e;--extra: #d95926;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--s6: #008300;--s7: #9085e9;--s8: #e66767;--s-other: #6b6a65;--grid: #232731;--side-bg: #0a0c10;--side-hover: #151922;--side-active: #1c2638;--shadow: 0 1px 2px rgb(0 0 0 / .3);--shadow-lg: 0 12px 32px rgb(0 0 0 / .5)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:20px;margin:0;letter-spacing:-.015em;font-weight:650}h2{font-size:15px;margin:0;font-weight:620;letter-spacing:-.005em}h3{font-size:13px;margin:0;font-weight:620}p{margin:0}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12px}.tiny{font-size:11px}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.nowrap{white-space:nowrap}.stack{display:flex;flex-direction:column;gap:16px}.stack.tight{gap:8px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.nowrap{flex-wrap:nowrap}.spacer{flex:1}.grid{display:grid;gap:16px}.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr))}.cols-3{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.cols-4{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.span-2{grid-column:span 2}.main-side{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.layout{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--side-bg);color:var(--side-text);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:14px 10px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;color:var(--side-text-strong);font-weight:650;font-size:15px}.brand .logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--s1),var(--s7));display:grid;place-items:center;color:#fff}.brand small{display:block;font-weight:450;font-size:11px;color:var(--side-text)}.nav-section{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#6b7385;padding:16px 12px 6px;font-weight:600}.nav a{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:7px;color:var(--side-text);text-decoration:none;font-weight:500;margin-bottom:1px}.nav a svg{width:17px;height:17px;flex:none;opacity:.85}.nav a:hover{background:var(--side-hover);color:var(--side-text-strong)}.nav a.active{background:var(--side-active);color:var(--side-text-strong)}.nav a.active svg{color:#7fb3f0;opacity:1}.nav .badge{margin-left:auto}.side-foot{margin-top:auto;padding:12px;font-size:11px;color:#6b7385}.content{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:56px;display:flex;align-items:center;gap:12px;padding:0 28px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.crumbs{color:var(--text-3);font-size:13px;display:flex;align-items:center;gap:6px}.crumbs b{color:var(--text);font-weight:600}.main{padding:24px 28px 64px;min-width:0;max-width:1600px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.page-head p{margin-top:4px;color:var(--text-2);max-width:760px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;min-width:0}.card.flush{padding:0}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.card.flush .card-head{padding:14px 18px 0}.card-head .sub{color:var(--text-3);font-size:12px;margin-top:2px}.card-foot{border-top:1px solid var(--border);padding:10px 18px;color:var(--text-3);font-size:12px}.kpi{display:flex;flex-direction:column;gap:6px;position:relative}.kpi .label{color:var(--text-2);font-size:12.5px;font-weight:500;display:flex;align-items:center;gap:6px}.kpi .label svg{width:15px;height:15px;color:var(--text-3)}.kpi .value{font-size:28px;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1.1}.kpi .value small{font-size:14px;font-weight:500;color:var(--text-3);margin-left:3px;letter-spacing:0}.kpi .foot{font-size:12px;color:var(--text-2);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.meter{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden;position:relative}.meter>div{height:100%;border-radius:3px}.meter.lg{height:8px}.meter-stack{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--surface-3);gap:2px}.meter-stack>div{height:100%}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-3);color:var(--text-2);white-space:nowrap;line-height:1.5}.badge svg{width:12px;height:12px}.badge.good{color:var(--good-text);background:var(--good-soft)}.badge.warn{color:var(--warn-text);background:var(--warn-soft)}.badge.critical{color:var(--critical);background:var(--critical-soft)}.badge.accent{color:var(--accent);background:var(--accent-soft)}.badge.extra{color:var(--extra);background:color-mix(in srgb,var(--extra) 13%,transparent)}.status{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px}.status.good{color:var(--good-text);background:var(--good-soft)}.status.warn{color:var(--warn-text);background:var(--warn-soft)}.status.critical{color:var(--critical);background:var(--critical-soft)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-3);flex:none}.dot.good{background:var(--good)}.dot.warn{background:var(--warn)}.dot.critical{background:var(--critical)}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:-1px;flex:none}.alert{padding:10px 14px;border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);display:flex;gap:10px;align-items:flex-start}.alert.error{background:var(--critical-soft);border-color:color-mix(in srgb,var(--critical) 35%,transparent)}.alert.info{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.alert svg{width:18px;height:18px;flex:none;margin-top:1px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:9px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{font-size:11.5px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);position:sticky;top:0;z-index:1;white-space:nowrap}.card>table th:first-child,.card .table-wrap th:first-child{padding-left:18px}.card.flush td:first-child{padding-left:18px}.card.flush td:last-child,.card.flush th:last-child{padding-right:18px}tbody tr:last-child td{border-bottom:0}tr.group td{background:var(--surface-2);font-weight:600}tr.sub td:first-child{padding-left:38px}tfoot td{background:var(--surface-2)}tr.total td{font-weight:650;border-top:1px solid var(--border-strong)}tbody tr:hover td{background:color-mix(in srgb,var(--accent) 3.5%,var(--surface))}tbody tr.group:hover td{background:var(--surface-2)}tr.clickable{cursor:pointer}tr.selected td{background:var(--accent-soft)!important}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 9px;min-width:0;height:32px}textarea{height:auto}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--text-3) 70%,var(--border-strong))}input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}input[type=number]{width:90px;text-align:right}input[type=color]{padding:2px;width:32px;height:32px;cursor:pointer}input[type=checkbox]{height:auto;accent-color:var(--accent);width:15px;height:15px}input.ghost{border-color:transparent;background:transparent}input.ghost:hover{border-color:var(--border-strong);background:var(--surface)}input.ghost:focus{background:var(--surface);border-color:var(--accent)}label.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-2);font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.hint{font-size:12px;color:var(--text-3)}button{cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);padding:0 12px;height:32px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:500;white-space:nowrap}button svg{width:16px;height:16px;flex:none}button:hover{background:var(--surface-2)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-hover)}button.danger{color:var(--critical)}button.danger.solid{background:var(--critical);border-color:var(--critical);color:#fff}button.ghost{border-color:transparent;background:transparent;color:var(--text-2)}button.ghost:hover{background:var(--surface-3);color:var(--text)}button.icon{width:32px;padding:0}button.sm{height:26px;padding:0 8px;font-size:12.5px}button.sm.icon{width:26px}button.link{border:0;background:none;padding:0 2px;height:auto;color:var(--accent)}button.link:hover{text-decoration:underline}button:disabled{opacity:.5;cursor:default}.seg{display:inline-flex;background:var(--surface-3);border-radius:8px;padding:2px;gap:2px}.seg button{border:0;border-radius:6px;height:28px;background:transparent;color:var(--text-2);padding:0 10px}.seg button:hover{background:color-mix(in srgb,var(--surface) 60%,transparent)}.seg button.on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.switch{position:relative;width:34px;height:20px;border-radius:10px;background:var(--border-strong);border:0;padding:0;transition:background .15s}.switch:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px #00000040}.switch.on{background:var(--accent)}.switch.on:after{left:16px}.switch:hover{background:var(--text-3)}.switch.on:hover{background:var(--accent-hover)}.month-nav{display:inline-flex;align-items:center;gap:2px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1273;z-index:100;display:grid;place-items:center;padding:16px;animation:fade .12s ease-out}.modal{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-lg);width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;animation:pop .14s ease-out}.modal-head{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);gap:8px}.modal-body{padding:20px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 12px 12px}.popover{position:fixed;z-index:150;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:14px;width:280px;animation:pop .1s ease-out}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(4px) scale(.98)}}.toasts{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:var(--text);color:var(--surface);padding:10px 14px;border-radius:8px;box-shadow:var(--shadow-lg);font-size:13px;display:flex;gap:8px;align-items:center;max-width:380px;animation:pop .15s ease-out}.toast.error{background:var(--critical);color:#fff}.toast svg{width:16px;height:16px}.empty{text-align:center;padding:36px 16px;color:var(--text-2)}.empty svg{width:32px;height:32px;color:var(--text-3);margin-bottom:8px}.empty b{display:block;color:var(--text);margin-bottom:4px}.plan{overflow:auto;max-height:calc(100vh - 220px)}.plan table{border-collapse:separate;border-spacing:0}.plan th,.plan td{border-bottom:1px solid var(--border)}.plan th.first,.plan td.first{position:sticky;left:0;z-index:2;background:var(--surface);min-width:260px;max-width:320px;border-right:1px solid var(--border)}.plan th.first{z-index:3;background:var(--surface-2)}.plan tr.group td.first,.plan tr.group td,.plan tfoot td.first{background:var(--surface-2)}.plan th.month{text-transform:none;letter-spacing:0;min-width:104px;padding:8px 10px;vertical-align:bottom}.plan th.month .m{color:var(--text);font-size:12.5px;font-weight:650;text-align:right}.plan th.month .meter{margin-top:6px;height:4px}.plan th.month .free{font-size:11px;font-weight:600;text-align:right;margin-top:3px}.plan th.month.now .m:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:5px;vertical-align:2px}.plan td.cell{padding:4px 6px;text-align:right}.pcell{display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:88px;min-height:34px;padding:3px 8px;border-radius:6px;border:1px solid transparent;background:none;height:auto;font-weight:400;gap:0}.pcell:hover{border-color:var(--border-strong);background:var(--surface)}.pcell.open{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.pcell .v{font-variant-numeric:tabular-nums;font-weight:600;display:flex;align-items:center;gap:5px}.pcell .v.zero{color:var(--text-3);font-weight:400}.pcell .off{font-size:10.5px;font-weight:650;padding:0 5px;border-radius:4px;line-height:16px}.pcell .off.plus{color:var(--extra);background:color-mix(in srgb,var(--extra) 13%,transparent)}.pcell .off.minus{color:var(--accent);background:var(--accent-soft)}.pcell .b{font-size:10.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.pcell .b.over{color:var(--critical)}.pcell .note-dot{width:5px;height:5px;border-radius:50%;background:var(--text-3)}.plan td.past{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.plan .group-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.plan .group-toggle svg{width:15px;height:15px;color:var(--text-3);transition:transform .12s}.plan .group-toggle.closed svg{transform:rotate(-90deg)}.plan .sum{font-variant-numeric:tabular-nums;font-weight:650;padding-right:15px}.plan .proj-name{display:flex;flex-direction:column}.plan .proj-name .period{font-size:11px;color:var(--text-3);font-weight:400}.plan tr.inactive-row td{opacity:.55}.free-pos{color:var(--good-text)}.free-neg{color:var(--critical)}.offset-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.offset-quick button{height:28px;padding:0;font-size:12.5px;font-variant-numeric:tabular-nums}.calc-line{display:grid;grid-template-columns:1fr auto;gap:3px 10px;font-size:12.5px;padding:10px 12px;background:var(--surface-2);border-radius:8px}.calc-line .total{font-weight:650;border-top:1px solid var(--border);padding-top:4px}.co-card .co-head{display:flex;align-items:center;gap:10px;padding:14px 18px;flex-wrap:wrap}.co-card .co-head input.name{font-weight:650;font-size:15px;width:280px}.co-card.inactive .co-head input.name{color:var(--text-3)}.co-card table td{padding-top:7px;padding-bottom:7px}.co-card table th,.co-card .add-row td{background:var(--surface-2)}.timeline{display:grid;position:relative}.timeline .tl-head{font-size:11px;color:var(--text-3);text-align:center;padding:6px 0;border-bottom:1px solid var(--border);font-weight:600}.timeline .tl-head.now{color:var(--accent)}.timeline .tl-label{padding:6px 12px 6px 18px;font-size:13px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.timeline .tl-label.co{font-weight:650;background:var(--surface-2)}.timeline .tl-track{border-bottom:1px solid var(--border);position:relative;height:34px}.timeline .tl-track.co{background:var(--surface-2)}.timeline .tl-bar{position:absolute;top:6px;bottom:6px;border-radius:5px;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;padding:0 8px;overflow:hidden;white-space:nowrap;box-shadow:inset 0 0 0 1px #0000000f}.timeline .tl-bar.open-end{border-top-right-radius:0;border-bottom-right-radius:0}.timeline .tl-bar.open-start{border-top-left-radius:0;border-bottom-left-radius:0}.timeline .tl-grid{position:absolute;top:0;bottom:0;width:1px;background:var(--grid)}.timeline .tl-now{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.5}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:650;font-size:13px;flex:none}.avatar.lg{width:52px;height:52px;font-size:18px}.avatar.muted{filter:grayscale(1) opacity(.6)}.member-list{display:flex;flex-direction:column}.member-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;background:none;border-left:3px solid transparent}.member-item:hover{background:var(--surface-2)}.member-item.on{background:var(--accent-soft);border-left-color:var(--accent)}.member-item .who{min-width:0;flex:1}.member-item .who b{display:block;font-weight:600}.member-item .who span{font-size:12px;color:var(--text-3)}.contract{display:grid;grid-template-columns:20px 1fr;gap:0 12px}.contract .rail{display:flex;flex-direction:column;align-items:center}.contract .rail .pin{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent);background:var(--surface);margin-top:14px}.contract .rail .pin.past{border-color:var(--border-strong)}.contract .rail .pin.cur{background:var(--accent)}.contract .rail .line{flex:1;width:2px;background:var(--border)}.contract .body{padding:8px 0 14px}.period-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,auto));align-items:end}.period-card.cur{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.daypick{display:inline-flex;gap:3px}.daypick button{width:28px;height:28px;padding:0;border-radius:6px;font-size:12px;font-weight:600;color:var(--text-3)}.daypick button.on{background:var(--accent);border-color:var(--accent);color:#fff}.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.mini-stats>div{background:var(--surface);padding:12px 14px}.mini-stats .l{font-size:11.5px;color:var(--text-3);font-weight:500}.mini-stats .v{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:2px}.team-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}.team-list{position:sticky;top:72px}@media(max-width:900px){.team-grid{grid-template-columns:1fr}.team-list{position:static}}.codes{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.chip{display:inline-flex;align-items:center;gap:2px;background:var(--surface-3);border-radius:6px;padding:1px 2px 1px 7px;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:20px}.chip button{border:0;background:none;padding:0 4px;height:18px;color:var(--text-3);line-height:1}.chip button:hover{color:var(--critical);background:none}.codes input{font-size:12px;height:24px;padding:2px 7px;width:130px;border-style:dashed}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-2);align-items:center}.legend .key{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.legend .key.line{height:2px;width:14px;border-radius:1px;vertical-align:3px}.tt{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:12px;box-shadow:var(--shadow-lg);min-width:170px}.tt .tt-title{font-weight:650;margin-bottom:5px}.tt .tt-row{display:flex;justify-content:space-between;gap:16px;line-height:1.7}.tt .tt-row.sep{border-top:1px solid var(--border);margin-top:3px;padding-top:3px;font-weight:600}.cal{font-size:11px;border-collapse:separate;border-spacing:2px}.cal th,.cal td{padding:0;text-align:center;border:0;min-width:24px;height:26px;border-radius:4px;text-transform:none;letter-spacing:0;background:none;position:static}.cal td.name,.cal th.name{text-align:left;padding:0 8px;min-width:110px;font-size:13px;position:sticky;left:0;background:var(--surface);z-index:2}.cal .we{background:var(--surface-2)}.cal .off{background:var(--surface-2);color:var(--text-3)}.cal .hol{background:color-mix(in srgb,var(--s-other) 45%,transparent)}.cal .dayoff{background:color-mix(in srgb,var(--s1) 80%,transparent);color:#fff}.cal .partial{opacity:.55}.cal .na{background:repeating-linear-gradient(45deg,transparent 0 4px,var(--surface-2) 4px 8px)}.legend .cal-key.dayoff{background:color-mix(in srgb,var(--s1) 80%,transparent)}.cal tbody tr:hover td{background-color:inherit}.pairbar{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden;margin:2px 0}.pairbar>div{height:100%;border-radius:3px}.login{max-width:380px;margin:15vh auto}.drop{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:28px;text-align:center;color:var(--text-2)}.drop.over{border-color:var(--accent);background:var(--accent-soft)}pre.code{background:var(--surface-2);padding:12px;border-radius:6px;overflow-x:auto;font-size:12px;border:1px solid var(--border)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:0 12px;height:38px;color:var(--text-2)}.tabs button.on{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.kv{display:grid;grid-template-columns:1fr auto;gap:5px 12px;font-size:13px}.divider{height:1px;background:var(--border);margin:4px 0}@media(max-width:1100px){.main-side{grid-template-columns:1fr}}.card>h2:first-child{margin-bottom:14px}.card.flush>h2:first-child{padding:14px 18px 0}.card.stack>h2:first-child{margin-bottom:0}.card.flush tr.sub td:first-child,.plan tr.sub td.first{padding-left:42px}.gantt{overflow:auto;max-height:calc(100vh - 210px)}.gantt table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.gantt th,.gantt td{border-bottom:1px solid var(--border);padding:0}.gantt .first{position:sticky;left:0;z-index:3;background:var(--surface);border-right:1px solid var(--border);padding:0 10px 0 14px;overflow:hidden}.gantt thead th{position:sticky;top:0;z-index:4;background:var(--surface-2)}.gantt thead th.first{z-index:5;text-transform:uppercase}.gantt .g-head{padding:8px 8px 6px;text-transform:none;letter-spacing:0;vertical-align:bottom}.gantt .g-head .m{color:var(--text);font-size:12.5px;font-weight:650}.gantt .g-head.now{background:color-mix(in srgb,var(--accent) 10%,var(--surface-2))}.gantt .g-head.now .m{color:var(--accent)}.gantt .g-head .free{font-size:11px;font-weight:600;margin-top:3px}.g-load{display:flex;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;margin-top:6px}.g-load>div{height:100%}.g-load .tent,.tentative-key{background:repeating-linear-gradient(135deg,var(--warn) 0 3px,transparent 3px 6px)!important}.tentative-key{border:1px dashed var(--warn)}.gantt .g-group td{background:var(--surface-2);height:36px}.gantt .g-group td.first{font-weight:650}.gantt .g-sum{text-align:center;padding:0 8px;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--text-2)}.gantt .g-group .g-sum{font-weight:600}.gantt td.now{background:color-mix(in srgb,var(--accent) 5%,transparent)}.gantt .g-group td.now{background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}.gantt tfoot td{background:var(--surface-2);height:32px}.gantt tfoot tr.total td{font-weight:650}.gantt tbody tr:hover td{background:inherit}.gantt .g-row td.first{height:42px}.g-name{border:0;background:none;height:auto;width:100%;justify-content:flex-start;gap:6px;font-weight:450;padding:0 0 0 22px}.g-name:hover{background:none;color:var(--accent)}.g-name .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-name .edit{width:13px;height:13px;opacity:0;color:var(--text-3);margin-left:auto}.g-name:hover .edit{opacity:1}.g-cell{height:42px;cursor:pointer;position:relative}.g-cell:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)!important}.g-bar{position:relative;height:28px;margin:0 -1px;display:flex;align-items:center;justify-content:center;gap:4px;background:color-mix(in srgb,var(--c) 24%,var(--surface));border-top:1px solid color-mix(in srgb,var(--c) 60%,transparent);border-bottom:1px solid color-mix(in srgb,var(--c) 60%,transparent);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600;-webkit-user-select:none;user-select:none;touch-action:none}.g-bar.first{margin-left:4px;border-left:3px solid var(--c);border-radius:6px 0 0 6px}.g-bar.last{margin-right:4px;border-right:1px solid color-mix(in srgb,var(--c) 60%,transparent);border-radius:0 6px 6px 0}.g-bar.first.last{border-radius:6px}.g-bar:hover{background:color-mix(in srgb,var(--c) 34%,var(--surface))}.g-bar.tentative{background:color-mix(in srgb,var(--c) 10%,var(--surface));border-top:1.5px dashed var(--c);border-bottom:1.5px dashed var(--c)}.g-bar.tentative.first{border-left:3px dashed var(--c)}.g-bar.tentative.last{border-right:1.5px dashed var(--c)}.g-bar.dragging{opacity:.75;cursor:grabbing!important}.g-bar .g-v.zero{color:var(--text-3);font-weight:400}.g-off{font-size:10.5px;font-weight:700;padding:0 4px;border-radius:4px;line-height:15px}.g-off.plus{color:#fff;background:var(--extra)}.g-off.minus{color:#fff;background:var(--accent)}.g-handle{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;z-index:1}.g-handle.l{left:-4px}.g-handle.r{right:-4px}.g-handle:hover{background:color-mix(in srgb,var(--c) 50%,transparent);border-radius:3px}.g-chip{margin:0 auto;width:fit-content;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--extra) 15%,transparent);color:var(--extra)}.g-worked{position:absolute;bottom:1px;right:6px;font-size:10px;color:var(--text-3);pointer-events:none}.tm{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.2fr);gap:32px;align-items:start}.tm-main{display:flex;flex-direction:column;gap:14px}.tm-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tm-nums .l{font-size:12.5px;color:var(--text-2);font-weight:500}.tm-nums .v{font-size:30px;font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.tm-bar{position:relative;height:14px;border-radius:7px;background:var(--surface-3)}.tm-bar .fill{height:100%;border-radius:7px;background:var(--s1)}.tm-bar .mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text);border-radius:1px}.tm-list{display:flex;flex-direction:column;gap:8px}.tm-row{display:grid;grid-template-columns:minmax(120px,1fr) 1fr 84px 38px;gap:10px;align-items:center}.tm-row .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}@media(max-width:900px){.tm{grid-template-columns:1fr}}.gantt .group-toggle{min-width:0;flex:1}.gantt .group-toggle .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt .group-toggle svg,.gantt .group-toggle .swatch{flex:none}.gantt .g-group td.first .row{height:36px}.gantt .group-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.gantt .group-toggle svg{width:15px;height:15px;color:var(--text-3);transition:transform .12s}.gantt .group-toggle.closed svg{transform:rotate(-90deg)}.gantt .g-group td.first .row{flex-wrap:nowrap;gap:4px}.drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0a0c1240;animation:fade .12s}.drawer{position:absolute;top:0;right:0;bottom:0;background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide .16s ease-out;border-left:1px solid var(--border)}@keyframes slide{0%{transform:translate(24px);opacity:0}}.drawer-head{display:flex;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid var(--border)}.drawer-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:18px}.section-title{font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:8px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:7px;overflow:hidden;height:28px}.stepper button{border:0;border-radius:0;height:26px;width:26px;padding:0;color:var(--text-2);font-size:15px}.stepper input{border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:0;width:52px;height:26px;text-align:center;padding:0;font-variant-numeric:tabular-nums;font-weight:600}.stepper input:focus{outline:none;background:var(--accent-soft)}.board{overflow:clip}.board-head,.skyline,.sky-foot,.rm-row,.rm-grid{display:grid}.board-head{position:sticky;top:56px;z-index:6;background:var(--surface);border-bottom:1px solid var(--border)}.board-head .bh{text-align:center;font-size:12px;font-weight:650;padding:10px 0;color:var(--text-2)}.board-head .bh.past{color:var(--text-3);font-weight:500}.board-head .bh.now{color:var(--accent)}.board-head .bh.now:after{content:" · now";font-weight:500}.skyline{align-items:end;padding:0;border-bottom:1px solid var(--border-strong)}.sky-col{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center}.sky-col.past{opacity:.55}.sky-col.now{background:color-mix(in srgb,var(--accent) 5%,transparent)}.sky-stack{width:62%;display:flex;flex-direction:column-reverse;gap:2px}.sky-seg{background:var(--c);border-radius:3px;display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:2px;color:#fff;font-size:10.5px;font-weight:650;overflow:hidden;transition:opacity .12s,filter .12s}.sky-seg:hover{filter:brightness(1.12)}.sky-seg.dim{opacity:.18}.sky-seg.pipe{background:repeating-linear-gradient(135deg,var(--c) 0 4px,color-mix(in srgb,var(--c) 35%,var(--surface)) 4px 8px);outline:1.5px dashed var(--c);outline-offset:-1.5px}.sky-seg span{text-shadow:0 1px 2px rgb(0 0 0 / .35)}.sky-cap{position:absolute;left:6%;right:6%;height:0;border-top:2px solid var(--text);pointer-events:auto}.sky-cap span{position:absolute;right:0;top:-17px;font-size:10.5px;font-weight:650;color:var(--text-2);background:var(--surface);padding:0 3px;border-radius:3px;opacity:0;transition:opacity .1s}.sky-col:hover .sky-cap span{opacity:1}.sky-over{position:absolute;left:16%;right:16%;background:color-mix(in srgb,var(--critical) 30%,transparent);border:1.5px solid var(--critical);border-bottom:0;border-radius:4px 4px 0 0;pointer-events:none}.sky-foot>div{text-align:center;font-size:12px;padding:8px 0 10px}.sky-foot .free{color:var(--good-text)}.sky-foot .over{color:var(--critical)}.pipeline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pl-title{display:inline-flex;align-items:center;gap:6px;font-weight:650;font-size:13px;margin-right:6px;color:var(--warn-text)}.pl-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1.5px dashed var(--border-strong);border-radius:8px;padding:2px 4px 2px 2px;font-size:13px}.pl-chip.on{border-color:var(--warn)}.pl-chip:not(.on){opacity:.6}.roadmap{position:relative;padding:6px 0 14px;min-height:120px}.rm-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.rm-grid>div{border-left:1px solid var(--grid)}.rm-grid>div:first-child{border-left:0}.rm-grid>.now{background:color-mix(in srgb,var(--accent) 5%,transparent)}.rm-group{position:relative;padding:4px 0 6px}.rm-company{display:flex;align-items:center;gap:8px;padding:6px 12px 4px;font-size:13px;position:relative}.rm-company button{opacity:0}.rm-group:hover .rm-company button{opacity:1}.rm-row{position:relative;height:34px;align-items:center}.rm-bar{grid-row:1;height:28px;margin:0 4px;border-radius:7px;display:flex;align-items:center;gap:8px;padding:0 10px;position:relative;background:color-mix(in srgb,var(--c) 20%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 55%,transparent);border-left:4px solid var(--c);font-size:12.5px;-webkit-user-select:none;user-select:none;touch-action:none;min-width:0;overflow:hidden;white-space:nowrap;transition:box-shadow .1s}.rm-bar:hover{box-shadow:0 2px 8px #00000026;background:color-mix(in srgb,var(--c) 28%,var(--surface))}.rm-bar.pipe{border-style:dashed;border-left-style:dashed;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 16%,var(--surface)) 0 6px,var(--surface) 6px 12px)}.rm-bar.hidden{opacity:.35}.rm-bar.inactive{opacity:.45;filter:grayscale(.6)}.rm-bar.cut-l{border-left-width:1px;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.rm-bar.cut-r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0;border-right:0}.rm-bar.dragging{opacity:.8;cursor:grabbing!important;box-shadow:0 6px 18px #00000040}.rm-name{font-weight:600;overflow:hidden;text-overflow:ellipsis}.rm-hours{color:var(--text-2);font-variant-numeric:tabular-nums;flex:none}.rm-adj{font-size:10.5px;font-weight:700;background:var(--extra);color:#fff;border-radius:4px;padding:0 4px;flex:none}.rm-h{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.rm-h.l{left:-4px}.rm-h.r{right:0}.rm-h:hover{background:color-mix(in srgb,var(--c) 45%,transparent)}.rm-ghost{grid-row:1;border:1px dashed var(--border-strong);background:none;height:24px;margin:0 4px;font-size:11.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;display:block;padding:0 8px}.rm-extra{grid-row:1;justify-self:center;height:22px;padding:0 8px;border-radius:11px;border:0;background:color-mix(in srgb,var(--extra) 16%,transparent);color:var(--extra);font-size:11.5px;font-weight:650}.months-list{border:1px solid var(--border);border-radius:8px;overflow:hidden}.ml-row{display:grid;grid-template-columns:64px 52px auto 64px 1fr;gap:10px;align-items:center;padding:5px 10px;border-bottom:1px solid var(--border);font-size:13px}.ml-row:last-child{border-bottom:0}.ml-row.off{color:var(--text-3)}.ml-row.now{background:var(--accent-soft)}.ml-m{font-weight:600}.ml-n,.ml-p,.ml-w{font-variant-numeric:tabular-nums;text-align:right}.ml-p{font-weight:650}.ml-w{font-size:11.5px}:root{--avail: color-mix(in srgb, var(--good) 16%, var(--surface))}.equation{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}.equation>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;display:flex;flex-direction:column;box-shadow:var(--shadow);min-width:140px}.equation .l{font-size:12px;color:var(--text-2)}.equation .v{font-size:22px;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.equation .op{align-self:center;font-size:22px;color:var(--text-3);font-weight:300}.equation .res{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.equation .res .v{color:var(--accent)}.equation>div.muted{background:none;border:0;box-shadow:none}.avail-wrap{overflow-x:auto}.avail{display:grid;gap:3px;padding:12px 16px 14px;min-width:980px;-webkit-user-select:none;user-select:none}.avail .ah{text-align:center;font-size:10.5px;color:var(--text-3);display:flex;flex-direction:column;line-height:1.25;padding-bottom:4px}.avail .ah b{color:var(--text);font-size:12px;font-weight:600}.avail .ah.we b{color:var(--text-3);font-weight:500}.avail .ah.hol b{color:var(--text-3);text-decoration:underline dotted}.avail .ah.today b{background:var(--accent);color:#fff;border-radius:10px;align-self:center;padding:0 6px}.avail .ah.num{justify-content:flex-end;text-align:right}.avail .who{display:flex;align-items:center;gap:9px;border:0;background:none;padding:0 6px 0 0;height:32px;justify-content:flex-start;font-weight:550;overflow:hidden}.avail .who span{overflow:hidden;text-overflow:ellipsis}.avail .who:hover span{color:var(--accent)}.ac{height:32px;border-radius:5px;display:grid;place-items:center;font-size:10.5px;font-weight:650;color:#fff}.ac.ok{background:var(--avail);cursor:crosshair}.ac.ok:hover{background:color-mix(in srgb,var(--s1) 30%,var(--surface))}.ac.off{background:var(--s1);cursor:pointer}.ac.off.part{background:repeating-linear-gradient(135deg,var(--s1) 0 4px,color-mix(in srgb,var(--s1) 45%,var(--surface)) 4px 8px)}.ac.hol{background:color-mix(in srgb,var(--s-other) 70%,transparent)}.ac.we{background:var(--surface-3)}.ac.na{background:repeating-linear-gradient(45deg,transparent 0 4px,var(--surface-3) 4px 8px)}.ac.sel{background:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.ac.today{outline:2px solid var(--accent);outline-offset:-2px}.ac-total{text-align:right;align-self:center;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--text-2)}.ac-total b{color:var(--text)}.outlook{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ol{display:flex;flex-direction:column;align-items:stretch;gap:4px;height:auto;padding:10px 12px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.ol b{font-size:17px;font-variant-numeric:tabular-nums}.ol.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.proj-list{display:flex;flex-direction:column}.proj{display:grid;grid-template-columns:minmax(180px,1.2fr) auto minmax(200px,1.5fr) auto;gap:14px;align-items:center;padding:10px 18px;border-top:1px solid var(--border)}.proj.inactive{opacity:.55}.proj-main{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:0;background:none;height:auto;padding:0;text-align:left}.proj-main:hover b{color:var(--accent)}.ring{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--surface-3) 0)}.ring span{width:26px;height:26px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.member-item.on .ring span{background:var(--accent-soft)}@media(max-width:900px){.proj{grid-template-columns:1fr}}.palette{width:min(560px,100%);align-self:start;margin-top:12vh;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .12s ease-out}.palette input{width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;height:52px;font-size:16px;padding:0 18px}.palette input:focus{outline:none}.palette ul{list-style:none;margin:0;padding:6px;max-height:360px;overflow-y:auto}.palette li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;cursor:pointer;font-size:14px}.palette li svg{width:16px;height:16px;color:var(--text-3)}.palette li.on{background:var(--accent-soft);color:var(--accent)}.palette li.on svg{color:var(--accent)}.palette li .kind{margin-left:auto;font-size:11.5px;color:var(--text-3)}.kbd{font-family:ui-monospace,Menlo,monospace;font-size:11px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;padding:0 5px;color:var(--text-3);background:var(--surface)}.search-btn{width:260px;justify-content:flex-start;color:var(--text-3);font-weight:400;background:var(--surface-2)}.search-btn .kbd{margin-left:auto}.rm-bar.zero{opacity:.45}.sky-seg span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.mp-btn{gap:8px;min-width:130px;justify-content:flex-start;font-weight:550;font-variant-numeric:tabular-nums}.mp-btn svg{color:var(--text-3);width:15px;height:15px}.mp-btn.mp-empty span{color:var(--text-3);font-weight:400}.mp-btn.open{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.mp-btn.compact{min-width:0}label.field .mp-btn{width:100%}.mp{display:flex;flex-direction:column;gap:10px}.mp-year{display:flex;align-items:center;justify-content:space-between}.mp-year b{font-size:14px;font-variant-numeric:tabular-nums}.mp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.mp-grid button{height:34px;border:0;background:none;border-radius:7px;font-weight:500;color:var(--text)}.mp-grid button:hover{background:var(--surface-3)}.mp-grid button.now{color:var(--accent);font-weight:650;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.mp-grid button.on{background:var(--accent);color:#fff;box-shadow:none}.mp-foot{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:8px}.month-nav .mp-btn{border-radius:0;margin:0 -1px;min-width:128px;justify-content:center}.month-nav>.nav-prev{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.month-nav>.nav-next{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.month-nav .mp-btn{position:relative;z-index:1}.month-nav{gap:0}.month-nav>.ghost{margin-left:6px}.tm-group{display:flex;flex-direction:column;gap:5px}.tm-row.clickable{cursor:pointer;border-radius:6px}.tm-row.clickable:hover .name{color:var(--accent)}.tm-row .name{display:flex;align-items:center;gap:0}.tm-chev{width:14px;height:14px;color:var(--text-3);margin-right:4px;flex:none;transition:transform .12s}.tm-chev.open{transform:rotate(90deg)}.tm-chev.hidden{visibility:hidden}.tm-row.sub{font-size:11.5px;color:var(--text-2)}.tm-row.sub .name{font-size:12px;color:var(--text-2);position:relative;padding-left:40px;display:block}.tm-row.sub .name:before{content:"";position:absolute;left:22px;top:-5px;height:12px;width:10px;border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);border-bottom-left-radius:4px}.tm-row.sub .meter{height:4px}.tm-row.sub .num{font-size:11.5px}.logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--s1),var(--s7));display:grid;place-items:center;color:#fff;flex:none;font-size:11px;font-weight:700;letter-spacing:.02em}.home{min-height:100vh;display:flex;flex-direction:column}.home-bar{position:sticky;top:0;z-index:20;height:56px;display:flex;align-items:center;gap:12px;padding:0 max(20px,env(safe-area-inset-left));background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.home-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:var(--text);letter-spacing:-.01em}a.home-brand:hover{text-decoration:none}.home-main{width:100%;max-width:980px;margin:0 auto;padding:32px 20px 64px}.narrow{max-width:560px;margin:0 auto;width:100%}.center{text-align:center}.center-card{padding:28px}button.big{height:42px;font-size:15px;font-weight:600;justify-content:center}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 500px at 50% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent),var(--bg)}.auth{width:min(400px,100%);padding:28px;gap:18px}.auth input{height:40px;font-size:15px}.team-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}.team-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);transition:border-color .12s,transform .12s}.team-card:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-1px)}.team-mark{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:700;flex:none}.team-text{flex:1;min-width:0;display:flex;flex-direction:column}.team-text b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-card svg{width:18px;height:18px;flex:none}.user-menu{position:relative}.user-btn{gap:8px;padding:0 6px}.avatar.sm{width:26px;height:26px;font-size:12px;background:var(--s7)}.user-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:160;min-width:230px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;animation:pop .1s ease-out}.menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;display:flex;flex-direction:column}.menu-head span{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis}.menu a,.menu button{display:flex;width:100%;align-items:center;gap:10px;padding:0 10px;height:36px;border:0;border-radius:6px;background:none;color:var(--text);font-weight:500;justify-content:flex-start}.menu a:hover,.menu button:hover{background:var(--surface-2);text-decoration:none}.menu svg{width:16px;height:16px;color:var(--text-3)}.side-top{display:flex;align-items:flex-start}.team-switch{flex:1;min-width:0;border-radius:8px;padding:8px 10px;margin-bottom:10px}.team-switch:hover{background:var(--side-hover);text-decoration:none}.team-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switch-icon{opacity:.55;flex:none}.side-close,.side-scrim,.menu-btn,.tabbar,.side-horizon{display:none}.access-add{display:flex;gap:8px;flex-wrap:wrap}.access-add input{flex:1 1 220px;min-width:0}.access-list .access-item{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--border)}.access-list .access-item:first-child{border-top:0}.access-item .who{min-width:0;flex:1;display:flex;flex-direction:column}.access-item .who b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-item .who span{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-item select{width:auto}.card.flush .card-head+.access-list{margin-top:-2px}@media(max-width:860px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:120;width:min(300px,86vw);height:100%;transform:translate(-102%);transition:transform .2s ease-out;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.side-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#0a0c1273;animation:fade .12s}.side-close{display:inline-flex;color:var(--side-text)}.nav a{padding:10px 12px;font-size:15px}.menu-btn{display:inline-flex;margin-left:-6px}.topbar{padding:0 12px;gap:6px;padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top))}.crumbs{font-size:14px;min-width:0}.crumbs>:not(b){display:none}.crumbs{color:transparent;font-size:0}.crumbs b{font-size:15px}.search-btn{width:36px;padding:0;justify-content:center}.search-btn .search-label,.search-btn .kbd,.topbar .horizon{display:none}.side-horizon{display:block;padding:18px 12px 0}.side-horizon .horizon{flex-wrap:wrap;color:var(--side-text)}.side-horizon .small{color:var(--side-text)}.crumbs{flex:1;overflow:hidden;white-space:nowrap}.topbar .spacer,.user-name{display:none}.main{padding:16px 12px calc(84px + env(safe-area-inset-bottom))}.page-head{margin-bottom:14px}.card{padding:14px}.card.flush .card-head{padding:12px 14px 0}.cols-2,.cols-3{grid-template-columns:1fr}.span-2{grid-column:auto}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:4px 4px max(4px,env(safe-area-inset-bottom))}.tabbar a,.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;height:52px;justify-content:center;border:0;background:none;color:var(--text-3);font-size:11px;font-weight:550;border-radius:8px;padding:0}.tabbar a:hover{text-decoration:none}.tabbar svg{width:21px;height:21px}.tabbar a.active,.tabbar button.active{color:var(--accent)}.toasts{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom))}.toast{max-width:none}.overlay{place-items:end center;padding:0}.modal{width:100%!important;border-radius:14px 14px 0 0;max-height:92vh;padding-bottom:env(safe-area-inset-bottom)}.modal-foot{border-radius:0;flex-wrap:wrap}.drawer{width:100%!important}.home-main{padding:20px 12px 48px}.home-bar{padding:0 12px}.hide-sm{display:none}.avail{--avail-name: 104px;min-width:900px;padding:10px 10px 12px}.avail .who{position:sticky;left:0;z-index:2;background:var(--surface)}.avail .who .avatar{display:none}input,select,textarea{font-size:16px}.popover{max-width:calc(100vw - 16px)}}
