:root{--void: #06081A;--void-2: #0A0D24;--surface: #0E1130;--surface-2: #131742;--surface-3: #191D4F;--border: #232659;--border-lit: #3A3E85;--border-focus: #8B5CF6;--purple: #5E28B5;--purple-lite: #8B5CF6;--purple-dim: rgba(139, 92, 246, .14);--gold: #FFB627;--gold-lite: #FFD180;--gold-dim: rgba(255, 182, 39, .14);--teal: #5EE8D5;--teal-dim: rgba(94, 232, 213, .14);--success: #3DDBA3;--success-dim: rgba(61, 219, 163, .14);--danger: #FF6B6B;--danger-dim: rgba(255, 107, 107, .12);--ink: #FFFFFF;--ink-dim: #EFEEFF;--ink-mute: #DCD9FF;--ink-faint: #C3BFF7;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--sidebar-w: 248px;--topbar-h: 64px}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--void);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}.deva{font-family:Noto Sans Devanagari,sans-serif}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.display{font-family:Space Grotesk,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::selection{background:var(--purple);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-lit);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.app-main{min-width:0}.sidebar{background:var(--void-2);border-right:1px solid var(--border);padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.sb-brand{padding:4px 10px 6px;margin-bottom:22px}.sb-brand-row{display:flex;align-items:baseline;gap:8px}.sb-brand-en{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:19px;color:var(--ink)}.sb-brand-hi{font-size:14px;color:var(--gold);font-weight:600}.sb-brand-role{font-size:11.5px;color:var(--ink-faint);margin-top:2px;letter-spacing:.02em}.sb-group-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;padding:18px 10px 8px}.sb-link{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--ink-dim);transition:background .15s ease,color .15s ease;margin-bottom:2px;width:100%;text-align:left;background:none;border:1px solid transparent}.sb-link svg{width:18px;height:18px;flex-shrink:0;opacity:1}.sb-link:hover{background:var(--surface);color:var(--ink)}.sb-link.active{background:linear-gradient(135deg,var(--purple-dim),rgba(139,92,246,.06));color:var(--ink);border:1px solid rgba(139,92,246,.3);font-weight:600}.sb-link.active svg{opacity:1;color:var(--purple-lite)}.topbar{min-height:var(--topbar-h);border-bottom:1px solid var(--border);background:#06081ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:10px 28px;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:20}.college-switcher{display:flex;align-items:center;gap:10px;padding:9px 16px;background:var(--surface);border:1px solid var(--border-lit);border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--ink);min-width:220px;transition:border-color .15s ease;cursor:pointer}.college-switcher:hover{border-color:var(--purple-lite)}.college-switcher svg{width:15px;height:15px;color:var(--ink-faint);margin-left:auto}.college-switcher .cs-icon{width:16px;height:16px;color:var(--teal);margin-left:0}select.college-switcher{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C3BFF7' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px;padding-right:38px;max-width:100%}.topbar-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.admin-badge{display:flex;align-items:center;gap:8px;font-size:13px}.admin-badge .role-pill{padding:3px 10px;background:var(--gold-dim);color:var(--gold);border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.03em}.admin-badge .admin-name{color:var(--ink-dim)}.btn-signout{padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-lit);background:transparent;color:var(--ink-dim);font-size:13px;font-weight:500;transition:border-color .15s ease,color .15s ease}.btn-signout:hover{border-color:var(--danger);color:var(--danger)}.page{padding:36px 40px 60px;max-width:1400px}.page-head{margin-bottom:28px}.page-title{font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:700;color:var(--ink);margin-bottom:6px}.page-desc{font-size:14.5px;color:var(--ink-mute);max-width:620px;line-height:1.55}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}.card+.card{margin-top:20px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.span-2{grid-column:span 2}.form-label{font-size:12.5px;font-weight:600;color:var(--ink-mute);letter-spacing:.01em;display:flex;align-items:center;gap:6px}.form-label .required-dot{width:4px;height:4px;border-radius:50%;background:var(--gold)}.form-input,.form-select{background:var(--void-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;font-size:14px;color:var(--ink);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.form-input::placeholder{color:var(--ink-faint)}.form-input:hover,.form-select:hover{border-color:var(--border-lit)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--border-focus);background:var(--surface-2);box-shadow:0 0 0 4px #8b5cf624}.form-input:disabled,.form-select:disabled{opacity:.5;cursor:not-allowed}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C3BFF7' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px;cursor:pointer}.form-hint{font-size:12px;color:var(--ink-faint);margin-top:2px}.form-actions{display:flex;justify-content:flex-end;margin-top:22px;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;border:none;transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s ease,background .15s ease,border-color .15s ease}.btn svg{width:16px;height:16px}.btn-primary{background:linear-gradient(135deg,var(--gold-lite),var(--gold));color:#241300;box-shadow:0 6px 20px #ffb62747}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 9px 26px #ffb62766}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface-2);color:var(--ink);border:1.5px solid var(--border-lit)}.btn-secondary:hover{border-color:var(--purple-lite);background:var(--surface-3)}.btn-ghost{background:transparent;color:var(--ink-dim);border:1.5px solid var(--border)}.btn-ghost:hover{border-color:var(--border-lit);color:var(--ink)}.btn-commit{background:linear-gradient(135deg,#63EFC0,var(--success));color:#04241a;box-shadow:0 6px 20px #3ddba342}.btn-commit:hover{transform:translateY(-1px);box-shadow:0 9px 26px #3ddba35c}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-block{width:100%;justify-content:center}.alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius-md);font-size:13.5px;margin-top:18px}.alert svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.alert-error{background:var(--danger-dim);border:1px solid rgba(255,107,107,.3);color:#ffb4b4}.alert-error svg{color:var(--danger)}.alert-success{background:var(--success-dim);border:1px solid rgba(61,219,163,.3);color:#a8f5dc}.alert-success svg{color:var(--success)}.alert-info{background:var(--purple-dim);border:1px solid rgba(139,92,246,.3);color:var(--ink-dim)}.alert-info svg{color:var(--purple-lite)}.alert-title{font-weight:700;margin-bottom:2px;color:inherit}.alert-body{color:inherit;opacity:.85}.alert-dismiss{margin-left:auto;background:none;border:none;color:inherit;opacity:.6;padding:2px;border-radius:4px}.alert-dismiss:hover{opacity:1;background:#ffffff14}.alert-retry{font-size:12.5px;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:2px;margin-top:6px;display:inline-block;background:none;border:none;padding:0}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:var(--void-2)}th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);padding:13px 18px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:15px 18px;font-size:14px;color:var(--ink-dim);border-bottom:1px solid var(--border)}tbody tr{transition:background .15s ease}tbody tr:hover{background:var(--surface)}tbody tr:last-child td{border-bottom:none}td.strong{color:var(--ink);font-weight:600}td.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;color:var(--ink-mute)}td.nowrap{white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;font-size:11.5px;font-weight:700;letter-spacing:.02em}.badge-affiliated{background:var(--teal-dim);color:var(--teal)}.badge-autonomous{background:var(--gold-dim);color:var(--gold)}.badge-deemed{background:var(--purple-dim);color:var(--purple-lite)}.badge-active{background:var(--success-dim);color:var(--success)}.badge-inactive{background:#9c9ad11f;color:var(--ink-faint)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 40px}.empty-illo{width:200px;height:160px;margin-bottom:28px;color:var(--border-lit)}.empty-title{font-family:Space Grotesk,sans-serif;font-size:19px;font-weight:700;color:var(--ink);margin-bottom:8px}.empty-desc{font-size:14px;color:var(--ink-mute);max-width:360px;line-height:1.6;margin-bottom:24px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 24px;text-align:left;width:100%;border-color:var(--border);transition:border-color .15s ease,background .15s ease}button.stat-card:hover{border-color:var(--purple-lite);background:var(--surface-2)}.stat-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.stat-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center}.stat-icon svg{width:17px;height:17px}.stat-value{font-family:Space Grotesk,sans-serif;font-size:28px;font-weight:700;color:var(--ink)}.stat-label{font-size:12.5px;color:var(--ink-mute);margin-top:3px}.stat-delta{font-size:12px;font-weight:600;display:flex;align-items:center;gap:3px}.stat-delta.up{color:var(--success)}.stat-delta.down{color:var(--danger)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:400px}.login-brand{font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:700}.login-brand .deva{color:var(--gold);font-size:21px;margin-left:8px}.login-sub{font-size:13px;color:var(--ink-mute);margin:6px 0 26px}.login-fields{display:flex;flex-direction:column;gap:16px}.login-note{font-size:11.5px;color:var(--ink-faint);margin-top:20px;line-height:1.6}.nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-lit);background:var(--surface);color:var(--ink-dim);flex-shrink:0}.nav-toggle svg{width:20px;height:20px}.nav-scrim{display:none}.upload-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border);overflow-x:auto}.upload-tab{padding:12px 4px;margin-right:28px;font-size:14px;font-weight:600;color:var(--ink-mute);border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none}.upload-tab:hover{color:var(--ink-dim)}.upload-tab.active{color:var(--ink);border-bottom-color:var(--gold)}.upload-tab svg{width:16px;height:16px}.dropzone{border:1.5px dashed var(--border-lit);border-radius:var(--radius-lg);padding:56px 24px;text-align:center;background:var(--void-2);transition:border-color .2s ease,background .2s ease;cursor:pointer;width:100%}.dropzone:hover,.dropzone.drag{border-color:var(--purple-lite);background:var(--purple-dim)}.dropzone-icon{width:54px;height:54px;margin:0 auto 18px;border-radius:14px;background:var(--purple-dim);display:flex;align-items:center;justify-content:center}.dropzone-icon svg{width:26px;height:26px;color:var(--purple-lite)}.dropzone-title{font-size:15.5px;font-weight:600;color:var(--ink);margin-bottom:6px}.dropzone-sub{font-size:13px;color:var(--ink-mute)}.step-row{display:flex;align-items:center;gap:0;margin-bottom:32px;flex-wrap:wrap;row-gap:12px}.step-item{display:flex;align-items:center;gap:10px}.step-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.step-num svg{width:13px;height:13px}.step-item.done .step-num{background:var(--success-dim);color:var(--success)}.step-item.active .step-num{background:var(--gold);color:#241300}.step-item.pending .step-num{background:var(--surface-2);color:var(--ink-faint);border:1.5px solid var(--border)}.step-label{font-size:13.5px;font-weight:600}.step-item.done .step-label,.step-item.active .step-label{color:var(--ink)}.step-item.pending .step-label{color:var(--ink-faint)}.step-line{width:48px;height:1.5px;background:var(--border);margin:0 14px}.step-item.done+.step-line{background:var(--success);opacity:.4}.preview-row-ok{background:var(--success-dim)!important}.preview-row-err{background:var(--danger-dim)!important}.preview-row-skip{background:var(--gold-dim)!important}.row-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;white-space:nowrap}.row-status.ok{color:var(--success)}.row-status.err{color:var(--danger)}.row-status.skip{color:var(--gold)}.row-status svg{width:13px;height:13px;flex-shrink:0}.file-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.file-name{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-name>svg{width:20px;height:20px;color:var(--teal);flex-shrink:0}.file-name .fn{font-weight:600;color:var(--ink);word-break:break-all}.file-meta{font-size:12px;color:var(--ink-faint)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.tpl-card{display:flex;flex-direction:column;gap:10px}.tpl-card .stat-icon{width:38px;height:38px;background:var(--purple-dim);color:var(--purple-lite)}.tpl-card .stat-icon svg{width:19px;height:19px}.tpl-title{font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:600;color:var(--ink)}.tpl-note{font-size:12.5px;color:var(--ink-mute);flex:1;min-height:34px;line-height:1.5}.tpl-actions{display:flex;gap:10px}.tpl-actions .btn{flex:1;justify-content:center;padding:9px 12px;font-size:13px}.summary-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.summary-pill{background:var(--void-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 18px;min-width:104px}.summary-value{font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700}.summary-label{font-size:11.5px;color:var(--ink-mute);margin-top:2px}.summary-pill.ok .summary-value{color:var(--success)}.summary-pill.err .summary-value{color:var(--danger)}.summary-pill.skip .summary-value{color:var(--gold)}.section-head{font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:16px}.inline-actions{display:flex;gap:8px}.btn-mini{padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:1px solid var(--border-lit);background:transparent;color:var(--ink-dim)}.btn-mini:hover{border-color:var(--purple-lite);color:var(--ink)}.btn-mini.danger:hover{border-color:var(--danger);color:var(--danger)}.back-link{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--ink-mute);font-size:13px;font-weight:500;padding:0;margin-bottom:16px}.back-link:hover{color:var(--ink)}.back-link svg{width:15px;height:15px}.muted{color:var(--ink-mute)}.loading-line{color:var(--ink-mute);font-size:14px;padding:20px 0}@media (max-width: 1080px){.app-shell{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.nav-toggle{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);z-index:60;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0);box-shadow:0 0 40px #00000080}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#04051099;z-index:50;border:none}}@media (max-width: 640px){.page{padding:24px 18px 40px}.form-grid{grid-template-columns:1fr}.topbar{padding:10px 18px}.card{padding:20px}.form-field.span-2{grid-column:span 1}}a:focus-visible,button:focus-visible,.form-input:focus-visible,.form-select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}:root{--blue: #7DA6FF;--blue-dim: rgba(125,166,255,.14);--pink: #F472B6;--pink-dim: rgba(244,114,182,.14)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stack{display:flex;flex-direction:column;gap:20px}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid{display:grid}.clickable{cursor:pointer}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}.page-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.card-head .section-head{margin-bottom:0}.card-sub{font-size:12.5px;color:var(--ink-mute);margin-top:3px;line-height:1.45;max-width:60ch}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.card-flush{padding:0}.card-danger{border-color:#ff6b6b66}.card-gold{border-color:#ffb62766}.card+.card{margin-top:0}.stack>.card+.card{margin-top:0}.kpi{display:flex;flex-direction:column;gap:6px;padding:20px 22px}.kpi-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.kpi-top svg{width:18px;height:18px;color:var(--ink-faint)}.kpi .stat-value{font-size:30px;line-height:1.05;letter-spacing:-.01em}.kpi-sm .stat-value{font-size:22px}.kpi-sub{font-size:12px;color:var(--ink-mute);line-height:1.4}.kpi.clickable:hover{border-color:var(--purple-lite);background:var(--surface-2)}.chart{position:relative}.chart-empty{color:var(--ink-faint);font-size:13px;padding:18px 0}.chart-tip{position:absolute;z-index:30;pointer-events:none;background:var(--void-2);border:1px solid var(--border-lit);border-radius:8px;padding:8px 11px;font-size:12.5px;box-shadow:0 10px 30px #00000073;min-width:120px;max-width:260px;transform:translateY(-100%)}.chart-tip-title{font-weight:600;color:var(--ink)}.chart-tip-body{color:var(--ink-mute);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:12px}.hbar-row{display:grid;align-items:center;gap:12px;padding:4px 0;border-radius:6px}.hbar-row.clickable:hover{background:var(--surface-2)}.hbar-label{font-size:13px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{background:var(--surface-3);border-radius:0 4px 4px 0;overflow:hidden}.hbar-fill{border-radius:0 4px 4px 0;transition:width .4s cubic-bezier(.2,.8,.2,1)}.hbar-val{font-size:12.5px;color:var(--ink-mute);text-align:right;min-width:52px}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1}.chart-baseline{stroke:var(--border-lit);stroke-width:1.2}.chart-axis{fill:var(--ink-faint);font-size:11px;font-family:JetBrains Mono,monospace}.chart-val{fill:var(--ink-mute);font-size:11px;font-family:JetBrains Mono,monospace}.chart-bar{transition:opacity .15s}.chart-bar:hover{opacity:.85}.chart-arc{transition:opacity .15s}.chart-arc:hover{opacity:.8}.donut{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.donut-center{fill:var(--ink);font-family:Space Grotesk,sans-serif;font-weight:700;font-size:22px}.donut-center-label{fill:var(--ink-faint);font-size:11px}.legend{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:160px}.legend.row{flex-direction:row;flex-wrap:wrap;gap:14px;margin-top:10px}.legend li{display:flex;align-items:center;gap:8px}.legend-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-label{color:var(--ink-dim);flex:1}.legend-val{color:var(--ink-mute);font-size:12px}.spark{display:inline-block}.ring{display:flex;flex-direction:column;align-items:center;gap:6px}.ring-val{fill:var(--ink);font-family:Space Grotesk,sans-serif;font-weight:700;font-size:14px}.ring-label{font-size:12px;color:var(--ink-mute);text-align:center}.heat-wrap{overflow-x:auto}.heat{border-collapse:separate;border-spacing:3px;width:auto}.heat th{background:transparent;border:none;padding:4px 8px;font-size:11px;color:var(--ink-faint);text-transform:none;letter-spacing:0}.heat td{border:none;padding:0}.heat-cell{min-width:46px;height:34px;text-align:center;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink);border-radius:6px;padding:0 6px!important}.heat-cell.muted{opacity:.5}.heat-cell.clickable:hover{outline:2px solid var(--gold)}.heat-empty{background:var(--void-2);border-radius:6px;min-width:46px;height:34px}.heat-legend{font-size:12px;color:var(--ink-faint);margin-top:8px}.stack-track{display:flex;gap:2px;background:transparent}.stack-seg{height:14px;border-radius:3px;min-width:2px}.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.pill-muted{background:#9c9ad124;color:var(--ink-faint)}.pill-purple{background:var(--purple-dim);color:var(--purple-lite)}.pill-gold{background:var(--gold-dim);color:var(--gold)}.pill-teal{background:var(--teal-dim);color:var(--teal)}.pill-success{background:var(--success-dim);color:var(--success)}.pill-danger{background:var(--danger-dim);color:var(--danger)}.badge svg{width:12px;height:12px}.badge-gold{background:var(--gold-dim);color:var(--gold)}.badge-purple{background:var(--purple-dim);color:var(--purple-lite)}.badge-teal{background:var(--teal-dim);color:var(--teal)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-success{background:var(--success-dim);color:var(--success)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:100px;font-size:12.5px;font-weight:600;border:1px solid var(--border)}.chip svg{width:13px;height:13px}.chip-on{color:var(--success);border-color:#3ddba359;background:var(--success-dim)}.chip-off{color:var(--ink-faint);background:var(--void-2)}.chip-count{font-size:11px;opacity:.8}.form-field.span-3{grid-column:span 3}.toggle{width:44px;height:24px;border-radius:100px;background:var(--surface-3);border:1px solid var(--border-lit);position:relative;padding:0}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--ink-faint);transition:transform .15s,background .15s}.toggle.on{background:var(--success-dim);border-color:var(--success)}.toggle.on .toggle-knob{transform:translate(20px);background:var(--success)}.form-input.mono{font-family:JetBrains Mono,monospace}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--border-lit);border-top-color:var(--teal);animation:spin .8s linear infinite;margin-right:10px;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tab-count{font-size:11px;color:var(--ink-faint);margin-left:4px}.kv{display:grid;gap:12px 24px}.kv-item dt{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}.kv-item dd{font-size:14px;color:var(--ink-dim);line-height:1.5}.callout{border-left:3px solid var(--teal);background:var(--teal-dim);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:12px 16px;font-size:13.5px;color:var(--ink-dim);line-height:1.55}.callout-gold{border-color:var(--gold);background:var(--gold-dim)}.callout-danger{border-color:var(--danger);background:var(--danger-dim)}.callout-purple{border-color:var(--purple-lite);background:var(--purple-dim)}.callout-title{font-weight:700;color:var(--ink);margin-bottom:3px}.collecting{border:1.5px dashed var(--border-lit);border-radius:var(--radius-lg);padding:26px 28px;background:var(--void-2);display:flex;flex-direction:column;gap:12px}.collecting-head{display:flex;align-items:center;gap:10px;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:15.5px}.collecting-head svg{width:18px;height:18px;color:var(--gold)}.collecting p{font-size:13.5px;color:var(--ink-mute);max-width:60ch}.needs{list-style:none;display:flex;flex-direction:column;gap:6px}.needs li{display:flex;align-items:center;gap:10px;font-size:13.5px}.needs li svg{width:15px;height:15px}.needs li.have{color:var(--success)}.needs li.need{color:var(--ink-dim)}.needs li.need svg{color:var(--gold)}.needs-label{font-weight:600}.needs-why{color:var(--ink-faint);font-size:12.5px}.collecting .btn{align-self:flex-start}.dt-bar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.dt-search{max-width:320px;padding:9px 12px}.dt-meta{font-size:12px;color:var(--ink-faint);margin-left:auto}.dt-pager{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap;font-size:13px;color:var(--ink-mute)}.dt-pager .btn{padding:7px 12px;font-size:12.5px}.dt-size{width:auto;padding:7px 34px 7px 10px;font-size:12.5px}.dt-empty{color:var(--ink-faint);text-align:center;padding:26px!important}.th-sort{background:none;border:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;display:inline-flex;align-items:center;gap:4px}.th-sort.on{color:var(--ink)}.sort-arrow{font-size:11px}td.num{font-family:JetBrains Mono,monospace;text-align:right;font-variant-numeric:tabular-nums}table.dense td{padding:9px 12px;font-size:13px}table.dense th{padding:9px 12px}tbody tr.clickable:hover{background:var(--surface-2)}.kb-frame{display:flex;flex-direction:column;gap:20px}.kb-head{display:flex;gap:18px;align-items:flex-start}.kb-id{font-size:12px;font-weight:600;color:var(--gold);border:1px solid rgba(255,182,39,.4);border-radius:8px;padding:6px 9px;background:var(--gold-dim);margin-top:4px}.kb-badges{display:flex;gap:8px;align-items:center}.kb-needs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.kb-needs-label{font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-right:4px}.kb-needs .btn{padding:6px 12px;font-size:12.5px}.kb-spec-toggle{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--ink-dim);font-size:13.5px;font-weight:600;padding:0;text-align:left}.kb-spec-toggle svg{width:16px;height:16px}.kb-spec-toggle .muted{margin-left:auto;font-size:12px}.spec{margin-top:18px;display:flex;flex-direction:column;gap:18px}.spec-key{font-family:Space Grotesk,sans-serif;font-size:13px;text-transform:capitalize;color:var(--teal);margin-bottom:8px}.spec-val{font-size:13.5px;color:var(--ink-dim);line-height:1.55}.spec-list{padding-left:18px;font-size:13.5px;color:var(--ink-dim);display:flex;flex-direction:column;gap:3px}.spec-dl{display:flex;flex-direction:column;gap:6px}.spec-row{display:grid;grid-template-columns:180px 1fr;gap:12px;font-size:13.5px}.spec-row dt{color:var(--ink-faint);text-transform:capitalize}.spec-row dd{color:var(--ink-dim);min-width:0}.spec-stack{display:flex;flex-direction:column;gap:10px}.spec-card{background:var(--void-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}@media (max-width: 760px){.spec-row{grid-template-columns:1fr;gap:2px}.two-col{grid-template-columns:1fr}}.kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.kb-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s}.kb-card:hover{border-color:var(--purple-lite);transform:translateY(-1px)}.kb-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kb-card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--purple-dim);color:var(--purple-lite)}.kb-card-icon svg{width:18px;height:18px}.kb-card-title{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:15.5px;color:var(--ink)}.kb-card-blurb{font-size:13px;color:var(--ink-mute);line-height:1.5;flex:1}.kb-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.tier-head{display:flex;align-items:baseline;gap:12px;margin:30px 0 14px}.tier-head h2{font-family:Space Grotesk,sans-serif;font-size:18px}.tier-head .muted{font-size:13px}.sb-group{margin-top:6px}.sb-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:var(--ink-faint);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:14px 10px 6px;cursor:pointer}.sb-group-toggle svg{width:14px;height:14px;transition:transform .15s}.sb-group-toggle.open svg{transform:rotate(180deg)}.sb-link .sb-count{margin-left:auto;font-size:11px;color:var(--ink-faint);font-family:JetBrains Mono,monospace}.sb-link.sub{padding-left:22px;font-size:13px}.sb-link .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-live{background:var(--success)}.dot-partial{background:var(--gold)}.dot-collecting{background:var(--border-lit)}.sb-foot{margin-top:auto;padding:14px 10px 4px;font-size:11px;color:var(--ink-faint);line-height:1.5}.acct-menu{position:relative}.acct-btn{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border-lit);border-radius:var(--radius-sm);padding:7px 12px;color:var(--ink);font-size:13px}.acct-btn svg{width:15px;height:15px;color:var(--ink-faint)}.acct-pop{position:absolute;right:0;top:calc(100% + 6px);background:var(--void-2);border:1px solid var(--border-lit);border-radius:var(--radius-md);min-width:220px;padding:8px;z-index:40;box-shadow:0 14px 40px #00000080;display:flex;flex-direction:column;gap:2px}.acct-pop button{width:100%;text-align:left;background:none;border:none;color:var(--ink-dim);padding:9px 10px;border-radius:6px;font-size:13.5px;display:flex;align-items:center;gap:10px}.acct-pop button:hover{background:var(--surface-2);color:var(--ink)}.acct-pop button svg{width:15px;height:15px}.acct-pop .acct-info{padding:6px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;font-size:12.5px;color:var(--ink-mute)}.acct-pop .acct-info b{color:var(--ink);display:block}.hero-band{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}@media (max-width: 1080px){.hero-band{grid-template-columns:1fr}}.health-strip{display:flex;gap:10px;flex-wrap:wrap}.health-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;font-size:13px;border:1px solid var(--border);background:var(--void-2);color:var(--ink-dim)}.health-pill svg{width:14px;height:14px}.health-pill.critical{border-color:#ff6b6b66;color:#ffb4b4}.health-pill.critical svg{color:var(--danger)}.health-pill.warning{border-color:#ffb62766;color:var(--gold-lite)}.health-pill.warning svg{color:var(--gold)}.health-pill.ok{border-color:#3ddba359;color:#a8f5dc}.health-pill.ok svg{color:var(--success)}.health-pill .mono{font-size:12px;opacity:.85}.issue{display:grid;grid-template-columns:6px 1fr auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.issue-stripe{align-self:stretch}.issue.critical .issue-stripe{background:var(--danger)}.issue.warning .issue-stripe{background:var(--gold)}.issue.info .issue-stripe{background:var(--blue)}.issue.ok .issue-stripe{background:var(--success)}.issue-body{padding:14px 0}.issue-title{font-weight:600;color:var(--ink);font-size:14.5px}.issue-fix{font-size:13px;color:var(--ink-mute);margin-top:3px;max-width:70ch}.issue-count{font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:700;padding:0 22px;min-width:90px;text-align:right}.issue.critical .issue-count{color:var(--danger)}.issue.warning .issue-count{color:var(--gold)}.issue.info .issue-count{color:var(--blue)}.issue.ok .issue-count{color:var(--success)}.tt-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:18px}.tt-toolbar .form-field{min-width:180px}.tt-wrap{overflow-x:auto}.tt{border-collapse:separate;border-spacing:4px;min-width:860px;width:100%}.tt th{background:transparent;border:none;padding:6px 4px;text-align:center;font-size:11px}.tt th.day{text-align:left;padding-left:8px;width:90px}.tt td{border:none;padding:0}.tt-cell{display:flex;flex-direction:column;gap:2px;min-height:58px;border-radius:8px;padding:7px 9px;font-size:12px;background:var(--surface-2);border:1px solid var(--border);line-height:1.3;position:relative}.tt-cell.free{background:var(--void-2);border-style:dashed}.tt-cell.clash{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.tt-cell.unknown{border-color:#ffb62780}.tt-code{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--ink);font-size:12px}.tt-name{color:var(--ink-mute);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-fac{color:var(--teal);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-room{position:absolute;right:8px;top:6px;font-size:10.5px;color:var(--ink-faint);font-family:JetBrains Mono,monospace}.tt-swatch{position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px}.tt-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-mute);margin-top:12px}.tt-legend span{display:inline-flex;align-items:center;gap:6px}.tt-legend i{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid var(--border-lit)}.imp-row{display:grid;grid-template-columns:150px 1fr auto auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.imp-row:last-child{border-bottom:none}.imp-when{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-faint)}.imp-file{font-weight:600;color:var(--ink);word-break:break-all}.imp-meta{font-size:12.5px;color:var(--ink-mute)}.imp-n{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:18px}.imp-n.neg{color:var(--danger)}@media (max-width: 760px){.imp-row{grid-template-columns:1fr;gap:6px}}.cal-row{display:grid;grid-template-columns:1fr 160px 150px 120px auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.cal-row:last-child{border-bottom:none}.cal-item{font-weight:600;color:var(--ink)}.cal-auth{font-size:12.5px;color:var(--ink-mute)}.cal-state{font-size:12px;font-weight:700}.cal-state.overdue{color:var(--danger)}.cal-state.due_soon{color:var(--gold)}.cal-state.scheduled{color:var(--teal)}.cal-state.done{color:var(--success)}.cal-state.unscheduled{color:var(--ink-faint)}.cal-row .form-input{padding:7px 10px;font-size:13px}@media (max-width: 900px){.cal-row{grid-template-columns:1fr 1fr}}.login-wrap{background:radial-gradient(1200px 600px at 20% -10%,rgba(94,40,181,.35),transparent 60%),radial-gradient(900px 500px at 110% 110%,rgba(94,232,213,.12),transparent 60%),var(--void)}.login-card{max-width:420px}.login-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.login-strip .pill{text-transform:none;letter-spacing:0;font-weight:600}@media print{.sidebar,.topbar,.nav-toggle,.kb-spec,.btn,.dt-bar,.dt-pager{display:none!important}.app-shell{grid-template-columns:1fr}body{background:#fff;color:#000}.card,.stat-card{border-color:#ccc;background:#fff;color:#000}.stat-value,.section-head,.page-title,.kv-item dd,td,th{color:#000!important}}.dept-switch{display:flex;align-items:center;gap:8px}.dept-switch select{min-width:150px}.scope-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:100px;background:var(--teal-dim);color:var(--teal);font-size:11.5px;font-weight:700;letter-spacing:.04em}.palette-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#040510b8;z-index:90;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.palette{width:100%;max-width:640px;background:var(--void-2);border:1px solid var(--border-lit);border-radius:var(--radius-lg);box-shadow:0 30px 80px #0009;overflow:hidden}.palette-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--ink);font-size:17px;padding:16px 20px;font-family:inherit}.palette-input:focus{outline:none}.palette-list{max-height:60vh;overflow-y:auto;padding:6px}.palette-kind{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:10px 14px 4px}.palette-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;cursor:pointer;color:var(--ink-dim);font-size:14px;width:100%;background:none;border:none;text-align:left}.palette-item svg{width:16px;height:16px;color:var(--ink-faint);flex-shrink:0}.palette-item .mono{color:var(--ink-faint);font-size:12px;margin-left:auto}.palette-item.active,.palette-item:hover{background:var(--surface-2);color:var(--ink)}.palette-empty{padding:24px;color:var(--ink-faint);font-size:13.5px;text-align:center}.palette-foot{padding:8px 14px;border-top:1px solid var(--border);font-size:11.5px;color:var(--ink-faint);display:flex;gap:14px}.search-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-lit);background:var(--surface);color:var(--ink-faint);font-size:13px}.search-btn svg{width:15px;height:15px}.search-btn kbd{font-family:JetBrains Mono,monospace;font-size:11px;border:1px solid var(--border-lit);border-radius:4px;padding:1px 5px}.search-btn:hover{border-color:var(--purple-lite);color:var(--ink)}.notice{display:grid;grid-template-columns:1fr auto;gap:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.notice.pinned{border-color:#ffb62773}.notice-title{font-weight:600;color:var(--ink);font-size:15px}.notice-body{color:var(--ink-dim);font-size:13.5px;white-space:pre-wrap;line-height:1.55;grid-column:1 / -1}.notice-meta{font-size:12px;color:var(--ink-faint);grid-column:1 / -1;display:flex;gap:12px;flex-wrap:wrap}.notice-stack{display:flex;flex-direction:column;gap:10px}textarea.form-input{min-height:110px;resize:vertical;line-height:1.5}.audit-action{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--teal)}.grade-rows{display:flex;flex-direction:column;gap:8px}.grade-row{display:grid;grid-template-columns:110px 90px 90px auto;gap:10px;align-items:center}.grade-row .form-input{padding:8px 10px}.regex-test{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:13px}.regex-test .hit{color:var(--success);font-weight:600}.regex-test .miss{color:var(--danger);font-weight:600}.slot-list{display:flex;flex-wrap:wrap;gap:8px}.slot-chip{padding:6px 10px;border-radius:8px;background:var(--success-dim);color:var(--success);font-family:JetBrains Mono,monospace;font-size:12.5px}.portal{min-height:100vh;background:var(--void);display:flex;flex-direction:column}.portal-top{position:sticky;top:0;z-index:20;background:#06081ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-top .who{min-width:0}.portal-top .who b{display:block;color:var(--ink);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-top .who span{font-size:12px;color:var(--ink-faint)}.portal-body{flex:1;padding:16px 16px 90px;max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:14px}.portal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.portal-card h3{font-family:Space Grotesk,sans-serif;font-size:15.5px;margin-bottom:8px}.portal-tabs{position:fixed;bottom:0;left:0;right:0;background:var(--void-2);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:6px 4px env(safe-area-inset-bottom,6px);z-index:30}.portal-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--ink-faint);font-size:10.5px;font-weight:600;padding:6px 2px;border-radius:8px}.portal-tab svg{width:19px;height:19px}.portal-tab.active{color:var(--gold)}.portal-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(900px 500px at 20% -10%,rgba(94,40,181,.35),transparent 60%),var(--void)}.portal-login .card{width:100%;max-width:420px}.pulse-q{margin:14px 0}.pulse-q .q{font-weight:600;color:var(--ink);margin-bottom:8px;font-size:14.5px}.pulse-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.pulse-btn{padding:12px 0;border-radius:10px;border:1.5px solid var(--border-lit);background:var(--void-2);color:var(--ink-dim);font-size:15px;font-weight:700}.pulse-btn.on{background:var(--gold);color:#241300;border-color:var(--gold)}.pulse-anchors{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-faint);margin-top:4px}.period-row{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);align-items:center}.period-row:last-child{border-bottom:none}.period-row .p{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-faint)}.period-row .c{font-weight:600;color:var(--ink)}.period-row .f{font-size:12.5px;color:var(--teal)}@media (min-width: 760px){.portal-tabs{position:sticky;top:61px;bottom:auto;justify-content:flex-start;gap:4px;padding:8px 16px;border-top:none;border-bottom:1px solid var(--border)}.portal-tab{flex:0 0 auto;flex-direction:row;gap:8px;font-size:13px;padding:8px 12px}.portal-body{padding-bottom:40px}}.basis{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:100px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.basis-OFFICIAL{background:var(--success-dim);color:var(--success)}.basis-INDICATIVE{background:var(--gold-dim);color:var(--gold)}.basis-INCOMPLETE,.basis-NOT_COMPUTABLE,.basis-EVALUATED{background:#9c9ad124;color:var(--ink-faint)}.basis-INSUFFICIENT_RULES,.basis-INSUFFICIENT_EVIDENCE{background:var(--danger-dim);color:var(--danger)}.basis-unverified{border:1px dashed rgba(255,182,39,.6)}.explain-link{background:none;border:none;color:var(--teal);font-size:12.5px;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.explain-link svg{width:13px;height:13px}.explain-link:hover{color:var(--ink)}.explain-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#040510b3;z-index:95;display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.explain{width:min(720px,100%);height:100%;overflow-y:auto;background:var(--void-2);border-left:1px solid var(--border-lit);box-shadow:-30px 0 80px #0009;padding:24px 28px 60px;display:flex;flex-direction:column;gap:18px}.explain-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.explain-head h2{font-family:Space Grotesk,sans-serif;font-size:20px}.explain-result{font-family:Space Grotesk,sans-serif;font-size:32px;font-weight:700;color:var(--ink)}.explain-section{border-top:1px solid var(--border);padding-top:14px}.explain-section h4{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}.explain-kv{display:grid;grid-template-columns:160px 1fr;gap:6px 14px;font-size:13.5px}.explain-kv dt{color:var(--ink-faint)}.explain-kv dd{color:var(--ink-dim);word-break:break-word}.explain-inputs{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;font-family:JetBrains Mono,monospace;font-size:12px}.explain-input{display:flex;gap:10px;align-items:center;padding:5px 8px;border-radius:6px;background:var(--surface)}.explain-input .imp{color:var(--ink-faint);margin-left:auto}.explain-steps table{font-size:12.5px}.explain-formula{font-family:JetBrains Mono,monospace;font-size:12.5px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--ink-dim);white-space:pre-wrap}.explain-close{background:none;border:1px solid var(--border-lit);color:var(--ink-dim);border-radius:8px;padding:6px 10px}.calc-id{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-faint)}.matter{display:grid;grid-template-columns:6px 1fr;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.matter-stripe{align-self:stretch}.matter.high .matter-stripe{background:var(--danger)}.matter.medium .matter-stripe{background:var(--gold)}.matter.low .matter-stripe{background:var(--blue)}.matter-body{padding:18px 22px;display:flex;flex-direction:column;gap:10px}.matter-title{font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:600;color:var(--ink);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.matter-grid{display:grid;grid-template-columns:150px 1fr;gap:6px 16px;font-size:13.5px}.matter-grid dt{color:var(--ink-faint);font-weight:600}.matter-grid dd{color:var(--ink-dim)}.matter-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}@media (max-width: 700px){.matter-grid,.explain-kv{grid-template-columns:1fr}}.rule-row{display:grid;grid-template-columns:240px 1fr 220px;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border)}.rule-key{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--teal)}.rule-desc{font-size:12px;color:var(--ink-faint);margin-top:2px}.rule-row .form-input,.rule-row .form-select{padding:7px 10px;font-size:13px}.rule-source.missing{border-color:#ffb62799}@media (max-width: 900px){.rule-row{grid-template-columns:1fr}}.version-row{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:13.5px}.version-row .v{font-family:Space Grotesk,sans-serif;font-weight:700}.obe-tabs{margin-bottom:18px}.stream-pills{display:inline-flex;gap:6px}.stream-pill{padding:3px 9px;border-radius:100px;font-size:10.5px;font-weight:700;letter-spacing:.05em;border:1px solid var(--border-lit);color:var(--ink-faint);background:var(--void-2)}.stream-pill.on{color:var(--ink);border-color:var(--teal)}.gap-pos{color:var(--danger);font-weight:700}.gap-neg{color:var(--success);font-weight:700}.loop{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.loop-step{background:var(--void-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:12.5px}.loop-step .k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}.loop-step.done{border-color:#3ddba373}.loop-step.pending{opacity:.7}.loop-step.failed{border-color:#ff6b6b80}.history{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:12.5px}.history li{display:grid;grid-template-columns:150px 110px 1fr;gap:10px;color:var(--ink-dim)}.history li .mono{color:var(--ink-faint)}.map-grid td.s3{background:#8b5cf680}.map-grid td.s2{background:#8b5cf64d}.map-grid td.s1{background:#8b5cf624}.map-grid td.draft{outline:1px dashed var(--gold)}@media (max-width: 700px){.history li{grid-template-columns:1fr}}.accr-state{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono,ui-monospace);font-size:.72rem;padding:2px 8px;border-radius:999px;letter-spacing:.03em;border:1px solid transparent}.accr-state.SATISFIED{background:#2dd4bf26;color:var(--teal)}.accr-state.PARTIALLY_SUPPORTED,.accr-state.REQUIRES_REVIEW,.accr-state.OUTDATED_EVIDENCE{background:#f59e0b26;color:var(--gold)}.accr-state.UNSUPPORTED,.accr-state.CONFLICT,.accr-state.TAMPERED,.accr-state.CONTRADICTORY,.accr-state.EXPIRED{background:#f8717126;color:#f87171}.accr-state.NOT_APPLICABLE,.accr-state.SUPERSEDED,.accr-state.WITHDRAWN,.accr-state.OUT_OF_PERIOD,.accr-state.UNVERIFIED,.accr-state.ASSERTION,.accr-state.INCOMPLETE,.accr-state.MISSING{background:#94a3b826;color:#94a3b8}.accr-state.CURRENT,.accr-state.HISTORICAL_VALID,.accr-state.APPROVED,.accr-state.SUBMITTED,.accr-state.PASS{background:#2dd4bf26;color:var(--teal)}.accr-state.DRAFT,.accr-state.EVIDENCE_PENDING,.accr-state.REVIEW_READY,.accr-state.PROPOSED,.accr-state.INSUFFICIENT_EVIDENCE,.accr-state.NOT_DETERMINABLE{background:#f59e0b26;color:var(--gold)}.accr-state.CHALLENGED,.accr-state.FAIL,.accr-state.TIER_UNRESOLVED,.accr-state.INSUFFICIENT_RULES,.accr-state.HASH_MISMATCH{background:#f8717126;color:#f87171}.req-tree{display:grid;gap:6px}.req-tree .crit{font-weight:600;margin-top:12px}.req-tree .sub{padding-left:16px}.req-tree .leaf{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line,rgba(255,255,255,.08));border-radius:8px;padding:6px 10px 6px 32px}.graph-wrap{display:grid;grid-template-columns:1fr;gap:10px}.graph-node{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line,rgba(255,255,255,.08));border-radius:8px;cursor:pointer}.graph-node.center{border-color:var(--purple,#4C1D95);background:#4c1d9526}.graph-node .kind{font-family:var(--mono,ui-monospace);font-size:.7rem;color:#94a3b8;min-width:48px}.graph-edge{font-family:var(--mono,ui-monospace);font-size:.72rem;color:var(--gold);padding-left:22px}.evidence-room{display:grid;grid-template-columns:260px 1fr;gap:16px}@media (max-width:900px){.evidence-room{grid-template-columns:1fr}}.room-nav{display:grid;gap:4px;align-content:start}.room-nav button{text-align:left;padding:6px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer}.room-nav button.on{border-color:var(--line,rgba(255,255,255,.12));background:#ffffff0a}.diff-row{display:grid;grid-template-columns:1fr 120px 120px;gap:10px;padding:6px 0;border-bottom:1px solid var(--line,rgba(255,255,255,.06));font-size:.86rem}.diff-row.changed{color:var(--gold)}.contradiction{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contradiction .src{border:1px solid rgba(248,113,113,.4);border-radius:8px;padding:10px}.contradiction .src b{display:block;font-family:var(--mono,ui-monospace);font-size:1.1rem}.narrative p{margin:0 0 8px}.narrative .gap{color:var(--gold)}.narrative .nodes{font-family:var(--mono,ui-monospace);font-size:.7rem;color:#94a3b8}.visit-shell{max-width:1100px;margin:0 auto;padding:24px}.visit-shell h1{font-size:1.5rem}.visit-crit{margin:18px 0}.visit-req{border:1px solid var(--line,rgba(255,255,255,.08));border-radius:10px;padding:12px;margin:8px 0}.stream-switch{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--border);border-radius:100px;background:var(--void-2)}.stream-btn{border:0;background:transparent;color:var(--ink-mute);font:inherit;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:100px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.stream-btn:hover{color:var(--ink)}.stream-btn.on{background:var(--purple);color:#fff}.stream-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.as-prog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.as-prog-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.as-prog-card:hover{border-color:var(--purple-lite);background:var(--surface-2);transform:translateY(-2px)}.as-prog-card:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.as-prog-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.as-prog-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--purple-dim);color:var(--purple-lite)}.as-prog-icon svg{width:19px;height:19px}.as-prog-code{font-family:Space Grotesk,system-ui,sans-serif;font-size:25px;font-weight:700;line-height:1.1;color:var(--gold)}.as-prog-name{font-size:14px;font-weight:600;color:var(--ink)}.as-prog-blurb{font-size:13px;line-height:1.55;color:var(--ink-mute);margin:2px 0 0}.as-prog-go{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:12px;font-size:12.5px;font-weight:600;color:var(--teal)}.as-prog-go svg{width:13px;height:13px;transform:rotate(-90deg)}.as-entries{display:flex;flex-direction:column;gap:16px}.as-entry{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:20px 22px}.as-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.as-entry-title{font-size:15.5px;font-weight:650;color:var(--ink);margin:0;line-height:1.35}.as-canon{font-size:14px;line-height:1.62;color:var(--ink-dim);margin:0}.as-block{margin-top:14px;padding-left:14px;border-left:2px solid var(--purple)}.as-block-edge{border-left-color:var(--gold)}.as-block-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);margin-bottom:4px}.as-block-edge .as-block-label{color:var(--gold)}.as-block-body{font-size:13.5px;line-height:1.6;color:var(--ink-mute);margin:0}.as-authority{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.as-authority-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.as-authority-value{font-size:13px;color:var(--teal);font-weight:600}.as-verify{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:6px 11px;border-radius:100px;background:var(--gold-dim);border:1px solid rgba(255,182,39,.35);font-size:12px;font-weight:600;color:var(--gold-lite)}.as-verify-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}.as-ladder{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.as-rung{position:relative;display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2)}.as-rung-step{display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;font-family:Space Grotesk,system-ui,sans-serif;font-size:13px;font-weight:700;background:var(--purple);color:#fff}.as-rung-teal{border-color:#5ee8d566}.as-rung-teal .as-rung-step{background:var(--teal);color:#05201c}.as-rung-blue{border-color:#7da6ff66}.as-rung-blue .as-rung-step{background:var(--blue);color:#0a1330}.as-rung-gold{border-color:#ffb62766}.as-rung-gold .as-rung-step{background:var(--gold);color:#2a1b00}.as-rung-purple{border-color:#8b5cf673}.as-rung-body{min-width:0}.as-rung-year{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.as-rung-award{font-size:13.5px;font-weight:650;color:var(--ink);line-height:1.4;margin-top:2px}.as-rung-arrow{display:none}.as-ladder-note{font-size:13.5px;line-height:1.6;color:var(--ink-mute);margin:0}.as-search{display:flex;align-items:center;gap:10px;padding:0 14px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.as-search:focus-within{border-color:var(--border-focus)}.as-search>svg{width:17px;height:17px;color:var(--ink-faint);flex:none}.as-search-input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14.5px;padding:13px 0}.as-search-input::placeholder{color:var(--ink-faint)}.as-search-input:focus{outline:none}.as-search-input::-webkit-search-cancel-button{display:none}.as-search-clear{border:0;background:transparent;color:var(--ink-faint);cursor:pointer;padding:4px;display:flex}.as-search-clear:hover{color:var(--ink)}.as-search-clear svg{width:15px;height:15px}.as-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:14px}.as-filter-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.as-filter-group-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-right:2px}.as-filter{border:1px solid var(--border);background:var(--void-2);color:var(--ink-mute);font:inherit;font-size:12px;font-weight:600;padding:5px 11px;border-radius:100px;cursor:pointer;white-space:nowrap}.as-filter:hover{color:var(--ink);border-color:var(--border-lit)}.as-filter.on{background:var(--purple);border-color:var(--purple-lite);color:#fff}.as-filter:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.as-result-note{font-size:13px;color:var(--ink-mute);margin-bottom:16px;line-height:1.55}.as-domain+.as-domain{margin-top:28px}.as-domain-title{font-family:Space Grotesk,system-ui,sans-serif;font-size:16px;font-weight:650;color:var(--ink);margin:0 0 12px}.as-panels{margin-bottom:26px}.as-panels .section-head{margin-bottom:14px}.as-panel{display:flex;gap:13px;align-items:flex-start}.as-panel-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--teal-dim);color:var(--teal)}.as-panel-icon svg{width:16px;height:16px}.as-panel-body{min-width:0}.as-panel-text{font-size:13.5px;line-height:1.6;color:var(--ink-mute);margin:0}.as-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.as-check{width:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer}.as-check:hover{border-color:var(--border-lit)}.as-check:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.as-check.on{border-color:#3ddba373;background:var(--success-dim)}.as-check-box{display:flex;align-items:center;justify-content:center;flex:none;width:19px;height:19px;margin-top:1px;border:1.5px solid var(--border-lit);border-radius:5px;color:var(--success)}.as-check.on .as-check-box{border-color:var(--success)}.as-check-box svg{width:12px;height:12px}.as-check-body{min-width:0;display:flex;flex-direction:column;gap:3px}.as-check-name{font-size:13.5px;font-weight:600;color:var(--ink)}.as-check-note{font-size:12.5px;line-height:1.55;color:var(--ink-mute)}.as-two{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width: 720px){.stream-switch{width:100%;justify-content:stretch}.stream-btn{flex:1;padding:7px 8px;font-size:11.5px;text-align:center}.as-prog-grid{grid-template-columns:1fr}.as-entry{padding:16px}.as-entry-title{font-size:14.5px}.as-ladder{grid-template-columns:1fr}.as-filters{gap:6px 8px}.as-filter-group{width:100%}.as-domain-title{font-size:15px}.as-check{padding:11px 12px}.as-two{grid-template-columns:1fr;gap:14px}}
