:root{--bg: #071018;--bg-elev: #0d1a24;--bg-soft: #122433;--line: rgba(125, 211, 252, .12);--text: #e8f1f8;--muted: #8aa0b3;--accent: #2dd4bf;--accent-2: #38bdf8;--danger: #fb7185;--warn: #fbbf24;--ok: #34d399;--radius: 14px;--font: "DM Sans", system-ui, sans-serif;--display: "Syne", "DM Sans", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,rgba(45,212,191,.14),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(56,189,248,.1),transparent 50%),linear-gradient(180deg,#050b12 0%,var(--bg) 40%,#08131c 100%);color:var(--text);min-height:100%}a{color:var(--accent-2);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100%}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:20}}.sidebar{background:#071018d9;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.brand{font-family:var(--display);font-weight:800;font-size:1.35rem;letter-spacing:-.03em;line-height:1.2}.brand span{color:var(--accent)}.nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav a{color:var(--muted);padding:.65rem .8rem;border-radius:10px;transition:.15s ease}.nav a:hover,.nav a.active{color:var(--text);background:var(--bg-soft)}.main{padding:1.5rem clamp(1rem,3vw,2rem)}.page-title{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 .35rem;letter-spacing:-.03em}.page-sub{color:var(--muted);margin:0 0 1.5rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat{background:linear-gradient(160deg,var(--bg-elev),var(--bg-soft));border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.stat .label{color:var(--muted);font-size:.85rem}.stat .value{font-family:var(--display);font-size:1.6rem;margin-top:.35rem}.panel{background:#0d1a24e6;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;margin-top:1rem}.panel h2{font-family:var(--display);font-size:1.1rem;margin:0 0 .85rem}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line);font-size:.92rem}.table th{color:var(--muted);font-weight:500}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:var(--accent);color:#042f2e;font-weight:600;padding:.55rem .95rem;border-radius:999px;cursor:pointer}.btn.secondary{background:transparent;border-color:var(--line);color:var(--text)}.btn.danger{background:var(--danger);color:#1f0a0e}.btn:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#2dd4bf8c;box-shadow:0 0 0 3px #2dd4bf1f}.login-wrap{min-height:100%;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(420px,100%);background:#0d1a24f2;border:1px solid var(--line);border-radius:20px;padding:2rem;box-shadow:0 30px 80px #00000073}.login-card h1{font-family:var(--display);margin:0 0 .25rem;font-size:1.8rem}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:#34d3991f;color:var(--ok);font-size:.78rem}.badge.warn{background:#fbbf241f;color:var(--warn)}.badge.danger{background:#fb71851f;color:var(--danger)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.pre{background:#050b12;border:1px solid var(--line);border-radius:10px;padding:.85rem;max-height:360px;overflow:auto;white-space:pre-wrap;font-size:.8rem;color:#cbd5e1}.error{color:var(--danger);margin:.5rem 0}.toast{position:fixed;right:1rem;bottom:1rem;background:var(--bg-elev);border:1px solid var(--line);padding:.8rem 1rem;border-radius:12px;z-index:50}
