@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/jbmono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/noto-deva-devanagari-DWI_L5Cu.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}:root{--bg-canvas: #F5F7FA;--bg-surface: #FFFFFF;--bg-raised: #FFFFFF;--bg-inset: #EFF3F8;--bg-hover: #F0F4FA;--bg-active: #E4ECF7;--line-subtle: #EAEEF4;--line-strong: #D6DEE8;--line-focus: #2B6BE6;--text-hi: #16202E;--text-mid: #566476;--text-low: #8B98A8;--text-inverse:#FFFFFF;--accent: #2B5CE6;--accent-hover: #1E4FD6;--accent-press: #1A46BE;--accent-soft: rgba(43, 92, 230, .1);--highlight: #E39A2E;--highlight-soft: rgba(227, 154, 46, .12);--status-draft: #606D7B;--status-progress: #2563D6;--status-pending: #8F5E10;--status-done: #127A48;--status-danger: #C2314A;--status-draft-soft: rgba(96,109,123,.12);--status-progress-soft: rgba(37,99,214,.1);--status-pending-soft: rgba(143,94,16,.12);--status-done-soft: rgba(18,122,72,.12);--status-danger-soft: rgba(194,49,74,.12);--shadow-1: 0 1px 2px rgba(16,30,54,.06), 0 1px 3px rgba(16,30,54,.08);--shadow-2: 0 4px 12px rgba(16,30,54,.1), 0 2px 4px rgba(16,30,54,.06);--shadow-3: 0 16px 40px rgba(16,30,54,.16), 0 4px 10px rgba(16,30,54,.08);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-kpi: 32px;--lh-tight: 1.25;--lh-body: 1.5;--fw-reg: 400;--fw-med: 500;--fw-semi: 600;--fw-bold: 700;--t-fast: 90ms;--t-quick: .15s;--t-base: .24s;--t-slow: .4s;--ease-enter: cubic-bezier(0, 0, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--ease-standard: cubic-bezier(.4, 0, .2, 1);--z-sticky: 10;--z-dropdown: 40;--z-drawer: 50;--z-modal: 60;--z-toast: 80;scroll-behavior:smooth}:root{--bg: var(--bg-canvas);--surface: var(--bg-surface);--border: var(--line-subtle);--text: var(--text-hi);--muted: var(--text-mid);--primary: var(--accent);--primary-ink: var(--text-inverse);--radius: var(--r-md);--danger: var(--status-danger);--amber: var(--status-pending);--chip-grey-bg: var(--status-draft-soft);--chip-grey-ink: var(--status-draft);--chip-blue-bg: var(--status-progress-soft);--chip-blue-ink: var(--status-progress);--chip-amber-bg: var(--status-pending-soft);--chip-amber-ink: var(--status-pending);--chip-green-bg: var(--status-done-soft);--chip-green-ink: var(--status-done);--chip-red-bg: var(--status-danger-soft);--chip-red-ink: var(--status-danger)}:root{--portal-grad-a: #0F3D6B;--portal-grad-b: #1F5FBF;--portal-surface: #FFFFFF;--portal-on-brand: #FFFFFF;--portal-on-brand-soft: rgba(255,255,255,.15);--portal-scrim: rgba(6,12,28,.4)}*{box-sizing:border-box}body{margin:0;background:var(--bg-canvas);color:var(--text-hi);font-family:Inter,Noto Sans Devanagari,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;color:var(--text-hi);line-height:var(--lh-tight)}h1{font-size:var(--fs-2xl);font-weight:var(--fw-semi);letter-spacing:-.01em}h2{font-size:var(--fs-xl);font-weight:var(--fw-semi);letter-spacing:-.01em}h3{font-size:var(--fs-lg);font-weight:var(--fw-semi)}h4{font-size:var(--fs-md);font-weight:var(--fw-semi)}.num{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-variant-numeric:tabular-nums;font-size:.95em}.screen-title{font-size:var(--fs-2xl);font-weight:var(--fw-semi);letter-spacing:-.01em;color:var(--text-hi)}.section-title{font-size:var(--fs-lg);font-weight:var(--fw-semi);color:var(--text-hi)}.caption{font-size:var(--fs-xs);color:var(--text-low)}.kpi-value{font-size:var(--fs-kpi);font-weight:var(--fw-bold);font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--text-hi)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.chip{display:inline-block;padding:2px 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-med);line-height:1.6}.chip-grey{background:var(--status-draft-soft);color:var(--status-draft)}.chip-blue{background:var(--status-progress-soft);color:var(--status-progress)}.chip-amber{background:var(--status-pending-soft);color:var(--status-pending)}.chip-green{background:var(--status-done-soft);color:var(--status-done)}.chip-red{background:var(--status-danger-soft);color:var(--status-danger)}.badge{display:inline-block;padding:2px 8px;border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--text-mid)}button{font:inherit;cursor:pointer;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-surface);color:var(--text-hi);padding:7px 12px;transition:background var(--t-fast) var(--ease-standard),border-color var(--t-fast),transform var(--t-fast),color var(--t-fast)}button:hover{background:var(--bg-hover)}button:active{transform:translateY(1px)}button.primary{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.primary:active{background:var(--accent-press)}button.danger{color:var(--status-danger);border-color:var(--status-danger-soft);background:var(--status-danger-soft)}button.danger:hover{background:var(--status-danger);color:var(--text-inverse);border-color:var(--status-danger)}button:disabled{opacity:.5;cursor:default;transform:none}button:disabled:hover{background:var(--bg-surface)}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg-inset);color:var(--text-hi);width:100%;transition:border-color var(--t-fast) var(--ease-standard)}input::placeholder,textarea::placeholder{color:var(--text-low)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--line-focus)}select{cursor:pointer}label{display:block;font-size:var(--fs-sm);color:var(--text-mid);margin-bottom:4px}.card{background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-1)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-subtle);font-size:var(--fs-md);color:var(--text-hi)}th{color:var(--text-mid);font-weight:var(--fw-semi);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-inset);position:sticky;top:0;z-index:var(--z-sticky)}td.num,th.num{text-align:right}tbody tr{animation:rise-in var(--t-base) var(--ease-enter) backwards}tbody tr:nth-child(2){animation-delay:20ms}tbody tr:nth-child(3){animation-delay:40ms}tbody tr:nth-child(4){animation-delay:60ms}tbody tr:nth-child(5){animation-delay:80ms}tbody tr:nth-child(6){animation-delay:.1s}tbody tr:nth-child(7){animation-delay:.12s}tbody tr:nth-child(8){animation-delay:.14s}tbody tr:nth-child(n+9){animation:none}.trunc{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}td.trunc{max-width:260px}.kpi-card{background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-1);padding:var(--sp-4);min-width:160px;flex:1 1 160px}.kpi-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-mid);transition:color var(--t-fast)}.kpi-value{font-size:var(--fs-kpi);font-weight:var(--fw-bold);line-height:1.15;margin-top:var(--sp-1)}.kpi-caption{font-size:var(--fs-xs);color:var(--text-low)}.kpi-delta{font-size:var(--fs-xs);font-weight:var(--fw-med);margin-top:2px}.kpi-clickable{cursor:pointer}@media (hover: hover){.kpi-clickable:hover .kpi-label{color:var(--accent)}}.kpi-group-caption{font-size:var(--fs-xs);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.06em;color:var(--text-mid)}.checklist{max-height:190px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg-inset)}.checklist-row{display:flex;gap:var(--sp-2);align-items:center;padding:6px 10px;cursor:pointer;font-size:var(--fs-sm)}.checklist-row:hover{background:var(--bg-hover)}.checklist-row input{width:auto}.empty-state{text-align:center;padding:var(--sp-10) var(--sp-6)}.empty-ico{color:var(--text-low);margin-bottom:var(--sp-3);display:flex;justify-content:center}.empty-msg{font-size:var(--fs-sm);color:var(--text-mid);max-width:360px;margin:0 auto;line-height:var(--lh-body)}.empty-action{margin-top:var(--sp-4);display:flex;justify-content:center}button[aria-busy=true]{cursor:default}.req{color:var(--accent)}.field-err{color:var(--status-danger);font-size:var(--fs-xs);margin-top:3px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#16202e66;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fade-in var(--t-quick) var(--ease-enter)}.modal{width:min(460px,92vw);padding:20px;background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-3);animation:scale-in var(--t-base) var(--ease-enter)}.row{display:flex;gap:10px;align-items:center}.stack>*+*{margin-top:12px}.skel{display:block;border-radius:var(--r-sm);background:var(--bg-inset);background-image:linear-gradient(90deg,var(--bg-inset) 0px,var(--bg-surface) 200px,var(--bg-inset) 400px);background-size:800px 100%;animation:amserp-shimmer 1.3s ease-in-out infinite}.skel+.skel{margin-top:8px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:amserp-spin .7s linear infinite;vertical-align:-3px}.toast-wrap{position:fixed;top:14px;right:14px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px;max-width:min(360px,92vw)}.toast{padding:10px 14px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-raised);color:var(--text-hi);box-shadow:var(--shadow-2);font-size:var(--fs-sm);display:flex;gap:10px;align-items:flex-start;border-left:3px solid var(--line-strong);animation:rise-in var(--t-base) var(--ease-enter)}.toast.error{border-left-color:var(--status-danger)}.toast.success{border-left-color:var(--status-done)}.toast.info{border-left-color:var(--status-progress)}.toast button{background:transparent;border:none;padding:0 2px;color:inherit;opacity:.7}.toast button:hover{opacity:1;background:transparent}.bell{position:relative;background:transparent;border:none;padding:6px;font-size:18px;line-height:1;color:var(--text-mid)}.bell:hover{background:var(--bg-hover);border-radius:var(--r-sm);color:var(--text-hi)}.bell-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:var(--accent);color:var(--text-inverse);font-size:10px;font-weight:var(--fw-bold);line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.notif-panel{position:absolute;top:46px;right:12px;width:min(420px,94vw);max-height:72vh;overflow-y:auto;background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-3);z-index:var(--z-toast);animation:rise-in var(--t-base) var(--ease-enter)}.notif-row{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line-subtle);cursor:pointer;transition:background var(--t-fast) var(--ease-standard)}.notif-row:hover{background:var(--bg-hover)}.notif-row.unread{background:var(--accent-soft)}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px;flex:0 0 auto}.notif-dot.read{background:transparent}.err-box{padding:16px;text-align:center;color:var(--status-danger)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#16202e66;z-index:var(--z-drawer);display:flex;justify-content:flex-end;animation:fade-in var(--t-quick) var(--ease-enter)}.drawer{width:min(420px,100vw);height:100vh;background:var(--bg-surface);border-left:1px solid var(--line-strong);box-shadow:var(--shadow-3);overflow:hidden;animation:slide-in-right var(--t-base) var(--ease-enter);display:flex;flex-direction:column}.drawer-head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-subtle);font-weight:var(--fw-semi);font-size:var(--fs-md);flex:0 0 auto}.drawer-body{flex:1;min-height:0;overflow-y:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes amserp-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes amserp-spin{to{transform:rotate(360deg)}}@keyframes pulse-once{0%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.45}}.anim-fade{animation:fade-in var(--t-quick) var(--ease-enter)}.anim-rise{animation:rise-in var(--t-base) var(--ease-enter)}.pulse-once{animation:pulse-once var(--t-slow) var(--ease-standard)}.breathe{animation:breathe 2.4s var(--ease-standard) infinite}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-low);background-clip:padding-box}html{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.scroll-shade{position:relative}.scroll-shade:before,.scroll-shade:after{content:"";position:absolute;left:0;right:8px;height:16px;pointer-events:none;z-index:var(--z-sticky);opacity:0;transition:opacity var(--t-quick) var(--ease-standard)}.scroll-shade:before{top:0;background:linear-gradient(to bottom,rgba(22,32,46,.1),transparent)}.scroll-shade:after{bottom:0;background:linear-gradient(to top,rgba(22,32,46,.1),transparent)}.scroll-shade[data-shade-top]:before{opacity:1}.scroll-shade[data-shade-bottom]:after{opacity:1}.screen-header{transition:padding var(--t-quick) var(--ease-standard),box-shadow var(--t-quick)}.screen-header.condensed{box-shadow:var(--shadow-1);border-bottom:1px solid var(--line-subtle)}[id],[data-anchor]{scroll-margin-top:96px}@media (hover: hover){.hover-raise{transition:transform var(--t-fast) var(--ease-standard),box-shadow var(--t-fast)}.hover-raise:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.list-row{position:relative}tbody tr>td:first-child,tr.data-row>td:first-child{position:relative}.list-row:before,tbody tr>td:first-child:before,tr.data-row>td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform var(--t-fast) var(--ease-standard)}.list-row:hover,tr.data-row:hover,tbody tr:hover{background:var(--bg-hover)}.list-row:hover:before,tbody tr:hover>td:first-child:before,tr.data-row:hover>td:first-child:before{transform:scaleY(1)}.row-actions{opacity:0;transition:opacity var(--t-fast) var(--ease-standard)}.list-row:hover .row-actions,tr.data-row:hover .row-actions,tbody tr:hover .row-actions{opacity:1}.icon-btn{position:relative}.icon-btn:hover{background:var(--bg-hover)}.u-link{background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size var(--t-quick) var(--ease-standard)}.u-link:hover{background-size:100% 1px}}.shell{display:grid;grid-template-columns:64px 1fr;height:100vh;overflow:hidden;background:var(--bg-canvas);transition:grid-template-columns var(--t-base) var(--ease-standard)}.shell.dock-expanded{grid-template-columns:232px 1fr}.dock{background:var(--bg-canvas);display:flex;flex-direction:column;align-items:center;padding:var(--sp-2) 0;gap:var(--sp-2);min-height:0}.dock-monogram{display:flex;align-items:center;gap:var(--sp-2);background:transparent;border:none;padding:2px;flex:0 0 auto;width:44px;overflow:hidden}.dock-mono-badge{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--line-strong);color:var(--accent);font-weight:var(--fw-bold);font-size:13px;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.dock-monogram:hover .dock-mono-badge{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.dock-wordmark{display:none;font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--text-hi);white-space:nowrap;letter-spacing:.01em}.dock-glyphs{flex:1;min-height:0;width:100%}.dock-scroll{height:100%;overflow-y:auto;overflow-x:visible;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--sp-1) 0}.dock-glyph{position:relative;width:44px;height:44px;border:none;background:transparent;color:var(--text-mid);border-radius:var(--r-md);display:grid;place-items:center;flex:0 0 auto;animation:rise-in var(--t-base) var(--ease-enter) both;transition:color var(--t-fast),background var(--t-fast)}.dock-glyph:hover{background:var(--bg-hover);color:var(--text-hi)}.dock-glyph.active{color:var(--accent);background:var(--accent-soft)}.dock-glyph.active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:2px;background:var(--accent);border-radius:var(--r-pill)}.dock-wing{position:absolute;left:50px;top:50%;transform:translateY(-50%) translate(-4px);background:var(--bg-raised);color:var(--text-hi);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);padding:4px 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);white-space:nowrap;opacity:0;pointer-events:none;z-index:var(--z-dropdown);transition:opacity var(--t-quick) var(--ease-enter),transform var(--t-quick) var(--ease-enter)}@media (hover: hover){.dock-glyph:hover .dock-wing{opacity:1;transform:translateY(-50%) translate(0)}}.dock-badge{position:absolute;top:3px;right:3px;min-width:15px;height:15px;padding:0 3px;border-radius:var(--r-pill);background:var(--status-danger);color:var(--text-inverse);font-size:9px;font-weight:var(--fw-bold);line-height:15px;text-align:center}.dock.expanded{padding-left:var(--sp-2);padding-right:var(--sp-2)}.dock-label{display:none;flex:1;min-width:0;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.dock.expanded .dock-label{display:block}.dock.expanded .dock-wing{display:none}.dock.expanded .dock-monogram{width:100%}.dock.expanded .dock-wordmark{display:inline}.dock.expanded .dock-scroll{align-items:stretch}.dock.expanded .dock-glyph{width:100%;height:40px;display:flex;align-items:center;justify-content:flex-start;gap:var(--sp-3);padding:0 var(--sp-3)}.dock.expanded .dock-glyph.active:before{left:0;top:6px;bottom:6px}.dock.expanded .dock-badge{top:50%;right:var(--sp-2);transform:translateY(-50%)}.dock-group{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.dock.expanded .dock-group{align-items:stretch}.dock-group-label{display:none;padding:var(--sp-3) var(--sp-3) var(--sp-1);font-size:var(--fs-2xs);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.08em;color:var(--text-low)}.dock.expanded .dock-group-label{display:block}.dock:not(.expanded) .dock-group:before{content:"";display:block;width:22px;height:1px;background:var(--line-subtle);margin:var(--sp-2) auto var(--sp-1)}.dock-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:var(--sp-3);width:44px;height:38px;margin-top:var(--sp-1);border:none;background:transparent;color:var(--text-mid);border-radius:var(--r-md)}.dock-toggle:hover{background:var(--bg-hover);color:var(--text-hi)}.dock.expanded .dock-toggle{width:100%;justify-content:flex-start;padding:0 var(--sp-3)}.dock-toggle-ico{transition:transform var(--t-base) var(--ease-standard)}.dock.expanded .dock-toggle-ico{transform:rotate(180deg)}.shell-main{height:100vh;padding:var(--sp-4);padding-left:0;display:flex;overflow:hidden}.panel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1)}.screen-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid transparent;flex:0 0 auto;z-index:var(--z-sticky)}.screen-header.condensed{padding-top:var(--sp-2);padding-bottom:var(--sp-2);box-shadow:var(--shadow-1);border-bottom-color:var(--line-subtle)}.screen-title{font-size:var(--fs-2xl);transition:font-size var(--t-quick) var(--ease-standard);white-space:nowrap}.screen-header.condensed .screen-title{font-size:var(--fs-lg)}.header-search{position:relative;display:flex;align-items:center}.header-search input{width:300px;max-width:38vw;padding-right:28px}.header-search-x{position:absolute;right:4px;background:transparent;border:none;color:var(--text-low);padding:2px 6px}.header-search-x:hover{color:var(--text-hi);background:transparent}.content-wrap{flex:1;position:relative;overflow:hidden}.content-scroll{height:100%;overflow-y:auto;padding:var(--sp-6)}.user-chip{background:transparent;border:none;padding:2px}.user-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-pill);background:var(--bg-active);color:var(--text-hi);font-size:var(--fs-xs);font-weight:var(--fw-semi)}.user-chip:hover .user-avatar{background:var(--accent);color:var(--text-inverse)}.user-menu{position:absolute;top:42px;right:0;width:220px;background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-3);padding:var(--sp-2);z-index:var(--z-dropdown);animation:rise-in var(--t-base) var(--ease-enter)}.user-menu-email{font-size:var(--fs-xs);color:var(--text-mid);padding:var(--sp-2);word-break:break-all}.user-menu-hats{display:flex;flex-wrap:wrap;gap:4px;padding:0 var(--sp-2) var(--sp-2)}.user-menu button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:8px var(--sp-2);border-radius:var(--r-sm)}.user-menu button:hover{background:var(--bg-hover)}.sector-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f5f7faf5;z-index:var(--z-modal);display:grid;place-items:start center;padding:var(--sp-10) var(--sp-6);overflow-y:auto;animation:fade-in var(--t-quick) var(--ease-enter)}.sector-panel{width:min(1000px,100%);animation:scale-in var(--t-base) var(--ease-enter)}.sector-search{width:100%;padding:12px 14px;font-size:var(--fs-lg);margin-bottom:var(--sp-5)}.sector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--sp-3)}.sector-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4);min-height:104px;background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:var(--r-md);text-align:left;animation:rise-in var(--t-base) var(--ease-enter) both;transition:transform var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.sector-tile:hover,.sector-tile.focused{transform:translateY(-2px);border-color:var(--accent);background:var(--bg-hover)}.sector-ico{color:var(--accent)}.sector-name{font-size:var(--fs-md);font-weight:var(--fw-semi);color:var(--text-hi)}.sector-stat{font-size:var(--fs-xs)}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) 0}.pager-info{font-size:var(--fs-xs);color:var(--text-mid)}.pager-nav{display:inline-flex;align-items:center;gap:2px}.pager-page{min-width:30px;padding:5px 8px;border:1px solid transparent;background:transparent;color:var(--text-mid);border-radius:var(--r-sm)}.pager-page:hover{background:var(--bg-hover);color:var(--text-hi)}.pager-page.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.pager-gap{color:var(--text-low);padding:0 4px}.pager-nav .ghost{min-width:30px;padding:5px 8px}.cmdk-hint{font-size:var(--fs-xs);color:var(--text-low);cursor:pointer}.cmdk-hint:hover{color:var(--text-mid)}button.ghost{background:transparent;border:none;color:var(--text-mid)}button.ghost:hover{background:var(--bg-hover);color:var(--text-hi)}.relay{display:flex;flex-direction:column;gap:var(--sp-2);width:100%;min-width:0}.relay-track{display:flex;gap:3px;width:100%}.relay-seg{flex:1 1 0;min-width:0;border-radius:var(--r-pill)}.relay-full .relay-seg{height:8px}.relay-compact .relay-track{gap:2px}.relay-compact .relay-seg{height:6px}.relay-seg-done{background:var(--status-done)}.relay-seg-current{background:var(--accent)}.relay-seg-future{background:transparent;border:1px solid var(--line-strong)}.relay-seg-breach{background:var(--status-danger)}.relay-seg-off{background:transparent;border:1px dashed var(--line-strong)}.relay-full .relay-seg-done,.relay-full .relay-seg-breach:not(.relay-cur){animation:relay-seg-in var(--t-base) var(--ease-enter) backwards;transform-origin:left center}@keyframes relay-seg-in{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}.relay-caption{font-size:var(--fs-xs);color:var(--text-mid);line-height:var(--lh-tight)}.relay-cap-current strong{color:var(--accent)}.relay-cap-breach,.relay-cap-breach strong{color:var(--status-danger)}.relay-cap-done{color:var(--status-done)}.relay-cap-off{color:var(--text-low)}.relay-cap-meta{color:var(--text-mid)}.relay-cap-flag{color:var(--status-danger);font-weight:var(--fw-semi)}.relay-dot{display:inline-block;width:7px;height:7px;border-radius:50%;vertical-align:middle}.relay-dot.current{background:var(--accent)}.relay-dot.breach{background:var(--status-danger)}.relay-dot.done{background:var(--status-done)}.spark{position:relative;display:inline-block;line-height:0}.spark svg{display:block;overflow:visible}.spark-line{stroke:var(--accent);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.spark-area{fill:var(--accent-soft);stroke:none}.spark-hair{stroke:var(--line-strong);stroke-width:1}.spark-dot{fill:var(--accent);stroke:var(--bg-surface);stroke-width:1.5}.spark-tip{position:absolute;bottom:100%;margin-bottom:4px;transform:translate(-50%);white-space:nowrap;background:var(--bg-raised);color:var(--text-hi);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);font-size:var(--fs-2xs);padding:2px 6px;border-radius:var(--r-sm);pointer-events:none;z-index:var(--z-dropdown)}.spark-empty{display:inline-block}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16202e66;z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;animation:fade-in var(--t-quick) var(--ease-enter)}.cmdk{width:min(560px,96vw);max-height:70vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-3);animation:scale-in var(--t-base) var(--ease-enter)}.cmdk-input{border:none;border-bottom:1px solid var(--line-subtle);border-radius:0;background:var(--bg-raised);padding:14px 16px;font-size:var(--fs-lg)}.cmdk-input:focus{border-color:var(--line-subtle)}.cmdk-list{overflow-y:auto;padding:var(--sp-2)}.cmdk-group-label{font-size:var(--fs-2xs);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);padding:var(--sp-3) var(--sp-2) var(--sp-1)}.cmdk-item{display:flex;align-items:center;gap:var(--sp-3);padding:9px var(--sp-2);border-radius:var(--r-sm);cursor:pointer;color:var(--text-hi)}.cmdk-item .cmdk-ico{color:var(--text-mid);display:flex;flex:0 0 auto}.cmdk-item.active,.cmdk-item:hover{background:var(--bg-hover)}.cmdk-item.active .cmdk-ico{color:var(--accent)}.cmdk-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-sub{color:var(--text-low);font-size:var(--fs-xs);margin-left:auto;padding-left:var(--sp-3);white-space:nowrap}.cmdk-empty{padding:var(--sp-6);text-align:center;color:var(--text-low);font-size:var(--fs-sm)}.cockpit-grid{display:grid;grid-template-columns:1fr 336px;gap:var(--sp-4);align-items:start}@media (max-width: 1000px){.cockpit-grid{grid-template-columns:1fr}}.cockpit-board-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line-subtle);cursor:pointer;transition:background var(--t-fast) var(--ease-standard)}.cockpit-board-row:last-child{border-bottom:none}.cockpit-board-row:hover{background:var(--bg-hover)}.cockpit-board-head{display:flex;align-items:baseline;gap:var(--sp-2);justify-content:space-between}.alerts-rail-row{display:flex;gap:var(--sp-2);padding:9px 12px;border-bottom:1px solid var(--line-subtle);cursor:pointer;transition:background var(--t-fast) var(--ease-standard)}.alerts-rail-row:last-child{border-bottom:none}.alerts-rail-row:hover{background:var(--bg-hover)}.alerts-rail-row.unread{background:var(--accent-soft)}.kpi-spark{margin-top:var(--sp-2)}.mobile-bar{display:none}@media (max-width: 900px){.shell,.shell.dock-expanded{grid-template-columns:1fr}.dock{display:none}.shell-main{padding:0}.panel{border:none;border-radius:0;box-shadow:none}.content-scroll{padding:var(--sp-4);padding-bottom:76px}.screen-header{padding:var(--sp-3) var(--sp-4)}.header-search input{width:42vw}.card{overflow-x:auto}table{min-width:max-content}table thead th:first-child,table tbody td:first-child{position:sticky;left:0;z-index:1}table tbody td:first-child{background:var(--bg-surface)}.mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);height:60px;background:var(--bg-surface);border-top:1px solid var(--line-subtle);box-shadow:0 -2px 12px #101e3614;justify-content:space-around;align-items:stretch;padding:0 var(--sp-1)}.mobile-tab{position:relative;flex:1 1 0;display:grid;place-items:center;min-width:44px;border:none;background:transparent;color:var(--text-mid);border-radius:0}.mobile-tab.active{color:var(--accent)}.mobile-tab.active:before{content:"";position:absolute;top:0;left:22%;right:22%;height:2px;background:var(--accent);border-radius:var(--r-pill)}.mobile-badge{position:absolute;top:6px;right:20%;min-width:15px;height:15px;padding:0 3px;border-radius:var(--r-pill);background:var(--status-danger);color:var(--text-inverse);font-size:9px;font-weight:var(--fw-bold);line-height:15px;text-align:center}}@media (pointer: coarse){button:not(.dock-glyph):not(.pager-page),input,select{min-height:44px}.mobile-tab{min-height:60px}}@media (max-width: 640px){table.cards-sm{min-width:0}table.cards-sm thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}table.cards-sm,table.cards-sm tbody{display:block}table.cards-sm tr{display:block;border:1px solid var(--line-subtle);border-radius:var(--r-md);background:var(--bg-surface);box-shadow:var(--shadow-1);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3)}table.cards-sm tr:before,table.cards-sm td:first-child:before{display:none}table.cards-sm td{display:flex;justify-content:space-between;gap:var(--sp-3);align-items:baseline;border:none;padding:5px 0;text-align:right}table.cards-sm td:first-child{position:static;background:transparent;font-weight:var(--fw-semi);font-size:var(--fs-md)}table.cards-sm td[data-label]:before{content:attr(data-label);color:var(--text-mid);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-semi);text-align:left;flex:0 0 auto;white-space:nowrap}}:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px;border-radius:inherit}@media (prefers-reduced-motion: reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{:root{--bg-canvas: #fff;--bg-surface: #fff;--bg-raised: #fff;--bg-inset: #fff;--bg-hover: #fff;--bg-active: #fff;--text-hi: #000;--text-mid: #333;--text-low: #555;--text-inverse: #000;--line-subtle: #ccc;--line-strong: #999}body{background:#fff;color:#000}aside,header,button,.modal-backdrop,.drawer-backdrop,.toast-wrap,.notif-panel,.bell,.cmdk-overlay,.sector-overlay,.mobile-bar{display:none!important}.relay-seg-current,.relay-seg-done{background:#444!important}.relay-seg-breach{background:#000!important}.spark-area{fill:#eee!important}.spark-line{stroke:#000!important}main>section{padding:0!important}.card{border:1px solid #ccc;box-shadow:none;page-break-inside:avoid}th{background:#f2f2f2}tr{page-break-inside:avoid}a{text-decoration:none;color:inherit}.num{color:#000}}.kpi-value{white-space:nowrap;max-width:100%}.badge{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.seg-toggle{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden;margin-right:var(--sp-1);flex:0 0 auto}.seg-toggle button{border:none;border-radius:0;background:var(--bg-surface);color:var(--text-mid);padding:0 10px;min-width:30px;cursor:pointer;font-weight:var(--fw-semi)}.seg-toggle button+button{border-left:1px solid var(--line-strong)}.seg-toggle button.active{background:var(--accent);color:var(--text-inverse)}.quote-preview{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:baseline;background:var(--bg-inset);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--text-mid)}.quote-preview-total{font-weight:var(--fw-semi);color:var(--text-hi)}.quote-preview .num{color:var(--text-hi)}.relay-handoffs{list-style:none;margin:var(--sp-2) 0 0;padding:var(--sp-2) 0 0;border-top:1px solid var(--line-subtle);display:flex;flex-direction:column;gap:2px}.relay-handoffs li{font-size:var(--fs-xs);color:var(--text-mid);line-height:1.5}.relay-ho-stage{font-weight:var(--fw-semi);color:var(--text-hi)}.relay-ho-person{color:var(--text-mid)}.relay-ho-time{color:var(--text-low)}
