:root{--admin-color-primary:#4f46e5;--admin-color-primary-hover:#4338ca;--admin-sidebar-bg:#1e1b4b;--admin-sidebar-text:#a5b4fc;--admin-sidebar-text-active:#fff;--admin-sidebar-active-bg:#ffffff1f;--admin-sidebar-hover-bg:#ffffff12;--admin-sidebar-coming-soon:#4a4680;--admin-surface:#fff;--admin-surface-subtle:#f9fafb;--admin-text-primary:#111827;--admin-text-secondary:#374151;--admin-text-muted:#6b7280;--admin-border:#e5e7eb;--admin-border-focus:#4f46e5;--admin-space-1:4px;--admin-space-2:8px;--admin-space-3:12px;--admin-space-4:16px;--admin-space-6:24px;--admin-space-8:32px;--admin-font:system-ui, -apple-system, "Segoe UI", sans-serif;--admin-font-size-xs:.75rem;--admin-font-size-sm:.875rem;--admin-font-size-base:1rem;--admin-font-size-lg:1.125rem;--admin-font-size-xl:1.25rem;--admin-font-weight-medium:500;--admin-font-weight-semibold:600;--admin-radius-sm:4px;--admin-radius-md:6px;--admin-radius-lg:8px;font-family:var(--admin-font);color:var(--admin-text-primary);background:var(--admin-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ws,.ff,.ss,.ac{gap:var(--admin-space-4);flex-direction:column;display:flex}.ws-head,.screen-head{justify-content:space-between;align-items:center;gap:var(--admin-space-4);display:flex}.ws-search{padding:var(--admin-space-2) var(--admin-space-3);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-surface);color:var(--admin-text-primary);font-size:var(--admin-font-size-base);min-width:16rem}.ws-search:focus{border-color:var(--admin-border-focus);outline:none}.admin-table,.ws-table,.ff-table,.ss-table,.ac-table,.scr-table{border-collapse:collapse;background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);width:100%;font-size:var(--admin-font-size-sm);overflow:hidden}.admin-table th,.ws-table th,.ff-table th,.ss-table th,.ac-table th,.scr-table th{text-align:left;padding:var(--admin-space-3);background:var(--admin-surface-subtle);color:var(--admin-text-secondary);font-weight:var(--admin-font-weight-semibold);border-bottom:1px solid var(--admin-border)}.admin-table td,.ws-table td,.ff-table td,.ss-table td,.ac-table td,.scr-table td{padding:var(--admin-space-3);border-bottom:1px solid var(--admin-border);color:var(--admin-text-primary)}.ws-empty{color:var(--admin-text-muted);text-align:center}.ws-pager{align-items:center;gap:var(--admin-space-3);display:flex}.ws-pager button,.screen-btn{padding:var(--admin-space-2) var(--admin-space-3);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-surface);color:var(--admin-text-primary);cursor:pointer}.ws-pager button:disabled{opacity:.5;cursor:default}.ws-count{color:var(--admin-text-muted);font-size:var(--admin-font-size-sm)}.screen-btn-primary{background:var(--admin-color-primary);border-color:var(--admin-color-primary);color:#fff}.screen-btn-primary:hover{background:var(--admin-color-primary-hover)}.ws-error,.screen-error{color:#b91c1c}.screen-confirm-backdrop{z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.screen-confirm{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-6);gap:var(--admin-space-4);flex-direction:column;max-width:28rem;display:flex}.screen-confirm-actions{gap:var(--admin-space-3);justify-content:flex-end;display:flex}.scr{gap:var(--admin-space-4);flex-direction:column;display:flex}.scr-note{color:var(--admin-text-muted);font-size:var(--admin-font-size-sm)}.scr-muted{color:var(--admin-text-muted)}.scr-mono,.scr-table code{font-family:ui-monospace,monospace}.scr-row--muted td{opacity:.55}.scr-chips{gap:var(--admin-space-1);flex-wrap:wrap;display:inline-flex}.scr-chip{background:var(--admin-surface-subtle);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);padding:0 var(--admin-space-2);font-size:var(--admin-font-size-xs);color:var(--admin-text-secondary)}.scr-badge{padding:0 var(--admin-space-2);border-radius:var(--admin-radius-sm);background:var(--admin-surface-subtle);border:1px solid var(--admin-border);font-size:var(--admin-font-size-xs);color:var(--admin-text-secondary);display:inline-block}.scr-badge--success{color:#15803d;border-color:#86efac}.scr-badge--error{color:#b91c1c;border-color:#fca5a5}.scr-badge--denied{color:#a16207;border-color:#fde68a}.scr-filters{gap:var(--admin-space-3);flex-wrap:wrap;display:flex}.scr-filters input,.scr-filters select,.scr-input{padding:var(--admin-space-2) var(--admin-space-3);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-surface);color:var(--admin-text-primary);font-size:var(--admin-font-size-sm)}.scr-input{width:100%}.scr-panel{gap:var(--admin-space-2);padding:var(--admin-space-4);background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);flex-direction:column;display:flex}.scr-panel h3{font-size:var(--admin-font-size-base);font-weight:var(--admin-font-weight-semibold);margin:0}.scr-textarea{width:100%;padding:var(--admin-space-3);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-surface);color:var(--admin-text-primary);font-family:ui-monospace,monospace;font-size:var(--admin-font-size-sm);resize:vertical}.scr-panel-actions{align-items:center;gap:var(--admin-space-3);display:flex}.scr-ok{color:#15803d;font-size:var(--admin-font-size-sm)}.scr-err{color:#b91c1c;font-size:var(--admin-font-size-sm)}.scr-actions{align-items:center;gap:var(--admin-space-2);flex-wrap:wrap;display:inline-flex}.scr-input.scr-input--narrow{width:auto;min-width:8rem}.scr-badge--active{color:#15803d;border-color:#86efac}.scr-badge--pending{color:#a16207;border-color:#fde68a}.scr-badge--deprecated{color:#b91c1c;border-color:#fca5a5}.scr-exposure{gap:var(--admin-space-2);flex-direction:column;display:flex}.scr-fieldset{border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);padding:var(--admin-space-2) var(--admin-space-3);margin:0}.scr-fieldset legend{font-size:var(--admin-font-size-sm);color:var(--admin-text-secondary)}.scr-check{align-items:center;gap:var(--admin-space-1);font-size:var(--admin-font-size-sm);margin-right:var(--admin-space-3);display:inline-flex}.scr-form{gap:var(--admin-space-3);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.scr-form label{gap:var(--admin-space-1);font-size:var(--admin-font-size-sm);color:var(--admin-text-secondary);flex-direction:column;display:flex}.scr-form select{padding:var(--admin-space-2) var(--admin-space-3);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-surface);color:var(--admin-text-primary)}.scr-pre{padding:var(--admin-space-2);background:var(--admin-surface-subtle);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);font-family:ui-monospace,monospace;font-size:var(--admin-font-size-xs);white-space:pre-wrap;word-break:break-word;max-height:20rem;margin:0;overflow:auto}.scr-diff{gap:var(--admin-space-3);grid-template-columns:1fr 1fr;display:grid}.scr-dl{gap:var(--admin-space-1) var(--admin-space-4);font-size:var(--admin-font-size-sm);grid-template-columns:max-content 1fr;margin:0;display:grid}.scr-dl dt{color:var(--admin-text-secondary)}.scr-dl dd{word-break:break-all;margin:0}.scr-badge--changed{color:#a16207;border-color:#fde68a}.scr-badge--suspended{color:#b91c1c;border-color:#fca5a5}.scr-badge--removed{color:var(--admin-text-muted)}.scr-badge--approved{color:#15803d;border-color:#86efac}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.shell-sidebar{background:var(--admin-sidebar-bg);padding:var(--admin-space-4) 0;flex-direction:column;gap:0;display:flex;overflow-y:auto}.shell-brand{align-items:center;gap:var(--admin-space-2);padding:var(--admin-space-2) var(--admin-space-4) var(--admin-space-6);font-size:var(--admin-font-size-lg);font-weight:var(--admin-font-weight-semibold);color:var(--admin-sidebar-text-active);letter-spacing:-.01em;display:flex}.shell-brand-icon{color:var(--admin-color-primary);font-size:1.2em;font-style:normal}.shell-nav-section-label{padding:var(--admin-space-3) var(--admin-space-4) var(--admin-space-1);font-size:var(--admin-font-size-xs);font-weight:var(--admin-font-weight-semibold);letter-spacing:.07em;text-transform:uppercase;color:var(--admin-sidebar-coming-soon)}.shell-nav-section-label--coming{margin-top:var(--admin-space-4)}.shell-nav-link{padding:var(--admin-space-2) var(--admin-space-4);font-size:var(--admin-font-size-sm);color:var(--admin-sidebar-text);cursor:pointer;border-radius:0;text-decoration:none;transition:background .1s,color .1s;display:block}.shell-nav-link:hover:not(.shell-nav-link--disabled){background:var(--admin-sidebar-hover-bg);color:var(--admin-sidebar-text-active)}.shell-nav-link.active{background:var(--admin-sidebar-active-bg);color:var(--admin-sidebar-text-active);font-weight:var(--admin-font-weight-medium)}.shell-nav-link--disabled{color:var(--admin-sidebar-coming-soon);cursor:default;font-style:italic}.shell-spacer{flex:1}.shell-identity{padding:var(--admin-space-3) var(--admin-space-4);border-top:1px solid #ffffff14;flex-direction:column;gap:2px;display:flex}.shell-identity-label{font-size:var(--admin-font-size-xs);color:var(--admin-sidebar-coming-soon)}.shell-identity-user{font-size:var(--admin-font-size-sm);color:var(--admin-sidebar-text-active);word-break:break-all;font-weight:var(--admin-font-weight-medium)}.shell-identity-role{font-size:var(--admin-font-size-xs);color:var(--admin-sidebar-text)}.shell-logout-btn{margin:var(--admin-space-2) var(--admin-space-4) var(--admin-space-2);padding:var(--admin-space-2) var(--admin-space-3);border-radius:var(--admin-radius-md);color:var(--admin-sidebar-text);font-size:var(--admin-font-size-sm);cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff26;font-family:inherit;transition:background .1s,border-color .1s}.shell-logout-btn:hover{background:var(--admin-sidebar-hover-bg);color:var(--admin-sidebar-text-active);border-color:#ffffff40}.shell-main{background:var(--admin-surface-subtle);overflow:auto}.view-placeholder{padding:var(--admin-space-8)}.view-placeholder h2{margin:0 0 var(--admin-space-3);font-size:var(--admin-font-size-xl);font-weight:var(--admin-font-weight-semibold);color:var(--admin-text-primary)}.view-placeholder p{color:var(--admin-text-muted);font-size:var(--admin-font-size-sm);margin:0}.login-container{background:var(--admin-sidebar-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--admin-surface);border-radius:var(--admin-radius-lg);padding:var(--admin-space-8);width:100%;max-width:400px;box-shadow:0 4px 24px #0000004d}.login-title{margin:0 0 var(--admin-space-1);font-size:var(--admin-font-size-xl);font-weight:var(--admin-font-weight-semibold);color:var(--admin-text-primary)}.login-subtitle{margin:0 0 var(--admin-space-6);font-size:var(--admin-font-size-sm);color:var(--admin-text-muted)}.field{gap:var(--admin-space-1);margin-bottom:var(--admin-space-4);flex-direction:column;display:flex}.field label{font-size:var(--admin-font-size-sm);font-weight:var(--admin-font-weight-medium);color:var(--admin-text-secondary)}.field input{padding:var(--admin-space-2) var(--admin-space-3);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:var(--admin-font-size-base);color:var(--admin-text-primary);background:var(--admin-surface);outline:none;font-family:inherit;transition:border-color .15s}.field input:focus{border-color:var(--admin-border-focus);box-shadow:0 0 0 3px #4f46e526}.field input:disabled{background:var(--admin-surface-subtle);color:var(--admin-text-muted);cursor:not-allowed}.login-error{margin:0 0 var(--admin-space-3);padding:var(--admin-space-2) var(--admin-space-3);border-radius:var(--admin-radius-sm);color:#dc2626;font-size:var(--admin-font-size-sm);background:#fef2f2;border:1px solid #fecaca}.login-btn{width:100%;padding:var(--admin-space-3);background:var(--admin-color-primary);color:#fff;border-radius:var(--admin-radius-md);font-size:var(--admin-font-size-base);font-weight:var(--admin-font-weight-medium);cursor:pointer;border:none;font-family:inherit;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--admin-color-primary-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.not-authorized-container{background:var(--admin-surface-subtle);justify-content:center;align-items:center;min-height:100vh;display:flex}.not-authorized-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-8);text-align:center;max-width:420px}.not-authorized-icon{margin-bottom:var(--admin-space-4);font-size:3rem}.not-authorized-title{margin:0 0 var(--admin-space-3);font-size:var(--admin-font-size-xl);font-weight:var(--admin-font-weight-semibold);color:var(--admin-text-primary)}.not-authorized-body{margin:0 0 var(--admin-space-6);font-size:var(--admin-font-size-sm);color:var(--admin-text-muted);line-height:1.5}.not-authorized-link{padding:var(--admin-space-2) var(--admin-space-4);background:var(--admin-surface-subtle);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);color:var(--admin-text-secondary);font-size:var(--admin-font-size-sm);text-decoration:none;display:inline-block}.not-authorized-link:hover{background:var(--admin-border)}
