:root{--bg: #f0f4f8;--card: #ffffff;--surface-sunk: #e7edf3;--surface-alt: #f9fafb;--chrome-bg: #0C1D31;--chrome-bg-2: #06101c;--chrome-bg-3: #16324e;--chrome-fg: #9ca3af;--chrome-fg-hi: #ffffff;--chrome-fg-2: #cbd5e1;--chrome-fg-3: #94a3b8;--chrome-hover: rgba(255,255,255,.055);--chrome-active: rgba(37,193,172,.12);--chrome-focus: #5eead4;--ink: #0C1D31;--ink-2: #374151;--muted: #6b7280;--line: #e5e7eb;--line-2: #f3f4f6;--line-3: #b6c2ce;--accent: #25C1AC;--accent-2: #10b981;--accent-soft: #e6f7f4;--accent-ink: #0F766E;--accent-deep: #12907f;--accent-line: #7fd8ca;--alarm: #ef4444;--alarm-soft: #fef2f2;--alarm-ink: #b91c1c;--warn: #f59e0b;--warn-soft: #fffbeb;--warn-ink: #b45309;--info: #3b82f6;--info-soft: #eff6ff;--info-ink: #1d4ed8;--alt: #8b5cf6;--alt-soft: #f5f3ff;--alt-ink: #6d28d9;--good: #10b981;--good-soft: #ecfdf5;--good-ink: #047857;--stage-lead: #6b7280;--stage-discovery: #3b82f6;--stage-proposal: #8b5cf6;--stage-signed: #f59e0b;--stage-mapping: #25C1AC;--stage-dataload: #25C1AC;--stage-training: #10b981;--stage-live: #0C1D31;--rule-neutral: linear-gradient(90deg,#0C1D31 0%,rgba(12,29,49,.4) 18%,rgba(12,29,49,.08) 42%,var(--line) 70%);--rule-accent: linear-gradient(90deg,#25C1AC 0%,rgba(37,193,172,.4) 18%,rgba(37,193,172,.08) 42%,var(--line) 70%);--rule-alarm: linear-gradient(90deg,#ef4444 0%,rgba(239,68,68,.4) 18%,rgba(239,68,68,.08) 42%,var(--line) 70%);--rule-warn: linear-gradient(90deg,#f59e0b 0%,rgba(245,158,11,.45) 18%,rgba(245,158,11,.1) 42%,var(--line) 70%);--rule-info: linear-gradient(90deg,#3b82f6 0%,rgba(59,130,246,.4) 18%,rgba(59,130,246,.08) 42%,var(--line) 70%);--rule-alt: linear-gradient(90deg,#8b5cf6 0%,rgba(139,92,246,.4) 18%,rgba(139,92,246,.08) 42%,var(--line) 70%);--av-0: #94a3b8;--av-1: #0F766E;--av-2: #1d4ed8;--av-3: #6d28d9;--av-4: #b45309;--av-5: #be185d;--av-6: #047857;--font-ui: "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-head: "Outfit","Inter",-apple-system,sans-serif;--font-mono: ui-monospace,"SF Mono",Menlo,monospace;--fs-display: 26px;--fs-h1: 19px;--fs-h2: 17px;--fs-h3: 14px;--fs-body: 14px;--fs-sm: 13px;--fs-xs: 12px;--fs-2xs: 11px;--fs-3xs: 10px;--fw-normal: 400;--fw-med: 500;--fw-semi: 600;--fw-bold: 700;--sp-1:4px;--sp-2:6px;--sp-3:8px;--sp-4:10px;--sp-5:12px;--sp-6:14px;--sp-7:16px;--sp-8:20px;--sp-9:24px;--radius-sm:4px;--radius:8px;--radius-lg:10px;--radius-pill:20px;--shadow: 0 1px 3px rgba(12,29,49,.06), 0 1px 2px rgba(12,29,49,.04);--shadow-md: 0 4px 12px rgba(12,29,49,.08);--bp-wide:1400px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.5;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}h1,h2,h3{font-family:var(--font-head);font-weight:var(--fw-bold);letter-spacing:-.01em}table{width:100%;border-collapse:collapse}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.sidebar :focus-visible{outline-color:var(--chrome-focus)}.content{padding:var(--sp-8) var(--sp-9) calc(var(--sp-9) + env(safe-area-inset-bottom));max-width:var(--bp-wide);width:100%}.content-wide{max-width:none}.canvas-capped{width:100%;max-width:var(--bp-wide);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.select-control{position:relative;display:inline-flex;min-width:0}.select-control:after{content:"";position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-65%) rotate(45deg);pointer-events:none}.select-control select{appearance:none;width:100%;min-width:0;min-height:34px;font:inherit;font-size:var(--fs-sm);line-height:1.25;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:6px 34px 6px var(--sp-4);cursor:pointer}.select-control select:disabled{color:var(--muted);background:var(--surface-alt);cursor:not-allowed;opacity:.6}.select-control:has(select:disabled):after{opacity:.55}.select-control select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@supports (padding: max(0px)){.content{padding-left:max(var(--sp-9),env(safe-area-inset-left));padding-right:max(var(--sp-9),env(safe-area-inset-right))}}.shell{display:flex;min-height:100vh}.sidebar{width:230px;flex:none;background:linear-gradient(180deg,var(--chrome-bg),var(--chrome-bg-2));color:var(--chrome-fg);display:flex;flex-direction:column;gap:var(--sp-8);padding:calc(var(--sp-8) + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-8) var(--sp-2)}.brand-mark{width:32px;height:32px;border-radius:var(--radius);flex:none;background:linear-gradient(140deg,var(--accent),var(--accent-deep));color:var(--chrome-bg);font-family:var(--font-head);font-weight:var(--fw-bold);font-size:var(--fs-sm);display:flex;align-items:center;justify-content:center}.brand-name{font-family:var(--font-head);font-size:15px;font-weight:var(--fw-bold);color:var(--chrome-fg-hi);line-height:1.2}.brand-name em{font-style:normal;color:var(--chrome-focus)}.brand-sub{font-size:var(--fs-2xs);letter-spacing:1.6px;text-transform:uppercase;color:var(--chrome-fg)}.nav-group-label{font-size:10px;font-weight:var(--fw-bold);letter-spacing:1.2px;text-transform:uppercase;color:var(--chrome-fg-3);padding:0 var(--sp-8) var(--sp-2)}.nav a{display:flex;align-items:center;gap:var(--sp-4);padding:9px var(--sp-8);font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--chrome-fg);border-left:3px solid transparent;transition:background .12s,color .12s}.nav a:hover{background:var(--chrome-hover);color:#e2e8f0}.nav a.active{background:var(--chrome-active);color:var(--chrome-fg-hi);border-left-color:var(--accent)}.nav a .ico{width:15px;height:15px;flex:none;opacity:.85}.nav a.active .ico{opacity:1}.nav a .tag{margin-left:auto;background:var(--warn);color:var(--chrome-bg);font-size:10px;font-weight:var(--fw-bold);border-radius:var(--radius-pill);padding:1px 7px}.nav a.sub{padding-left:36px;font-size:var(--fs-xs);color:#7d8fa1}.nav a.sub.active{color:var(--chrome-fg-hi)}.sidebar-foot{margin-top:auto;padding:var(--sp-6) var(--sp-8);border-top:1px solid rgba(255,255,255,.07)}.account-link{display:flex;align-items:center;gap:var(--sp-4);min-height:40px;border-radius:var(--radius);padding:var(--sp-2)}.account-link:hover{background:var(--chrome-hover)}.me-name{color:var(--chrome-fg-hi);font-size:var(--fs-sm);font-weight:var(--fw-med);line-height:1.3}.account-link small{font-size:var(--fs-2xs);color:var(--chrome-fg)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;background:#f0f4f8eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:var(--sp-5) max(var(--sp-9),env(safe-area-inset-right)) var(--sp-5) max(var(--sp-9),env(safe-area-inset-left));padding-top:calc(var(--sp-5) + env(safe-area-inset-top));display:flex;align-items:center;gap:var(--sp-7)}.topbar h1{font-size:var(--fs-h2);line-height:1.25}.crumb{font-size:var(--fs-xs);color:var(--muted);margin-top:1px}.topbar .spacer{flex:1}.search{display:flex;align-items:center;gap:var(--sp-3);width:290px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:7px var(--sp-5);font-size:var(--fs-sm);color:var(--muted)}.search svg{flex:none;opacity:.6}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:var(--radius);padding:8px var(--sp-6);font-size:var(--fs-sm);font-weight:var(--fw-med);border:1px solid var(--line);background:var(--card);color:var(--ink-2);transition:background .12s,border-color .12s,box-shadow .12s;white-space:nowrap}.btn:hover{background:var(--surface-alt);border-color:var(--chrome-fg-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--chrome-fg-hi)}.btn.primary:hover{background:var(--chrome-bg-3);border-color:var(--chrome-bg-3)}.btn.sm{padding:5px var(--sp-4);font-size:var(--fs-xs)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--line-2);color:var(--ink-2)}.btn[disabled]{opacity:.45;pointer-events:none}.view{display:none}.view.active{display:block}.g-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-7)}.g-4>*{min-width:0}.g-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-7)}.g-2-1{display:grid;grid-template-columns:2fr 1fr;gap:var(--sp-7);align-items:start}.g-1-2{display:grid;grid-template-columns:1fr 2fr;gap:var(--sp-7);align-items:start}.g-half{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-7);align-items:start}.stack{display:flex;flex-direction:column;gap:var(--sp-6)}.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.card-head{position:relative;display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-5) var(--sp-8);min-height:48px;background:var(--card)}.card-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rule-neutral)}.card.k-accent .card-head:after{background:var(--rule-accent)}.card.k-alarm .card-head:after{background:var(--rule-alarm)}.card.k-warn .card-head:after{background:var(--rule-warn)}.card.k-info .card-head:after{background:var(--rule-info)}.card.k-alt .card-head:after{background:var(--rule-alt)}.card-head h2{font-family:var(--font-head);font-size:var(--fs-h3);font-weight:var(--fw-semi);color:var(--ink);display:flex;align-items:center;gap:var(--sp-4);letter-spacing:0}.card-head h2:before{content:"";width:8px;height:8px;border-radius:50%;flex:none;background:var(--ink);box-shadow:0 0 0 4px #0c1d311a}.card.k-accent .card-head h2:before{background:var(--accent);box-shadow:0 0 0 4px #25c1ac29}.card.k-alarm .card-head h2:before{background:var(--alarm);box-shadow:0 0 0 4px #ef444429}.card.k-warn .card-head h2:before{background:var(--warn);box-shadow:0 0 0 4px #f59e0b2e}.card.k-info .card-head h2:before{background:var(--info);box-shadow:0 0 0 4px #3b82f629}.card.k-alt .card-head h2:before{background:var(--alt);box-shadow:0 0 0 4px #8b5cf629}.card-head .trail{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}.card-head .hint{font-size:var(--fs-xs);color:var(--muted)}.card-body{padding:var(--sp-7) var(--sp-8)}.card-body.flush{padding:0}.card-foot{background:var(--surface-alt);border-top:1px solid var(--line-2);padding:var(--sp-6) var(--sp-8);font-size:var(--fs-xs);color:var(--muted)}.card .card{box-shadow:none;border:1px solid var(--line)}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:var(--fs-2xs);font-weight:var(--fw-semi);border-radius:var(--radius-pill);padding:2px 9px;line-height:1.55;background:var(--line-2);color:var(--ink-2)}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge.accent{background:var(--accent-soft);color:var(--accent-ink)}.badge.alarm{background:var(--alarm-soft);color:var(--alarm-ink)}.badge.warn{background:var(--warn-soft);color:var(--warn-ink)}.badge.info{background:var(--info-soft);color:var(--info-ink)}.badge.alt{background:var(--alt-soft);color:var(--alt-ink)}.badge.good{background:var(--good-soft);color:var(--good-ink)}.badge.role{background:transparent;border:1px solid var(--line);color:var(--muted);font-weight:var(--fw-med)}.badge.solid{background:var(--ink);color:var(--chrome-fg-hi)}.avatar{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--chrome-fg-hi);letter-spacing:.2px}.avatar.lg{width:34px;height:34px;font-size:var(--fs-xs)}.row{display:flex;align-items:flex-start;gap:var(--sp-5);padding:8px var(--sp-8);border-bottom:1px solid var(--line-2);transition:background .1s}.row:last-child{border-bottom:none}.row:hover{background:var(--surface-alt)}.row .grow{flex:1;min-width:0}.row .r-title{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--ink);line-height:1.3;overflow-wrap:anywhere}.row .r-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:1px;line-height:1.3;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0}.row .r-meta>*{overflow-wrap:anywhere}.row .r-meta .sep{opacity:.45}.row .trail{flex:none;display:flex;align-items:center;gap:var(--sp-3);padding-top:1px;flex-wrap:wrap}.row.done .r-title{text-decoration:line-through;color:var(--muted);font-weight:var(--fw-normal)}.check{width:16px;height:16px;flex:none;margin-top:1px;border-radius:var(--radius-sm);border:1.5px solid var(--line-3);background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;line-height:1;transition:.12s}.check:hover{border-color:var(--accent-2)}.check.done{background:var(--accent-2);border-color:var(--accent-2);color:var(--chrome-fg-hi)}.kpi{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--sp-6) var(--sp-7);border-bottom:3px solid var(--line)}.kpi .k-label{font-size:var(--fs-2xs);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.6px;color:var(--muted);overflow-wrap:anywhere}.kpi .k-value{font-family:var(--font-head);font-size:var(--fs-display);font-weight:var(--fw-bold);color:var(--ink);margin-top:2px;line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi .k-sub{font-size:var(--fs-xs);color:var(--muted)}.kpi.k-navy{border-bottom-color:var(--ink);background:linear-gradient(160deg,rgba(12,29,49,.05),var(--card) 62%)}.kpi.k-accent{border-bottom-color:var(--accent);background:linear-gradient(160deg,rgba(37,193,172,.09),var(--card) 62%)}.kpi.k-accent .k-value{color:var(--accent-ink)}.kpi.k-info{border-bottom-color:var(--info);background:linear-gradient(160deg,rgba(59,130,246,.08),var(--card) 62%)}.kpi.k-info .k-value{color:var(--info-ink)}.kpi.k-good{border-bottom-color:var(--good);background:linear-gradient(160deg,rgba(16,185,129,.08),var(--card) 62%)}.kpi.k-good .k-value{color:var(--good-ink)}.kpi.k-alarm{border-bottom-color:var(--alarm);background:linear-gradient(160deg,rgba(239,68,68,.09),var(--card) 62%)}.kpi.k-alarm .k-value{color:var(--alarm-ink)}.kpi.k-warn{border-bottom-color:var(--warn);background:linear-gradient(160deg,rgba(245,158,11,.1),var(--card) 62%)}.kpi.k-warn .k-value{color:var(--warn-ink)}.anchor{background:linear-gradient(135deg,var(--chrome-bg),var(--chrome-bg-3));color:var(--chrome-fg-hi);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--sp-7) var(--sp-9);display:flex;align-items:center;gap:var(--sp-9);flex-wrap:wrap}.anchor>div:first-child{min-width:0}.anchor .a-label{font-size:10px;font-weight:var(--fw-bold);letter-spacing:1.5px;text-transform:uppercase;color:var(--chrome-focus)}.anchor .a-main{font-family:var(--font-head);font-size:var(--fs-h1);font-weight:var(--fw-bold);margin-top:2px;overflow-wrap:anywhere}.anchor .a-sub{font-size:var(--fs-xs);color:var(--chrome-fg-3)}.anchor .a-mid{flex:1;min-width:230px}.a-bar{height:9px;border-radius:var(--radius-pill);background:#ffffff24;overflow:hidden;display:flex}.a-bar i{display:block;height:100%}.a-legend{display:flex;gap:var(--sp-6);font-size:var(--fs-2xs);color:var(--chrome-fg-2);margin-top:7px;flex-wrap:wrap}.a-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}.a-stats{display:flex}.a-stat{text-align:center;padding:0 var(--sp-8);border-left:1px solid rgba(255,255,255,.12)}.a-stat:first-child{border-left:none}.a-stat b{display:block;font-family:var(--font-head);font-size:23px;font-weight:var(--fw-bold);line-height:1.15;font-variant-numeric:tabular-nums}.a-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--chrome-fg-3);font-weight:var(--fw-semi)}.a-stat.accent b{color:var(--accent-ink)}.a-stat.warn b{color:var(--warn)}.a-stat.alarm b{color:#fca5a5}.anchor-summary{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--chrome-fg-2);margin-bottom:var(--sp-2)}.anchor-summary b{color:var(--chrome-fg-hi)}.callout{display:flex;gap:var(--sp-5);align-items:flex-start;background:var(--info-soft);border:1px solid #bfdbfe;border-left:3px solid var(--info);border-radius:var(--radius);padding:var(--sp-4) var(--sp-7);font-size:var(--fs-sm);color:#1e40af;line-height:1.5}.callout .ci{flex:none;margin-top:1px;opacity:.85}.callout b{font-weight:var(--fw-semi)}th{text-align:left;font-size:var(--fs-3xs);font-weight:var(--fw-bold);letter-spacing:.8px;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding:var(--sp-4) var(--sp-8);background:var(--surface-alt);border-bottom:1px solid var(--line)}th.num,td.num{text-align:right}td{padding:10px var(--sp-8);border-bottom:1px solid var(--line-2);font-size:var(--fs-sm);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-alt)}.t-strong{font-weight:var(--fw-med);color:var(--ink)}.t-sub{font-size:var(--fs-xs);color:var(--muted);margin-top:1px}.mono{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted)}th.sortable:after{content:" ↕";opacity:.4}th .th-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;padding:0}tr.row-link{cursor:pointer}.chips{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.chips+.chips{margin-left:var(--sp-9)}.chip{font-size:var(--fs-xs);font-weight:var(--fw-med);border-radius:var(--radius-pill);padding:var(--sp-1) var(--sp-6);border:1px solid var(--line);background:var(--card);color:var(--ink-2);transition:.12s;white-space:nowrap}.chip:hover{border-color:var(--line-3);background:var(--surface-alt)}.chip.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink);font-weight:var(--fw-semi)}.chip .n{opacity:.6;margin-left:3px}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}.filter-bar .grp-gap{width:var(--sp-9)}.stepper{display:flex;align-items:flex-start;overflow-x:auto;padding:var(--sp-7) var(--sp-8) var(--sp-5);gap:0}.step{flex:1;min-width:92px;position:relative;text-align:center}.step .node{width:26px;height:26px;border-radius:50%;margin:0 auto 7px;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:var(--fw-bold);background:var(--card);border:2px solid var(--line);color:var(--line-3)}.step .bar{position:absolute;top:12px;height:3px;width:100%;left:-50%;z-index:1;background:var(--line);border-radius:2px}.step:first-child .bar{display:none}.step .s-name{font-size:var(--fs-2xs);font-weight:var(--fw-med);color:var(--muted);line-height:1.3;padding:0 3px}.step .s-date{font-size:var(--fs-3xs);color:var(--muted);margin-top:1px}.step.done .node{background:var(--accent-2);border-color:var(--accent-2);color:var(--chrome-fg-hi)}.step.done .s-name{color:var(--ink-2)}.step.done .bar{background:var(--accent-2)}.step.current .node{background:var(--accent);border-color:var(--accent);color:var(--chrome-fg-hi);box-shadow:0 0 0 5px #25c1ac38}.step.current .s-name{color:var(--accent-ink);font-weight:var(--fw-bold)}.step.current .bar{background:var(--accent-2)}.step.behind .node{background:var(--warn-soft);border-color:var(--warn);color:var(--warn-ink)}.step.behind .s-name{color:var(--warn-ink)}.step.behind .bar{background:var(--line)}.timeline{position:relative;padding:var(--sp-6) var(--sp-8) var(--sp-6) 0;margin-left:var(--sp-9)}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--line)}.tl-item{position:relative;padding:0 0 var(--sp-7) var(--sp-9)}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:2px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--card);border:2.5px solid var(--muted)}.tl-item.k-call:before{border-color:var(--info)}.tl-item.k-email:before{border-color:var(--alt)}.tl-item.k-meeting:before{border-color:var(--warn)}.tl-item.k-visit:before{border-color:var(--accent)}.tl-item.k-note:before{border-color:var(--muted)}.tl-item.k-system:before{border-color:var(--line);background:var(--line-2)}.tl-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:3px}.tl-who{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--ink)}.tl-when{margin-left:auto;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.tl-body{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.6}.tl-body.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tl-cust{font-size:var(--fs-xs);color:var(--accent-ink);font-weight:var(--fw-med)}.board{display:flex;gap:var(--sp-5);overflow-x:auto;padding-bottom:var(--sp-3)}.col{width:232px;flex:none;background:var(--surface-sunk);border-radius:var(--radius-lg);padding:var(--sp-4)}.col-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3) var(--sp-4)}.col-head .cn{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.7px;text-transform:uppercase;color:var(--ink-2)}.col-head .cc{margin-left:auto;font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--muted);background:#ffffffbf;border-radius:var(--radius-pill);padding:1px 7px}.sdot{width:8px;height:8px;border-radius:50%;flex:none}.sdot.stage-lead{background:var(--stage-lead)}.sdot.stage-discovery{background:var(--stage-discovery)}.sdot.stage-proposal{background:var(--stage-proposal)}.sdot.stage-signed{background:var(--stage-signed)}.sdot.stage-mapping{background:var(--stage-mapping)}.sdot.stage-data_load{background:var(--stage-dataload)}.sdot.stage-training{background:var(--stage-training)}.sdot.stage-live{background:var(--stage-live)}.deal{min-width:0;background:var(--card);border-radius:var(--radius);padding:var(--sp-5);margin-bottom:var(--sp-3);box-shadow:0 1px 2px #0c1d3112;cursor:pointer;transition:.12s}.deal:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.deal:last-child{margin-bottom:0}.deal-open{min-width:0}.deal .d-name{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--ink);line-height:1.3;overflow-wrap:anywhere}.deal .d-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:3px}.deal .d-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deal .d-foot{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);min-width:0;flex-wrap:wrap}.deal .d-foot .badge{margin-left:auto}.deal[draggable=true]{cursor:grab}.deal-open{display:block;width:100%;text-align:left}.deal-open span{display:block}.deal-error{font-size:var(--fs-xs);color:var(--alarm-ink);background:var(--alarm-soft);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);margin-top:var(--sp-3)}.prog{height:5px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:var(--sp-4)}.prog i{display:block;height:100%;background:var(--accent-2);border-radius:3px}.prog-label{font-size:10px;color:var(--muted);margin-top:3px}.col-more{text-align:center;font-size:var(--fs-xs);color:var(--muted);padding:var(--sp-3);font-weight:var(--fw-med)}.cust-head{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.ch-top{display:flex;align-items:flex-start;gap:var(--sp-6);padding:var(--sp-8) var(--sp-9) var(--sp-6);flex-wrap:wrap}.ch-top>div:first-child{flex:1;min-width:0}.ch-top h1{font-size:var(--fs-h1);line-height:1.2;overflow-wrap:anywhere}.ch-badges{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-3)}.ch-money{margin-left:auto;text-align:right}.ch-money b{display:block;font-family:var(--font-head);font-size:21px;font-weight:var(--fw-bold);color:var(--ink);font-variant-numeric:tabular-nums}.ch-money span{font-size:var(--fs-xs);color:var(--muted)}.fact-row{display:flex;gap:var(--sp-9);flex-wrap:wrap;padding:0 var(--sp-9) var(--sp-6);border-bottom:1px solid var(--line-2)}.fact{max-width:100%;min-width:0;flex:1 1 88px}.fact .f-label{font-size:10px;font-weight:var(--fw-semi);letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.fact .f-value{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--ink);margin-top:1px;overflow-wrap:anywhere}.prop-chips{display:flex;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-5) var(--sp-9);border-bottom:1px solid var(--line-2);background:var(--surface-alt)}.pchip{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-1) var(--sp-5);font-size:var(--fs-xs);color:var(--ink-2);min-width:0;overflow-wrap:anywhere}.pchip b{font-weight:var(--fw-semi);color:var(--ink)}.pchip i{width:7px;height:7px;border-radius:2px;flex:none}.tabs{display:flex;gap:2px;padding:0 var(--sp-8);border-bottom:1px solid var(--line);background:var(--card);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow-x:auto;max-width:100%}.tabs button{padding:11px var(--sp-7);font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--muted);border-bottom:3px solid transparent;display:flex;align-items:center;gap:var(--sp-3);white-space:nowrap;flex:none}.tabs button:hover{color:var(--ink-2)}.tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:var(--fw-semi)}.tabs button .n{background:var(--line-2);color:var(--muted);font-size:10px;font-weight:var(--fw-bold);border-radius:var(--radius-pill);padding:1px 6px}.tabs button.active .n{background:var(--accent-soft);color:var(--accent-ink)}.composer{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}.composer .ta{padding:var(--sp-5) var(--sp-6);font-size:var(--fs-sm);color:var(--muted);min-height:44px}.composer .c-actions{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--line-2);background:var(--surface-alt);flex-wrap:wrap}.composer .c-actions .btn{margin-left:auto}.person-head{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-8);border-bottom:1px solid var(--line)}.person-head>div:not(.p-counts):not(.avatar){min-width:0;flex:1}.person-head .p-name{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--ink);overflow-wrap:anywhere}.person-head .p-role{font-size:var(--fs-xs);color:var(--muted)}.person-head .p-counts{margin-left:auto;display:flex;gap:var(--sp-3);flex:none;flex-wrap:wrap;justify-content:flex-end}.tmpl-row{display:flex;align-items:center;gap:var(--sp-5);padding:9px var(--sp-8);border-bottom:1px solid var(--line-2);font-size:var(--fs-sm)}.tmpl-row:last-child{border-bottom:none}.tmpl-row:hover{background:var(--surface-alt)}.tmpl-row .seq{width:22px;flex:none;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--line-3);font-variant-numeric:tabular-nums}.tmpl-row .tt{flex:1;min-width:0;font-weight:var(--fw-med);color:var(--ink);overflow-wrap:anywhere}.tmpl-row .rl{width:82px;flex:none}.tmpl-row .due{width:64px;flex:none;text-align:right;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.tmpl-col-head{display:flex;gap:var(--sp-5);padding:var(--sp-3) var(--sp-8);background:var(--surface-alt);border-bottom:1px solid var(--line);font-size:10px;font-weight:var(--fw-bold);letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.tmpl-col-head .seq{width:22px;flex:none}.tmpl-col-head .tt{flex:1}.tmpl-col-head .rl{width:82px;flex:none}.tmpl-col-head .due{width:64px;flex:none;text-align:right}.list-item{display:flex;align-items:center;gap:var(--sp-4);padding:11px var(--sp-7);border-bottom:1px solid var(--line-2);cursor:pointer}.list-item:last-child{border-bottom:none}.list-item:hover{background:var(--surface-alt)}.list-item.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.list-item .li-name{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--ink)}.list-item .li-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:1px}.list-item .li-n{margin-left:auto;font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-med)}.roles-band{display:flex;gap:var(--sp-9);flex-wrap:wrap}.role-grp{display:flex;align-items:center;gap:var(--sp-3)}.role-grp .rg-avs{display:flex}.role-grp .rg-avs .avatar{margin-left:-6px;border:2px solid var(--surface-alt)}.role-grp .rg-avs .avatar:first-child{margin-left:0}.empty{padding:var(--sp-9);text-align:center;font-size:var(--fs-sm);color:var(--muted)}.account-card{max-width:720px}.account-identity{display:flex;align-items:center;gap:var(--sp-5)}.account-identity h3{font-size:var(--fs-h2)}.account-identity p{font-size:var(--fs-sm);color:var(--muted);overflow-wrap:anywhere}.account-role-copy{color:var(--ink-2);max-width:70ch}.team-settings-card{width:100%}.team-table-wrap{overflow-x:auto}.team-table{min-width:820px}.team-member{display:flex;align-items:center;gap:var(--sp-4);min-width:220px}.team-email{color:var(--muted);overflow-wrap:anywhere}.team-task-count{font-variant-numeric:tabular-nums;font-weight:var(--fw-semi);color:var(--ink-2)}.team-actions{display:flex;align-items:center;gap:var(--sp-3);min-width:112px}.team-row.inactive{background:var(--surface-alt)}.team-row.inactive .t-strong,.team-row.inactive .team-email,.team-row.inactive .team-task-count{color:var(--muted)}.team-error{padding:var(--sp-4) var(--sp-8);border-bottom:1px solid var(--line-2);background:var(--alarm-soft);color:var(--alarm-ink);font-size:var(--fs-sm)}.team-role-note{line-height:1.5}.team-access-card{max-width:560px}.team-access-message{color:var(--ink-2)}.team-dialog-copy{display:flex;flex-direction:column;gap:var(--sp-4);color:var(--ink-2);line-height:1.55}.spec-body{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.spec-body h3{font-size:var(--fs-h3);color:var(--ink);margin:var(--sp-7) 0 var(--sp-3)}.spec-body h3:first-child{margin-top:0}.spec-body ul{padding-left:var(--sp-8);margin:var(--sp-3) 0}.spec-body li{margin-bottom:var(--sp-2)}.spec-body code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--line-2);padding:1px 5px;border-radius:var(--radius-sm)}.spec-body>p{max-width:76ch}.spec-token-group{margin-top:var(--sp-8)}.spec-token-group h3{margin-top:0}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--sp-4)}.sw{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.sw .chipcolor{height:44px}.sw .swl{padding:6px var(--sp-4);font-size:10px}.sw .swn{font-weight:var(--fw-semi);color:var(--ink)}.sw .swv{font-family:var(--font-mono);color:var(--muted)}.type-scale{display:flex;flex-direction:column;gap:var(--sp-3)}.type-specimen{display:flex;align-items:baseline;gap:var(--sp-6);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line-2)}.type-specimen span{min-width:120px;color:var(--ink)}.type-specimen code{background:none;padding:0;color:var(--muted)}.space-scale{display:flex;flex-direction:column;gap:var(--sp-3)}.space-specimen{display:flex;align-items:center;gap:var(--sp-5);min-height:20px}.space-bar{display:block;height:var(--sp-3);min-width:var(--sp-1);background:var(--ink)}.space-specimen code{min-width:58px;background:none;padding:0;color:var(--muted)}.model-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-7);margin-top:var(--sp-8)}.model-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.model-table h3{padding:var(--sp-5) var(--sp-6);margin:0;border-bottom:1px solid var(--line);background:var(--surface-alt)}.model-table h3 code{background:none;padding:0;font-size:var(--fs-h3);color:var(--ink)}.model-table table{table-layout:fixed}.model-table th,.model-table td{padding:var(--sp-3) var(--sp-6)}.model-table th{font-size:var(--fs-2xs)}.model-table td{font-size:var(--fs-xs)}.model-table td:last-child{color:var(--muted)}.model-table td code{background:none;padding:0;color:var(--ink-2)}.model-note{padding:var(--sp-5) var(--sp-6);border-top:1px solid var(--line-2);font-size:var(--fs-xs);color:var(--muted);line-height:1.6}.spec-list{padding-left:var(--sp-8);margin:var(--sp-4) 0 var(--sp-6)}.spec-list li{padding-left:var(--sp-2);margin-bottom:var(--sp-4)}.spec-callout{padding:var(--sp-5) var(--sp-6);margin-top:var(--sp-5);background:var(--surface-alt);border-left:3px solid var(--line-3);color:var(--ink-2)}@media(max-width:1100px){.g-4{grid-template-columns:repeat(2,1fr)}.g-2-1,.g-1-2,.g-half,.g-3,.person-grid{grid-template-columns:1fr}}@media(max-width:820px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:calc(var(--sp-3) + env(safe-area-inset-top)) max(var(--sp-3),env(safe-area-inset-right)) calc(var(--sp-3) + env(safe-area-inset-bottom)) max(var(--sp-3),env(safe-area-inset-left));overflow:visible}.sidebar>div{display:flex;align-items:center;gap:var(--sp-3)}.brand,.brand-name{display:none}.nav{display:flex;gap:var(--sp-1)}.nav a{border-left:none;border-bottom:3px solid transparent;border-radius:var(--radius);width:40px;padding:8px;white-space:nowrap;min-height:40px;justify-content:center}.nav a.active{border-left:none;border-bottom-color:var(--accent)}.nav-label,.nav-group-label,.brand-sub,.nav a.sub{display:none}.sidebar-foot{display:block;margin-left:auto;padding:0;border-top:0}.account-link{width:40px;padding:var(--sp-2);justify-content:center}.account-link>div{display:none}.search{display:none}.content{padding:var(--sp-6) max(var(--sp-6),env(safe-area-inset-right)) calc(var(--sp-6) + env(safe-area-inset-bottom)) max(var(--sp-6),env(safe-area-inset-left))}.topbar{padding:calc(var(--sp-5) + env(safe-area-inset-top)) max(var(--sp-6),env(safe-area-inset-right)) var(--sp-5) max(var(--sp-6),env(safe-area-inset-left));flex-wrap:wrap;gap:var(--sp-3)}.topbar>div:first-child{min-width:0;flex:1 1 0}.topbar .spacer{display:none}.topbar>.chips{order:3;flex:1 0 100%}.topbar>.btn{margin-left:auto}.fact-row{gap:var(--sp-7)}.btn,.chip,.tabs button{min-height:40px}.th-sort{display:inline-flex;align-items:center;min-height:40px}tr.row-link td{height:40px}.select-control select{min-height:40px}.model-tables{grid-template-columns:1fr}.ch-top{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}.ch-trail{width:100%;margin-left:0;justify-content:space-between;gap:var(--sp-5)}.ch-trail .stage-select{align-items:flex-start;flex:1;min-width:0}.ch-trail .stage-select .select-control{width:100%;max-width:180px}.ch-money{margin-left:auto}.filterbar{gap:var(--sp-4)}.filterbar .chips{width:100%}.row .trail .select-control{max-width:96px}.check{width:40px;height:40px;border:0;background:transparent;margin-top:-11px;margin-left:-12px;margin-bottom:-11px;position:relative;color:transparent}.check:before{content:"";position:absolute;left:12px;top:12px;width:16px;height:16px;border:1.5px solid var(--line-3);border-radius:var(--radius-sm);background:var(--card)}.check:hover:before{border-color:var(--accent-2)}.check.done:before{background:var(--accent-2);border-color:var(--accent-2)}.check.done:after{content:"\\2713";position:absolute;left:12px;top:12px;width:16px;height:16px;color:var(--chrome-fg-hi);font-size:11px;line-height:16px;text-align:center}.team-table-wrap{overflow-x:visible}.team-table{display:block;min-width:0}.team-table thead{display:none}.team-table tbody{display:block}.team-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line-2)}.team-table tr:last-child{border-bottom:none}.team-table td{display:block;min-width:0;padding:10px var(--sp-5);border:0}.team-table td:nth-child(1){grid-column:1;grid-row:1}.team-table td:nth-child(2){grid-column:1;grid-row:2;font-size:var(--fs-xs);padding-top:0}.team-table td:nth-child(3){grid-column:2;grid-row:1;justify-self:end}.team-table td:nth-child(4){grid-column:2;grid-row:2;justify-self:end;padding-top:0}.team-table td:nth-child(5){grid-column:1 / -1;grid-row:3;padding-top:0}.team-actions{justify-content:flex-end}}.filterbar{display:flex;align-items:center;gap:var(--sp-9);flex-wrap:wrap}.person-grid{align-items:start}.row .trail .select-control{flex:none}.task-composer .tc-fields{display:flex;flex-direction:column}.task-composer .tc-input{width:100%;border:none;outline:none;background:transparent;font:inherit;font-size:var(--fs-sm);color:var(--ink-2);padding:var(--sp-4) var(--sp-6)}.task-composer .tc-input+.tc-input{border-top:1px solid var(--line-2);font-size:var(--fs-xs)}.task-composer .tc-date{font:inherit;font-size:var(--fs-xs);color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px var(--sp-3)}.task-composer .c-actions .select-control{flex:none}.ch-trail{margin-left:auto;display:flex;align-items:flex-start;gap:var(--sp-8)}.ch-trail .ch-money{margin-left:0}.stage-select{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-end}.stage-select .ss-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.stage-select .select-control{width:100%}.ss-reason{display:flex;gap:var(--sp-2);align-items:center}.ss-reason input{font:inherit;font-size:var(--fs-xs);color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px var(--sp-4);min-width:220px}.ss-error{font-size:var(--fs-xs);color:var(--alarm-ink);max-width:280px;text-align:right}.stage-reason-label{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--ink-2)}.stage-reason-label textarea{min-height:84px;resize:vertical;font:inherit;font-weight:var(--fw-normal);color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4)}.stage-change-copy .ss-error{max-width:none;text-align:left}.li-btn{width:100%;text-align:left;background:none;border:none;font:inherit;display:flex}.tmpl-row .tmpl-actions{display:flex;gap:var(--sp-2);flex:none;margin-left:var(--sp-3)}.tmpl-col-head .tmpl-actions{width:96px;flex:none}.tmpl-row.dragging{opacity:.5}.tmpl-row[draggable=true]{cursor:grab}.tmpl-input{font:inherit;font-size:var(--fs-sm);color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px var(--sp-3)}.tmpl-foot-note{margin-bottom:var(--sp-4)}.modal-scrim{position:fixed;inset:0;background:#0c1d3173;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--sp-8)}.modal{max-width:420px;width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-3)}.btn.danger{background:var(--alarm-ink);border-color:var(--alarm-ink);color:var(--chrome-fg-hi)}.btn.danger:hover{background:var(--alarm-ink);border-color:var(--alarm-ink)}.login-shell{display:flex;min-height:100vh}.login-canvas{margin:0 auto;padding-top:80px;max-width:420px}.login-error{color:var(--alarm-ink)}.login-hint{color:var(--muted)}.login-btn{justify-content:center}.project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}.project-field{display:flex;flex-direction:column;gap:var(--sp-2)}.project-field-wide{grid-column:1 / -1}.project-field>span,.project-reference-row .f-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.project-field input{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:7px var(--sp-4)}.project-field .select-control{width:100%}.project-form-actions{display:flex;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-6)}.project-reference-row .r-title{white-space:normal;line-height:1.5;margin-top:var(--sp-1)}@media(max-width:820px){.project-form-grid{grid-template-columns:1fr}.project-field-wide{grid-column:auto}}
