:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--bg: #f8fafc;--surface: #ffffff;--surface-alt: #f1f5f9;--panel: #ffffff;--panel-border: #e2e8f0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-contrast: #ffffff;--success: #16a34a;--success-bg: #dcfce7;--warning: #b45309;--warning-bg: #fef3c7;--danger: #dc2626;--danger-bg: #fee2e2;--info: #0369a1;--info-bg: #e0f2fe;--neutral-bg: #f1f5f9;--radius: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08)}[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--surface: #111a2b;--surface-alt: #0d1526;--panel: #111a2b;--panel-border: #223049;--text: #e5e7eb;--muted: #94a3b8;--accent: #3b82f6;--accent-strong: #60a5fa;--accent-contrast: #071022;--success: #4ade80;--success-bg: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .12);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--info: #38bdf8;--info-bg: rgba(56, 189, 248, .12);--neutral-bg: rgba(148, 163, 184, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 4px 16px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:var(--bg);transition:background .15s ease,color .15s ease}button,a,input,select,textarea{font:inherit}a{color:inherit}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{padding:1.5rem 1.1rem;border-right:1px solid var(--panel-border);background:var(--surface);display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}.brandMark{width:2.25rem;height:2.25rem;border-radius:var(--radius);display:grid;place-items:center;font-weight:700;font-size:.85rem;letter-spacing:.04em;background:var(--accent);color:var(--accent-contrast)}.sidebar h1,.hero h2,.panel h3{margin:0}.sidebar h1{margin-top:.85rem;font-size:1.1rem}.sidebar p,.lead,.sidebarCard p,.activityItem p{color:var(--muted);line-height:1.55;font-size:.85rem}.sidebarTop{margin-bottom:.5rem}.sidebar nav{display:grid;gap:.15rem}.sidebar nav a{color:var(--muted);text-decoration:none;padding:.55rem .7rem;border-radius:var(--radius);background:transparent;border-left:2px solid transparent;font-size:.88rem;font-weight:500;display:flex;align-items:center}.sidebar nav a:hover{background:var(--surface-alt);color:var(--text)}.sidebar nav a.active{background:var(--surface-alt);color:var(--accent);border-left-color:var(--accent);font-weight:600}.sidebarFooter{display:grid;gap:.7rem}.sidebarCard,.panel,.metricCard,.hero{border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow-sm)}.sidebarCard{border-radius:var(--radius-lg);padding:.9rem}.sidebarCard span,.panelHeader span,.metricCard em,.activityItem span,.eyebrow{color:var(--muted)}.themeToggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .65rem;border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--surface-alt);font-size:.8rem;color:var(--muted)}.themeToggle button{border:1px solid var(--panel-border);background:var(--surface);color:var(--text);width:1.9rem;height:1.9rem;border-radius:var(--radius);display:grid;place-items:center;cursor:pointer;font-size:.85rem}.themeToggle button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.content{padding:1.75rem 2rem;display:grid;gap:1.25rem;align-content:start}.content>header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}.content>header h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.content>header p{margin:0;color:var(--muted);font-size:.9rem}.headerActions{display:flex;gap:.5rem;flex-wrap:wrap}.hero{border-radius:var(--radius-lg);padding:1.25rem;display:flex;justify-content:space-between;gap:1.2rem;align-items:flex-end}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;margin-bottom:.6rem}.hero h2{max-width:20ch;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.15}.heroActions{display:flex;gap:.6rem;flex-wrap:wrap}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.metricCard{border-radius:var(--radius-lg);padding:1rem 1.1rem;display:grid;gap:.35rem}.metricCard span{font-size:.8rem}.metricCard strong{font-size:1.6rem;font-weight:700}.metricCard em{font-style:normal;color:var(--success)}.gridLayout{display:grid;grid-template-columns:1.6fr 1fr;gap:1rem}.panel{border-radius:var(--radius-lg);padding:1.1rem}.panelHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.panelHeader h3{font-size:.95rem;font-weight:700}.activityList{display:grid;gap:.85rem}.activityItem{display:grid;grid-template-columns:.5rem minmax(0,1fr);gap:.85rem;align-items:start}.activityItem strong{font-size:.88rem}.activityDot{width:.5rem;height:.5rem;border-radius:999px;margin-top:.4rem;background:var(--accent)}@media(max-width:1100px){.shell,.gridLayout,.metricGrid,.hero{grid-template-columns:1fr}.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--panel-border)}}@media(max-width:640px){.content{padding:1rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:var(--radius);border:1px solid var(--panel-border);background:var(--surface);color:var(--text);padding:.55rem .95rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease;white-space:nowrap}.btn:hover{background:var(--surface-alt);border-color:var(--muted)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-danger{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.btn-danger:hover{filter:brightness(.96)}.btn-sm{padding:.35rem .65rem;font-size:.78rem}.btn-icon{padding:.5rem;line-height:1}.tabs{display:flex;gap:.2rem;padding:.2rem;border-radius:var(--radius);background:var(--surface-alt);border:1px solid var(--panel-border);width:fit-content;margin-bottom:1.1rem;flex-wrap:wrap}.tab{border:none;background:transparent;color:var(--muted);padding:.45rem .9rem;border-radius:calc(var(--radius) - .15rem);font-weight:600;font-size:.82rem;cursor:pointer;transition:background .12s ease,color .12s ease}.tab:hover{color:var(--text)}.tab.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.formGrid.single{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:.35rem}.field.span2{grid-column:span 2}.field label{font-size:.78rem;font-weight:600;color:var(--muted)}.input,.select,textarea.input{width:100%;padding:.55rem .7rem;border-radius:var(--radius);border:1px solid var(--panel-border);background:var(--surface);color:var(--text);font-size:.88rem;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder{color:var(--muted);opacity:.7}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) center,calc(100% - 11px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem}.select option{background:var(--surface);color:var(--text)}.formActions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--panel-border)}.formError{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);padding:.6rem .8rem;border-radius:var(--radius);font-size:.82rem;margin-bottom:.9rem}.tableCard{border:1px solid var(--panel-border);background:var(--panel);border-radius:var(--radius-lg);overflow:hidden}.tableToolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--panel-border);flex-wrap:wrap}.tableToolbar h3{margin:0;font-size:.95rem;font-weight:700}.tableWrap{overflow-x:auto}table.dataTable{width:100%;border-collapse:collapse;font-size:.85rem}table.dataTable thead th{text-align:left;padding:.65rem 1.1rem;color:var(--muted);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--panel-border);white-space:nowrap;background:var(--surface-alt)}table.dataTable tbody td{padding:.75rem 1.1rem;border-bottom:1px solid var(--panel-border);vertical-align:middle}table.dataTable tbody tr:last-child td{border-bottom:none}table.dataTable tbody tr:hover{background:var(--surface-alt)}.cellMuted{color:var(--muted)}.cellStrong{font-weight:600}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:var(--radius);font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--neutral-bg);color:var(--muted)}.emptyState{display:grid;place-items:center;gap:.5rem;text-align:center;padding:3rem 1.5rem;color:var(--muted)}.emptyState .emptyIcon{font-size:1.9rem;opacity:.7}.emptyState strong{color:var(--text);font-size:.95rem}.spinnerWrap{display:grid;place-items:center;padding:3rem 1rem;color:var(--muted);gap:.7rem;font-size:.85rem}.spinner{width:1.6rem;height:1.6rem;border-radius:999px;border:2px solid var(--panel-border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.drawerOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;justify-content:flex-end;z-index:60;animation:fadeIn .12s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{width:min(440px,100%);height:100%;background:var(--surface);border-left:1px solid var(--panel-border);padding:1.5rem;overflow-y:auto;box-shadow:var(--shadow-md);animation:slideIn .15s ease}@keyframes slideIn{0%{transform:translate(16px);opacity:0}to{transform:translate(0);opacity:1}}.drawerHeader{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.2rem;gap:1rem}.drawerHeader h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.drawerHeader p{margin:0;color:var(--muted);font-size:.82rem}.closeBtn{border:1px solid var(--panel-border);background:var(--surface);color:var(--muted);width:2rem;height:2rem;border-radius:var(--radius);display:grid;place-items:center;cursor:pointer;flex-shrink:0}.closeBtn:hover{color:var(--text);background:var(--surface-alt)}.loginPage{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:var(--bg)}.loginCard{width:min(380px,100%);border:1px solid var(--panel-border);background:var(--surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md)}.loginBrand{text-align:center;margin-bottom:1.75rem}.loginBrand .brandMark{margin:0 auto .85rem}.loginBrand h1{margin:0 0 .25rem;font-size:1.3rem;font-weight:700}.loginBrand p{margin:0;color:var(--muted);font-size:.85rem}.loginHint{margin-top:1.2rem;text-align:center;font-size:.75rem;color:var(--muted)}.loginThemeToggle{position:fixed;top:1.25rem;right:1.25rem}.trend{font-weight:700;font-size:.82rem}.trend.up{color:var(--success)}.trend.down{color:var(--danger)}.panelGrid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.progressTrack{width:100%;height:.45rem;border-radius:999px;background:var(--surface-alt);overflow:hidden}.progressFill{height:100%;border-radius:999px;background:var(--accent)}.rowBetween{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.avatarChip{width:1.9rem;height:1.9rem;border-radius:var(--radius);display:grid;place-items:center;font-weight:700;font-size:.75rem;background:var(--surface-alt);color:var(--accent);flex-shrink:0}.identityCell{display:flex;align-items:center;gap:.6rem}.identityCell .identityMeta strong{display:block;font-size:.85rem}.identityCell .identityMeta span{color:var(--muted);font-size:.75rem}.logoutBtn{width:100%}@media(max-width:720px){.formGrid{grid-template-columns:1fr}.field.span2{grid-column:span 1}.drawer{width:100%}}
