:root{--bg: #0b0f0d;--panel: #121916;--panel-2: #182320;--line: #233029;--text: #e6efe9;--muted: #8ea396;--accent: #00d47e;--accent-dim: #0d3b2a;--danger: #ff5c5c;--warn: #ffb347;--mono: ui-monospace, "JetBrains Mono", "Fira Code", Menlo, monospace;--sans: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--sans)}a{color:var(--accent)}button,input,select{font:inherit;color:inherit;border-radius:6px;border:1px solid var(--line);background:var(--panel-2);padding:7px 11px}input:focus,select:focus{outline:none;border-color:var(--accent)}button{cursor:pointer;background:var(--panel-2)}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#04140d;border-color:var(--accent);font-weight:600}button.primary:hover{filter:brightness(1.1)}button.danger{color:var(--danger)}button.danger:hover{border-color:var(--danger)}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover{color:var(--text);border-color:var(--line)}button:disabled{opacity:.5;cursor:default}.layout{display:grid;grid-template-columns:220px 1fr;height:100%}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 18px;font-weight:700;letter-spacing:.5px}.brand .dot{width:12px;height:12px;border-radius:3px;background:var(--accent);box-shadow:0 0 14px var(--accent)}.brand small{display:block;font-weight:400;color:var(--muted);font-family:var(--mono);font-size:11px}.nav button{width:100%;text-align:left;background:transparent;border-color:transparent;padding:9px 10px}.nav button.active{background:var(--accent-dim);border-color:var(--accent-dim);color:var(--accent)}.sidebar .spacer{flex:1}.main{padding:28px 36px;overflow:auto}.main h1{font-size:20px;margin:0 0 4px}.main .sub{color:var(--muted);margin:0 0 22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-bottom:18px}.card h2{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row input{flex:1;min-width:160px}.row input.short{flex:0 0 110px;min-width:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.6px}tr:last-child td{border-bottom:none}td.actions{text-align:right;white-space:nowrap}td.actions button{margin-left:6px;padding:4px 9px;font-size:12px}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.3px}.pill.on{background:var(--accent-dim);color:var(--accent)}.pill.off{background:#3a1f1f;color:var(--danger)}.pill.warn{background:#3d2d12;color:var(--warn)}.ok{color:var(--accent)}.bad{color:var(--danger)}.dns code{display:block;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px;word-break:break-all;font-family:var(--mono);font-size:12px}.dns td:first-child{white-space:nowrap}.copy{font-size:11px}.toast{position:fixed;right:24px;bottom:24px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--accent);padding:12px 16px;border-radius:8px;box-shadow:0 10px 30px #0008;max-width:420px}.toast.err{border-left-color:var(--danger)}.login{display:grid;place-items:center;height:100%}.login .card{width:340px}.login .card h1{font-size:18px;margin:0 0 18px}.login form{display:flex;flex-direction:column;gap:10px}.empty{color:var(--muted);padding:24px;text-align:center}
