:root{font-family:Inter,system-ui,Arial,sans-serif;color:#182230;background:#f6f8fb}*{box-sizing:border-box}body{margin:0}header{background:#172033;color:#fff;padding:14px 24px;display:flex;justify-content:space-between}header a{color:#d7e5ff}nav{background:#fff;border-bottom:1px solid #dbe1ea;padding:10px 24px;display:flex;gap:18px}nav a{color:#27364d;text-decoration:none;font-weight:600}main{max-width:1400px;margin:auto;padding:22px}h1{margin-top:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.card,section{background:#fff;border:1px solid #dbe1ea;border-radius:10px;padding:16px;box-shadow:0 1px 2px #0001}.card strong{display:block;font-size:28px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.wide{grid-column:1/-1}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:9px;border-bottom:1px solid #e7ebf0;text-align:left;vertical-align:top}th{background:#f2f5f8}.badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.badge.ok{background:#dff8e7;color:#166534}.badge.warning{background:#fff1c2;color:#854d0e}.badge.error{background:#fee2e2;color:#991b1b}.badge.offline{background:#e5e7eb;color:#374151}.flash{padding:10px 12px;margin:10px 0;border-radius:8px}.flash.ok{background:#dcfce7}.flash.error{background:#fee2e2}.flash.warning{background:#fef3c7}input,select,textarea,button{font:inherit;padding:8px;border:1px solid #cbd5e1;border-radius:6px}input,select,textarea{width:100%}button,.button{background:#2563eb;color:#fff;border:0;text-decoration:none;display:inline-block;padding:9px 13px;border-radius:6px;cursor:pointer}.secondary{background:#475569}.danger{background:#b91c1c}.small{font-size:12px}.muted{color:#667085}.formgrid{display:grid;grid-template-columns:180px 1fr;gap:9px;align-items:center}.actions{display:flex;gap:7px;flex-wrap:wrap}.map{height:480px;border-radius:8px}.mono{font-family:ui-monospace,Consolas,monospace;word-break:break-all}.login{max-width:420px;margin:10vh auto}.login section{padding:24px}@media(max-width:700px){main{padding:10px}.formgrid{grid-template-columns:1fr}nav{overflow:auto;padding:9px}.map{height:360px}}
