:root{--blue:#0b3d91;--blue2:#1a56c4;--bg:#f3f6fb;--card:#fff;--txt:#1d2433;--muted:#6b7280;--line:#e3e8f0;--ok:#16a34a;--warn:#d97706;--err:#dc2626}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--txt)}
a{color:var(--blue2)}h1{font-size:1.5rem;margin:.2rem 0 1rem}h2{font-size:1.05rem;margin:0 0 .6rem}small{font-size:.85em}code{background:#eef2f9;padding:1px 5px;border-radius:4px}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.top{background:linear-gradient(90deg,var(--blue),var(--blue2));color:#fff;padding:12px 0;margin-bottom:22px}.top .wrap{display:flex;align-items:center;justify-content:space-between}
.brand{color:#fff;text-decoration:none;font-weight:700}.brand small{opacity:.75;font-weight:400;margin-left:6px}.top nav a{color:#fff;margin-left:16px;text-decoration:none;opacity:.9}.top nav a:hover{opacity:1;text-decoration:underline}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.card.narrow{max-width:400px;margin:60px auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.grid.two{grid-template-columns:1fr 1fr}@media(max-width:800px){.grid.two{grid-template-columns:1fr}}
label{display:block;margin:0 0 10px;font-size:.9rem;color:var(--muted)}input,select{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;color:var(--txt)}input.tiny{display:inline-block;width:110px;margin:0 4px 0 0;padding:5px 8px}
.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.row label{margin:0;flex:1 1 150px}.stack label{margin-bottom:8px}
.btn{display:inline-block;background:#fff;border:1px solid #cbd5e1;color:var(--txt);padding:8px 14px;border-radius:6px;cursor:pointer;font:inherit;text-decoration:none;line-height:1.2}.btn:hover{background:#f1f5f9}.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.primary{background:var(--blue2);border-color:var(--blue2);color:#fff}.btn.primary:hover{background:var(--blue)}.btn.big{padding:12px 22px;font-size:1.05rem}.btn.small{padding:4px 9px;font-size:.82rem}.btn.danger{color:var(--err);border-color:#fca5a5}.btn.warn{color:var(--warn)}.btn.ok{color:var(--ok)}.btn.link{background:none;border:0;color:#fff;cursor:pointer;font:inherit;margin-left:16px}
.btn.shuffle.on{background:#dcfce7;border-color:#86efac}
form.inline{display:inline}.inline{display:inline-block;margin:2px 2px 2px 0}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.82rem;text-transform:uppercase}table.kv th{width:45%;text-transform:none}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:600;background:#e5e7eb;color:#374151}
.badge.online{background:#dcfce7;color:#166534}.badge.offline,.badge.stopped{background:#f3f4f6;color:#4b5563}.badge.provisioning{background:#dbeafe;color:#1e40af}.badge.suspended{background:#fef3c7;color:#92400e}.badge.error{background:#fee2e2;color:#991b1b}.badge.deleting{background:#fee2e2;color:#991b1b}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:16px}.flash.ok{background:#dcfce7;color:#166534}.flash.err{background:#fee2e2;color:#991b1b}.muted{color:var(--muted)}.err-text{color:var(--err);font-size:.85rem}.small{font-size:.85rem}.hidden{display:none}
.bar{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;min-width:90px}.bar span{display:block;height:100%;background:var(--blue2);transition:width .4s}
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:18px;flex-wrap:wrap}.tab{padding:8px 14px;border-radius:8px 8px 0 0;color:var(--muted)}.tab.active{background:#fff;border:1px solid var(--line);border-bottom-color:#fff;color:var(--blue);font-weight:600;margin-bottom:-2px}.tab.disabled{opacity:.5}
.server-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.server-head h1{margin:0 0 4px}
.status-head{display:flex;justify-content:space-between;align-items:center}.now{margin:10px 0 14px}.now-title{font-weight:600;font-size:1.05rem;margin:2px 0 6px;min-height:1.3em}
.controls{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.muted-controls{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.volume{margin:10px 0}.volume input{width:100%}
.lib-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.lib-head h2{margin:0;flex:0 0 auto}.lib-usage{flex:1 1 200px}.lib-usage small{display:block;margin-top:3px}.lib-head input{width:220px;margin:0}
.actions form{margin-right:2px}.activate{text-align:center;padding:40px 24px}.activate p{max-width:640px;margin:8px auto}
