:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background:#090b10; color:#edf0f7; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 15% 0,#172038 0,transparent 35%),#090b10; }
.shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:48px 0; }
header,.actions,.dialog-title,.dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
h1 { margin:3px 0 0; font-size:38px; letter-spacing:-1px; } h2 { margin:0; }
.eyebrow { color:#7d92ff; font:700 11px/1 monospace; letter-spacing:2px; margin:0 0 8px; }
button { border:0; border-radius:10px; padding:11px 16px; background:#6579ff; color:white; font-weight:700; cursor:pointer; }
button:hover { filter:brightness(1.12); } button.secondary { background:#202634; color:#cbd2e3; } button.danger { background:#52242b;color:#ffb8c1; }
button.icon { padding:5px 10px; background:transparent; font-size:24px; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:32px 0 22px; }
.stats article,.table-wrap { background:rgba(18,22,31,.88); border:1px solid #252b3a; border-radius:15px; }
.stats article { padding:18px 20px; } .stats span { display:block;color:#8690a6;font-size:13px; } .stats strong { display:block;font-size:28px;margin-top:6px; }
.table-wrap { overflow:hidden; } table { width:100%; border-collapse:collapse; } th,td { padding:16px 18px;text-align:left;border-bottom:1px solid #252b3a;vertical-align:middle; }
th { color:#778198;font-size:11px;text-transform:uppercase;letter-spacing:1px; } td { font-size:14px; } tbody tr:last-child td { border-bottom:0; }
.name { font-weight:750; } .id { display:block;color:#626d82;font:11px monospace;margin-top:4px; } .badge { display:inline-block;padding:5px 9px;border-radius:99px;background:#173528;color:#72e1a2;font-size:12px; }
.badge.off { background:#3b2529;color:#ff9ba7; } .row-actions { display:flex;justify-content:flex-end;gap:7px; } .row-actions button { padding:7px 9px;font-size:12px; }
.empty { padding:55px;text-align:center;color:#717b91; } .notice { padding:12px 15px;border-radius:10px;background:#39252a;color:#ffb1bb; }
dialog { border:1px solid #30384a;border-radius:16px;background:#12161f;color:#edf0f7;padding:0;width:min(520px,calc(100% - 30px));box-shadow:0 24px 90px #000b; }
dialog::backdrop { background:#03050ac7;backdrop-filter:blur(5px); } .dialog-body { padding:26px;display:grid;gap:19px; } .dialog-body.wide { width:100%; } #details-dialog { width:min(760px,calc(100% - 30px)); }
.muted,small { color:#8a94a9; } label { display:grid;gap:7px;color:#aab2c3;font-size:13px; } input { width:100%;border:1px solid #30384a;border-radius:9px;padding:11px 12px;background:#0b0e14;color:white;outline:none; }
input:focus { border-color:#6579ff;box-shadow:0 0 0 3px #6579ff20; } .form-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; } .full { grid-column:1/-1; }
.error { color:#ff8796;margin:0; } pre { white-space:pre-wrap;word-break:break-all;background:#090c12;border:1px solid #30384a;border-radius:10px;padding:15px;color:#98e6b5; }
.dialog-actions.split { flex-wrap:wrap;justify-content:flex-start; }.credential-card { border:1px solid #30384a;border-radius:12px;padding:16px;display:grid;gap:12px;background:#0c1017; }.credential-card pre { margin:7px 0 0; }.credential-actions { display:flex;gap:8px;flex-wrap:wrap; }.switch-label { display:flex;align-items:center;gap:10px;align-self:end;padding-bottom:10px; }.switch-label input { width:18px;height:18px; }
.connection-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px; }.connection-grid button { width:100%;font-size:12px; }
@media(max-width:760px){.shell{width:min(100% - 22px,1180px);padding:24px 0}.stats{grid-template-columns:1fr 1fr}header{align-items:flex-start;gap:20px}.actions{flex-wrap:wrap;justify-content:flex-end}table{min-width:850px}.table-wrap{overflow:auto}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}}
@media(max-width:520px){.connection-grid{grid-template-columns:1fr}}
