:root{--aai-primary: #0eacb9;--aai-primary-dark: #0a7780;--aai-teal-deep: #0a7780;--brand-hover: #086068;--aai-navy: #172b4d;--aai-bg: #f7f9fc;--surface: #fff;--card: var(--surface);--panel-2: #f8fafc;--text: var(--aai-navy);--aai-muted: #64748b;--aai-grid: #e2e8f0;--border: var(--aai-grid);--aai-border: var(--aai-grid);--border-input: #cbd5e1;--border-soft: #eef2f7;--border-chart: #e2e8f0;--hover: #f1f5f9;--accent-soft: #e6f6f7;--nav-disabled: #b6c0cc;--input-bg: #fff;--input-disabled-bg: #f1f5f9;--role-pill-bg: var(--aai-navy);--aai-code-bg: #f1f5f9;--table-head: #f8fafc;--icon-muted: #94a3b8;--link: #2563eb;--ok: #15803d;--ok-bg: #ecfdf3;--positive: #16a34a;--warn: #b45309;--warn-bg: #fff7e6;--warn-border: #d97706;--danger: #b91c1c;--danger-strong: #b91c1c;--danger-bg: #fef2f2;--danger-bg-2: #fef2f2;--info: #1d4ed8;--info-bg: #eff6ff;--info-card-bg: #eff6ff;--info-border: #3b82f6;--neutral: #475569;--neutral-bg: #f1f5f9;--neutral-strong: #334155;--neutral-bg-2: #eef2f7;--bar-track: #e8edf3;--bar-fill: #0a7780;--chart-grid: #eef2f7;--chart-axis: #64748b;--chart-ink: #1e293b;--chart-tooltip-bg: #fff;--fc-1: #2D71AD;--fc-2: #2e9e5b;--fc-3: #8e44ad;--fc-4: #c2410c;--fc-ref: #7f8c8d;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 14px;--fs-lg: 16px;--fs-xl: 19px;--fs-2xl: 26px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow: rgba(15, 23, 42, .05);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--sticky-shadow: rgba(15, 23, 42, .12);--focus: 0 0 0 3px rgba(14, 172, 185, .35);--sidebar-w: 240px;--sidebar-w-collapsed: 68px;--topbar-h: 60px;--ease: .16s ease;--ink: var(--text);--ink-2: #344256;--muted: var(--aai-muted);--line: var(--aai-grid);--line-2: var(--border-soft);--sunken: #eef2f6;--brand: var(--aai-primary);--brand-ink: var(--aai-primary-dark);--brand-soft: var(--accent-soft);--btn: var(--aai-teal-deep);--btn-hover: var(--brand-hover);--on-btn: #fff;--bad: var(--danger);--bad-bg: var(--danger-bg);--bad-solid: #b91c1c;--disabled-bg: var(--sunken);--disabled-ink: #556479;--rail: #0f1b2d;--rail-ink: #c5d0de;--rail-muted: #8c9aae;--rail-active: rgba(14, 172, 185, .18);--rail-active-ink: #7fdde4;--s1: var(--fc-1);--s2: var(--fc-2);--s3: var(--fc-3);--s4: var(--fc-4);--s5: var(--aai-primary);--fs-label: 12px;--fs-card: 15px;--fs-section: 18px;--fs-page: 24px;--fs-kpi: 28px;--radius-xl: 16px;--shadow-pop: 0 8px 28px rgba(15, 27, 45, .14);color-scheme:light}[data-theme=dark]{--aai-primary-dark: #5cc9d3;--brand-hover: #0b8b95;--aai-bg: #0e1420;--surface: #161d2b;--panel-2: #121a27;--text: #e6e9ef;--aai-muted: #9aa3b2;--aai-grid: #2a3446;--border-input: #3a4762;--border-soft: #232c3c;--border-chart: #2a3446;--hover: #1f2a3c;--accent-soft: #15333a;--nav-disabled: #4b5563;--input-bg: #0f1624;--input-disabled-bg: #1a2232;--role-pill-bg: var(--aai-teal-deep);--aai-code-bg: #0f1624;--table-head: #1b2434;--icon-muted: #7d889b;--link: #7fb2e5;--ok: #7bd88f;--ok-bg: #173a24;--positive: #5fcf8a;--warn: #f2c46d;--warn-bg: #3a2e14;--warn-border: #b58a00;--danger: #ff8a7a;--danger-strong: #ff8a7a;--danger-bg: #3d1f22;--danger-bg-2: #3d1f22;--info: #9cc3ff;--info-bg: #1b2a47;--info-card-bg: #16233d;--info-border: #3d7bf0;--neutral: #a3abb6;--neutral-bg: #222b39;--neutral-strong: #c4cad3;--neutral-bg-2: #222b39;--bar-track: #26303f;--bar-fill: #4fb3c0;--chart-grid: #26303f;--chart-axis: #8b95a7;--chart-ink: #e6e9ef;--chart-tooltip-bg: #1d2636;--fc-1: #4f8fcc;--fc-2: #2fa36d;--fc-3: #a66fcc;--fc-4: #e06f3c;--fc-ref: #8b95a7;--shadow: rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .4);--sticky-shadow: rgba(0, 0, 0, .5);--focus: 0 0 0 3px rgba(92, 201, 211, .45);--ink-2: #c2cbd7;--sunken: #0f1624;--disabled-ink: #9aa3b2;--rail: #070b12;--rail-active: rgba(34, 193, 205, .16);--shadow-pop: 0 10px 30px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:var(--fs-base);line-height:1.5;background:var(--aai-bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}p a,.link,td a:not(.btn){color:var(--link)}h1,h2,h3,h4{line-height:1.25}code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}pre{white-space:pre-wrap;overflow-wrap:anywhere}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}::selection{background:#0eacb938}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-48px;z-index:100;background:var(--aai-teal-deep);color:#fff;padding:8px 14px;border-radius:var(--radius);font-weight:600}.skip-link:focus{top:10px}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--rail);color:var(--rail-ink);display:flex;flex-direction:column;color-scheme:dark;position:sticky;top:0;height:100vh;z-index:30;transition:width var(--ease),flex-basis var(--ease),transform var(--ease)}.shell.collapsed .sidebar{width:var(--sidebar-w-collapsed);flex-basis:var(--sidebar-w-collapsed)}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:0 var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-left{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.topbar-right{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}.crumbs{display:flex;align-items:center;gap:6px;font-size:var(--fs-md);min-width:0;white-space:nowrap}.crumbs a{color:var(--aai-muted)}.crumbs a:hover{color:var(--text)}.crumbs .sep{color:var(--icon-muted)}.crumbs .cur{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis}.user-chip{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);color:var(--aai-muted)}.fresh-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;background:var(--ok-bg);color:var(--ok);font-size:var(--fs-md);font-weight:600;white-space:nowrap}.fresh-chip:hover{text-decoration:none;filter:brightness(.97)}.fresh-chip.stale{background:var(--warn-bg);color:var(--warn)}.fresh-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 8px}.acct{position:relative}.acct-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 4px;border:0;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;font:inherit}.acct-btn:hover,.acct-btn[aria-expanded=true]{background:var(--hover)}.acct-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;min-width:0}.acct-name{font-size:var(--fs-md);font-weight:600;white-space:nowrap}.acct-role{font-size:11px;color:var(--muted);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.acct-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:240px;padding:6px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-pop),inset 0 0 0 1px var(--line)}.acct-head{padding:8px 10px 10px;border-bottom:1px solid var(--line-2);margin-bottom:4px}.acct-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.acct-menu [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--ink);font:500 var(--fs-base) var(--font);cursor:pointer;text-align:left}.acct-menu [role=menuitem]:hover,.acct-menu [role=menuitem]:focus-visible{background:var(--hover);text-decoration:none}.acct-menu [role=menuitem] svg{color:var(--muted)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--aai-primary-dark);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex:0 0 30px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;min-width:34px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--aai-grid);background:var(--surface);color:var(--text);cursor:pointer;font:500 var(--fs-md) var(--font);transition:background var(--ease),border-color var(--ease)}.icon-btn:hover{background:var(--hover);border-color:var(--border-input)}.menu-btn{display:none}.content{padding:var(--sp-6) var(--sp-8) 64px;max-width:1240px;margin:0 auto;width:100%}.content.wide{max-width:1800px}.scrim{display:none}.brand{display:flex;align-items:center;gap:10px;padding:0 16px;height:var(--topbar-h);flex-shrink:0;overflow:hidden}.brand .mark{width:32px;height:32px;border-radius:8px;flex:0 0 32px}.brand .title{font-size:15px;font-weight:700;line-height:1.15;white-space:nowrap;letter-spacing:-.01em;color:#fff}.brand .sub{font-size:var(--fs-sm);color:var(--rail-muted);white-space:nowrap;margin:0;max-width:none}.nav{padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1 1 auto}.nav a{position:relative;display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:var(--radius);color:var(--rail-ink);font-size:var(--fs-base);font-weight:500;white-space:nowrap;transition:background var(--ease),color var(--ease)}.nav a svg{flex:0 0 18px;color:var(--rail-muted);transition:color var(--ease)}.nav a:hover{background:#ffffff0f;color:#fff}.nav a:hover svg{color:#fff}.nav a.active{background:var(--rail-active);color:var(--rail-active-ink);font-weight:600}.nav a.active svg{color:var(--rail-active-ink)}.nav a.disabled{color:var(--rail-muted);pointer-events:none}.nav-section{font-size:var(--fs-sm);font-weight:500;color:var(--rail-muted);padding:14px 10px 6px;white-space:nowrap}.nav-foot{border-top:1px solid rgba(255,255,255,.08);padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:2px}.shell.collapsed .nav,.shell.collapsed .nav-foot{padding-left:var(--sp-2);padding-right:var(--sp-2)}.shell.collapsed .nav a,.shell.collapsed .nav-foot a,.shell.collapsed .nav-foot button{justify-content:center;padding:9px 0}.shell.collapsed .nav .label,.shell.collapsed .nav-foot .label,.shell.collapsed .brand .brand-text{display:none}.shell.collapsed .nav-section{height:1px;padding:0;margin:10px 12px;background:#ffffff1a;font-size:0}.shell.collapsed .brand{justify-content:center;padding:0}.nav-foot a,.nav-foot button{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:var(--radius);color:var(--rail-ink);font:500 var(--fs-base) var(--font);background:none;border:0;cursor:pointer;width:100%;text-align:left;white-space:nowrap;transition:background var(--ease)}.nav-foot a:hover,.nav-foot button:hover{background:#ffffff0f;color:#fff}.nav-foot a.active{background:var(--rail-active);color:var(--rail-active-ink)}.nav-foot svg{flex:0 0 18px;color:var(--rail-muted)}.sidebar :focus-visible{box-shadow:0 0 0 2px var(--rail-active-ink)}.h1{font-size:var(--fs-page);font-weight:600;margin:0 0 4px;letter-spacing:-.015em;line-height:1.33}.sub{color:var(--muted);font-size:var(--fs-base);margin:0 0 var(--sp-5);max-width:980px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-2)}.page-actions{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);box-shadow:none;margin-bottom:var(--sp-4);min-width:0}.card-title{font-size:var(--fs-card);font-weight:600;margin:0 0 var(--sp-3)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:4px}.kpi .v{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.kpi .l{font-size:var(--fs-label);font-weight:500;color:var(--muted);order:-1}table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-md);font-variant-numeric:tabular-nums}th{text-align:left;background:var(--table-head);color:var(--muted);font-size:var(--fs-label);font-weight:500;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:bottom}thead th:first-child{border-top-left-radius:var(--radius)}thead th:last-child{border-top-right-radius:var(--radius)}td{padding:9px 12px;border-bottom:1px solid var(--border-soft);vertical-align:middle;overflow-wrap:break-word}tbody tr{transition:background var(--ease)}tbody tr:hover>td{background:var(--hover)}tbody tr:last-child>td{border-bottom:0}td.num,th.num{text-align:right;white-space:nowrap}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--aai-grid);border-radius:var(--radius)}.table-wrap thead th{position:sticky;top:0;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--aai-teal-deep);color:#fff;border:1px solid transparent;border-radius:var(--radius);padding:8px 16px;font:600 var(--fs-md) var(--font);cursor:pointer;white-space:nowrap;line-height:1.2;transition:background var(--ease),border-color var(--ease),box-shadow var(--ease),color var(--ease)}.btn:hover{background:var(--brand-hover)}.btn.secondary{background:var(--aai-navy)}.btn.secondary:hover{background:#22375f}.btn.ghost{background:var(--surface);color:var(--text);border-color:var(--border-input)}.btn.ghost:hover{background:var(--hover)}.btn.tertiary{background:transparent;color:var(--brand-ink);padding-left:10px;padding-right:10px}.btn.tertiary:hover{background:var(--hover)}.btn.danger{background:var(--bad-solid);color:#fff}.btn.danger:hover{background:#991b1b}.btn:disabled,.btn[aria-disabled=true],.btn:disabled:hover,.btn[aria-disabled=true]:hover{background:var(--disabled-bg);color:var(--disabled-ink);border-color:transparent;cursor:not-allowed}a.btn.active,.btn[aria-current=page]{box-shadow:none}.btn.sm{padding:4px 10px;font-size:var(--fs-sm)}.tabs{display:inline-flex;gap:2px;padding:3px;background:var(--hover);border:1px solid var(--aai-grid);border-radius:10px;margin-bottom:var(--sp-4);max-width:100%;overflow-x:auto}.tabs [role=tab]{border:0;background:transparent;color:var(--aai-muted);font:600 var(--fs-md) var(--font);padding:7px 16px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background var(--ease),color var(--ease)}.tabs [role=tab]:hover{color:var(--text)}.tabs [role=tab][aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.preview-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--sp-4);align-items:start}.slide-list{max-height:720px;overflow-y:auto;padding:6px}.slide-list button{display:flex;gap:8px;width:100%;text-align:left;border:0;background:none;cursor:pointer;padding:7px 9px;border-radius:var(--radius);font:500 var(--fs-sm) var(--font);color:var(--text);border-left:3px solid transparent;transition:background var(--ease)}.slide-list button:hover{background:var(--hover)}.slide-list button[aria-current=true]{background:var(--accent-soft);border-left-color:var(--aai-primary);font-weight:600}.slide-list .n{color:var(--aai-muted);min-width:20px;font-variant-numeric:tabular-nums}@media (max-width: 900px){.preview-grid{grid-template-columns:minmax(0,1fr)}.slide-list{max-height:220px}}.sev-summary{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--sp-3)}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;line-height:1.5;background:var(--accent-soft);color:var(--aai-primary-dark);white-space:nowrap}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.danger{background:var(--danger-bg);color:var(--danger)}.pill.info{background:var(--info-bg);color:var(--info)}.pill.neutral{background:var(--neutral-bg);color:var(--neutral)}.role-pill{background:var(--role-pill-bg);color:#fff}.err{color:var(--danger);font-weight:600;background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);border-radius:var(--radius);padding:10px 14px;margin:var(--sp-2) 0;font-size:var(--fs-md);overflow-wrap:anywhere}span.err{display:inline-block;padding:2px 8px;margin:0}.muted{color:var(--aai-muted)}.sticky-col{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:2px 0 4px -2px var(--sticky-shadow)}th.sticky-col{z-index:2;background:var(--table-head)}.matrix-wrap{overflow:auto;max-height:640px;border:1px solid var(--aai-grid);border-radius:var(--radius)}table.matrix{font-size:var(--fs-sm)}table.matrix th{position:sticky;top:0;z-index:2}table.matrix td{padding:4px 8px}table.matrix td.wp{color:var(--aai-muted);font-size:var(--fs-xs);max-width:220px}.modcol{writing-mode:initial;font-size:9px;min-width:78px;max-width:92px;white-space:normal}.price-in{width:88px;text-align:right;padding:4px 6px;border:1px solid var(--border-input);border-radius:var(--radius-sm);font-family:var(--font);font-size:var(--fs-sm);background:var(--input-bg);color:var(--text)}.price-in:disabled{background:var(--input-disabled-bg);color:var(--text)}.xcell{text-align:center;font-weight:700;color:transparent;-webkit-user-select:none;user-select:none}.xcell.on{background:var(--aai-primary);color:#fff}.xcell:hover{outline:1px solid var(--aai-primary)}.field{display:flex;flex-direction:column;gap:5px;flex:1 1 200px;min-width:0}.field label{font-size:var(--fs-label);font-weight:500;color:var(--muted)}input,select,textarea{background:var(--input-bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);border:1px solid var(--border-input);border-radius:var(--radius);transition:border-color var(--ease),box-shadow var(--ease)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select{min-height:34px;padding:6px 10px}textarea{padding:8px 10px;line-height:1.45}input:hover,select:hover,textarea:hover{border-color:var(--icon-muted)}input:focus-visible,select:focus-visible,textarea:focus-visible,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--aai-primary);box-shadow:var(--focus)}input:disabled,select:disabled,textarea:disabled{background:var(--input-disabled-bg);color:var(--aai-muted);cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--icon-muted)}input[type=checkbox],input[type=radio]{accent-color:var(--aai-teal-deep);width:15px;height:15px;vertical-align:-2px}select{cursor:pointer;max-width:100%}.row{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:flex-end}.progress{height:8px;border-radius:999px;background:var(--bar-track);overflow:hidden;position:relative}.progress>span{display:block;height:100%;border-radius:999px;background:var(--bar-fill)}.skeleton{background:linear-gradient(90deg,var(--border-soft) 25%,var(--hover) 37%,var(--border-soft) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.loading-block{display:grid;gap:var(--sp-3)}.empty{padding:36px 12px;text-align:center;color:var(--aai-muted);font-size:var(--fs-md)}.section-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);cursor:pointer;text-align:left;font-family:var(--font);color:var(--text);transition:border-color var(--ease),box-shadow var(--ease)}.section-toggle:hover{border-color:var(--border-input);background:var(--surface-2, var(--panel-2))}.section-toggle .chev{transition:transform var(--ease);color:var(--aai-muted);flex:0 0 auto}.section-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}.recharts-cartesian-axis-tick-value{fill:var(--chart-axis);font-size:11px}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--aai-grid)}.recharts-legend-item-text{color:var(--text)!important;font-size:12px}.recharts-default-tooltip{background:var(--chart-tooltip-bg)!important;border-color:var(--aai-grid)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-md)}.theme-toggle{padding:8px 12px;font-size:var(--fs-md)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:radial-gradient(1200px 600px at 10% 10%,rgba(14,172,185,.18),transparent 60%),#0f1c33}.login-card{background:var(--surface);border-radius:16px;padding:34px 32px 28px;width:100%;max-width:400px;box-shadow:0 24px 64px #02081773}.fc-section{margin:var(--sp-8) 0 var(--sp-3);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fc-section h2{font-size:var(--fs-section);font-weight:600;margin:0;letter-spacing:-.01em}.fc-section .tag{font-size:var(--fs-xs);font-weight:700;color:var(--aai-primary-dark);background:var(--accent-soft);border-radius:var(--radius-sm);min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.fc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);margin-bottom:var(--sp-4)}.fc-grid .card{margin:0;min-width:0}.fc-grid .wide{grid-column:1 / -1}@media (max-width: 1100px){.fc-grid{grid-template-columns:minmax(0,1fr)}}.fc-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-2);flex-wrap:wrap}.fc-chart-head .t{font-weight:600;font-size:var(--fs-card)}.fc-chart-head .s{font-size:var(--fs-sm);color:var(--muted);margin-top:2px;max-width:640px}.fc-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.fc-tools select{min-height:30px;font-size:var(--fs-sm);padding:3px 8px}.fc-tools .btn{min-height:30px;font-size:var(--fs-sm);padding:3px 10px}.fc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-2)}.fc-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-4);display:flex;flex-direction:column;min-width:0}.fc-kpi .head{display:flex;align-items:center;gap:8px}.fc-kpi .ico{width:28px;height:28px;border-radius:var(--radius);background:var(--accent-soft);color:var(--aai-primary-dark);display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px}.fc-kpi .l{font-size:var(--fs-label);font-weight:500;color:var(--muted)}.fc-kpi .v{font-size:var(--fs-2xl);font-weight:600;margin:8px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.fc-kpi .v.na{font-size:var(--fs-xl);color:var(--muted)}.fc-kpi .m{font-size:var(--fs-sm);color:var(--muted);line-height:1.45;flex:1 1 auto}.fc-kpi .foot{margin-top:8px}.fc-state{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 8px;margin-top:4px}.fc-state.ok{background:var(--ok-bg);color:var(--ok)}.fc-state.warn{background:var(--warn-bg);color:var(--warn)}.fc-state.na{background:var(--neutral-bg);color:var(--neutral)}.fc-empty{padding:34px 8px;text-align:center;color:var(--aai-muted);font-size:var(--fs-md)}.fc-stages{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-sm);margin-top:6px}.status-bar{display:flex;gap:var(--sp-4) var(--sp-6);flex-wrap:wrap;align-items:center;font-size:var(--fs-sm)}.status-bar .item{display:flex;flex-direction:column;gap:1px;min-width:0}.status-bar .item .k{font-size:var(--fs-label);font-weight:500;color:var(--muted)}.status-bar .item .val{font-weight:600}@media (max-width: 1024px){.content{padding:var(--sp-5) var(--sp-5) 56px}.topbar{padding:0 var(--sp-4)}}@media (max-width: 900px){.menu-btn{display:inline-flex}.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);box-shadow:var(--shadow-md);width:var(--sidebar-w)!important}.shell.nav-open .sidebar{transform:none}.shell.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:25}.shell.collapsed .nav .label,.shell.collapsed .nav-foot .label,.shell.collapsed .brand .brand-text{display:initial}.collapse-btn{display:none!important}.user-chip .name,.topbar .role-pill,.acct-text{display:none}.content table{display:block;overflow-x:auto;max-width:100%}.content table.matrix{display:table}}@media (max-width: 600px){.content{padding:var(--sp-4) var(--sp-4) 48px}.h1{font-size:22px}.card{padding:var(--sp-4);border-radius:var(--radius-lg)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.kpi .v{font-size:20px}.fc-kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fc-kpi .v{font-size:20px}.crumbs .parent,.crumbs .sep,.icon-btn .label,.fresh-chip .fresh-label{display:none}.fresh-chip{padding:0 10px}.row>.field{flex-basis:100%!important;max-width:none!important}.pill{white-space:normal;max-width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,.fc-tools,.btn,.skip-link{display:none!important}body{background:#fff}.content{max-width:none;padding:0}.fc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.card{break-inside:avoid;box-shadow:none}}.home-tile{color:var(--text);transition:border-color var(--ease),box-shadow var(--ease),transform var(--ease)}.home-tile:hover{border-color:var(--aai-primary);box-shadow:var(--shadow-md)}.tile-ico{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:var(--accent-soft);color:var(--aai-primary-dark);display:inline-flex;align-items:center;justify-content:center}@media (max-width: 1100px){.fc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn svg{flex:0 0 auto}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--radius-sm);border:0;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font:500 var(--fs-md) var(--font);white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--ease),box-shadow var(--ease),color var(--ease)}.chip:hover{background:var(--hover);color:var(--ink)}.chip[aria-pressed=true],.chip[aria-current=page],.chip.on{background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand);color:var(--brand-ink);font-weight:600}.chip:disabled,.chip[aria-disabled=true]{background:var(--disabled-bg);box-shadow:none;color:var(--disabled-ink);cursor:not-allowed}.chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius);background:var(--sunken);max-width:100%;overflow-x:auto}.seg button{height:28px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);font:500 var(--fs-md) var(--font);cursor:pointer;white-space:nowrap;transition:background var(--ease),color var(--ease)}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}.seg.sm button{height:24px;padding:0 10px;font-size:var(--fs-sm)}.field>.seg,.field>.chip-row{align-self:flex-start}.scope-bar{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);align-items:flex-start;padding:var(--sp-4) var(--sp-5)}.scope-bar .field{flex:0 1 auto}.badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:1px 9px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;line-height:1.35;background:var(--neutral-bg);color:var(--ink-2)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.neutral{background:var(--neutral-bg);color:var(--ink-2)}.status-icon{display:inline-flex;vertical-align:-3px;flex:0 0 auto}.status-icon.ok{color:var(--ok)}.status-icon.warn{color:var(--warn)}.status-icon.bad{color:var(--bad)}.status-icon.info{color:var(--info)}.status-icon.neutral{color:var(--muted)}.icon-text{display:inline-flex;align-items:flex-start;gap:6px}.icon-text>.status-icon{margin-top:1px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 8px;vertical-align:1px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;min-width:0}.kpi-card .kc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.kpi-card .kc-label{font-size:var(--fs-label);font-weight:500;color:var(--muted)}.kpi-card .kc-value{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi-card .kc-value.na{font-size:var(--fs-xl);color:var(--muted)}.kpi-card .kc-src{font-size:var(--fs-sm);color:var(--muted)}.kpi-card .progress{height:6px;margin:4px 0 2px}.delta{display:inline-flex;align-self:flex-start;align-items:center;gap:3px;min-height:22px;padding:0 7px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;background:var(--neutral-bg);color:var(--ink-2);font-variant-numeric:tabular-nums}.delta.up{background:var(--ok-bg);color:var(--ok)}.delta.down{background:var(--bad-bg);color:var(--bad)}@media (max-width: 600px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card .kc-value{font-size:20px}}.section-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:var(--sp-4) 0}.section-tabs [role=tab]{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 12px;border:0;background:none;color:var(--muted);font:500 var(--fs-base) var(--font);cursor:pointer;white-space:nowrap;box-shadow:inset 0 -2px 0 transparent;transition:color var(--ease),box-shadow var(--ease)}.section-tabs [role=tab]:hover{color:var(--ink)}.section-tabs [role=tab][aria-selected=true]{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--brand)}.section-tabs .count{min-width:20px;height:20px;padding:0 7px;border-radius:999px;background:var(--sunken);color:var(--ink-2);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.section-tabs .count.warn{background:var(--warn-bg);color:var(--warn)}.section-tabs .count.bad{background:var(--bad-bg);color:var(--bad)}.info-pop{position:relative;display:inline-flex;vertical-align:middle}.info-btn{width:26px;height:26px;border-radius:var(--radius-sm);border:0;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--ease),color var(--ease)}.info-btn:hover,.info-btn[aria-expanded=true]{background:var(--brand-soft);color:var(--brand-ink)}.info-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:min(360px,calc(100vw - 32px));background:var(--surface);border-radius:14px;box-shadow:var(--shadow-pop),inset 0 0 0 1px var(--line);padding:14px 16px;font-size:var(--fs-md);font-weight:400;color:var(--ink-2);line-height:1.5;text-transform:none;letter-spacing:normal}.info-panel.align-end{left:auto;right:0}.info-panel .ip-title{font-weight:600;color:var(--ink);font-size:var(--fs-base);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;gap:8px}.info-panel p{margin:0 0 8px}.info-panel p:last-child{margin-bottom:0}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a73;display:flex;justify-content:flex-end}.drawer{width:min(var(--drawer-w, 760px),100vw);height:100%;background:var(--surface);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;outline:none}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);flex:0 0 auto}.drawer-head .dh-title{font-size:var(--fs-section);font-weight:600;line-height:1.3;margin:0}.drawer-head .dh-sub{font-size:var(--fs-sm);color:var(--muted);margin-top:2px}.drawer-body{padding:var(--sp-4) var(--sp-5) var(--sp-8);overflow-y:auto;flex:1 1 auto;min-height:0}@media print{.drawer-bg{position:static;background:none}.drawer{width:auto;height:auto;box-shadow:none}}
