:root{--bg:#09100f;--surface:#101b18;--surface2:#15231f;--line:#253b34;--text:#edf7f2;--muted:#91a79f;--accent:#49d59a;--accent2:#a9f0ce;--bad:#ff7b7b;--warn:#f3c96b;--shadow:0 18px 45px #0005;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,#18372d 0,transparent 35%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,.button,input{font:inherit}button,.button{border:1px solid var(--line);background:var(--surface2);color:var(--text);padding:.68rem .95rem;border-radius:.7rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease}button:hover,.button:hover{border-color:#4a6c60;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#062117;font-weight:800}.danger{background:#3a2020;border-color:#703838;color:#ffc2c2}.ghost{background:transparent;padding:.5rem .65rem}input{width:100%;background:#091411;border:1px solid var(--line);color:var(--text);border-radius:.65rem;padding:.72rem .8rem;outline:none}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #49d59a22}label{display:grid;gap:.4rem;color:var(--muted);font-size:.86rem}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:1.4rem 1rem;border-right:1px solid var(--line);background:#091210e8;backdrop-filter:blur(18px);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:.75rem;padding:.2rem .55rem 1.5rem}.brand div{display:grid}.brand small{color:var(--muted)}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,var(--accent),#2f9f76);color:#062117;font-size:1.5rem;font-weight:900;box-shadow:0 8px 30px #49d59a2b}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:1rem}.sidebar nav{display:grid;gap:.25rem}.sidebar nav a{padding:.75rem .85rem;border-radius:.7rem;color:var(--muted)}.sidebar nav a:hover,.sidebar nav a.active{background:var(--surface2);color:var(--text)}.sidebar nav a.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-foot{margin-top:auto;padding:.8rem .55rem;display:flex;justify-content:space-between;align-items:center}.content{padding:2rem clamp(1.2rem,4vw,4rem);max-width:1500px;width:100%;margin:auto}.topbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.7rem;gap:1rem}.topbar h1,.panel h2,.login-card h1{margin:.1rem 0}.top-actions,.actions,.inline{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.eyebrow,.label{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:800}.muted{color:var(--muted)}.grid{display:grid;gap:1rem}.cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.panel{background:linear-gradient(160deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow)}.card{min-height:150px;display:flex;flex-direction:column;justify-content:space-between}.hero-card{background:linear-gradient(145deg,#17372d,#10231e)}.metric{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}.card small{color:var(--muted)}.panel{margin-bottom:1rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.big-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.big-row div{display:grid;gap:.2rem}.big-row strong{font-size:2rem}.big-row span{color:var(--muted)}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.3rem .6rem;font-size:.75rem;color:var(--muted);white-space:nowrap}.pill.ok,.ok{color:var(--accent2)}.pill.bad,.bad{color:var(--bad)}.pill.warn,.warn{color:var(--warn)}.flash{padding:.85rem 1rem;border:1px solid currentColor;border-radius:.8rem;margin-bottom:1rem;background:#0003}.form-grid{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:.75rem;align-items:end}.stack{display:grid;gap:1rem}.device-list,.list{display:grid;gap:.65rem;margin-top:1rem}.device,.list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;border:1px solid var(--line);border-radius:.8rem;background:#09141199}.device>div:first-child,.list-row>div:first-child{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.device code{color:var(--muted)}.compact button,.compact .button{padding:.45rem .62rem;font-size:.8rem}.empty{text-align:center;padding:2.5rem;color:var(--muted);border:1px dashed var(--line);border-radius:.8rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.table-wrap{overflow:auto}.danger-zone{border-color:#653939}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1.2rem}.login-card{width:min(430px,100%);padding:2rem;background:linear-gradient(160deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:1.2rem;box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:1.5rem}.login-card .stack{margin-top:1.5rem}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid button{grid-column:span 2}.device{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.shell{display:block}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar nav a{text-align:center;padding:.6rem .3rem;font-size:.82rem}.sidebar-foot{display:none}.content{padding:1.2rem}.topbar{align-items:flex-start;flex-direction:column}.cards,.two{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid button{grid-column:auto}.big-row{grid-template-columns:1fr 1fr}.table-wrap{margin-left:-.5rem;margin-right:-.5rem}.device .actions{width:100%}}
