:root{color-scheme:light dark;--bg: #0f1115;--panel: #171a21;--border: #262b36;--text: #e6e9ef;--muted: #8b93a7;--accent: #4f8cff;--green: #35c26b;--yellow: #e3b341;--red: #f0555a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.page{max-width:1100px;margin:0 auto;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{font-size:20px;margin:0}button{cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:6px 12px;font-size:14px}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{border-color:var(--red);color:var(--red)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:32px;width:320px}.login-card h1{font-size:18px;margin:0 0 20px}.field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--muted)}.field input{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-size:14px}.error{color:var(--red);font-size:13px;margin-bottom:12px}.vm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.vm-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:border-color .15s}.vm-card:hover{border-color:var(--accent)}.vm-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.vm-card-header h3{margin:0;font-size:15px}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.running{background:var(--green)}.status-dot.stopped{background:var(--muted)}.status-dot.paused{background:var(--yellow)}.metric{margin-bottom:8px}.metric-label{font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.metric-bar{height:5px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:3px}.metric-bar-fill{height:100%;background:var(--accent)}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.actions{display:flex;gap:8px;margin-bottom:24px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:20px}.panel h2{font-size:15px;margin:0 0 14px}.snapshot-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.snapshot-row:last-child{border-bottom:none}.console-frame{width:100%;height:600px;background:#000;border-radius:8px;overflow:hidden}.back-link{color:var(--muted);text-decoration:none;font-size:13px}.back-link:hover{color:var(--text)}.muted{color:var(--muted);font-size:13px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.snap-name{font-weight:500}.status-pill-text{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:100px}.status-pill-text.active{background:#35c26b26;color:var(--green)}.status-pill-text.suspended{background:#f0555a26;color:var(--red)}.admin-table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px}.admin-table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600}.admin-table tr:last-child td{border-bottom:none}.row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-actions a{color:var(--accent);font-size:13px;text-decoration:none}.row-actions a:hover{text-decoration:underline}.row-actions button{font-size:12px;padding:5px 10px}
