:root{--bg:#0b0f17;--panel:#131a26;--panel-2:#1a2231;--border:#243044;--text:#e6edf3;--muted:#8b98a9;--brand:#3b82f6;--brand-hover:#2f6fe0;--danger:#ef4444}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:14px;font-weight:500;transition:background .15s,border-color .15s}.btn:hover{background:var(--border)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.input{width:100%;padding:11px 13px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px}.input:focus{outline:none;border-color:var(--brand)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.muted{color:var(--muted)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 12px}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:10px 12px;vertical-align:top}.table tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.badge,.table tbody tr.clickable:hover td{background:var(--panel-2)}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--border);color:var(--text);white-space:nowrap}.badge.good{border-color:#14532d;background:#052e16;color:#4ade80}.badge.warn{border-color:#713f12;background:#2a1c05;color:#fbbf24}.badge.bad{border-color:#7f1d1d;background:#2a0808;color:#f87171}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.field>label{font-size:13px;font-weight:500}textarea.input{resize:vertical;min-height:70px;font-family:inherit;line-height:1.45}.stat{display:grid;grid-gap:2px;gap:2px}.stat .value{font-size:28px;font-weight:700}.stat .label{font-size:13px;color:var(--muted)}