:root{--ink:#17202a;--muted:#748088;--line:#e5eaec;--green:#187c5b;--nav:#172c28;--bg:#f4f6f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px "Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--nav);color:#b8c8c2;padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:0 8px 28px}.brand>span,.logo{width:36px;height:36px;background:#51d49c;color:#15362d;border-radius:9px;display:grid;place-items:center;font:bold 20px Georgia}.brand b,.brand small{display:block}.brand b{color:#fff;font-size:17px}.brand small,.profile small{font-size:10px;color:#859d95}.sidebar nav a{display:block;padding:11px 12px;border-radius:7px;margin:3px 0}.sidebar nav a:hover,.sidebar nav a.active{background:#25413a;color:white}.profile{margin-top:auto;border-top:1px solid #2c4640;padding:18px 10px}.profile b,.profile small,.profile a{display:block}.profile a{font-size:10px;color:#64d7a6;margin-top:10px}.workspace{margin-left:230px;min-height:100vh}.workspace>header{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 32px}.workspace h1{font:600 20px Georgia;margin:0 0 4px}.workspace header p{font-size:10px;color:var(--muted);margin:0}.secure{font-size:10px;color:var(--green);background:#e5f5ef;padding:8px 12px;border-radius:20px}.content{padding:28px 32px;max-width:1500px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.hero small,.drawer>small{letter-spacing:1.5px;font-size:9px;color:#829097}.hero h2{font:500 26px Georgia;margin:7px 0}.hero em{font-style:normal;color:#278562}.hero p{font-size:11px;color:var(--muted)}.health{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 22px;text-align:center}.health strong,.health span{display:block}.health strong{font:600 25px Georgia;color:var(--green)}.health span{font-size:9px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;display:flex;gap:12px}.metrics article>span{width:38px;height:38px;background:#e7f5ef;color:var(--green);border-radius:8px;display:grid;place-items:center}.metrics small,.metrics strong,.metrics p{display:block;margin:0}.metrics small{font-size:9px;color:var(--muted)}.metrics strong{font:600 22px Georgia;margin:3px 0}.metrics p{font-size:9px;color:var(--green)}.grid{display:grid;grid-template-columns:1.7fr .8fr;gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:10px}.card-head{padding:18px 20px}.card h3{font:600 15px Georgia;margin:0 0 4px}.card-head p{font-size:9px;color:var(--muted);margin:0}.table{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;background:#f8fafb;padding:10px 16px;font-size:8px;color:#849097;text-transform:uppercase}td{padding:12px 16px;border-top:1px solid #edf0f1;font-size:10px}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fbfa}td b,td small{display:block}td small{font-size:8px;color:var(--muted);margin-top:3px}.status{font-size:8px;font-weight:700;padding:4px 8px;border-radius:12px}.status.online{background:#e6f5ee;color:#197d5b}.status.warning{background:#fff0e7;color:#d86536}.status.offline,.status.enrolled{background:#edf0f1;color:#707c83}.alert{display:flex;gap:10px;padding:14px 18px;border-top:1px solid #edf0f1}.alert>span{width:26px;height:26px;background:#ffe9e5;color:#d9513f;border-radius:7px;display:grid;place-items:center}.alert b,.alert small{display:block;font-size:10px}.alert small{color:var(--muted);font-size:8px;margin-top:4px}.empty{padding:25px!important;text-align:center;color:var(--muted)}.overlay{position:fixed;inset:0;background:#10221d70;display:flex;justify-content:flex-end}.drawer{width:min(480px,94vw);height:100%;background:#fff;padding:32px;overflow:auto;position:relative}.close{position:absolute;right:22px;top:18px;width:30px;height:30px;background:#eff2f3;border-radius:50%;display:grid;place-items:center;font-size:20px}.drawer h2{font:600 25px Georgia;margin:7px 0 10px}.drawer h4{font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-top:26px}.drawer dl{border:1px solid var(--line);border-radius:8px}.drawer dl div{display:grid;grid-template-columns:38% 62%;padding:10px;border-bottom:1px solid var(--line);font-size:10px}.drawer dl div:last-child{border:0}.drawer dt{color:var(--muted)}.drawer dd{margin:0;font-weight:600}label{display:block;font-size:10px;font-weight:600;margin:13px 0}input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #dce2e4;border-radius:7px;background:#fff}textarea{height:120px;font-family:Consolas,monospace}button,.primary-btn{display:inline-block;border:0;background:var(--green);color:white;padding:11px 16px;border-radius:7px;font-weight:600;cursor:pointer}.settings{padding:22px}.settings form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.auth-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#132924,#25483e)}.auth-card{width:min(430px,92vw);background:#fff;border-radius:14px;padding:34px;box-shadow:0 25px 80px #07171266}.auth-card .logo{margin-bottom:20px}.auth-card h1{font:600 26px Georgia;margin:0 0 8px}.auth-card>p{color:var(--muted);font-size:11px}.auth-card button,.auth-card .primary-btn{width:100%;text-align:center;margin-top:8px}.auth-card hr{border:0;border-top:1px solid var(--line);margin:22px 0}.error{background:#ffe9e5;color:#a33b2e;padding:10px;border-radius:7px;font-size:10px}@media(max-width:1000px){.metrics{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{width:64px}.sidebar .brand div,.sidebar nav a{font-size:0}.sidebar nav a::first-letter{font-size:16px}.profile{display:none}.workspace{margin-left:64px}.content{padding:20px 14px}.workspace>header{padding:0 16px}.metrics{grid-template-columns:1fr 1fr}.health{display:none}}
