:root{--bg1:#134e5e;--bg2:#71b280;--card:#fff;--ink:#16323a;--muted:#6b8a92;--ok:#2e7d32;--err:#b71c1c}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,sans-serif;background:linear-gradient(135deg,var(--bg1),var(--bg2));min-height:100vh;color:var(--ink);padding:16px}
.wrap{max-width:900px;margin:0 auto}
header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#fff;margin-bottom:14px}
header h1{font-size:1.3em;flex:1;min-width:180px}
.conn{font-size:.85em}
.dot{width:12px;height:12px;border-radius:50%;background:var(--err);display:inline-block;margin-right:6px;vertical-align:middle}
.dot.on{background:#7CFC7C}
.bar{background:rgba(255,255,255,.12);border-radius:14px;padding:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}
.bar input[type=text]{padding:8px 10px;border:none;border-radius:8px;font-size:1em;width:140px}
.chk{color:#eaffef;font-size:.85em;display:flex;align-items:center;gap:5px}
button{padding:9px 16px;border:none;border-radius:9px;font-weight:bold;cursor:pointer;font-size:.95em;background:#fff;color:var(--bg1)}
button.sec{background:rgba(255,255,255,.25);color:#fff}
button.small{padding:4px 10px;float:right}
button:disabled{opacity:.5;cursor:not-allowed}
.status{color:#eaffef;font-size:.85em;flex-basis:100%}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-bottom:16px}
.card{background:var(--card);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.card h3{font-size:.8em;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px}
.card .big{font-size:1.9em;font-weight:bold}
.card .u{font-size:.75em;color:var(--muted)}
.kv{font-size:.9em;color:#33555e;margin-top:4px;line-height:1.5}
.meta{font-size:.72em;color:var(--muted);margin-top:8px}
.meta.err{color:var(--err)}
.sec-box{background:var(--card);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.2);margin-bottom:16px}
.sec-box h2{font-size:1em;margin-bottom:10px;border-bottom:2px solid var(--bg2);padding-bottom:6px}
.tblwrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.85em}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid #eef;white-space:nowrap}
th{color:var(--muted);font-size:.72em;text-transform:uppercase}
.muted{color:var(--muted)}
#log{font-family:ui-monospace,Consolas,monospace;font-size:.72em;background:#0c1e24;color:#a9e7c4;border-radius:12px;padding:10px;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-all}
.foot{color:#eaffef;opacity:.75;font-size:.75em;text-align:center;margin-top:10px}
