:root{color:#e5e7eb;background:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{border:0;border-radius:.7rem;padding:.75rem 1rem;color:#f8fafc;background:#2563eb;cursor:pointer;font-weight:700}button:hover:not(:disabled){background:#1d4ed8}button:disabled{cursor:not-allowed;background:#475569}input{width:100%;border:1px solid #334155;border-radius:.7rem;padding:.85rem 1rem;color:#f8fafc;background:#020617}.login-page{display:grid;min-height:100vh;place-items:center;padding:1rem}.login-card{display:grid;width:min(100%,420px);gap:1rem;padding:2rem;border:1px solid #1e293b;border-radius:1.4rem;background:#111827;box-shadow:0 24px 80px #00000059}.login-card h1{margin:0 0 .5rem;text-align:center}.login-card label{display:grid;gap:.4rem;color:#cbd5e1}.dashboard-page{width:min(1440px,100%);margin:0 auto;padding:1.25rem}.top-bar,.section-heading,.user-menu,.console-panel header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.top-bar{padding:1rem 0 2rem}.top-bar h1,.top-bar p,.console-panel h2,.console-panel p{margin:0}.top-bar p,.console-panel p,.vm-card p,.user-menu span{color:#94a3b8}.dashboard-section{margin-bottom:2rem}.vm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.vm-card,.console-panel{border:1px solid #1e293b;border-radius:1rem;background:#111827}.vm-card{display:grid;gap:1rem;padding:1rem}.vm-card h3,.vm-card p{margin:0}.status{width:fit-content;border-radius:999px;padding:.25rem .7rem;background:#334155}.status-running{color:#bbf7d0;background:#14532d}.console-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:1rem}.console-panel{overflow:hidden}.console-panel header{padding:1rem;border-bottom:1px solid #1e293b}.console-actions{display:flex;gap:.5rem}.console-screen{width:100%;height:clamp(420px,70vh,720px);min-height:420px;background:#000}.loading-state,.empty-state,.error-message{border-radius:.8rem;padding:1rem}.loading-state,.empty-state{color:#cbd5e1;background:#111827}.error-message{color:#fecaca;background:#7f1d1d}@media(max-width:720px){.top-bar,.section-heading,.console-panel header{align-items:flex-start;flex-direction:column}}
