:root{font-family:Inter,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#1f2937;background:#f3f6fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f3f6fb;--panel: #ffffff;--panel-strong: #111827;--sidebar: #0f172a;--sidebar-soft: #172033;--border: #dfe7f3;--muted: #64748b;--primary: #0f766e;--primary-soft: #ccfbf1;--warning: #f59e0b;--danger: #dc2626;--success: #16a34a}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-height:100vh;background:var(--bg)}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef6ff,#eafaf7);color:var(--muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f8fbff,#effbf9);padding:24px}.auth-card{width:min(100%,460px);background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:32px;box-shadow:0 18px 32px #0f172a14}.brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#0f172a,#0f766e)}.auth-card h1,.page-header h1,.page-header h2{margin:0 0 8px;color:#0f172a}.auth-card p,.page-header p{margin:0 0 20px;color:var(--muted)}.field{display:grid;gap:8px;margin-bottom:18px}.field label{font-size:.9rem;font-weight:600;color:#334155}.field input,.field select{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 12px;background:#fff;color:#0f172a}.primary-button,.secondary-button,.ghost-button{border:none;border-radius:10px;padding:10px 14px;transition:.2s ease;font-weight:600}.primary-button{width:100%;background:var(--primary);color:#fff}.primary-button:hover{opacity:.96}.secondary-button{background:var(--primary-soft);color:var(--primary)}.ghost-button{background:#eef2ff;color:#312e81}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:260px;background:var(--sidebar);color:#e2e8f0;padding:20px 16px}.sidebar-header{display:flex;align-items:center;gap:10px;padding:8px 10px 18px;border-bottom:1px solid rgba(148,163,184,.2);margin-bottom:18px}.sidebar-header .brand-mark{width:32px;height:32px;font-size:.8rem}.nav-list{display:grid;gap:8px;margin-top:12px}.nav-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border-radius:10px;color:#dbeafe;background:transparent;border:1px solid transparent}.nav-link.active,.nav-link:hover{background:#94a3b824;border-color:#94a3b833}.main-panel{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--border);background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page-header{padding:22px 28px 8px}.content{padding:0 28px 32px}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 20px #0f172a0a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}.stat-card{padding:18px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.stat-card h3{margin:0 0 8px;font-size:.8rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.stat-card strong{font-size:2rem;color:#0f172a}.list-panel{padding:18px;margin-top:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.badge{display:inline-flex;border-radius:999px;font-size:.72rem;font-weight:700;padding:4px 10px}.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.badge.muted{background:#e2e8f0;color:#475569}.empty-state{padding:28px 20px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);text-align:center}.flex-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spaced{justify-content:space-between}.muted-text{color:var(--muted)}@media (max-width: 820px){.app-shell{display:block}.sidebar{width:100%}.topbar,.page-header,.content{padding-left:18px;padding-right:18px}.nav-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
