:root{--bg: #0c0d10;--bg-2: #101216;--surface: #15181e;--surface-2: #1b1f27;--card: #1b1f27;--well: #0a0b0e;--border: #272c36;--border-strong: #333a46;--text: #ece9e2;--text-2: #9aa1ad;--faint: #7c8390;--accent: #d7a23f;--accent-hover: #e3b864;--accent-soft: rgba(215,162,63,.14);--accent-on: #1a1407;--accent-text: var(--accent);--teal: #5fb3a3;--rose: #c97b86;--violet: #9b8cd1;--amber: #d49a4e;--sky: #6ea9d6;--green: #6fb38a;--success: #6fb38a;--warning: #d49a4e;--danger: #c97b86;--teal-soft: rgba(95,179,163,.14);--rose-soft: rgba(201,123,134,.14);--violet-soft: rgba(155,140,209,.16);--amber-soft: rgba(212,154,78,.14);--sky-soft: rgba(110,169,214,.16);--green-soft: rgba(111,179,138,.14);--success-soft: rgba(111,179,138,.14);--warning-soft: rgba(212,154,78,.14);--danger-soft: rgba(201,123,134,.14);--shell-wash: radial-gradient(1200px 700px at 80% -10%, #15181f 0, var(--bg) 55%);--overlay: rgba(0,0,0,.6);--shadow-1: 0 1px 2px rgba(0,0,0,.4);--shadow-2: 0 4px 16px rgba(0,0,0,.45);--shadow-modal: 0 16px 48px rgba(0,0,0,.55);color-scheme:dark}[data-theme=light]{--bg: #faf8f3;--bg-2: #f3efe7;--surface: #ffffff;--surface-2: #f7f4ee;--card: #ffffff;--well: #f3efe7;--border: #e4e1da;--border-strong: #d3cfc5;--text: #23201b;--text-2: #5d5950;--faint: #857f73;--accent: #b9842b;--accent-hover: #9a6f1e;--accent-soft: rgba(185,132,43,.14);--accent-on: #ffffff;--accent-text: #9a6f1e;--teal: #2f7d6e;--rose: #9c4f59;--violet: #6a5aa0;--amber: #a9772a;--sky: #3a72a0;--green: #2f8a5c;--success: #1f8a55;--warning: #b97e0c;--danger: #b4434f;--teal-soft: rgba(47,125,110,.12);--rose-soft: rgba(156,79,89,.12);--violet-soft: rgba(106,90,160,.12);--amber-soft: rgba(169,119,42,.12);--sky-soft: rgba(58,114,160,.12);--green-soft: rgba(47,138,92,.12);--success-soft: rgba(31,138,85,.12);--warning-soft: rgba(185,126,12,.12);--danger-soft: rgba(180,67,79,.12);--shell-wash: radial-gradient(1200px 700px at 80% -10%, #fffdf8 0, var(--bg) 55%);--overlay: rgba(40,34,20,.3);--shadow-1: 0 1px 2px rgba(40,34,20,.06);--shadow-2: 0 4px 16px rgba(40,34,20,.1);--shadow-modal: 0 16px 48px rgba(40,34,20,.18);color-scheme:light}[data-theme=light] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b9842b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}:root{--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 40px;--s9: 48px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--mono: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, system-ui, sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--t-hover: .12s;--t-base: .16s;--t-pane: .22s;--ease: cubic-bezier(.2,.6,.2,1);--header-h: 56px;--rail-w: 48px;--bottombar-h: 60px}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{height:100%}::selection{background:var(--accent-soft)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}button,input,select,textarea{font-family:inherit}button{cursor:pointer}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--faint);background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}.shell{height:100%;display:flex;flex-direction:row;background:var(--shell-wash);background-attachment:fixed}.header{height:var(--header-h);flex:0 0 auto;display:flex;align-items:center;gap:var(--s5);padding:0 var(--s5);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:30}.wordmark-svg{display:block;flex-shrink:0;color:var(--text);-webkit-user-select:none;user-select:none}[data-theme=light] .wordmark-svg{color:var(--text)}.tabnav{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow:hidden}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-2);font-size:13px;font-weight:500;padding:7px 13px;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:color var(--t-hover) var(--ease),background var(--t-hover) var(--ease)}.tab:hover{color:var(--text)}.tab[aria-current=page]{color:var(--accent-text);background:var(--accent-soft)}.tab .tab-ico{width:16px;height:16px}.header-right{display:flex;align-items:center;gap:var(--s2);margin-left:auto;flex:0 0 auto}.overflow-trigger{display:none}@media (max-width: 760px){.signout-desktop{display:none}.overflow-trigger{display:inline-grid}}.body-row{flex:1;min-height:0;display:flex}.main{flex:1;min-width:0;overflow-y:auto;position:relative}.view-wrap{max-width:1480px;margin:0 auto;padding:var(--s6) var(--s6) var(--s9)}.view-wrap.keystone-frame{max-width:none;padding:0;height:100%}.rail{flex:0 0 var(--rail-w);width:var(--rail-w);border-left:1px solid var(--border);background:var(--bg-2);display:flex;align-items:center;justify-content:center;position:relative;opacity:.6;cursor:pointer;transition:flex-basis var(--t-pane) var(--ease),width var(--t-pane) var(--ease),opacity var(--t-hover) var(--ease);overflow:hidden}.rail:hover{opacity:.85}.rail.rail--open{flex:0 0 300px;width:300px;opacity:1;cursor:default;align-items:stretch;justify-content:flex-start;overflow-y:auto}.rail .rail-label{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);white-space:nowrap;-webkit-user-select:none;user-select:none}.rail .rail-spark{position:absolute;top:16px;left:50%;transform:translate(-50%);width:18px;height:18px;color:var(--faint);opacity:.7}.nudge-panel{display:flex;flex-direction:column;height:100%;min-height:0}.nudge-head{display:flex;align-items:center;gap:6px;padding:14px 14px 10px;border-bottom:1px solid var(--border);flex:0 0 auto}.nudge-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);flex:1}.nudge-count-badge{font-size:11px;font-weight:700;background:var(--accent);color:var(--accent-on);border-radius:var(--r-pill);padding:1px 7px;min-width:20px;text-align:center}.nudge-close-btn{flex:0 0 auto}.nudge-body{flex:1;overflow-y:auto;padding:8px 0 16px}.nudge-clear{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--success);font-size:13px;font-weight:500;padding:32px 16px}.nudge-section{padding:4px 0}.nudge-section-head{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);padding:8px 14px 4px}.nudge-row{display:flex;align-items:baseline;gap:4px;width:100%;padding:6px 14px;background:transparent;border:0;text-align:left;cursor:pointer;transition:background var(--t-hover) var(--ease)}.nudge-row:hover{background:var(--hover)}.nudge-name{font-size:12px;font-weight:500;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nudge-sub{font-size:11px;color:var(--text-2);font-family:var(--mono);flex:0 0 auto}.nudge-bell{position:relative}.bell-badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;background:var(--accent);color:var(--accent-on);font-size:9px;font-weight:800;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none}.nudge-stack{display:flex;flex-direction:column}.nudge-group .ng-head{display:flex;align-items:center;gap:6px;padding:10px 14px 4px}.ng-ico{flex:0 0 auto}.ng-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;flex:1}.ng-count{font-family:var(--mono);font-size:11px;color:var(--text-2)}.nudge-list{padding:0 0 4px}.nudge-stack .nudge-row{display:flex;align-items:center;width:100%;padding:7px 14px 7px 20px;background:transparent;border:0;text-align:left;cursor:pointer;position:relative;transition:background var(--t-hover) var(--ease)}.nudge-stack .nudge-row:before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:2px;height:60%;background:var(--nudge-c, var(--border));border-radius:1px}.nudge-stack .nudge-row:hover{background:var(--hover)}.nr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.nr-title{font-size:12px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nr-sub{font-size:11px;color:var(--text-2)}.nr-fig{font-family:var(--mono);font-size:11px;flex:0 0 auto;margin-left:8px}.nudge-empty{font-size:11px;color:var(--text-2);padding:6px 14px 8px 20px}.nudge-sheet-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000073}.nudge-sheet-inner{position:absolute;bottom:0;left:0;right:0;max-height:80vh;background:var(--bg-2);border-radius:var(--r-lg) var(--r-lg) 0 0;overflow-y:auto;box-shadow:0 -4px 32px #0000002e}@media (max-width: 1079px){.nudge-sheet-overlay{display:block}}.bottombar{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(var(--bottombar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);z-index:40}.bottombar-inner{display:flex;height:var(--bottombar-h)}.bottombar .tab{flex:1;flex-direction:column;gap:3px;border-radius:0;padding:6px 2px;font-size:10px;font-weight:600;letter-spacing:.02em;min-height:44px;justify-content:center}.bottombar .tab[aria-current=page]{background:transparent;color:var(--accent-text)}.bottombar .tab[aria-current=page]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:26px;height:2px;background:var(--accent);border-radius:0 0 3px 3px}.bottombar .tab{position:relative}.bottombar .tab .tab-ico{width:20px;height:20px}.overflow-menu{position:absolute;top:calc(var(--header-h) - 6px);right:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--s2);min-width:180px;z-index:50;display:flex;flex-direction:column;gap:2px}.overflow-menu button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;text-align:left;color:var(--text);font-size:13px;padding:9px 11px;border-radius:var(--r-sm);display:flex;align-items:center;gap:9px}.overflow-menu button:hover{background:var(--surface-2)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:13px;font-weight:500;border-radius:var(--r-md);padding:8px 14px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);transition:border-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease),background var(--t-hover) var(--ease),transform var(--t-hover) var(--ease);white-space:nowrap;min-height:36px}.btn:hover{border-color:var(--accent);color:var(--text)}.btn:active{transform:translateY(1px)}.btn svg{width:15px;height:15px;flex:0 0 auto}.btn.primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent);font-weight:600}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-on)}.btn.ghost{background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:5px 10px;font-size:12px;min-height:30px;border-radius:var(--r-sm)}.btn.danger:hover{border-color:var(--danger);color:var(--danger)}.iconbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--text-2);border-radius:var(--r-sm);width:36px;height:36px;display:inline-grid;place-items:center;transition:color var(--t-hover) var(--ease),background var(--t-hover) var(--ease),border-color var(--t-hover) var(--ease)}.iconbtn:hover{color:var(--text);background:var(--surface-2)}.iconbtn svg{width:18px;height:18px}.iconbtn.active{color:var(--accent-text);background:var(--accent-soft)}.input,.select,.textarea{width:100%;background:var(--well);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:13px;padding:8px 11px;min-height:36px;transition:border-color var(--t-hover) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent)}.textarea{min-height:96px;resize:vertical;line-height:1.5}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23d7a23f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.select:hover{border-color:var(--border-strong)}.cselect{position:relative;width:100%}.cselect.disabled{opacity:.5;pointer-events:none}.cselect-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;background:var(--well);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:13px;font-family:var(--sans);padding:0 11px;min-height:36px;cursor:pointer;text-align:left;transition:border-color var(--t-hover) var(--ease)}.cselect-trigger:hover{border-color:var(--border-strong)}.cselect.open .cselect-trigger{border-color:var(--accent)}.cselect-trigger svg{color:var(--accent);flex-shrink:0;transition:transform .15s var(--ease)}.cselect.open .cselect-trigger svg{transform:rotate(180deg)}.cselect-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cselect-menu{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-2);z-index:1000;overflow:hidden;max-height:280px;overflow-y:auto}.cselect-option{padding:8px 12px;font-size:13px;color:var(--text);cursor:pointer;transition:background var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}.cselect-option:hover{background:var(--accent-soft);color:var(--accent-text)}.cselect-option.selected{background:var(--accent);color:var(--accent-on);font-weight:500}.search-wrap{position:relative;flex:1;min-width:130px;max-width:320px}.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--faint);pointer-events:none}.search-wrap .input{padding-left:32px}.inline-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--text);font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:3px 22px 3px 8px;border-radius:var(--r-sm);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23d7a23f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;transition:border-color var(--t-hover) var(--ease),background-color var(--t-hover) var(--ease)}.inline-select option{background:#1b1f27;color:#ece9e2}.inline-select option:checked{background:linear-gradient(#d7a23f,#d7a23f);color:#1a1407}.inline-select:hover{border-color:var(--border);background-color:var(--surface-2)}.inline-select:focus{outline:none;border-color:var(--accent)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);position:relative}.card.pad{padding:var(--s4)}.card.hoverable{transition:border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease),transform var(--t-hover) var(--ease);cursor:pointer}.card.hoverable:hover{border-color:var(--accent);box-shadow:var(--shadow-1)}.card-title{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:var(--s3)}.lift{box-shadow:var(--shadow-1)}.strip{position:relative}.strip:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--r-md) 0 0 var(--r-md);background:var(--strip-c, var(--border-strong))}.strip-thick:before{width:3px}.section-head{font-size:14px;font-weight:600;color:var(--text);margin:0}.view-title{font-size:16px;font-weight:600;color:var(--text);margin:0;letter-spacing:-.01em}.microlabel{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.money{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.meta{font-size:12px;color:var(--text-2)}.hint{font-size:12px;color:var(--faint);line-height:1.55}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;padding:2px 8px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);white-space:nowrap}.badge.soft{border-color:transparent}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:var(--mono);letter-spacing:.04em;padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);white-space:nowrap}.pill .dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);font-family:var(--mono);font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.owner{gap:6px;text-transform:capitalize}.owner.all{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 38%,transparent);background:var(--accent-soft)}.owner.all .dot{background:var(--accent)}.owner.jannes{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 38%,transparent);background:var(--teal-soft)}.owner.jannes .dot{background:var(--teal)}.owner.martin{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 40%,transparent);background:var(--violet-soft)}.owner.martin .dot{background:var(--violet)}.owner.teal{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 38%,transparent);background:var(--teal-soft)}.owner.teal .dot{background:var(--teal)}.owner.violet{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 40%,transparent);background:var(--violet-soft)}.owner.violet .dot{background:var(--violet)}.owner.amber{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,transparent);background:var(--amber-soft)}.owner.amber .dot{background:var(--amber)}.owner.rose{color:var(--rose);border-color:color-mix(in srgb,var(--rose) 40%,transparent);background:var(--rose-soft)}.owner.rose .dot{background:var(--rose)}.owner.sky{color:var(--sky);border-color:color-mix(in srgb,var(--sky) 40%,transparent);background:var(--sky-soft)}.owner.sky .dot{background:var(--sky)}.owner.green{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,transparent);background:var(--green-soft)}.owner.green .dot{background:var(--green)}.warmth.cold{color:var(--text-2);border-color:var(--border-strong);background:var(--surface-2)}.warmth.cold .dot{background:var(--text-2)}.warmth.warm{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,transparent);background:var(--warning-soft)}.warmth.warm .dot{background:var(--warning)}.warmth.hot{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 42%,transparent);background:var(--danger-soft)}.warmth.hot .dot{background:var(--danger)}.t-teal{color:var(--teal);background:var(--teal-soft)}.t-rose{color:var(--rose);background:var(--rose-soft)}.t-violet{color:var(--violet);background:var(--violet-soft)}.t-success{color:var(--success);background:var(--success-soft)}.t-warning{color:var(--warning);background:var(--warning-soft)}.t-danger{color:var(--danger);background:var(--danger-soft)}.t-accent{color:var(--accent-text);background:var(--accent-soft)}.t-faint{color:var(--faint);background:var(--surface-2)}.tag-danger{color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.tag-rotting{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);background:var(--danger-soft)}.prov-tag{position:relative;cursor:help}.prov-tag .tip{position:absolute;bottom:calc(100% + 7px);left:0;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-2);padding:7px 10px;font-size:11px;font-family:var(--sans);letter-spacing:0;text-transform:none;width:max-content;max-width:240px;line-height:1.45;opacity:0;transform:translateY(3px);pointer-events:none;transition:opacity var(--t-hover) var(--ease),transform var(--t-hover) var(--ease);z-index:20}.prov-tag:hover .tip{opacity:1;transform:translateY(0)}.kpi-strip{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:var(--s5)}.kpi{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);padding:var(--s4) var(--s4);display:flex;flex-direction:column;gap:var(--s2)}.kpi .k-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:7px}.kpi .k-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;color:var(--text);line-height:1;letter-spacing:-.02em}.kpi .k-sub{font-size:11px;color:var(--text-2)}.kpi.accent .k-value{color:var(--accent-text)}.kpi.danger .k-value{color:var(--danger)}.kpi .k-ico{width:14px;height:14px;color:var(--faint)}.toolbar{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s4);flex-wrap:nowrap;overflow:hidden;min-width:0}.toolbar .grow{flex:1;min-width:0}.filters-popover-wrap{position:relative;flex-shrink:0}.filters-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s3);box-shadow:var(--shadow-2);min-width:180px}.day-step{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.day-step button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--surface-2);color:var(--text-2);width:34px;height:36px;font-size:16px;cursor:pointer}.day-step button:hover{color:var(--text);background:var(--card)}.day-step .dv{min-width:56px;text-align:center;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px;color:var(--text)}.chip-group{display:flex;align-items:center;gap:var(--s1);flex-wrap:nowrap;flex-shrink:0}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:12px;padding:6px 12px;border-radius:var(--r-pill);min-height:32px;transition:border-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease),background var(--t-hover) var(--ease)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.chip .dot{width:7px;height:7px;border-radius:50%}.filter-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-right:2px;align-self:center;flex-shrink:0}.vsep{width:1px;align-self:stretch;background:var(--border);margin:2px var(--s1);flex-shrink:0}.toolbar .cselect{width:auto;min-width:130px;max-width:200px;flex-shrink:0}.toolbar .cselect-trigger{min-height:30px;font-size:12px}.filters-popover .cselect{width:100%;max-width:none}.cselect.cselect-inline{width:auto;display:inline-block}.cselect.cselect-inline .cselect-trigger{min-height:26px;padding:2px 6px 2px 8px;gap:3px;border-color:transparent;background:transparent;color:inherit;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.cselect.cselect-inline .cselect-trigger:hover{border-color:var(--border)}.cselect.cselect-inline.open .cselect-trigger{border-color:var(--accent)}.cselect.cselect-inline .cselect-value{text-transform:inherit}.cselect.cselect-inline .cselect-menu{text-transform:none;letter-spacing:normal}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);padding:2px;gap:2px}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-2);font-size:12px;padding:5px 11px;border-radius:4px;display:inline-flex;align-items:center;gap:6px;min-height:28px;transition:color var(--t-hover) var(--ease),background var(--t-hover) var(--ease)}.seg button svg{width:15px;height:15px}.seg button[aria-pressed=true]{background:var(--card);color:var(--text);box-shadow:var(--shadow-1)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--card)}.table-scroll{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data thead th{position:sticky;top:0;z-index:2;text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500;padding:11px var(--s4);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}table.data thead th.sortable{cursor:pointer}table.data thead th.sortable:hover{color:var(--text-2)}table.data thead th .sort-ind{color:var(--accent-text);margin-left:4px}table.data tbody td{padding:11px var(--s4);border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr{transition:background var(--t-hover) var(--ease)}table.data tbody tr:hover td{background:var(--surface-2)}table.data tbody tr.clickable{cursor:pointer}.cell-num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.row-edit{opacity:0;transition:opacity var(--t-hover) var(--ease)}tr:hover .row-edit,.card:hover .row-edit{opacity:1}.row-menu-pop{position:absolute;right:0;top:100%;margin-top:4px;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 4px 16px #00000026;min-width:160px;padding:4px;display:flex;flex-direction:column;gap:2px}.row-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;text-align:left;font-size:13px;padding:7px 12px;border-radius:var(--r-sm);color:var(--text);width:100%}.row-menu-item:hover{background:var(--surface-2)}.row-menu-item.danger{color:var(--danger)}.row-menu-item.danger:hover{background:var(--danger-soft, rgba(239,68,68,.1))}.progress{height:6px;border-radius:var(--r-pill);background:var(--well);overflow:hidden}.progress>i{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width var(--t-base) var(--ease)}.progress.over>i{background:var(--warning)}.board{display:flex;gap:var(--s4);align-items:flex-start;overflow-x:auto;padding-bottom:var(--s3);scroll-snap-type:x proximity}.column{flex:1 1 0;min-width:248px;max-width:360px;scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);min-height:120px}.column-head{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s3) var(--s2);border-bottom:1px solid var(--border)}.column-head .col-name{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);font-weight:600}.column-head .col-total{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}.column-body{padding:var(--s3);display:flex;flex-direction:column;gap:var(--s3);flex:1;overflow:visible}.column.is-drop-target{outline:2px dashed var(--accent);outline-offset:-2px}.deal-card,.task-card,.contact-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3);cursor:pointer;position:relative;transition:border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease),transform var(--t-hover) var(--ease)}.deal-card:hover,.task-card:hover,.contact-card:hover{border-color:var(--accent);box-shadow:var(--shadow-1)}.deal-card.dragging,.task-card.dragging{opacity:.92;box-shadow:var(--shadow-2);transform:scale(1.03) rotate(-.6deg);cursor:grabbing;border-color:var(--accent)}.task-card.done{opacity:.55}.task-card.done .tc-desc{text-decoration:line-through;text-decoration-color:var(--faint)}.tc-desc{min-width:0;overflow-wrap:anywhere}.tc-code{font-size:11px;font-weight:600;color:var(--text-2);letter-spacing:.02em;flex-shrink:0}.card-row{display:flex;align-items:center;gap:var(--s2)}.card-row.wrap{flex-wrap:wrap}.card-row.between{justify-content:space-between}.spacer{flex:1}.col-jump{display:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:var(--s5);z-index:100;opacity:1}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-modal);width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.modal.wide{max-width:880px}@keyframes pop{0%{transform:translateY(10px) scale(.985)}}.modal-head{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s5) var(--s5) var(--s4);border-bottom:1px solid var(--border)}.modal-head.draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.modal-head.draggable:active{cursor:grabbing}.modal-head.draggable .iconbtn{cursor:pointer}.modal-head .mh-title{flex:1;min-width:0}.modal-body{padding:var(--s5);overflow-y:auto}.modal-foot{display:flex;align-items:center;gap:var(--s2);padding:var(--s4) var(--s5);border-top:1px solid var(--border);justify-content:flex-end}.modal-foot .left{margin-right:auto}.cmdk-overlay{align-items:flex-start}.cmdk{width:100%;max-width:560px;margin-top:12vh;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-modal);overflow:hidden}.cmdk-input-row{display:flex;align-items:center;gap:var(--s2);padding:14px var(--s5);border-bottom:1px solid var(--border);color:var(--text-2)}.cmdk-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font:inherit;font-size:14px}.cmdk-input::placeholder{color:var(--faint)}.cmdk-list{max-height:52vh;overflow-y:auto}.cmdk-group-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500;padding:10px var(--s5) 4px}.cmdk-item{display:flex;align-items:center;gap:var(--s2);padding:8px var(--s5);cursor:pointer;transition:background var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}.cmdk-item:hover,.cmdk-item.active{background:var(--accent-soft);color:var(--accent-text)}.cmdk-item svg{flex-shrink:0;color:var(--text-2)}.cmdk-item.active svg,.cmdk-item:hover svg{color:var(--accent-text)}.cmdk-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:inherit}.cmdk-sub{font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px;flex-shrink:0}.cmdk-item.active .cmdk-sub,.cmdk-item:hover .cmdk-sub{color:var(--accent-text);opacity:.75}.cmdk-entity{font-family:var(--mono);font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin-left:var(--s2);flex-shrink:0}.cmdk-hint{padding:var(--s5);color:var(--text-2);font-size:13px;text-align:center;display:flex;flex-direction:column;gap:var(--s2)}.cmdk-hint-entities{font-family:var(--mono);font-size:11px;color:var(--faint);line-height:1.6}.cmdk-foot{display:flex;gap:var(--s4);padding:8px var(--s5);border-top:1px solid var(--border);font-family:var(--mono);font-size:11px;color:var(--faint)}.gs-wrap{position:relative;flex:1;max-width:360px}.gs-input-row{display:flex;align-items:center;gap:var(--s2);padding:0 10px;height:34px;background:var(--surface-2, rgba(0,0,0,.06));border:1px solid var(--border);border-radius:var(--r-sm, 6px);transition:border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}.gs-input-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.gs-input-row svg{color:var(--faint);flex-shrink:0}.gs-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font:inherit;font-size:13px}.gs-input::placeholder{color:var(--faint)}.gs-kbd{font-family:var(--mono);font-size:10px;color:var(--faint);background:var(--bg-2, rgba(0,0,0,.06));border:1px solid var(--border);border-radius:3px;padding:1px 4px;white-space:nowrap;flex-shrink:0}.gs-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg, 10px);box-shadow:var(--shadow-modal);z-index:35;overflow:hidden;max-height:60vh;overflow-y:auto}.gs-section-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500;padding:8px 14px 4px}.gs-item{display:flex;align-items:center;gap:var(--s2);padding:7px 14px;cursor:pointer;transition:background var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}.gs-item:hover,.gs-item.active{background:var(--accent-soft);color:var(--accent-text)}.gs-item svg{flex-shrink:0;color:var(--text-2)}.gs-item.active svg,.gs-item:hover svg{color:var(--accent-text)}.gs-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:inherit}.gs-item-sub{font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;flex-shrink:0}.gs-item.active .gs-item-sub,.gs-item:hover .gs-item-sub{color:var(--accent-text);opacity:.75}.gs-tag{font-family:var(--mono);font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-2, rgba(0,0,0,.06));border:1px solid var(--border);border-radius:3px;padding:1px 4px;flex-shrink:0;margin-left:var(--s1)}.gs-item.active .gs-tag,.gs-item:hover .gs-tag{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}.gs-empty{padding:12px 14px;color:var(--text-2);font-size:13px;text-align:center}.field{margin-bottom:var(--s4)}.field>label{display:block;font-size:12px;color:var(--text-2);margin-bottom:6px;font-weight:500}.field-row{display:grid;gap:var(--s3);grid-template-columns:1fr 1fr}.panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-modal);width:100%;max-width:760px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;margin-left:auto;height:92vh}@keyframes slidein{0%{transform:translate(28px)}}@media (prefers-reduced-motion: no-preference){.modal{animation:pop var(--t-pane) var(--ease)}.panel{animation:slidein var(--t-pane) var(--ease)}}.panel-overlay{align-items:stretch;justify-content:flex-end;padding:var(--s4)}.timeline{display:flex;flex-direction:column;gap:0}.tl-item{display:flex;gap:var(--s3);padding:var(--s3) 0;position:relative}.tl-item:before{content:"";position:absolute;left:15px;top:30px;bottom:-2px;width:1px;background:var(--border)}.tl-item:last-child:before{display:none}.tl-ico{flex:0 0 auto;width:32px;height:32px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);display:grid;place-items:center;color:var(--text-2);z-index:1}.tl-ico svg{width:15px;height:15px}.tl-main{flex:1;min-width:0}.tl-top{display:flex;align-items:baseline;gap:var(--s2)}.tl-subject{font-weight:600;font-size:13px;color:var(--text)}.tl-date{font-family:var(--mono);font-size:11px;color:var(--faint);margin-left:auto;white-space:nowrap}.tl-summary{font-size:12.5px;color:var(--text-2);margin-top:2px;line-height:1.5}.skel{background:linear-gradient(90deg,var(--surface-2) 0%,color-mix(in srgb,var(--surface-2) 60%,var(--border)) 50%,var(--surface-2) 100%);background-size:200% 100%;border-radius:var(--r-sm);animation:shimmer 1.4s var(--ease) infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);padding:var(--s9) var(--s5);text-align:center;min-height:280px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s9) var(--s5);text-align:center}.empty-state .es-ico{width:44px;height:44px;color:var(--faint);display:flex;align-items:center;justify-content:center}.empty-state .es-title{font-size:15px;font-weight:600;color:var(--text)}.empty-state .es-body{font-size:13px;color:var(--text-2);max-width:380px;line-height:1.55}.banner{display:flex;align-items:flex-start;gap:var(--s3);border-radius:var(--r-md);padding:var(--s3) var(--s4);font-size:13px;line-height:1.5;margin-bottom:var(--s4)}.banner svg{width:18px;height:18px;flex:0 0 auto;margin-top:1px}.banner .b-main{flex:1}.banner.error{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--text)}.banner.error svg{color:var(--danger)}.banner.schema{background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 38%,transparent);color:var(--text)}.banner.schema svg{color:var(--warning)}.banner .b-title{font-weight:600}.banner code{font-family:var(--mono);font-size:12px;background:var(--well);padding:1px 6px;border-radius:4px;color:var(--accent-text)}@keyframes flash-ok{0%{box-shadow:0 0 0 0 var(--accent-soft);border-color:var(--accent)}to{box-shadow:0 0 0 0 transparent}}@keyframes flash-bad{0%{box-shadow:0 0 0 0 var(--danger-soft);border-color:var(--danger)}to{box-shadow:0 0 0 0 transparent}}.flash-ok{animation:flash-ok .7s var(--ease)}.flash-bad{animation:flash-bad .7s var(--ease)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%) translateY(20px);background:var(--accent);color:var(--accent-on);font-weight:600;font-size:13px;padding:10px 18px;border-radius:var(--r-md);box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:all var(--t-base) var(--ease);z-index:200;display:flex;align-items:center;gap:8px}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.bad{background:var(--danger);color:#fff}.toast svg{width:15px;height:15px}.signin{height:100%;display:grid;place-items:center;background:var(--shell-wash);padding:var(--s5)}.signin-card{width:100%;max-width:400px;text-align:center;background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s9) var(--s7) var(--s7)}.signin-card .si-wordmark{margin:0 auto;color:var(--text)}.signin-card .si-tag{color:var(--text-2);font-size:13px;margin:var(--s4) 0 var(--s7);line-height:1.5}.btn.google{width:100%;justify-content:center;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);min-height:44px;font-weight:600}.btn.google:hover{border-color:var(--accent)}.signin-theme{position:fixed;top:var(--s5);right:var(--s5)}.keystone-frame{display:flex;flex-direction:column;height:100%}.ks-striphead{flex:0 0 auto;display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s6);border-bottom:1px solid var(--border);background:var(--bg-2)}.ks-mark{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);flex:0 0 auto}.ks-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1.25fr);gap:var(--s5);padding:var(--s6);overflow-y:auto;align-content:start}@media (max-width: 1080px){.ks-grid{grid-template-columns:1fr;padding:var(--s5)}}@media (max-width: 760px){.ks-grid{padding:var(--s4);gap:var(--s4)}}.ks-left{display:flex;flex-direction:column}.ks-right{position:sticky;top:0}@media (max-width: 1080px){.ks-right{position:static}}.ks-card{background:linear-gradient(180deg,var(--surface),var(--bg-2))}.ks-tiers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s2)}@media (max-width: 480px){.ks-tiers{grid-template-columns:1fr}}.ks-tier{text-align:left;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--well);padding:11px 12px;transition:border-color var(--t-hover) var(--ease),background var(--t-hover) var(--ease);cursor:pointer}.ks-tier:hover{border-color:var(--border-strong)}.ks-tier.on{border-color:var(--tc, var(--accent));background:color-mix(in srgb,var(--tc, var(--accent)) 12%,transparent)}.ks-tn{font-weight:700;font-size:13px;letter-spacing:.02em}.ks-tt{font-size:11.5px;color:var(--text-2);margin-top:4px;line-height:1.4}.ks-cat{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 7px;display:flex;align-items:center;gap:8px}.ks-cat:after{content:"";flex:1;height:1px;background:var(--border)}.ks-mod{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--well);padding:9px 11px;margin-bottom:6px;cursor:pointer;transition:border-color var(--t-hover) var(--ease),background var(--t-hover) var(--ease)}.ks-mod:hover{border-color:var(--border-strong)}.ks-mod.on{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-soft),transparent)}.ks-mod.locked{cursor:default}.ks-mod.dim{opacity:.5}.ks-mod-top{display:flex;align-items:center;gap:9px}.ks-box{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-strong);display:grid;place-items:center;color:var(--accent-on);flex:0 0 auto;transition:background var(--t-hover) var(--ease)}.ks-mod.on .ks-box.fill{background:var(--accent);border-color:var(--accent)}.ks-mod.locked .ks-box.fill{background:var(--teal);border-color:var(--teal)}.ks-mn{font-weight:600;font-size:13px;flex:0 1 auto}.ks-mp{font-size:12.5px;color:var(--text-2);margin-top:8px;line-height:1.55}.ks-mp .dep{font-family:var(--mono);font-size:11px;color:var(--faint)}.ks-summary{display:flex;gap:var(--s2);padding:var(--s4);border-bottom:1px solid var(--border);flex-wrap:wrap}.ks-stat{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--well);padding:8px 14px;flex:1;min-width:70px}.ks-statn{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--accent-text)}.ks-statl{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:1px}.ks-tabs{display:flex;gap:2px;padding:var(--s2) var(--s4) 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.ks-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-2);font-size:13px;padding:9px 13px;border-bottom:2px solid transparent;transition:color var(--t-hover) var(--ease)}.ks-tab:hover{color:var(--text)}.ks-tab.on{color:var(--accent-text);border-bottom-color:var(--accent)}.ks-pane{padding:var(--s4)}.ks-out{font-family:var(--mono);font-size:12.5px;line-height:1.65;color:var(--text);background:var(--well);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s4);overflow:auto;max-height:52vh;margin:0;white-space:pre}.ks-cta{display:flex;gap:9px;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);border-radius:var(--r-sm);padding:11px 14px;font-size:13px;color:var(--text)}.ks-cta b{color:var(--accent-text)}.ks-mem{display:flex;gap:var(--s3);align-items:flex-start;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--well);padding:10px 12px}.ks-mem.off{opacity:.45}.ks-mem-t{font-family:var(--mono);font-size:10px;color:var(--accent-on);background:var(--accent);border-radius:4px;padding:2px 7px;font-weight:700;flex:0 0 auto}.ks-mem.off .ks-mem-t{background:var(--border-strong);color:var(--faint)}.ks-mem-name{font-weight:600;font-size:13px}.dep{color:var(--faint)}.divider{height:1px;background:var(--border);margin:var(--s4) 0}.stack{display:flex;flex-direction:column}.gap2{gap:var(--s2)}.gap3{gap:var(--s3)}.gap4{gap:var(--s4)}.gap5{gap:var(--s5)}.row{display:flex;align-items:center}.wrap-row{display:flex;flex-wrap:wrap;align-items:center}@media (max-width: 1080px){.rail{display:none}.view-wrap{padding:var(--s5) var(--s5) var(--s8)}.kpi .k-value{font-size:23px}}@media (max-width: 760px){.header{gap:var(--s3);padding:0 var(--s4)}.tabnav{display:none}.bottombar{display:block}.main{padding-bottom:calc(var(--bottombar-h) + env(safe-area-inset-bottom,0px))}.view-wrap{padding:var(--s4) var(--s4) var(--s8)}.kpi-strip{grid-template-columns:repeat(2,1fr)}.modal,.panel{max-width:none}}@media (max-width: 640px){.board{gap:var(--s3);scroll-snap-type:x mandatory}.column{min-width:85vw;max-width:85vw}.col-jump{display:flex}.field-row{grid-template-columns:1fr}.kpi .k-value{font-size:21px}.overlay{padding:0;align-items:flex-end}.modal{max-height:92vh;border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.panel{height:100%;max-height:100%;border-radius:0}.panel-overlay{padding:0}.view-title{font-size:15px}table.data.stackable thead{display:none}table.data.stackable,table.data.stackable tbody,table.data.stackable tr,table.data.stackable td{display:block;width:100%}table.data.stackable tr{border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:var(--s3);padding:var(--s2) var(--s3);background:var(--card)}table.data.stackable tbody tr:hover td{background:transparent}table.data.stackable td{border-bottom:1px solid var(--border);padding:8px 0;display:flex;justify-content:space-between;align-items:center;gap:var(--s4);text-align:right}table.data.stackable td:last-child{border-bottom:0}table.data.stackable td:before{content:attr(data-label);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);text-align:left;flex:0 0 auto}.cell-num{text-align:right}}.workspace{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.work-row{flex:1;min-height:0;display:flex}.sidebar{flex:0 0 var(--sidebar-w, 224px);width:var(--sidebar-w, 224px);display:flex;flex-direction:column;border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40;transition:flex-basis var(--t-pane) var(--ease),width var(--t-pane) var(--ease)}.sidebar.collapsed{--sidebar-w: 60px}.sb-head{flex:0 0 auto;height:var(--header-h);display:flex;align-items:center;gap:var(--s2);padding:0 var(--s4);border-bottom:1px solid var(--border)}.sidebar.collapsed .sb-head{padding:0;justify-content:center}.sb-head .wordmark-svg{flex:1;min-width:0}.sidebar.collapsed .sb-head .wordmark-svg{display:none}.sb-collapse{flex:0 0 auto}.sidebar.collapsed .sb-collapse-foot{display:none}.sb-nav{flex:1;min-height:0;overflow-y:auto;padding:var(--s4) var(--s3) var(--s3);display:flex;flex-direction:column;gap:var(--s2)}.sb-group{display:flex;flex-direction:column;gap:2px}.sb-group+.sb-group{margin-top:var(--s4)}.sb-group-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600;padding:0 var(--s3) 4px}.sidebar.collapsed .sb-group-label{text-indent:-9999px;padding:0;margin:var(--s2) var(--s3) 2px;height:1px;background:var(--border);overflow:hidden}.sidebar.collapsed .sb-group+.sb-group{margin-top:var(--s3)}.sb-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;position:relative;display:flex;align-items:center;gap:var(--s3);padding:9px var(--s3);border-radius:var(--r-md);color:var(--text-2);font-size:13px;font-weight:500;text-align:left;white-space:nowrap;transition:color var(--t-hover) var(--ease),background var(--t-hover) var(--ease)}.sb-item:hover{color:var(--text);background:var(--surface-2)}.sb-item .sb-ico{flex:0 0 auto;width:18px;height:18px}.sb-item .sb-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.sb-item[aria-current=page]{color:var(--accent-text);background:var(--accent-soft);font-weight:600}.sb-item[aria-current=page]:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;background:var(--accent);border-radius:0 3px 3px 0}.sb-item .sb-count{flex:0 0 auto;margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);font-family:var(--mono);font-size:11px;font-weight:600;background:var(--accent);color:var(--accent-on)}.sidebar.collapsed .sb-item{justify-content:center;padding:9px 0;gap:0}.sidebar.collapsed .sb-item .sb-label{display:none}.sidebar.collapsed .sb-item .sb-count{position:absolute;top:3px;right:6px;margin:0;min-width:16px;height:16px;padding:0 4px;font-size:9px}.sb-foot{flex:0 0 auto;border-top:1px solid var(--border);padding:var(--s3);display:flex;flex-direction:column;gap:2px}.sb-foot .sb-item{color:var(--text-2)}.sidebar.collapsed .sb-foot{align-items:center}.topbar{flex:0 0 auto;height:52px;display:flex;align-items:center;gap:var(--s2);padding:0 var(--s5);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:30}.topbar .menu-btn{display:none}.topbar .topbar-title{font-size:13px;color:var(--faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.topbar .spacer{flex:1}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:39;opacity:1}.assistant-dock{flex:0 0 var(--dock-w, 360px);width:var(--dock-w, 360px);border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0;z-index:28}.asst-head{display:flex;align-items:center;gap:6px;padding:0 10px 0 12px;height:44px;min-height:44px;border-bottom:1px solid var(--border);flex-shrink:0}.ah-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--accent-soft);color:var(--accent-text);flex-shrink:0}.asst-body{flex:1;min-height:0;overflow-y:auto;padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}.asst-msg{display:flex;flex-direction:column;gap:5px}.asst-q{align-self:flex-end;max-width:88%;background:var(--accent-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--r-md) var(--r-md) 4px var(--r-md);padding:8px 11px;font-size:13px}.asst-a{align-self:flex-start;max-width:94%;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md) var(--r-md) var(--r-md) 4px;padding:10px 12px;font-size:13px;line-height:1.55}.asst-a .aa-fig{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--accent-text);font-weight:600}.asst-suggest{display:flex;flex-direction:column;gap:var(--s2)}.asst-suggest .as-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.asst-chip{text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:12.5px;padding:8px 11px;border-radius:var(--r-md);cursor:pointer;transition:border-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}.asst-chip:hover{border-color:var(--accent);color:var(--text)}.asst-note{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;color:var(--faint);line-height:1.5;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 11px}.asst-note svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px}.asst-foot{flex:0 0 auto;border-top:1px solid var(--border);padding:var(--s3);display:flex;gap:var(--s2);align-items:flex-end}.asst-foot .input{resize:none}.asst-count{font-size:11px;color:var(--faint);margin-left:auto;padding:2px 0}.ai-confirm-card{background:var(--surface-2);border:1px solid var(--accent);border-radius:var(--r-md);padding:10px 12px;margin-top:8px}.acc-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px}.acc-label svg{flex-shrink:0;color:var(--accent-text)}.acc-fields{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.acc-row{display:flex;gap:8px;font-size:12px}.acc-key{flex:0 0 100px;color:var(--text-2)}.acc-val{flex:1;color:var(--text);word-break:break-word}.acc-actions{display:flex;gap:var(--s2)}.workspace .main{padding-bottom:0}.asst-scrim{display:none}@media (max-width: 980px){.sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);transition:transform var(--t-pane) var(--ease);box-shadow:var(--shadow-2)}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{--sidebar-w: 224px}.topbar .menu-btn{display:inline-grid}.assistant-dock{position:fixed;top:0;right:0;bottom:0;box-shadow:var(--shadow-modal);z-index:41}.asst-scrim{display:block}}@media (max-width: 520px){.assistant-dock{--dock-w: 100vw}.sidebar{--sidebar-w: 86vw}}.dash-grid{display:grid;gap:var(--s5);grid-template-columns:1fr 360px;align-items:start}@media (max-width: 1180px){.dash-grid{grid-template-columns:1fr}}.dash-greet{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s5)}.dash-greet h1{font-family:var(--serif);font-size:26px;font-weight:600;margin:0;letter-spacing:-.01em}.dash-greet .gdate{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.04em}.panel-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md)}.panel-card .pc-head{display:flex;align-items:center;gap:var(--s2);padding:var(--s4) var(--s4) var(--s3)}.panel-card .pc-head .microlabel{display:flex;align-items:center;gap:7px}.panel-card .pc-body{padding:0 var(--s4) var(--s4)}.cap-table{width:100%;border-collapse:collapse}.cap-table th{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500;padding:0 var(--s2) var(--s2);text-align:center}.cap-table th.who{text-align:left}.cap-table td{padding:6px var(--s2);border-top:1px solid var(--border)}.cap-cell{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--well);padding:8px;min-width:72px}.cap-cell.over{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.cap-cell .cc-num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--text);display:flex;align-items:baseline;gap:3px;justify-content:center}.cap-cell.over .cc-num{color:var(--danger)}.cap-cell .cc-num span{font-size:10px;color:var(--faint)}.cap-cell .cc-bar{height:5px;border-radius:var(--r-pill);background:var(--surface-2);margin-top:6px;overflow:hidden}.cap-cell .cc-bar>i{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.cap-cell.over .cc-bar>i{background:var(--danger)}.cap-who{display:flex;align-items:center;gap:8px}.cap-tot{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-2)}.gantt{width:100%}.gantt-head{display:grid;grid-template-columns:180px 1fr;align-items:end;margin-bottom:var(--s2)}.gantt-months{display:flex}.gantt-month{flex:1;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border-left:1px solid var(--border);padding:0 0 4px 7px}.gantt-row{display:grid;grid-template-columns:180px 1fr;align-items:center;border-top:1px solid var(--border)}.gantt-row .gr-label{padding:var(--s3) var(--s3) var(--s3) 0;min-width:0}.gantt-row .gr-label .gl-client{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-row .gr-label .gl-id{font-family:var(--mono);font-size:10px;color:var(--faint)}.gantt-track{position:relative;height:44px;border-left:1px solid var(--border)}.gantt-track .grid-line{position:absolute;top:0;bottom:0;width:1px;background:var(--border);opacity:.6}.gantt-today{position:absolute;top:0;bottom:0;width:1px;background:var(--accent)}.gantt-today:after{content:"today";position:absolute;top:-1px;left:4px;font-family:var(--mono);font-size:9px;color:var(--accent-text)}.gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:18px;border-radius:var(--r-pill);background:var(--gb-c, var(--accent));opacity:.85;display:flex;align-items:center;padding:0 9px;font-size:11px;color:var(--accent-on);white-space:nowrap;overflow:hidden;border:1px solid color-mix(in srgb,var(--gb-c, var(--accent)) 60%,#000)}.gantt-bar.paused{background:var(--surface-2);color:var(--text-2);border-color:var(--border-strong);opacity:1;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,color-mix(in srgb,var(--text-2) 14%,transparent) 4px,color-mix(in srgb,var(--text-2) 14%,transparent) 8px)}.gantt-ms{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.gantt-ms .ms-tick{width:9px;height:9px;background:var(--bg);border:2px solid var(--text);transform:rotate(45deg)}.gantt-ms .ms-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-2);padding:4px 8px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-hover) var(--ease);z-index:5}.gantt-ms:hover .ms-tip{opacity:1}.barchart{display:flex;flex-direction:column;gap:var(--s3)}.bar-row{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:var(--s3)}.bar-row .bl{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:7px;min-width:0}.bar-row .bl .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.bar-track{height:10px;border-radius:var(--r-pill);background:var(--well);overflow:hidden}.bar-track>i{display:block;height:100%;border-radius:var(--r-pill);transition:width var(--t-base) var(--ease)}.bar-row .bv{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text);text-align:right;min-width:52px}.stackbar{height:16px;border-radius:var(--r-pill);background:var(--well);overflow:hidden;display:flex}.stackbar>i{height:100%;transition:width var(--t-base) var(--ease)}.stackbar>i:first-child{border-radius:var(--r-pill) 0 0 var(--r-pill)}.stackbar>i:last-child{border-radius:0 var(--r-pill) var(--r-pill) 0}.stack-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2) var(--s4);margin-top:var(--s4)}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px}.legend-item .sw{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.legend-item .ll{color:var(--text-2)}.legend-item .lv{margin-left:auto;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text)}.ar-buckets{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);margin-bottom:var(--s5)}@media (max-width: 720px){.ar-buckets{grid-template-columns:repeat(2,1fr)}}.ar-bucket{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);padding:var(--s4);position:relative;overflow:hidden}.ar-bucket:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ab-c, var(--border-strong))}.ar-bucket .ab-label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.ar-bucket .ab-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;margin-top:6px}.ar-bucket .ab-sub{font-size:11px;color:var(--text-2);margin-top:2px}.editor-head{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap}.editor-head .eh-title{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.editor-grid{display:grid;grid-template-columns:1fr 420px;gap:var(--s5);align-items:start}@media (max-width: 1080px){.editor-grid{grid-template-columns:1fr}}.lineitems{width:100%;border-collapse:collapse}.lineitems th{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500;text-align:left;padding:0 var(--s2) var(--s2)}.lineitems th.num,.lineitems td.num{text-align:right}.lineitems td{padding:5px var(--s2);vertical-align:middle;border-bottom:1px solid var(--border)}.lineitems tr:last-child td{border-bottom:0}.lineitems .li-input{width:100%;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--text);font-size:13px;padding:6px 8px;transition:border-color var(--t-hover) var(--ease),background var(--t-hover) var(--ease)}.lineitems .li-input:hover{border-color:var(--border)}.lineitems .li-input:focus{outline:none;border-color:var(--accent);background:var(--well)}.lineitems .li-input.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.li-del{opacity:0;transition:opacity var(--t-hover) var(--ease)}.lineitems tr:hover .li-del{opacity:1}.li-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.li-toggle button{background:transparent;border:none;padding:4px 8px;font-size:11px;color:var(--text-2);cursor:pointer;transition:background var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}.li-toggle button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.totals-box{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s4)}.totals-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:13px}.totals-row .tl{color:var(--text-2)}.totals-row .tv{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text)}.totals-row.grand{border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.totals-row.grand .tl{color:var(--text);font-weight:600}.totals-row.grand .tv{font-size:18px;font-weight:600;color:var(--accent-text)}.preset-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}@media (max-width: 560px){.preset-row{grid-template-columns:1fr}}.preset{text-align:left;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--well);padding:11px 12px;cursor:pointer;transition:border-color var(--t-hover) var(--ease),background var(--t-hover) var(--ease)}.preset:hover{border-color:var(--border-strong)}.preset.on{border-color:var(--accent);background:var(--accent-soft)}.preset .pn{font-weight:600;font-size:13px}.preset .pd{font-size:11.5px;color:var(--text-2);margin-top:3px;line-height:1.4}.sched-line{display:flex;align-items:center;gap:var(--s3);padding:9px 0;border-bottom:1px solid var(--border)}.sched-line:last-child{border-bottom:0}.sched-line .sl-when{font-family:var(--mono);font-size:11px;color:var(--faint);flex:0 0 96px}.sched-line .sl-label{flex:1;font-size:13px}.sched-line .sl-amt{font-family:var(--mono);font-variant-numeric:tabular-nums}.status-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill);font-weight:500;border:1px solid transparent}.status-chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.status-draft{color:var(--faint);background:var(--surface-2);border-color:var(--border)}.status-sent{color:var(--teal);background:var(--teal-soft);border-color:color-mix(in srgb,var(--teal) 32%,transparent)}.status-accepted,.status-paid{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 32%,transparent)}.status-rejected{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 32%,transparent)}.projects-grid{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);transition:border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}.project-card:hover{border-color:var(--accent);box-shadow:var(--shadow-1)}.project-card .pj-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s2)}.project-card .pj-name{font-weight:600;font-size:14px}.project-card .pj-client{font-size:12px;color:var(--text-2);margin-top:2px}.tasks-rollup{display:flex;gap:var(--s2);flex-wrap:wrap}.tr-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-family:var(--mono);padding:3px 8px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer}.tr-chip .dot{width:6px;height:6px;border-radius:50%}.profit-strip{border-top:1px solid var(--border);padding-top:var(--s3)}.profit-bars{height:10px;border-radius:var(--r-pill);background:var(--well);overflow:hidden;display:flex;margin:8px 0}.profit-bars>i{height:100%}.profit-bars .cost{background:var(--warning)}.profit-bars .margin{background:var(--success)}.profit-bars .loss{background:var(--danger)}.profit-legend{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:12px}.profit-legend .pl-i{display:flex;align-items:center;gap:6px;color:var(--text-2)}.profit-legend .pl-i .sw{width:9px;height:9px;border-radius:2px}.profit-legend .pl-i b{color:var(--text);font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.audit-stepper{display:flex;align-items:flex-start;width:100%;margin:var(--s4) 0;gap:0}.astep{flex:1 1 0;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:8px;padding:2px 0 6px;cursor:pointer;border-radius:var(--r-sm)}.astep:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.astep-rail{display:flex;align-items:center;justify-content:center;width:100%}.astep-line{flex:1 1 0;min-width:0;height:2px;background:var(--border);transition:background var(--t-base) var(--ease)}.astep-line.filled{background:var(--accent)}.astep:first-child .astep-line-l{visibility:hidden}.astep:last-child .astep-line-r{visibility:hidden}.astep-dot{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:600;border:2px solid var(--border-strong);background:var(--surface-2);color:var(--faint);transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),color var(--t-base) var(--ease)}.astep-dot svg{width:15px;height:15px}.astep.is-complete .astep-dot{border-color:var(--success);background:var(--success-soft);color:var(--success)}.astep.is-current .astep-dot{border-color:var(--accent);background:var(--accent);color:var(--accent-on)}.astep.is-future .astep-dot{border-color:var(--border-strong);background:var(--surface-2);color:var(--faint)}.astep-label{max-width:100%;font-size:12px;color:var(--text-2);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:3px;border-bottom:2px solid transparent;transition:color var(--t-hover) var(--ease),border-color var(--t-hover) var(--ease)}.astep.is-current .astep-label{color:var(--text);font-weight:600}.astep.is-future .astep-label{color:var(--faint)}.astep:hover .astep-label{color:var(--text)}.astep.is-viewing .astep-label{color:var(--text);border-bottom-color:var(--accent)}@media (max-width: 640px){.astep-dot{width:26px;height:26px;font-size:12px}.astep-dot svg{width:13px;height:13px}.astep-label{font-size:10px}}.matrix-card{overflow:visible}.matrix-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s3)}.matrix-canvas{position:relative}.matrix-canvas svg{width:100%;height:auto;overflow:visible}.matrix-mid{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:4 6;opacity:.7}.matrix-axis{font-size:11px;fill:var(--faint);font-family:var(--mono)}.matrix-axis-name{font-size:10px;fill:var(--faint);font-family:var(--mono);letter-spacing:.12em;font-weight:500}.matrix-quad{font-size:10px;fill:var(--faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.5}.matrix-dot{cursor:pointer;stroke:var(--card);stroke-width:1.5;transition:stroke var(--t-hover) var(--ease),stroke-width var(--t-hover) var(--ease),r var(--t-hover) var(--ease)}.matrix-dot:hover,.matrix-dot:focus,.matrix-dot.is-hover{stroke:var(--text);stroke-width:2;outline:none}.matrix-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4)}.matrix-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2)}.matrix-legend-sw{width:10px;height:10px;border-radius:50%;display:inline-block}.matrix-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12.5px;color:var(--faint);text-align:center;max-width:60%;background:color-mix(in srgb,var(--card) 82%,transparent);padding:6px 12px;border-radius:var(--r-sm)}.matrix-tooltip{position:absolute;z-index:5;pointer-events:none;width:max-content;max-width:240px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:9px 11px;--tx: 14px;--ty: -50%;transform:translate(var(--tx),var(--ty))}.matrix-tooltip[data-h=left]{--tx: calc(-100% - 14px) }.matrix-tooltip[data-h=right]{--tx: 14px}.matrix-tooltip[data-v=top]{--ty: -8px}.matrix-tooltip[data-v=bottom]{--ty: calc(-100% + 8px) }.mtip-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.35}.mtip-desc{font-size:12px;color:var(--text-2);line-height:1.45;margin-top:4px}.mtip-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.mdfield-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:6px}.mdfield-read{background:var(--well);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 16px;max-height:620px;overflow-y:auto}.mdfield-empty{background:var(--well);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:14px 16px;font-size:12.5px;color:var(--faint);font-style:italic}.md-view{font-size:13.5px;color:var(--text);line-height:1.6}.md-view>*:first-child{margin-top:0}.md-view>*:last-child{margin-bottom:0}.md-view h3{font-size:15px;font-weight:600;margin:18px 0 8px;letter-spacing:-.01em}.md-view h4{font-size:13.5px;font-weight:600;margin:16px 0 6px}.md-view h5{font-size:12px;font-weight:600;margin:14px 0 6px;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em}.md-view p{margin:0 0 10px}.md-view ul,.md-view ol{margin:0 0 10px;padding-left:20px}.md-view li{margin:3px 0}.md-view li::marker{color:var(--faint)}.md-view strong{font-weight:600;color:var(--text)}.md-view code{font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:4px;border:1px solid var(--border)}.md-view blockquote{margin:0 0 10px;padding:2px 0 2px 14px;border-left:3px solid var(--border-strong);color:var(--text-2)}.md-view blockquote p{margin:0}.md-table-wrap{margin:0 0 10px;overflow-x:auto}.md-view table{border-collapse:collapse;width:100%;font-size:12.5px}.md-view th,.md-view td{text-align:left;padding:5px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.md-view th{font-size:11px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-strong)}.md-view tbody tr:last-child td{border-bottom:none}
