:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;background:#070b14;color:#edf3ff}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,#172a53 0,transparent 42%),#070b14}
main{width:min(1100px,94vw);margin:0 auto;padding:8vh 0}.card,.block{background:#101827e8;border:1px solid #2a3954;border-radius:22px;box-shadow:0 20px 60px #0008}
#gate{width:min(480px,100%);margin:12vh auto;padding:38px;text-align:center}.key{font-size:42px;color:#65bfff}h1,h2{margin:10px 0}p{color:#aebbd0}
button,a.button{border:0;border-radius:12px;padding:12px 18px;background:linear-gradient(135deg,#398cff,#765cff);color:white;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
button.danger{background:#8d2940}input,select{background:#09111f;color:white;border:1px solid #344563;border-radius:10px;padding:12px;width:100%;margin:8px 0}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.block{padding:22px;margin-top:18px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:18px;background:#09111f;border-radius:14px}.metric strong{display:block;font-size:28px;color:#75c7ff}
.security{border-color:#27566b;background:linear-gradient(145deg,#0c1b2ce8,#101827e8)}.sensor{display:inline-block;width:10px;height:10px;border-radius:50%;margin-left:8px}.sensor.online{background:#39d98a;box-shadow:0 0 12px #39d98a}.sensor.offline{background:#ff6577;box-shadow:0 0 12px #ff6577}
.securityMetrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.securityMetric{background:#09111f;border:1px solid #263550;border-radius:14px;padding:14px}.securityMetric span{display:block;color:#aebbd0;font-size:13px}.securityMetric strong{font-size:27px}.securityMetric.critical strong,.badge.critical{color:#ff6175}.securityMetric.high strong,.badge.high{color:#ff9b62}.securityMetric.medium strong,.badge.medium{color:#ffd166}.securityMetric.info strong,.badge.info{color:#66c7ff}.securityMetric.total strong{color:#b9a4ff}
.filters{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:center;margin:14px 0}.filters input,.filters select{margin:0}.securityGrid{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:20px}.securityGrid h3{margin:16px 0 10px}.tableWrap{overflow:auto;max-height:540px}.tableWrap table{min-width:780px}.badge{display:inline-block;background:#0a1322;border:1px solid currentColor;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.countList{list-style:none;padding:0;margin:0}.countList li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #263550;padding:9px 0}.countList span{overflow-wrap:anywhere}.empty{padding:30px;text-align:center;color:#90a0b8;background:#09111f;border-radius:12px}.updateTime{text-align:left;margin-bottom:0}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:right;padding:10px;border-bottom:1px solid #263550}.muted{color:#90a0b8}.actions{display:flex;gap:10px;flex-wrap:wrap}.status{min-height:24px;color:#8fd5ff}
@media(max-width:760px){.grid,.metrics,.securityGrid{grid-template-columns:1fr}.securityMetrics{grid-template-columns:repeat(2,1fr)}.securityMetric.total{grid-column:1/-1}.filters{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}table{font-size:12px}}
