
:root{--bg:#0f1726;--side:#111d31;--panel:#17243a;--panel2:#1d2d48;--text:#ecf2ff;--muted:#8ea1bf;--line:#2b3b57;--accent:#7367ff;--green:#20c77a;--amber:#f2ad4d;--danger:#ff6574}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}.muted{color:var(--muted)}code{background:#0b1320;padding:2px 6px;border-radius:6px}
.login-page{min-height:100vh;background:radial-gradient(circle at top left,#23345a 0,#0f1726 44%,#0a101a 100%);display:grid;place-items:center;padding:30px}
.login-shell,.install-shell{width:min(920px,100%)}.brand-block{display:flex;align-items:center;gap:16px;margin-bottom:22px}.brand-block h1{margin:0;font-size:34px}.brand-block p{margin:4px 0 0;color:var(--muted)}
.brand-mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#6f66ff,#17c7b1);display:grid;place-items:center;font-size:30px;font-weight:800;box-shadow:0 20px 60px #0007}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:20px}
.login-card,.card{background:linear-gradient(180deg,#17243ae8,#121d2fe8);border:1px solid #2b3b57;border-radius:18px;box-shadow:0 22px 70px #0005}.login-card{padding:30px;max-width:520px}.login-card.wide{max-width:920px}
label{display:block;color:#b9c7dd;margin:14px 0 7px;font-size:13px}input,select,textarea{width:100%;background:#0f1929;border:1px solid #31415f;border-radius:10px;color:white;padding:12px 13px;outline:none}input:focus{border-color:#7367ff}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #394a68;background:#1e2e49;color:white;border-radius:10px;padding:11px 16px;cursor:pointer;margin-top:14px}.btn.primary{background:linear-gradient(135deg,#6558ff,#7b70ff);border:0;font-weight:700}
.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.danger{background:#4b1e2b;color:#ffd8df;border:1px solid #7a2c3c}.alert.success{background:#123b2d;color:#c8ffe8;border:1px solid #1e6b4d}
.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:#121e32;border-right:1px solid #24344f;position:fixed;inset:0 auto 0 0;padding:18px 14px;display:flex;flex-direction:column}.sidebar-brand{display:flex;gap:11px;align-items:center;padding:4px 6px 18px}.sidebar-brand strong{display:block;letter-spacing:1.8px}.sidebar-brand span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.sidebar nav{overflow:auto;padding-right:4px}.sidebar nav a{display:block;padding:11px 13px;border-radius:10px;color:#d9e4f5;margin:3px 0}.sidebar nav a:hover,.sidebar nav a.active{background:#253453;color:#fff}.nav-group{font-size:10px;letter-spacing:1.2px;color:#7087aa;margin:18px 10px 7px}
.sidebar-footer{margin-top:auto;border-top:1px solid #263650;padding:14px 8px;display:flex;justify-content:space-between;color:#aebed5;font-size:13px}
.main{margin-left:270px;min-width:0;width:calc(100% - 270px)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #24344f;background:#0f1726cc;position:sticky;top:0;backdrop-filter:blur(12px);z-index:5}.topbar h1{margin:0;font-size:25px}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.status-pill{background:#153526;border:1px solid #235b41;color:#8df0bd;padding:8px 12px;border-radius:999px;font-size:12px}
.content{padding:28px}.grid{display:grid;gap:18px}.grid.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.card{padding:20px}.metric span{color:#9fb0c9;font-size:13px}.metric strong{display:block;font-size:33px;margin:10px 0 5px}.metric small{color:#7087aa}
.checklist>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #273752}.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px}.badge.green{background:#153b2b;color:#87efb8}.badge.amber{background:#49351b;color:#ffd28b}.badge.gray{background:#27354b;color:#aabbd2}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #2a3a56;font-size:13px}th{color:#8fa4c4;font-weight:600}.toolbar{display:flex;gap:10px;margin-bottom:16px}.toolbar input{max-width:440px}.toolbar .btn{margin:0}.footer{padding:18px 28px;color:#6f84a6;font-size:12px}
hr{border:0;border-top:1px solid #2a3a56;margin:22px 0}
@media(max-width:980px){.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}.grid.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{position:static;width:100%;min-height:auto}.app-shell{display:block}.main{margin-left:0;width:100%}.grid.cards,.grid.two{grid-template-columns:1fr}.topbar{position:static}.content{padding:16px}}
