*{box-sizing:border-box}body{font-family:Arial,sans-serif;background:#f5f6f8;margin:0;color:#101828}a{color:inherit}
header{background:#fff;border-bottom:1px solid #e4e7ec;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.brand{font-size:21px;font-weight:700}.brand small{font-size:11px;color:#98a2b3;font-weight:400;margin-left:7px}
.nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.nav a{text-decoration:none;color:#475467;font-size:13px}
main{max-width:1500px;margin:24px auto;padding:0 16px}.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:16px}.card h2,.card h3{margin:0 0 12px}
.stat span{color:#667085;font-size:13px}.stat strong{display:block;font-size:25px;margin-top:5px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.input,.select{padding:10px 12px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;font-size:14px}.input{min-width:250px}
.table-wrap{overflow-x:auto;border-radius:12px}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #eaecf0;font-size:13px;vertical-align:middle;white-space:nowrap}th{background:#f9fafb;color:#475467;font-size:11px;text-transform:uppercase}tr:last-child td{border-bottom:0}
.status{font-weight:700}.on{color:#067647}.off{color:#b42318}.warning{color:#b54708}.muted{color:#667085}.small{font-size:11px;color:#667085;margin-top:3px}.mono{font-family:Consolas,monospace}
.btn{display:inline-block;padding:8px 12px;border-radius:7px;border:0;background:#101828;color:#fff;text-decoration:none;font-weight:700;font-size:12px;cursor:pointer}
.btn-secondary{background:#fff;color:#344054;border:1px solid #d0d5dd}.btn-danger{background:#b42318}.btn-warning{background:#b54708}.btn-disabled{background:#eaecf0;color:#98a2b3;cursor:not-allowed}
.metric{min-width:100px}.metric-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}.meter{height:6px;background:#eaecf0;border-radius:999px;overflow:hidden}.meter span{display:block;height:100%;background:#667085;border-radius:999px}.metric.warn .meter span{background:#d92d20}.metric.warn .metric-value{color:#b42318;font-weight:700}
.kv{display:grid;grid-template-columns:180px 1fr;gap:8px 14px}.kv div:nth-child(odd){color:#667085}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-title h2{margin:0}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:700}.badge-ok{background:#ecfdf3;color:#067647}.badge-warn{background:#fffaeb;color:#b54708}.badge-error{background:#fef3f2;color:#b42318}
form.inline{display:inline}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;margin-bottom:12px;align-items:center}.form-row label{font-weight:700;font-size:13px}
.notice{padding:11px 13px;border-radius:8px;background:#f2f4f7;margin-bottom:14px}.notice-ok{background:#ecfdf3;color:#067647}.notice-error{background:#fef3f2;color:#b42318}
canvas.chart{width:100%;height:190px;border:1px solid #eaecf0;border-radius:8px;background:#fff}.login-body{display:grid;place-items:center;min-height:100vh}.login-card{width:min(390px,calc(100% - 30px))}
@media(max-width:1000px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr 1fr}}@media(max-width:650px){header{padding:13px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.kv,.form-row{grid-template-columns:1fr}.input{min-width:0;width:100%}main{padding:0 9px}}
