.skip-link{background:var(--color-sidebar-deep);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);z-index:80;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--space-2);top:var(--space-2)}.app-shell{background:var(--color-bg);align-items:stretch;min-height:100vh;display:flex}.app-frame{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.top-bar{align-items:center;gap:var(--space-3);min-height:var(--topbar-height);padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:30;display:flex;position:sticky;top:0}.top-bar-context{font-size:var(--text-sm);margin:0;font-weight:650;display:none}.top-bar-end{align-items:baseline;gap:var(--space-2);min-width:0;margin-left:auto;display:flex}.top-bar-name{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-weight:600;overflow:hidden}.top-bar-role{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap}.top-bar .nav-toggle,.nav-backdrop{display:none}.side-nav{width:var(--sidenav-width);background:var(--color-sidebar);color:var(--color-text-inverse);z-index:40;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.side-nav-collapsed{width:var(--sidenav-collapsed-width)}.side-nav-brand{align-items:center;gap:var(--space-3);min-height:var(--topbar-height);padding:0 var(--space-4);border-bottom:1px solid #f7faf814;display:flex}.side-nav-logo{color:#d7efe6;flex-shrink:0;width:28px;height:28px;font-size:28px;display:inline-flex}.side-nav-brand strong,.side-nav-brand span{display:block}.side-nav-brand strong{font-size:var(--text-sm);font-weight:650}.side-nav-brand span,.side-nav-group-label,.side-nav-role{color:#f7faf89e;font-size:var(--text-xs)}.side-nav-scroll{padding:var(--space-3) var(--space-2);flex:1;overflow:auto}.side-nav-group{margin-bottom:var(--space-3)}.side-nav-group-label{margin:0 var(--space-3) var(--space-1);letter-spacing:.06em;text-transform:uppercase;font-weight:650}.side-nav-list{margin:0;padding:0;list-style:none}.side-nav-link{align-items:center;gap:var(--space-3);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:#f7faf8e0;font-size:var(--text-sm);text-decoration:none;display:flex}.side-nav-link svg{flex-shrink:0;width:18px;height:18px}.side-nav-link.active,.side-nav-link:hover{color:#fff;background:#f7faf814}.side-nav-link.active{box-shadow:inset 2px 0 #8fd0b8}.side-nav-footer{padding:var(--space-3);gap:var(--space-1);border-top:1px solid #f7faf814;display:grid}.side-nav-user,.side-nav-role{margin:0}.side-nav-user{font-size:var(--text-sm);font-weight:600}.side-nav-logout,.side-nav-collapse{color:#f7faf8e0}.side-nav-logout{cursor:pointer;font-size:var(--text-sm);background:0 0;border:0;justify-self:start;padding:0}.side-nav-collapsed .side-nav-link-label,.side-nav-collapsed .side-nav-group-label,.side-nav-collapsed .side-nav-user,.side-nav-collapsed .side-nav-role,.side-nav-collapsed .side-nav-logout{display:none}.side-nav-collapsed .side-nav-link{justify-content:center;padding:0}.app-main{padding:var(--space-6) var(--space-6) var(--space-8);flex:1}.page-container{width:min(var(--page-max), 100%);gap:var(--space-5);margin:0 auto;display:grid}.page-block{gap:var(--space-5);display:grid}@media (width<=1099px){.app-main{padding:var(--space-5) var(--space-4)}}@media (width<=767px){.top-bar .nav-toggle{display:inline-flex}.top-bar-context{display:block}.top-bar-role{display:none}.top-bar-name{max-width:38vw}.nav-backdrop{z-index:45;cursor:pointer;background:#0b2f2675;border:0;display:block;position:fixed;inset:0}.side-nav{width:min(280px,86vw);transition:transform .16s;position:fixed;top:0;left:0;transform:translate(-105%)}.side-nav-open,.side-nav-open.side-nav-collapsed{z-index:50;width:min(280px,86vw);transform:none}.side-nav-open .side-nav-link-label,.side-nav-open .side-nav-group-label,.side-nav-open .side-nav-user,.side-nav-open .side-nav-role,.side-nav-open .side-nav-logout{display:block}.side-nav-open .side-nav-link{padding:0 var(--space-3);justify-content:flex-start}.side-nav-collapse{display:none}}.ui-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.ui-page-header h1,.page-block h1,.login-brand h1{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0;font-weight:650;line-height:1.2}.ui-page-lead,.ui-note,.muted,.login-lead{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.ui-page-actions,.ui-meta,.ui-filter-actions,.ui-dialog-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-filter-actions{margin-left:auto}.ui-meta{margin-top:var(--space-2)}.ui-breadcrumb{margin-bottom:var(--space-2)}.ui-breadcrumb ol{gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ui-breadcrumb li:not(:last-child):after{content:"/";margin-left:var(--space-2);color:var(--color-border-strong)}.ui-btn,.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.ui-btn:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed}.ui-btn-primary,.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.ui-btn-primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.ui-btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.ui-btn-ghost{color:var(--color-primary);background:0 0}.ui-btn-danger{background:var(--color-danger);color:#fff}.ui-btn-compact{min-height:28px;padding:0 var(--space-2);font-size:var(--text-xs)}.ui-icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}@media (width<=767px){.side-nav .side-nav-collapse{display:none}}.ui-field{gap:var(--space-1);min-width:0;display:grid}.ui-field label,.stack-form label,.login-form label{font-size:var(--text-sm);font-weight:600}.ui-input,.form-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:40px;padding:.45rem .7rem}.ui-textarea{resize:vertical;min-height:88px}.ui-field-hint,.ui-field-error,.message{font-size:var(--text-sm);margin:0}.ui-field-hint{color:var(--color-text-muted)}.ui-field-error,.message{color:var(--color-danger)}.ui-filter{align-items:end;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.ui-filter-fields{align-items:end;gap:var(--space-3);flex-wrap:wrap;flex:1;min-width:0;display:flex}.ui-filter-fields>.ui-field:first-child{flex:220px}.ui-filter-fields>.ui-field{flex:0 168px;min-width:140px}.ui-badge{min-height:22px;font-size:var(--text-xs);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:0 8px;font-weight:650;line-height:1;display:inline-flex}.ui-badge-success{color:var(--color-success);background:var(--color-success-bg)}.ui-badge-warning{color:var(--color-warning);background:var(--color-warning-bg)}.ui-badge-danger{color:var(--color-danger);background:var(--color-danger-bg)}.ui-badge-info{color:var(--color-primary);background:var(--color-info-bg)}.ui-badge-neutral{color:var(--color-text-muted);background:var(--color-surface-muted);border-color:var(--color-border)}.ui-table-wrap,.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:100%;overflow:auto}.ui-table,table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ui-table{min-width:760px}.ui-table th,.ui-table td,th,td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle;padding:8px 12px}.ui-table th,.ui-table td{white-space:nowrap}.ui-table td details,.ui-table td p{white-space:normal}.ui-table th,th{background:var(--color-surface-muted);color:var(--color-text-muted);font-weight:650;font-size:var(--text-xs);letter-spacing:.02em}.ui-table tbody tr:hover,table tbody tr:hover{background:#f4faf7}.ui-mono{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.ui-copy-id,.ui-progress{align-items:center;gap:var(--space-2);display:inline-flex}.ui-progress-track{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;width:72px;height:6px;overflow:hidden}.ui-progress-track span{background:var(--color-accent);height:100%;display:block}.ui-metric-grid,.metric-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ui-metric-grid-secondary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ui-metric,.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.ui-metric-label,.metric-label{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.ui-metric-value,.metric-value{margin:var(--space-2) 0 0;font-size:var(--text-2xl);letter-spacing:-.03em;font-weight:650}.ui-metric-hint,.metric-hint{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.tone-ok .ui-metric-value,.tone-ok .metric-value{color:var(--color-success)}.tone-warning .ui-metric-value,.tone-warning .metric-value{color:var(--color-warning)}.tone-danger .ui-metric-value,.tone-danger .metric-value{color:var(--color-danger)}.ui-card,.stack-form,.state-panel,.ui-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.ui-section,.stack-form,.ui-card,.ui-state{gap:var(--space-3);display:grid}.ui-card h2,.ui-section h2,.ui-state h2{font-size:var(--text-lg);margin:0;font-weight:650}.ui-card p,.ui-state p{color:var(--color-text-muted);margin:0}.ui-state-warning{background:var(--color-warning-bg);border-color:#f5d7a1}.ui-state-danger{background:var(--color-danger-bg);border-color:#f3c7c2}.ui-spinner,.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ui-tabs,.tab-row{gap:var(--space-1);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.ui-tab,.tab{color:var(--color-text-muted);min-height:36px;padding:0 var(--space-3);cursor:pointer;font-size:var(--text-sm);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.ui-tab-active,.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:0 0;font-weight:650}.ui-tab-panel{gap:var(--space-4);display:grid}@media (width<=1099px){.ui-filter{display:grid}.ui-filter-actions{justify-content:flex-end;margin-left:0}.ui-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ui-filter-fields>.ui-field,.ui-filter-fields>.ui-field:first-child{flex:none;width:auto;min-width:0}.ui-filter-fields>.ui-field:only-child{grid-column:1/-1}}@media (width<=767px){.ui-tabs,.tab-row{flex-wrap:nowrap;overflow-x:auto}.ui-tab,.tab{flex:none}}.ui-dialog-backdrop{z-index:70;padding:var(--space-4);background:#0b2f2675;place-items:center;display:grid;position:fixed;inset:0}.ui-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(440px,100%);padding:var(--space-5);gap:var(--space-3);display:grid}.ui-dialog h2{font-size:var(--text-lg);margin:0}.ui-dialog p{color:var(--color-text-muted);margin:0}.ui-dialog-actions{justify-content:flex-end}.ui-banner{background:var(--color-warning-bg);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);border:1px solid #f5d7a1}.ui-banner p{margin:0}.ui-dev-notice{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--text-xs)}.ui-pagination{justify-content:flex-end;align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.ui-health-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.ui-divider{border:0;border-top:1px solid var(--color-border);margin:0}.detail-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;display:grid}.detail-list div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.detail-list dt{color:var(--color-text-muted);font-size:var(--text-xs)}.detail-list dd{margin:var(--space-1) 0 0;font-weight:600}.stack-form{max-width:42rem}.stack-form fieldset{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.stack-form legend{margin-bottom:var(--space-1);font-weight:650}.form-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.chip-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface-muted);font-size:var(--text-sm);border-radius:999px;padding:.35rem .75rem;display:inline-flex}.public-shell{min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-panel{gap:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(920px,100%);padding:var(--space-6);grid-template-columns:1fr;display:grid}.login-logo{color:var(--color-primary);font-size:2rem;display:inline-flex}.login-form,.login-brand{gap:var(--space-3);align-content:start;display:grid}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-xs);color:var(--color-primary);margin:0;font-weight:700}.login-submit{width:100%}.login-footnote{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.mfa-qr svg{width:196px;height:auto}@media (width>=860px){.login-panel{padding:var(--space-8);grid-template-columns:1.05fr .95fr}}@media (width<=900px){.ui-metric-grid,.metric-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.ui-page-header,.ui-metric-grid,.metric-grid,.ui-filter{grid-template-columns:1fr;display:grid}.ui-filter-fields,.ui-filter-fields>.ui-field,.ui-filter-fields>.ui-field:first-child{flex:none;width:100%;min-width:0;display:grid}.ui-page-actions,.ui-filter-actions{width:100%}.ui-page-actions .ui-btn,.ui-filter-actions .ui-btn{flex:1}}:root{--color-bg:#f7faf8;--color-surface:#fff;--color-surface-muted:#f3f7f5;--color-sidebar:#0f2f28;--color-sidebar-deep:#0b2f26;--color-border:#d5ded9;--color-border-strong:#b7c6bf;--color-text:#12201c;--color-text-muted:#4a5c55;--color-text-inverse:#f7faf8;--color-primary:#145241;--color-primary-hover:#0f3f32;--color-accent:#1f6f57;--color-danger:#b42318;--color-danger-bg:#fef3f2;--color-warning:#b54708;--color-warning-bg:#fffaeb;--color-success:#067647;--color-success-bg:#ecfdf3;--color-info-bg:#f0f7f4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--admin-50:#f0f7f4;--admin-100:#d8ebe3;--admin-200:#b3d6c8;--admin-500:var(--color-accent);--admin-700:var(--color-primary);--admin-900:var(--color-sidebar-deep);--surface-0:var(--color-surface);--surface-1:var(--color-surface-muted);--surface-2:#e8eeeb;--surface-raised:var(--color-surface-muted);--border-default:var(--color-border);--border-subtle:var(--color-border);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-inverse:var(--color-text-inverse);--severity-critical:var(--color-danger);--severity-warning:var(--color-warning);--severity-ok:var(--color-success);--severity-info:var(--color-primary);--font-size-xs:var(--text-xs);--font-size-sm:var(--text-sm);--font-size-base:var(--text-base);--font-size-lg:var(--text-lg);--font-size-xl:var(--text-xl);--font-size-2xl:var(--text-2xl);--font-size-3xl:1.75rem;--font-family-base:"Segoe UI", "Candara", "Gill Sans", system-ui, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--touch-target-min:40px;--topbar-height:48px;--sidenav-width:248px;--sidenav-collapsed-width:72px;--page-max:1560px;color:var(--color-text);background:var(--color-bg);font-family:var(--font-family-base);font-size:var(--text-base);line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg)}a{color:var(--color-primary)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}code{font-family:var(--font-family-mono);font-size:.92em}
