@import url("https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap");:root{--bg:#19191b;--panel:#232326;--panel-2:#2b2b2f;--border:#34343a;--text:#ececee;--muted:#9a9aa2;--accent:#ffd60a;--danger:#ff5a5a;--ok:#46d369}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Onest,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.container{max-width:880px;margin:0 auto;padding:32px 20px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.muted{color:var(--muted)}.logo{gap:11px}.logo,.logo-mark{display:inline-flex;align-items:center}.logo-mark{justify-content:center;border-radius:9px;background:var(--accent);flex:none}.logo-text{font-weight:700;letter-spacing:-.01em}.btn,.logo-text{color:var(--text)}.btn{font-family:inherit;font-weight:600;font-size:14px;border:1px solid var(--border);background:var(--panel-2);padding:9px 16px;border-radius:10px;cursor:pointer;transition:filter .15s,opacity .15s}.btn:hover{filter:brightness(1.15)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#1a1a1a;border-color:var(--accent)}.btn-danger{color:var(--danger);border-color:#553}.btn-ghost{background:transparent}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px}.deploy{margin-bottom:24px}.deploy-row{display:flex;gap:10px;margin-bottom:14px}.tiers{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:14px}.tier-card{text-align:left;cursor:pointer;background:var(--panel);border:1.5px solid var(--border);border-radius:14px;padding:14px 16px;transition:border-color .15s,background .15s}.tier-card:hover{border-color:#4a4a52}.tier-card.sel{border-color:var(--accent);background:#2a2820}.tier-card .t-label{font-weight:700;font-size:15px}.tier-card .t-sub{color:var(--muted);font-size:12px;margin-top:2px}.tier-card .t-price{margin-top:10px;font-size:18px;font-weight:700}.tier-card .t-price span{font-size:12px;font-weight:500;color:var(--muted)}.tier-card .t-incl{margin-top:6px;font-size:11.5px;color:var(--accent)}.tier-card .t-specs{margin-top:4px;font-size:11.5px;color:var(--muted)}.input{flex:1 1;font-family:inherit;font-size:14px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.input:focus{outline:none;border-color:var(--accent)}.tenant{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid var(--border)}.tenant:first-child{border-top:none}.tenant .info{display:flex;flex-direction:column;gap:4px}.tenant .name{font-weight:600}.tenant .sub{font-size:13px;color:var(--muted)}.badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--border)}.badge.running{color:var(--ok);border-color:#2c5}.badge.error{color:var(--danger);border-color:#844}.badge.busy{color:var(--accent);border-color:#774}.empty{color:var(--muted);text-align:center;padding:40px 0}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:50}.modal{width:420px;max-width:calc(100vw - 40px);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px}.modal h2{margin:0 0 6px;font-size:18px}.modal .warn{display:flex;gap:12px;align-items:flex-start;background:rgba(255,90,90,.08);border:1px solid #553;border-radius:12px;padding:12px 14px;margin:14px 0}.modal .warn .ico{font-size:18px;line-height:1.2}.modal .warn .t{font-size:13px;color:#ffb3b3}.modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.btn-danger-solid{background:var(--danger);color:#1a1a1a;border-color:var(--danger);font-weight:700}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:360px}.login-card h1{margin:0 0 4px;font-size:22px}.login-card .field{margin-top:14px}.login-card label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.login-card .input{width:100%}.login-card .btn-primary{width:100%;margin-top:20px}.error-text{color:var(--danger);font-size:13px;margin-top:12px}.subrow{display:flex;align-items:center;gap:8px}.subrow .input{flex:1 1}.subsuffix{color:var(--muted);font-size:13px;white-space:nowrap}.subhint{font-size:12px;margin-top:6px}.subhint.ok{color:var(--ok)}.subhint.bad{color:var(--danger)}.consent{display:flex;gap:8px;align-items:flex-start;margin-top:16px;font-size:13px;color:var(--muted)}.consent input{margin-top:2px}.consent a{color:var(--accent)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.step{display:flex;align-items:center;gap:12px;font-size:15px}.step.idle{color:var(--muted)}.step.active{font-weight:600}.step.active,.step.done{color:var(--text)}.step-check{border-radius:50%;background:var(--accent);color:#1a1a1a;font-size:13px;font-weight:800}.step-check,.step-dot{width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center}.step-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--border)}.step-spin{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid var(--panel-2);border-top-color:var(--accent);animation:step-spin .8s linear infinite}@keyframes step-spin{to{transform:rotate(1turn)}}