:root{--bg: #0f1420;--panel: #171d2b;--panel-border: #2a3348;--panel-hover: #1d2436;--text: #e6e9f2;--muted: #8b93a7;--accent: #25d366;--accent-dark: #1da851;--danger: #e05263;--warning: #e0a323;--input-bg: #0f1420}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}h1{font-size:22px;margin:0 0 4px}h2{font-size:15px;margin:0 0 14px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}p{margin:0}a{color:var(--accent)}label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}input,select,textarea{width:100%;background:var(--input-bg);border:1px solid var(--panel-border);color:var(--text);padding:8px 10px;border-radius:6px;font-size:13px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{min-height:90px;font-family:Consolas,monospace;resize:vertical}button{background:var(--accent);color:#04150a;border:none;padding:9px 16px;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}button:hover{background:var(--accent-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--panel-border)}button.secondary:hover{border-color:var(--accent);background:transparent}button.danger{background:var(--danger);color:#2a060c}button.danger:hover{background:#c8465a}button.small{padding:5px 10px;font-size:12px}.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1;min-width:140px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.grid.two-col{grid-template-columns:1fr 1.4fr}@media(max-width:900px){.grid.two-col{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--panel-border);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em}tbody tr:hover{background:var(--panel-hover)}.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.status-ok{background:#25d36626;color:var(--accent)}.status-bad{background:#e0526326;color:var(--danger)}.status-warn{background:#e0a32326;color:var(--warning)}.hint{color:var(--muted);font-size:11.5px;margin-top:6px}.empty-state{color:var(--muted);font-size:13px;padding:24px 0;text-align:center}.error-banner{background:#e052631f;border:1px solid rgba(224,82,99,.4);color:#ff9aa8;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:14px}.success-banner{background:#25d3661f;border:1px solid rgba(37,211,102,.4);color:var(--accent);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:14px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--panel-border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.checkbox-label{display:flex;align-items:center;gap:8px;margin:14px 0 4px;font-size:13px;color:var(--text)}.checkbox-label input[type=checkbox]{width:auto}.row-actions{display:flex;gap:6px;flex-wrap:nowrap}.table-scroll{overflow-x:auto}h1+.hint{margin-bottom:20px}pre.log{background:#05070c;border:1px solid var(--panel-border);border-radius:6px;padding:10px;font-size:11.5px;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin-top:10px}
