:root{color-scheme:light;--brand-navy: #071d3b;--brand-navy-deep: #08182c;--brand-cyan: #18a8c9;--brand-teal: #12a89d;--brand-amber: #d9911a;--bg: #f4f6f9;--bg-elevated: #ffffff;--bg-secondary: #f8fafc;--border: #dde3ea;--border-strong: #c8ced8;--divider: #e8ecf1;--text: #172033;--text-muted: #58657a;--text-faint: #7e8999;--accent: #0f6cbd;--accent-hover: #176fd1;--accent-soft: #e8f2fc;--danger: #c94343;--danger-soft: #fbeeee;--success: #2e9d68;--success-soft: #eaf7f0;--warning: #d9911a;--warning-soft: #fdf3e4;--shadow-sm: 0 1px 2px rgba(7, 29, 59, .06);--shadow-md: 0 4px 12px rgba(7, 29, 59, .1);--radius: 6px;--info: #18a8c9;--info-soft: #e3f4f8;--nav-bg: var(--brand-navy);--nav-bg-active: rgba(255, 255, 255, .08);--nav-bg-hover: rgba(255, 255, 255, .05);--nav-text: #aab8c9;--nav-text-active: #ffffff;--nav-accent: var(--brand-cyan);--nav-border: rgba(255, 255, 255, .08);font-family:Segoe UI,Segoe UI Variable,Arial,Helvetica,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #071426;--bg-elevated: #0b1d34;--bg-secondary: #102742;--border: #263c56;--border-strong: #385170;--divider: #1a3350;--text: #f2f6fa;--text-muted: #aab8c9;--text-faint: #71849a;--accent: #2899f5;--accent-hover: #4db2ff;--accent-soft: rgba(40, 153, 245, .15);--danger: #f1707b;--danger-soft: rgba(201, 67, 67, .18);--success: #6bcb6e;--success-soft: rgba(46, 157, 104, .18);--warning: #f0b04d;--warning-soft: rgba(217, 145, 26, .18);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:14px;font-variant-numeric:tabular-nums}h1,h2,h3,h4{font-weight:600;color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;font-size:14px}button:disabled{cursor:not-allowed;opacity:.6}table{width:100%;border-collapse:collapse}thead th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border)}td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--divider);font-size:14px}tbody tr:hover{background:var(--accent-soft)}.app-shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--nav-bg);padding:0 0 16px;display:flex;flex-direction:column}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid var(--nav-border)}.sidebar .brand img{height:28px;width:auto}.sidebar .brand span{color:var(--nav-text-active);font-size:14px;font-weight:600;letter-spacing:.01em}.sidebar nav{display:flex;flex-direction:column;margin-top:8px;gap:1px;padding:0 8px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--nav-text);text-decoration:none;font-size:14px;border-left:3px solid transparent;transition:background .1s ease,color .1s ease}.sidebar nav a.active{color:var(--nav-text-active);background:var(--nav-bg-active);font-weight:600;border-left-color:var(--nav-accent)}.sidebar nav a:hover{color:var(--nav-text-active);background:var(--nav-bg-hover);text-decoration:none}.sidebar nav a.active:hover{background:var(--nav-bg-active)}.content{flex:1;padding:24px 32px;overflow-x:auto;background:var(--bg)}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm);padding:20px;margin-bottom:16px}.card h3{margin-top:0}.stat-tile{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm);padding:18px 20px}.stat-tile .stat-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.stat-tile .stat-value{font-size:30px;font-weight:700;color:var(--text);margin-top:4px;font-variant-numeric:tabular-nums}.stat-tile .stat-delta{font-size:12px;font-weight:600;margin-top:4px}.stat-tile .stat-delta.up{color:var(--success)}.stat-tile .stat-delta.down{color:var(--danger)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#58657a1f;color:var(--text-muted)}.badge.ok{background:var(--success-soft);color:var(--success)}.badge.error{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.form-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}input,select,textarea{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text);padding:7px 10px;border-radius:4px;font-family:inherit;font-size:14px;transition:border-color .1s ease,box-shadow .1s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-faint)}button:not(.primary-button):not(.theme-toggle):not(.icon-button):not([class*=badge]){background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text);border-radius:4px;padding:7px 14px;transition:background .1s ease,border-color .1s ease}button:not(.primary-button):not(.theme-toggle):not([class*=badge]):hover:not(:disabled){background:var(--bg-secondary);border-color:var(--text-faint)}.primary-button{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:8px 18px;font-weight:600;transition:background .1s ease}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.centered-page{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-secondary)}.centered-page .card{box-shadow:var(--shadow-md)}.theme-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border-strong);border-radius:4px;padding:6px 10px;color:var(--text);font-size:13px}.theme-toggle:hover:not(:disabled){background:var(--bg-secondary)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.danger-button{background:var(--danger);color:#fff;border:none;border-radius:4px;padding:8px 18px;font-weight:600;transition:background .1s ease}.danger-button:hover:not(:disabled){background:#b03636}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted);padding:0;font-size:14px}.icon-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border);color:var(--text)}.dropdown-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:160px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-md);padding:4px;z-index:100;display:flex;flex-direction:column}.dropdown-menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-radius:4px;padding:8px 10px;font-size:13px;color:var(--text)}.dropdown-menu-item:hover:not(:disabled){background:var(--bg-secondary)}.dropdown-menu-item.danger{color:var(--danger)}.kpi-card-link{text-decoration:none;color:inherit;display:block;border-radius:8px}.kpi-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm);padding:16px;display:flex;gap:12px;align-items:flex-start;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease;height:100%}.kpi-card-link:hover .kpi-card,.kpi-card-link:focus-visible .kpi-card{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-card-icon{flex-shrink:0;width:38px;height:38px;border-radius:9px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center}.kpi-card-icon.variant-success{background:var(--success-soft)}.kpi-card-icon.variant-warning{background:var(--warning-soft)}.kpi-card-icon.variant-danger{background:var(--danger-soft)}.kpi-card-icon.variant-info{background:var(--info-soft)}.kpi-card .stat-value{font-size:26px}.kpi-card-delta{font-size:11px;font-weight:600;margin-top:3px;display:flex;align-items:center;gap:3px}.kpi-card-delta.up{color:var(--success)}.kpi-card-delta.down{color:var(--danger)}.kpi-card-body{flex:1;min-width:0}.kpi-card-caption{font-size:11px;color:var(--text-faint);margin-top:2px}.kpi-skeleton{height:26px;width:60%;margin-top:4px;border-radius:4px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--divider) 37%,var(--bg-secondary) 63%);background-size:400% 100%;animation:kpi-shimmer 1.4s ease infinite}@keyframes kpi-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:16px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.section-header h3{margin:0}.health-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.command-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.pill-select{border-radius:999px;padding:7px 14px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);font-size:13px}.pill-select:hover:not(:disabled){border-color:var(--border-strong)}.search-input-wrap{position:relative;display:inline-flex;align-items:center}.search-input-wrap svg{position:absolute;left:11px;color:var(--text-faint);pointer-events:none}.search-input-wrap input.search-input{padding-left:32px;border-radius:999px}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab-bar button{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;padding:10px 4px;margin-right:22px;color:var(--text-muted);font-weight:500;font-size:14px}.tab-bar button:hover:not(:disabled){background:transparent;color:var(--text)}.tab-bar button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.table-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm);overflow:hidden}.table-card table{margin:0}.table-card thead th{background:var(--bg-secondary)}.table-card td,.table-card th{padding:12px 16px}.table-card tbody tr:last-child td{border-bottom:none}.sidebar nav .nav-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nav-text);opacity:.6;padding:14px 12px 4px}.sidebar-profile{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--nav-border);background:transparent;border-left:none;border-right:none;border-bottom:none;width:100%;text-align:left;cursor:pointer}.sidebar-profile:hover{background:var(--nav-bg-hover)}.sidebar-profile-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--nav-accent);color:var(--brand-navy-deep);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.sidebar-profile-body{flex:1;min-width:0}.sidebar-profile-name{color:var(--nav-text-active);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-role{color:var(--nav-text);font-size:11px;opacity:.85}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0714268c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px}.dialog-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);max-width:92vw;max-height:88vh;display:flex;flex-direction:column}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.dialog-header h3{margin:0;font-size:16px}.dialog-body{padding:20px;overflow-y:auto}.dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;color:var(--text-muted);text-align:center}.empty-state h4{margin:4px 0 0;color:var(--text)}.empty-state p{margin:0;max-width:360px;font-size:13px}.loading-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 24px;color:var(--text-muted);font-size:13px}.error-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;color:var(--danger);text-align:center}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
