:root{--ink:#17152b;--muted:#7d788d;--line:#e9e7ef;--purple:#6d50e7;--bg:#f7f7fa}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input{font:inherit}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#8370ec22,transparent 35%),#151225}.login-card{width:min(390px,100%);background:#fff;border-radius:18px;padding:34px;box-shadow:0 28px 80px #08061488}.logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#a99cff;color:#332776;font-weight:900}.login-card small,header small{display:block;margin:25px 0 10px;color:#8c879b;font-weight:800;letter-spacing:1px}.login-card h1{margin:0 0 8px}.login-card p{font-size:12px;color:var(--muted)}label{display:block;font-size:11px;font-weight:800;margin-top:16px}input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:9px;padding:12px;outline:0}input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6d50e718}.login-card button,header>button,.actions button{border:0;border-radius:9px;background:var(--purple);color:#fff;padding:12px 16px;font-size:11px;font-weight:800}.login-card>button{width:100%;margin-top:20px}.error{background:#fff0f1;color:#a33a47;border:1px solid #f4cbd0;border-radius:8px;padding:11px;margin:12px 0;font-size:11px}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside{position:fixed;width:220px;height:100vh;background:#19162a;color:#fff;padding:25px 17px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:900;letter-spacing:1px;margin-bottom:34px}nav button{display:block;width:100%;border:0;background:none;color:#aaa6b8;text-align:left;padding:12px;border-radius:9px;margin:3px 0;font-size:12px;font-weight:700}nav button.active{background:#6d50e7;color:#fff}.aside-foot{margin-top:auto;border-top:1px solid #342f44;padding-top:18px;font-size:10px;color:#54dba5;display:flex;justify-content:space-between;align-items:center}.aside-foot button{border:0;background:none;color:#aaa6b8;font-size:9px}main{grid-column:2;padding:36px 40px;max-width:1450px;width:100%}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header small{margin:0 0 8px;font-size:9px}header h1{margin:0;font-size:27px}header p{font-size:11px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:12px}.metric{padding:19px}.metric span{display:block;color:var(--muted);font-size:10px}.metric strong{display:block;font-size:23px;margin-top:7px}.panel{margin-top:14px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:14px;margin:0}.panel-head p{font-size:10px;color:var(--muted);margin:5px 0 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid #f0eef3;font-size:10px}th{font-size:9px;color:#918d9d;background:#faf9fb;text-transform:uppercase}tbody tr.click{cursor:pointer}tbody tr.click:hover{background:#faf9ff}.status{display:inline-block;padding:5px 8px;border-radius:15px;font-size:8px;font-weight:800;background:#efeff2}.status.online,.status.renting,.status.success{color:#078e58;background:#ddf8eb}.status.failed{color:#ad3c4b;background:#ffe7e9}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:16px}.battery{border:1px solid var(--line);border-radius:10px;padding:14px}.battery h3{font-size:11px;margin:0}.battery p{font-size:9px;color:var(--muted)}.actions{display:flex;gap:6px}.actions button{padding:8px;font-size:9px}.actions .danger{background:#dc4a5a}.overlay{position:fixed;inset:0;background:#17132699;display:grid;place-items:center;padding:18px;z-index:20}.modal{position:relative;width:min(780px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;padding:25px}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.detail-box{border:1px solid var(--line);border-radius:10px;padding:15px}.detail-box h3{font-size:11px;text-transform:uppercase;color:#777287}.detail-box dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #eee;padding:8px 0;font-size:10px}.detail-box dd{margin:0;text-align:right;font-weight:700}.detail-box dt{color:var(--muted)}pre{background:#171426;color:#ddd6f5;border-radius:8px;padding:13px;font-size:9px;white-space:pre-wrap;overflow:auto}.modal-footer{display:flex;justify-content:flex-end;margin-top:15px}.modal-footer button{border:0;background:#dc4a5a;color:#fff;border-radius:8px;padding:10px 14px;font-weight:800}.empty{text-align:center;padding:45px;color:var(--muted)}@media(max-width:800px){.app{display:block}aside{position:static;width:100%;height:auto}nav{display:flex;overflow:auto}.aside-foot{display:none}main{padding:22px 14px}.metrics{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}@media(max-width:480px){.metrics{grid-template-columns:1fr}header h1{font-size:22px}}
