@import url(/static/brand.css);
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
main.card,section,header{max-width:960px;margin:0 auto;padding:1.25rem}
main.card{margin-top:8vh;max-width:520px;background:rgba(255,255,255,.06);border-radius:12px}
body.wide header,body.wide section{max-width:1200px}
header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
h1{margin:.2rem 0;font-size:1.4rem;display:flex;align-items:center;gap:.6rem}img.logo{height:34px;width:auto;display:block}main.card img.logo{margin-bottom:1rem}h1 small{opacity:.6;font-weight:400}h2{font-size:1.05rem;margin:1.6rem 0 .5rem}
input,select,button{font:inherit;padding:.5rem .7rem;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:inherit}
select option{color:#000}
button{background:var(--primary);color:var(--on-primary);border-color:transparent;font-weight:600;cursor:pointer}
button.secondary{background:transparent;color:inherit;border-color:rgba(255,255,255,.35);font-weight:400;padding:.25rem .55rem;margin-right:.25rem}
button.danger{border-color:#e5484d;color:#ff8589}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;align-items:end}
.grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;opacity:.9}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid rgba(255,255,255,.12);vertical-align:middle}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65}
code{background:rgba(255,255,255,.12);padding:.1rem .35rem;border-radius:5px;user-select:all}
a{color:var(--primary)}
progress{width:100%;height:.8rem;accent-color:var(--primary)}
.badge{padding:.1rem .5rem;border-radius:99px;font-size:.75rem;background:rgba(255,255,255,.15)}
.badge.running,.badge.active,.badge.deleted{background:#1f9d55}.badge.suspended,.badge.queued,.badge.provisioning{background:#b7791f}.badge.failed,.badge.stopped{background:#c53030}
.big{font-size:2rem;font-weight:700;line-height:1.1}.muted{opacity:.65;font-size:.85rem}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0}
.kpi{background:rgba(255,255,255,.06);border-radius:10px;padding:1rem}
.msg{padding:.6rem .8rem;border-radius:8px;background:rgba(255,255,255,.08);margin:.75rem 0;word-break:break-all}
[hidden]{display:none!important}
.badge.busy{background:#b7791f;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.55}}
button[disabled]{opacity:.4;cursor:not-allowed}
.grid label.check{flex-direction:row;align-items:center;gap:.5rem}.grid label.check input{width:auto}
