.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--navy);color:var(--text-on-accent);height:100vh;z-index:var(--z-sidebar);flex-direction:column;display:flex;overflow:hidden}.sb-logo{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-3);display:flex}.sb-logo-icon{border-radius:var(--radius-2);background:var(--blue-600);width:30px;height:30px;font-size:var(--text-xs);font-weight:var(--weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sb-logo-text{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.sb-mode{margin:0 var(--space-3) var(--space-2)}.sb-mode-label{padding:0 var(--space-1) var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:color-mix(in srgb, var(--text-on-accent) 66%, transparent);display:block}.sb-persp{border-radius:var(--radius-2);background:color-mix(in srgb, var(--text-on-accent) 10%, transparent);gap:2px;padding:3px;display:flex}.sb-persp-btn{border-radius:var(--radius-1);min-height:28px;color:color-mix(in srgb, var(--text-on-accent) 78%, transparent);font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;border:0;flex:1}.sb-persp-btn:hover{color:var(--text-on-accent)}.sb-persp-btn:focus-visible{outline:var(--focus-ring-width) solid var(--text-on-accent);outline-offset:-2px}.sb-persp-btn[aria-pressed=true]{background:var(--text-on-accent);color:var(--navy)}.sb-nav{padding:var(--space-1) 0 var(--space-4);flex:1;overflow-y:auto}.sb-sec-label{padding:var(--space-4) var(--space-4) var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--text-on-accent) 62%, transparent)}.nav-item{align-items:center;gap:var(--space-3);margin:1px var(--space-2);padding:7px var(--space-3);border-radius:var(--radius-2);color:color-mix(in srgb, var(--text-on-accent) 82%, transparent);font-size:var(--text-md);font-weight:var(--weight-regular);-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-standard);text-decoration:none;display:flex}.nav-item:hover{background:color-mix(in srgb, var(--text-on-accent) 9%, transparent);color:var(--text-on-accent)}.nav-item[aria-current=page]{background:color-mix(in srgb, var(--text-on-accent) 16%, transparent);color:var(--text-on-accent);font-weight:var(--weight-semibold);box-shadow:inset 3px 0 0 var(--text-on-accent)}.nav-item:focus-visible{outline:var(--focus-ring-width) solid var(--text-on-accent);outline-offset:-2px}.nav-icon{flex-shrink:0;display:inline-flex}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item-disabled{opacity:.6;cursor:default}.nav-item-disabled:hover{color:color-mix(in srgb, var(--text-on-accent) 82%, transparent);background:0 0}.nav-item-disabled{flex-wrap:wrap}.nav-note{padding-left:calc(18px + var(--space-3));font-size:var(--text-xs);flex-basis:100%;font-style:italic}.sidebar-scrim{display:none}@media (max-width:900px){.sidebar{visibility:hidden;transition:transform .2s,visibility 0s linear .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar-open{visibility:visible;box-shadow:var(--elev-3);transition:transform .2s;transform:none}.sidebar-scrim{background:var(--overlay-scrim);z-index:calc(var(--z-sidebar) - 1);display:block;position:fixed;inset:0}}.user-menu{position:relative}.user-trigger{border:1.5px solid var(--border);background:var(--white);transition:border-color var(--t-med);border-radius:20px;align-items:center;gap:8px;max-width:190px;padding:4px 8px 4px 4px;display:flex}.user-trigger:hover{border-color:var(--azure)}.user-avatar{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:9.5px;font-weight:700;display:flex}.user-name{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.user-caret{color:var(--ghost);flex-shrink:0;font-size:9px}.user-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);width:250px;box-shadow:var(--shadow-panel);z-index:var(--z-tooltip);position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.user-panel-head{background:var(--navy);color:#fff;padding:12px 14px}.user-panel-name{font-size:12.5px;font-weight:600}.user-panel-email{color:#fff9;text-overflow:ellipsis;margin-top:2px;font-size:10.5px;overflow:hidden}.user-panel-body{padding:10px 14px}.user-row{justify-content:space-between;gap:10px;padding:5px 0;font-size:11px;display:flex}.user-row-label{color:var(--ghost);flex-shrink:0}.user-row-value{color:var(--ink);text-align:right;font-weight:500}.user-signout{border:none;border-top:1px solid var(--slate2);background:var(--white);width:100%;color:var(--red);text-align:left;padding:10px 14px;font-size:12px;font-weight:600}.user-signout:hover{background:var(--red-bg)}@media (max-width:560px){.user-name{display:none}.user-trigger{padding:4px}}.fbar{align-items:flex-end;gap:var(--space-3) var(--space-5);padding:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.fbar-group{gap:var(--space-1);flex-direction:column;display:flex}.fbar-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary)}.fbar-end{margin-left:auto}.fbar-field{min-width:150px}.fbar-hint{font-size:var(--text-xs);color:var(--text-muted);max-width:70ch}.seg{border-radius:var(--radius-2);background:var(--surface-subtle);border:var(--border-w) solid var(--border-default);gap:2px;padding:2px;display:inline-flex}.seg-btn{min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-1);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;border:0}.seg-btn:hover{color:var(--text-primary)}.seg-btn.active{background:var(--accent);color:var(--text-on-accent)}.fbar-months{gap:var(--space-1) var(--space-4);border:0;flex-wrap:wrap;flex-basis:100%;display:flex}.fbar-months legend{margin-bottom:var(--space-1)}.fbar-month{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;display:inline-flex}.fbar-month input{accent-color:var(--accent)}.fbar-client{align-items:center}.fl-asof{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.app{height:100vh;display:flex;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.page-content{padding:var(--space-5);flex:1;overflow-y:auto}.page-content:focus{outline:none}.skip-link{z-index:var(--z-tooltip);background:var(--navy);color:#fff;border-radius:var(--radius-sm);padding:9px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}@media (max-width:900px){.page-content{padding:14px}}.panel{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);padding:14px 16px}.panel-title{color:var(--navy);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.panel-title__text{font:inherit;color:inherit;display:inline}.panel-sub{color:var(--ghost);font-size:10px;font-weight:400}.cards-row{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.g2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.g3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.g75{grid-template-columns:7fr 5fr;gap:12px;display:grid}.g57{grid-template-columns:5fr 7fr;gap:12px;display:grid}.mb14{margin-bottom:14px}@media (max-width:1100px){.g75,.g57{grid-template-columns:1fr}.g3{grid-template-columns:1fr 1fr}}@media (max-width:760px){.g2,.g3{grid-template-columns:1fr}}.mono{font-family:var(--mono)}.page-header{background:var(--surface);border-bottom:var(--border-w) solid var(--border-default);padding:var(--space-2) var(--space-5) var(--space-3);flex-shrink:0}.ph-top{align-items:center;gap:var(--space-3);min-height:36px;display:flex}.ph-crumb{flex:1;min-width:0}.ph-utility{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.ph-menu.ui-btn{display:none}.ph-main{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.ph-heading{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.ph-title{font:var(--type-title);color:var(--text-primary);overflow-wrap:anywhere}.ph-sub{font-size:var(--text-sm);color:var(--text-secondary)}.ph-chips{gap:var(--space-1);flex-wrap:wrap;list-style:none;display:flex}.ph-chips li{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--status-info);background:var(--status-info-bg);border-radius:var(--radius-pill);padding:2px var(--space-3)}.ph-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.crumbs ol{align-items:center;gap:var(--space-1);font-size:var(--text-sm);flex-wrap:wrap;list-style:none;display:flex}.crumbs li{align-items:center;gap:var(--space-1);color:var(--text-muted);min-width:0;display:inline-flex}.crumbs a{color:var(--accent-text);text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs [aria-current=page]{color:var(--text-secondary);font-weight:var(--weight-medium);overflow-wrap:anywhere}.edit-btn{border:1.5px solid var(--border);background:var(--white);color:var(--navy);transition:all var(--t-med);white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:6px 14px;font-size:12px;font-weight:600;display:flex}.edit-btn:hover:not(:disabled){border-color:var(--azure);color:var(--azure);background:var(--info-panel)}.edit-btn:disabled{opacity:.45;cursor:not-allowed}a.edit-btn{text-decoration:none}@media (max-width:900px){.ph-menu.ui-btn{display:inline-flex}.page-header{padding:var(--space-2) var(--space-4) var(--space-3)}.fbar-end{margin-left:0}}@media (max-width:560px){.ph-title{font-size:var(--text-xl)}.fbar-field{flex:140px;min-width:0}}.auth-shell{background:var(--navy);background-image:radial-gradient(circle at 20% 0%, #244a83 0%, var(--navy) 55%);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:380px;box-shadow:var(--shadow-modal);padding:28px 28px 24px}.auth-brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-brand-icon{background:var(--azure);border-radius:var(--radius);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.auth-brand-name{color:var(--navy);font-size:13px;font-weight:600;line-height:1.2}.auth-brand-sub{color:var(--ghost);font-size:10.5px}.auth-title{color:var(--navy);margin-bottom:16px;font-size:17px;font-weight:600}.auth-body{color:var(--ink);margin-bottom:18px;font-size:12.5px;line-height:1.6}.auth-field{margin-bottom:14px;display:block}.auth-label{color:var(--ghost);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;font-size:10.5px;font-weight:600;display:block}.auth-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font);color:var(--ink);background:var(--white);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:9px 11px;font-size:13px}.auth-input:focus{border-color:var(--azure);outline:none;box-shadow:0 0 0 3px #0078d41a}.auth-input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:1px}.auth-input:disabled{background:var(--slate);color:var(--ghost)}.auth-hint{color:var(--ghost);margin-top:5px;font-size:10.5px;display:block}.auth-hint-bad{color:var(--red)}.auth-error{background:var(--red-bg);border-radius:var(--radius-sm);color:var(--red);border:1px solid #f5c2c7;margin-bottom:14px;padding:9px 11px;font-size:11.5px;line-height:1.5}.auth-warning{background:var(--amber-bg);border-radius:var(--radius-sm);color:#7a5200;border:1px solid #f0dca8;margin-bottom:16px;padding:10px 12px;font-size:11.5px;line-height:1.55}.auth-warning code{font-family:var(--mono);background:#0000000d;border-radius:3px;padding:1px 4px;font-size:11px}.auth-submit{border-radius:var(--radius-sm);background:var(--navy);color:#fff;width:100%;transition:background var(--t-med);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.auth-submit:hover:not(:disabled){background:var(--navy2)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-secondary{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);width:100%;color:var(--navy);transition:all var(--t-med);padding:9px 16px;font-size:12.5px;font-weight:600}.auth-secondary:hover{border-color:var(--azure);color:var(--azure)}.auth-actions{flex-direction:column;gap:8px;margin-top:20px;display:flex}.auth-links{text-align:center;margin-top:16px}.auth-links a{color:var(--azure2);font-size:11.5px;text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-note{border-top:1px solid var(--slate2);color:var(--ghost);text-align:center;margin-top:18px;padding-top:16px;font-size:11px;line-height:1.55}.auth-meta{border-bottom:1px solid var(--slate2);justify-content:space-between;gap:12px;padding:7px 0;font-size:11.5px;display:flex}.auth-meta:last-of-type{border-bottom:none}.auth-meta-label{color:var(--ghost)}.auth-shell .ui-state{background:var(--surface);border-radius:var(--radius-3);max-width:460px;margin:0}.toast-host{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-panel);border-left-width:4px;align-items:flex-start;gap:10px;padding:11px 12px;animation:.18s toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-success{border-left-color:var(--green)}.toast-error{border-left-color:var(--red)}.toast-warning{border-left-color:var(--amber)}.toast-info{border-left-color:var(--azure)}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;font-weight:700;display:flex}.toast-success .toast-icon{background:var(--green-bg);color:var(--green)}.toast-error .toast-icon{background:var(--red-bg);color:var(--red)}.toast-warning .toast-icon{background:var(--amber-bg);color:var(--amber-text)}.toast-info .toast-icon{background:var(--info-bg);color:var(--azure2)}.toast-body{flex:1;min-width:0}.toast-title{color:var(--ink);font-size:12px;font-weight:600;line-height:1.35}.toast-detail{color:var(--ghost);margin-top:3px;font-size:11px;line-height:1.45}.toast-action{color:var(--azure2);background:0 0;border:none;margin-top:7px;padding:0;font-size:11.5px;font-weight:600;text-decoration:underline}.toast-close{color:var(--ghost);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.toast-close:hover{color:var(--ink)}@media (max-width:640px){.toast-host{max-width:none;left:16px;right:16px}}:root{--n-0:#fff;--n-25:#f7f8fa;--n-50:#f0f3f8;--n-100:#e3e8f0;--n-200:#c9d1de;--n-300:#7f8ca3;--n-400:#7a8599;--n-500:#5b6b86;--n-600:#46546b;--n-900:#1a1a2e;--navy-700:#1b3a6b;--navy-800:#142d54;--blue-600:#0f5fa8;--blue-700:#0b4a87;--blue-500:#0078d4;--blue-500-a12:#0078d41f;--green-700:#107c10;--green-50:#eef9ee;--amber-600:#c47f00;--amber-800:#7a5200;--amber-50:#fff8e6;--red-700:#c50f1f;--red-50:#fff0f0;--info-700:#0b5cad;--info-50:#e8f1fb;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-metric-sm:28px;--text-metric:44px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-none:1;--leading-tight:1.25;--leading-snug:1.3;--leading-body:1.5;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-1:4px;--radius-2:6px;--radius-3:8px;--radius-pill:999px;--border-w:1px;--border-w-strong:2px;--elev-0:none;--elev-1:0 1px 2px #14213d0f;--elev-2:0 4px 16px #14213d1f;--elev-3:0 16px 48px #14213d38;--dur-fast:.12s;--dur-med:.18s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--layout-sidebar:220px;--layout-topbar:52px;--layout-content-max:1440px;--dialog-w-sm:440px;--dialog-w-md:560px;--dialog-w-lg:720px;--dialog-w-xl:980px;--scrim:#14213d80;--z-sidebar:100;--z-overlay:1000;--z-dialog:1010;--z-toast:1100;--z-tooltip:1200;--page-bg:var(--n-25);--surface:var(--n-0);--surface-subtle:var(--n-50);--surface-raised:var(--n-0);--text-primary:var(--n-900);--text-secondary:var(--n-600);--text-muted:var(--n-500);--text-disabled:var(--n-400);--text-on-accent:var(--n-0);--text-link:var(--blue-600);--border-default:var(--n-100);--border-strong:var(--n-200);--border-control:var(--n-300);--accent:var(--navy-700);--accent-hover:var(--navy-800);--accent-focus:var(--blue-500);--accent-text:var(--blue-600);--accent-text-hover:var(--blue-700);--focus-ring:var(--blue-500);--focus-ring-width:2px;--focus-ring-offset:2px;--status-success:var(--green-700);--status-success-bg:var(--green-50);--status-warning:var(--amber-800);--status-warning-mark:var(--amber-600);--status-warning-bg:var(--amber-50);--status-critical:var(--red-700);--status-critical-bg:var(--red-50);--status-neutral:var(--n-600);--status-neutral-bg:var(--n-50);--status-info:var(--info-700);--status-info-bg:var(--info-50);--hover-bg:var(--n-50);--selected-bg:var(--info-50);--overlay-scrim:var(--scrim);--chart-primary:var(--navy-700);--chart-secondary:var(--blue-500);--chart-secondary-fill:var(--blue-500-a12);--chart-grid:var(--border-default);--chart-axis:var(--border-strong);--chart-tick:var(--text-muted);--type-metric:var(--weight-semibold) var(--text-metric)/var(--leading-none) var(--font-mono);--type-title:var(--weight-semibold) var(--text-2xl)/var(--leading-tight) var(--font-sans);--type-section:var(--weight-semibold) var(--text-lg)/var(--leading-snug) var(--font-sans);--type-card-title:var(--weight-semibold) var(--text-md)/var(--leading-snug) var(--font-sans);--type-label:var(--weight-medium) var(--text-xs)/var(--leading-snug) var(--font-sans);--type-body:var(--weight-regular) var(--text-md)/var(--leading-body) var(--font-sans);--type-table-head:var(--weight-semibold) var(--text-xs)/var(--leading-snug) var(--font-sans);--type-table-cell:var(--weight-regular) var(--text-sm)/var(--leading-snug) var(--font-sans);--type-caption:var(--weight-regular) var(--text-xs)/var(--leading-snug) var(--font-sans);--navy:#1b3a6b;--navy2:#142d54;--azure:#0078d4;--azure2:#005a9e;--slate:#f0f4fa;--slate2:#e4ecf7;--white:#fff;--border:#d0d9e8;--green:#107c10;--green-bg:#eef9ee;--amber:#c47f00;--amber-text:var(--status-warning);--amber-bg:#fff8e6;--red:#c50f1f;--red-bg:#fff0f0;--heat-green:#c6ebc6;--heat-amber:#fff0c2;--heat-amber-ink:#8a5700;--heat-red:#fddde0;--info-bg:#e6f3fc;--info-panel:#eff6fc;--info-border:#bdd7ee;--ink:#1a1a2e;--ghost:var(--text-muted);--font:var(--font-sans);--mono:var(--font-mono);--sidebar-w:var(--layout-sidebar);--topbar-h:var(--layout-topbar);--radius-sm:6px;--radius:8px;--radius-lg:10px;--radius-xl:14px;--t-fast:.15s;--t-med:.18s;--shadow-card:0 2px 12px #1b3a6b1a;--shadow-panel:0 4px 20px #1b3a6b1f;--shadow-modal:0 24px 60px #0a142840}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-sans);background:var(--slate);color:var(--text-primary);font-size:var(--text-md);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}button{font-family:var(--font-sans);cursor:pointer}a{color:var(--accent-text)}a:hover{color:var(--accent-text-hover)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-1)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-tabular{font-variant-numeric:tabular-nums}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);font:var(--weight-medium) var(--text-sm)/var(--leading-snug) var(--font-sans);border:var(--border-w) solid transparent;border-radius:var(--radius-2);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);background:0 0;text-decoration:none;display:inline-flex}.ui-btn--md{min-height:36px;padding:0 var(--space-4)}.ui-btn--sm{min-height:28px;padding:0 var(--space-3);font-size:var(--text-xs)}.ui-btn--full{width:100%}.ui-btn--primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.ui-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ui-btn--secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border-control)}.ui-btn--secondary:hover:not(:disabled){background:var(--hover-bg)}.ui-btn--ghost{color:var(--accent-text)}.ui-btn--ghost:hover:not(:disabled){background:var(--hover-bg);color:var(--accent-text-hover)}.ui-btn--danger{background:var(--status-critical);color:var(--text-on-accent);border-color:var(--status-critical)}.ui-btn--danger:hover:not(:disabled){filter:brightness(.92)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{cursor:not-allowed;opacity:.55}.ui-btn[aria-busy=true]{cursor:progress}.ui-btn__icon{flex:none;display:inline-flex}.ui-iconbtn{padding:0}.ui-iconbtn.ui-btn--md{width:36px}.ui-iconbtn.ui-btn--sm{width:28px}.ui-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);border:var(--border-w) solid transparent;font:var(--weight-semibold) var(--text-xs)/var(--leading-snug) var(--font-sans);white-space:nowrap;display:inline-flex}.ui-badge__icon{flex:none;display:inline-flex}.ui-badge--success{background:var(--status-success-bg);color:var(--status-success)}.ui-badge--warning{background:var(--status-warning-bg);color:var(--status-warning)}.ui-badge--critical{background:var(--status-critical-bg);color:var(--status-critical)}.ui-badge--info{background:var(--status-info-bg);color:var(--status-info)}.ui-badge--neutral{background:var(--status-neutral-bg);color:var(--status-neutral)}.ui-badge--outline{color:var(--status-neutral);border-color:var(--border-control);background:0 0}.ui-dialog-overlay{z-index:var(--z-dialog);padding:var(--space-6);background:var(--overlay-scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-dialog{gap:var(--space-4);width:100%;max-height:88vh;padding:var(--space-6);background:var(--surface-raised);color:var(--text-primary);border-radius:var(--radius-3);box-shadow:var(--elev-3);outline:none;flex-direction:column;display:flex}.ui-dialog--sm{max-width:var(--dialog-w-sm)}.ui-dialog--md{max-width:var(--dialog-w-md)}.ui-dialog--lg{max-width:var(--dialog-w-lg)}.ui-dialog--xl{max-width:var(--dialog-w-xl)}.ui-dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.ui-dialog__title{font:var(--type-section);color:var(--text-primary)}.ui-dialog__desc{margin-top:var(--space-1);font:var(--type-body);color:var(--text-secondary)}.ui-dialog__body{min-height:0;overflow-y:auto}.ui-dialog__footer{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ui-field__label{font:var(--type-label);color:var(--text-secondary)}.ui-field__req{color:var(--status-critical);margin-left:var(--space-1)}.ui-field__help{font:var(--type-caption);color:var(--text-muted)}.ui-field__error{font:var(--type-caption);color:var(--status-critical)}.ui-control{width:100%;font:var(--type-body);color:var(--text-primary);background:var(--surface);border:var(--border-w) solid var(--border-control);border-radius:var(--radius-2);padding:0 var(--space-3);min-height:36px;transition:border-color var(--dur-fast) var(--ease-standard)}.ui-control--textarea{padding:var(--space-2) var(--space-3);resize:vertical;min-height:80px}.ui-control--sm{min-height:28px;font-size:var(--text-sm);padding:0 var(--space-2)}.ui-control::placeholder{color:var(--text-muted)}.ui-control:hover:not(:disabled):not([readonly]){border-color:var(--text-secondary)}.ui-control:disabled{background:var(--surface-subtle);color:var(--text-disabled);cursor:not-allowed}.ui-control[readonly]{background:var(--surface-subtle);color:var(--text-secondary)}.ui-control[aria-invalid=true]{border-color:var(--status-critical)}.ui-tabs__list{gap:var(--space-1);border-bottom:var(--border-w-strong) solid var(--border-default);scrollbar-width:thin;display:flex;overflow-x:auto}.ui-tab{font:var(--type-body);font-weight:var(--weight-medium);color:var(--text-secondary);padding:var(--space-2) var(--space-4);margin-bottom:calc(var(--border-w-strong) * -1);border:0;border-bottom:var(--border-w-strong) solid transparent;cursor:pointer;white-space:nowrap;background:0 0;flex:none}.ui-tab:hover:not(:disabled){color:var(--text-primary)}.ui-tab[aria-selected=true]{color:var(--accent);font-weight:var(--weight-semibold);border-bottom-color:var(--accent)}.ui-tab:disabled{color:var(--text-disabled);cursor:not-allowed}.ui-tabs__panel{padding-top:var(--space-4)}.ui-tooltip-wrap{display:inline-flex;position:relative}.ui-tooltip{z-index:var(--z-tooltip);bottom:calc(100% + var(--space-2));width:max-content;max-width:280px;padding:var(--space-1) var(--space-2);background:var(--accent);color:var(--text-on-accent);font:var(--type-caption);border-radius:var(--radius-1);box-shadow:var(--elev-2);pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.ui-state{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);color:var(--text-secondary);flex-direction:column;display:flex}.ui-state--compact{padding:var(--space-4)}.ui-state__icon{display:inline-flex}.ui-state__title{font:var(--type-card-title);color:var(--text-primary)}.ui-state__desc{font:var(--type-body);max-width:56ch}.ui-state__tech{font:var(--type-caption);color:var(--text-muted);max-width:56ch}.ui-state__action{margin-top:var(--space-2)}.ui-state__details{text-align:left}.ui-state__details summary{cursor:pointer;color:var(--text-muted)}.ui-state__details pre{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-1);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.ui-state--error .ui-state__icon{color:var(--status-critical)}.ui-state--blocked .ui-state__icon{color:var(--status-neutral)}.ui-state--unavailable .ui-state__icon{color:var(--status-warning)}.ui-state--info .ui-state__icon{color:var(--status-info)}.ui-state--empty .ui-state__icon,.ui-state--no-data .ui-state__icon{color:var(--text-muted)}.ui-inline{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-2);font:var(--type-body);color:var(--text-secondary);display:flex}.ui-inline__icon{color:var(--text-muted);flex:none;padding-top:1px;display:inline-flex}.ui-inline__body{min-width:0}.ui-inline__title{color:var(--text-primary);font-weight:600}.ui-inline--warning{background:var(--status-warning-bg);color:var(--text-primary)}.ui-inline--warning .ui-inline__icon{color:var(--status-warning)}.ui-inline--partial,.ui-inline--info{background:var(--status-info-bg)}.ui-inline--partial .ui-inline__icon,.ui-inline--info .ui-inline__icon{color:var(--status-info)}.chart-wrap--empty{justify-content:center;align-items:center;display:flex}.ui-inline--empty,.ui-inline--no-data,.ui-inline--not-measured,.ui-inline--not-required{justify-content:center}.ui-skeleton{border-radius:var(--radius-1);background:linear-gradient(90deg, var(--surface-subtle), var(--border-default), var(--surface-subtle));animation:ui-shimmer 1.4s var(--ease-standard) infinite;background-size:200% 100%;display:block}.ui-skeleton--circle{border-radius:50%}.ui-skeleton-group{gap:var(--space-2);flex-direction:column;display:flex}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-surface{background:var(--surface);border-radius:var(--radius-3);color:var(--text-primary)}.ui-surface--default{border:var(--border-w) solid var(--border-default)}.ui-surface--subtle{background:var(--surface-subtle)}.ui-surface--raised{background:var(--surface-raised);box-shadow:var(--elev-1)}.ui-surface--pad-sm{padding:var(--space-3)}.ui-surface--pad-md{padding:var(--space-4)}.ui-surface--pad-lg{padding:var(--space-6)}.ui-metric{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ui-metric__label{font:var(--type-label);color:var(--text-secondary)}.ui-metric__value{font:var(--type-metric);color:var(--text-primary);font-variant-numeric:tabular-nums}.ui-metric--sm .ui-metric__value{font-size:var(--text-metric-sm)}.ui-metric__unit{font:var(--weight-medium) var(--text-lg)/var(--leading-none) var(--font-sans);color:var(--text-secondary);margin-left:var(--space-1)}.ui-metric__value--empty{color:var(--text-muted)}.ui-metric__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-metric__context{font:var(--type-caption);color:var(--text-muted)}.ui-table{border-collapse:collapse;width:100%;font:var(--type-table-cell);color:var(--text-primary)}.ui-table th{font:var(--type-table-head);color:var(--text-secondary);text-align:left;padding:var(--space-2) var(--space-3);border-bottom:var(--border-w-strong) solid var(--border-default);background:var(--surface);white-space:nowrap}.ui-table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border-w) solid var(--border-default);vertical-align:middle}.ui-table tbody tr:hover td{background:var(--hover-bg)}.ui-table tbody tr[aria-selected=true] td,.ui-table tbody tr.is-selected td{background:var(--selected-bg)}.ui-table .ui-num,.ui-table th.ui-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ui-table--sticky th{z-index:1;position:sticky;top:0}.ui-table--compact th,.ui-table--compact td{padding:var(--space-1) var(--space-2)}.ui-table__empty{padding:var(--space-6);text-align:center;color:var(--text-muted);font:var(--type-body)}.kpi-card{background:var(--white);border:1px solid var(--border);border-radius:10px;flex:1;min-width:140px;padding:14px 16px;position:relative;overflow:hidden}.kpi-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.kpi-card.green:before{background:var(--green)}.kpi-card.amber:before{background:var(--amber)}.kpi-card.red:before{background:var(--red)}.kpi-card.blue:before{background:var(--azure)}.kpi-card.navy:before{background:var(--navy)}.card-lbl{color:var(--ghost);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:10.5px;font-weight:500}.card-val{font-family:var(--mono);color:var(--ink);font-size:26px;font-weight:600;line-height:1}.card-val.lg{font-size:32px}.card-sub{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.badge{font-size:10px;font-weight:600;font-family:var(--mono);border-radius:20px;padding:2px 7px}.badge.green{background:var(--green-bg);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber-text)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{color:var(--azure2);background:#e6f3fc}.dt{border-collapse:collapse;width:100%;font-size:12px}.dt th{background:var(--navy);color:#fff;text-align:left;white-space:nowrap;padding:8px 12px;font-size:10.5px;font-weight:600}.dt th:first-child{border-radius:6px 0 0}.dt th:last-child{border-radius:0 6px 0 0}.dt td{border-bottom:1px solid var(--slate2);padding:7px 12px;font-size:11.5px}.dt tr:hover td{background:var(--slate)}.dt tr:last-child td{border-bottom:none}.dt .rnum{font-family:var(--mono);color:var(--ghost);font-weight:600}.hm{border-collapse:separate;border-spacing:3px;width:100%}.hm th{color:var(--ghost);text-align:center;padding:3px 6px;font-size:10px;font-weight:600}.hm td{text-align:center;font-family:var(--mono);cursor:default;border-radius:5px;padding:5px 8px;font-size:11.5px;font-weight:600;transition:transform .15s}.hm td:hover{z-index:2;position:relative;transform:scale(1.08)}.hm .rl{text-align:left;font-family:var(--font);color:var(--ink);background:0 0;padding:4px 8px 4px 0;font-size:11px;font-weight:500}.sec-card{background:var(--white);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:16px;transition:box-shadow .2s;position:relative;overflow:hidden}.sec-card:hover{box-shadow:0 4px 20px #1b3a6b1f}.plat-card{background:var(--white);border:1px solid var(--border);cursor:pointer;border-left:4px solid #0000;border-radius:8px;padding:12px 14px;transition:all .15s}.plat-card:hover{transform:translateY(-1px);box-shadow:0 2px 12px #1b3a6b1a}.plat-card.green{border-left-color:var(--green)}.plat-card.amber{border-left-color:var(--amber)}.plat-card.red{border-left-color:var(--red)}.rec-card{background:var(--navy);color:#fff;border-radius:10px;margin-bottom:8px;padding:16px}.rec-kpi{font-family:var(--mono);background:#ffffff1a;border-radius:20px;margin-bottom:8px;padding:2px 8px;font-size:10px;display:inline-block}.rec-card h4{color:#ffffffe6;margin-bottom:6px;font-size:12px;font-weight:600}.rec-card p{color:#ffffffa6;font-size:11.5px;line-height:1.5}.rec-edit-card{background:var(--slate);border:1.5px solid var(--border);border-radius:10px;margin-bottom:10px;padding:14px 16px;transition:opacity .15s}.rec-edit-card.hidden-rec{opacity:.5}.rec-edit-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.rec-edit-icon-input{border:1.5px solid var(--border);text-align:center;background:var(--white);border-radius:6px;width:42px;padding:6px;font-size:16px}.rec-edit-tag-input{border:1.5px solid var(--border);font-family:var(--font);color:var(--azure);background:var(--white);border-radius:6px;flex:1;padding:7px 10px;font-size:11.5px;font-weight:600}.rec-edit-tag-input:focus,.rec-edit-icon-input:focus{border-color:var(--azure);outline:none}.rec-vis-toggle{flex-shrink:0;align-items:center;gap:6px;display:flex}.rec-vis-toggle input{cursor:pointer;width:16px;height:16px;accent-color:var(--azure)}.rec-vis-toggle span{color:var(--ghost);white-space:nowrap;font-size:10.5px;font-weight:600}.rec-edit-title-input{border:1.5px solid var(--border);width:100%;font-family:var(--font);color:var(--navy);background:var(--white);border-radius:6px;margin-bottom:8px;padding:7px 10px;font-size:12.5px;font-weight:700}.rec-edit-body-input{border:1.5px solid var(--border);width:100%;font-family:var(--font);color:var(--ink);background:var(--white);resize:vertical;border-radius:6px;min-height:60px;padding:8px 10px;font-size:11.5px;line-height:1.5}.rec-edit-title-input:focus,.rec-edit-body-input:focus{border-color:var(--azure);outline:none}.rec-edit-bottom{justify-content:flex-end;margin-top:8px;display:flex}.rec-del-btn{color:var(--red);background:#fff5f5;border:1.5px solid #fddde0;border-radius:7px;padding:6px 14px;font-size:11px;font-weight:600;transition:all .15s}.rec-del-btn:hover{background:var(--red);color:#fff;border-color:var(--red)}.nhci-hero-r .badge{margin-top:8px;display:inline-block}.card-unit{color:var(--ghost);margin-left:2px;font-size:14px;font-weight:500}.card-note{color:var(--ghost);font-size:10px}.dt-empty{text-align:center;color:var(--ghost);padding:22px 12px;font-size:11.5px}.hm-cell{text-align:center;font-family:var(--mono);font-size:11px;font-weight:600}.hm-cell.green{background:var(--heat-green);color:var(--green)}.hm-cell.amber{background:var(--heat-amber);color:var(--heat-amber-ink)}.hm-cell.red{background:var(--heat-red);color:var(--red)}.hm-cell.gray{background:var(--slate);color:var(--ghost)}.bar-row{align-items:center;gap:10px;margin-bottom:9px;display:flex}.bar-label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:0 0 34%;font-size:11.5px;overflow:hidden}.bar-track{background:var(--slate2);border-radius:4px;flex:1;height:8px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .3s}.bar-fill.green{background:var(--green)}.bar-fill.amber{background:var(--amber)}.bar-fill.red{background:var(--red)}.bar-fill.gray{background:var(--ghost)}.bar-value{text-align:right;font-family:var(--mono);flex:0 0 62px;font-size:11.5px;font-weight:600}.not-measured{align-items:center;gap:8px;padding:10px 0;display:flex}.not-measured-why{color:var(--ghost);font-size:11px;line-height:1.45}.att-item{border-bottom:1px solid var(--slate2);cursor:pointer;align-items:flex-start;gap:10px;padding:9px 0;display:flex}.att-item:last-child{border-bottom:none}.att-item:hover{background:var(--slate)}.att-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.att-dot.green{background:var(--green)}.att-dot.amber{background:var(--amber)}.att-dot.red{background:var(--red)}.att-dot.gray{background:var(--ghost)}.att-body{flex:1;min-width:0}.att-title{color:var(--ink);font-size:12px;font-weight:600}.att-detail{color:var(--ghost);margin-top:2px;font-size:11px;line-height:1.45}.att-scope{text-transform:uppercase;letter-spacing:.4px;color:var(--ghost);flex-shrink:0;margin-top:3px;font-size:9px;font-weight:600}.cap-row{cursor:pointer;align-items:center;gap:10px;margin-bottom:10px;display:flex}.cap-row:hover .cap-label{color:var(--azure2)}.cap-label{color:var(--ink);flex:0 0 38%;font-size:12px}.mix-row{flex-wrap:wrap;gap:7px;display:flex}.mix-chip{color:var(--ink);background:var(--slate);border:1px solid var(--border);border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:inline-flex}.mix-chip strong{font-family:var(--mono);color:var(--navy);font-weight:600}.mix-chip-excluded{opacity:.6}.mix-chip-excluded strong{color:var(--ghost);font-style:italic;font-weight:500}.sec-row{cursor:pointer;border-bottom:1px solid var(--slate2);padding:8px 0}.sec-row:last-child{border-bottom:none}.sec-row:hover .sec-row-name{color:var(--azure2)}.sec-row-name{color:var(--ink);justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.sec-row-count{color:var(--ghost);font-size:10.5px;font-weight:400}.sec-row .bar-label{flex:0 0 0}.chart-wrap{width:100%;position:relative}.kpi-selector{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.kpi-sel-btn{border:1.5px solid var(--border);background:var(--white);color:var(--navy);transition:all var(--t-med);border-radius:7px;padding:7px 14px;font-size:12px;font-weight:600}.kpi-sel-btn:hover{border-color:var(--azure);color:var(--azure)}.kpi-sel-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.gauge-row{flex-wrap:wrap;gap:12px;display:flex}.gauge{text-align:center;flex:1;min-width:132px}.gauge-svg{width:100%;max-width:150px}.gauge-value{font-family:var(--mono);fill:var(--ink);font-size:17px;font-weight:700}.gauge-label{color:var(--navy);margin-top:2px;font-size:11px;font-weight:600}.gauge-sub{color:var(--ghost);margin-top:2px;font-size:9.5px}.rec-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.rec-card{background:var(--slate);border:1px solid var(--border);border-radius:var(--radius-lg);padding:13px 15px}.rec-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:7px;display:flex}.rec-icon{font-size:15px}.rec-title{color:var(--navy);font-size:12.5px;font-weight:600}.rec-body{color:var(--ink);font-size:11.5px;line-height:1.6}.rec-card .rec-body{color:var(--ink);margin:0}.sbd{overflow-x:auto}.sbd-table{border-collapse:collapse;width:100%;max-width:640px;font-size:12px}.sbd-table th{color:var(--ghost);text-align:left;border-bottom:1px solid var(--border);padding:4px 10px;font-size:10.5px;font-weight:600}.sbd-table th:not(:first-child),.sbd-num{text-align:right}.sbd-table td{border-bottom:1px solid var(--slate2);padding:5px 10px}.sbd-num{font-family:var(--mono);font-variant-numeric:tabular-nums}.sbd-excluded td{color:var(--ghost);font-style:italic}.sbd-table tfoot td{color:var(--ink);border-bottom:none}.sbd-final td{color:var(--navy);border-top:1px solid var(--border);font-weight:700}.sbd-note{color:var(--ghost);max-width:70ch;margin:10px 0 0;font-size:10.5px;line-height:1.55}.spinner{border:2px solid var(--slate2);border-top-color:var(--azure);border-radius:50%;flex-shrink:0;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:240px;padding:48px 20px;animation:.2s .25s forwards loading-in;display:flex}@keyframes loading-in{to{opacity:1}}.page-loading-text{color:var(--ghost);font-size:12px}.skeleton{background:linear-gradient(90deg, var(--slate2) 25%, #eef2f9 37%, var(--slate2) 63%);background-size:400% 100%;border-radius:4px;animation:1.3s infinite shimmer;display:block}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.skeleton-panel{flex-direction:column;gap:12px;display:flex}.skeleton-rows{flex-direction:column;gap:9px;display:flex}.skeleton-cards{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.skeleton-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex:1;gap:8px;min-width:140px;padding:14px 16px;display:flex}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--slate2);animation:none}.spinner{animation-duration:1.6s}.page-loading{opacity:1;animation:none}}
