:root{--bg-900: #0f1320;--bg-800: #182037;--bg-700: #253052;--surface: #111726;--surface-strong: #1b2440;--line: rgba(255, 255, 255, .15);--text: #edf2ff;--muted: #a9b6da;--primary: #2dd4bf;--danger: #fb7185;--radius: 16px;--shadow: 0 14px 36px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Trebuchet MS,sans-serif;color:var(--text);background:radial-gradient(circle at 10% 10%,#2d3c68 0%,transparent 45%),radial-gradient(circle at 90% 15%,#18445a 0%,transparent 35%),linear-gradient(160deg,var(--bg-900),var(--bg-700));min-height:100vh}#root{min-height:100vh}input,select,button{font:inherit}input,select{width:100%;border:1px solid var(--line);background:#ffffff0f;color:var(--text);padding:10px 12px;border-radius:10px}button{border:0;border-radius:10px;cursor:pointer;transition:transform .15s ease,opacity .15s ease}button:hover{transform:translateY(-1px)}.primary-btn{background:var(--primary);color:#032c2b;font-weight:700;padding:10px 16px}.danger-btn{background:#fb718526;color:#ff9fb0;border:1px solid rgba(251,113,133,.35);padding:8px 12px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);background:#111726d1;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);padding:28px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--primary);font-size:12px;margin:0}.muted{color:var(--muted)}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;position:relative}.sidebar{border-right:1px solid var(--line);padding:24px 18px;background:#090c1894;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand h1{margin:8px 0 0;font-size:28px}.brand p{margin:4px 0 18px;color:var(--muted)}.brand-kicker{color:var(--primary);font-size:12px;letter-spacing:.12em}.nav-link{display:block;text-decoration:none;color:var(--muted);padding:10px 12px;border-radius:10px;margin-bottom:8px;border:1px solid transparent}.nav-link.active,.nav-link:hover{color:var(--text);background:#ffffff0f;border-color:var(--line)}.main-area{display:flex;flex-direction:column}.topbar{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.menu-btn{display:none;background:#ffffff14;color:var(--text);border:1px solid var(--line);padding:8px 12px}.menu-overlay{display:none}.topbar-label{margin:0;color:var(--muted);font-size:12px}.content{padding:20px}.panel{background:#111726cc;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.stat h3{font-size:30px;margin:4px 0 0}.stat p{margin:0;color:var(--muted)}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stack{display:grid;gap:12px}.stack-lg{display:grid;gap:14px}.field{display:grid;gap:6px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.inline{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:560px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px}th{color:var(--muted);font-weight:600}table a{color:var(--primary);text-decoration:none;font-weight:600}.error-box,.success-box{border-radius:10px;padding:10px 12px}.error-box{background:#fb718533;border:1px solid rgba(251,113,133,.45)}.success-box{background:#2dd4bf33;border:1px solid rgba(45,212,191,.45)}@media(max-width:1080px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{border-right:1px solid var(--line);border-bottom:0;position:fixed;z-index:30;inset:0 auto 0 0;width:min(300px,85vw);transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.menu-btn{display:inline-flex}.menu-overlay{display:block;position:fixed;inset:0;background:#03060e99;border:0;z-index:20}.content,.panel{padding:14px}.toolbar{align-items:stretch}.toolbar h2{margin:0}.inline,.inline input,.inline select,.inline button{width:100%}table{min-width:500px}}@media(max-width:480px){.login-screen{padding:14px}.login-card{padding:18px}.grid-4{grid-template-columns:1fr}table{min-width:440px}}
