:root{color-scheme:dark;--bg:#101512;--bg-soft:#151d19;--surface:#1a231f;--surface-2:#202b26;--surface-3:#26342e;--text:#edf5ef;--muted:#9dac9f;--line:#314039;--primary:#44c29a;--primary-dark:#2fa57f;--primary-soft:rgba(68,194,154,0.14);--accent:#e09858;--good:#53d092;--busy:#e7b85b;--bad:#ff7b6e;--shadow:0 20px 70px rgba(0,0,0,0.32)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top left,rgba(68,194,154,.12),transparent 34rem),linear-gradient(180deg,#101512,#111815 45%,#0e1311);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a.disabled,button:disabled{cursor:not-allowed;opacity:.45;pointer-events:none}.shell{min-height:100vh}.topbar{background:rgba(16,21,18,.82);border-bottom:1px solid var(--line);gap:20px;justify-content:space-between;min-height:76px;padding:14px 44px;position:-webkit-sticky;position:sticky;top:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10}.brand,.topbar,.topbarRight{align-items:center;display:flex}.brand,.topbarRight{gap:12px}.topbarRight{flex-wrap:wrap;justify-content:flex-end}.brandIcon{align-items:center;background:linear-gradient(145deg,var(--primary),#27765f);border-radius:8px;color:#06130f;display:inline-flex;height:38px;justify-content:center;width:38px}.brand small,.brand strong{display:block}.brand strong{line-height:1.1}.brand small,.formMessage,.muted,.sectionHeader p,.userBadge,td small{color:var(--muted)}.userBadge{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:999px;font-size:.86rem;max-width:260px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.content{margin:0 auto;max-width:1240px;padding:34px 44px 58px}.loginLayout{align-items:center;display:grid;grid-gap:36px;gap:36px;grid-template-columns:minmax(0,1fr) 420px;min-height:100vh;padding:clamp(24px,7vw,72px)}.loginIntro h1,.pageHero h1{font-size:4rem;letter-spacing:0;line-height:1;margin:0 0 18px}.loginIntro p,.pageHero p{color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:680px}.loginPanel,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.loginPanel{padding:28px}.panel{padding:22px}.createGrid,.formStack,.resourceEditor{display:grid;grid-gap:16px;gap:16px}label{color:var(--muted);display:grid;grid-gap:7px;gap:7px;font-size:.92rem}input,select{background:#111815;border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:42px;padding:9px 11px;width:100%}input[type=range]{accent-color:var(--primary);padding-left:0;padding-right:0}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.dangerButton,.iconButton,.primaryButton,.secondaryButton{align-items:center;border:1px solid transparent;border-radius:8px;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:42px;padding:0 14px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.primaryButton{background:var(--primary);color:#06130f}.primaryButton:hover{background:var(--primary-dark)}.iconButton,.secondaryButton{background:var(--surface-2);border-color:var(--line);color:var(--text)}.iconButton:hover,.secondaryButton:hover{background:var(--surface-3);border-color:#496057}.dangerButton{background:rgba(255,123,110,.12);border-color:rgba(255,123,110,.28);color:var(--bad)}.small{min-height:36px;padding:0 12px}.iconButton{height:38px;padding:0;width:38px}.linkButton{display:inline-flex}.navButton{white-space:nowrap}.sectionHeader{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;margin-bottom:24px}.sectionHeader.compact{margin-bottom:0}.sectionHeader h1,.sectionHeader h2,.sectionHeader p{margin:0}.sectionHeader h1{font-size:2.25rem;line-height:1.08}.sectionHeader h2{font-size:1.05rem}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.metricGrid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.metric{background:linear-gradient(180deg,var(--surface) 0,rgba(26,35,31,.72) 100%);border:1px solid var(--line);border-radius:8px;padding:18px 20px}.metric span{color:var(--muted);display:block;font-size:.85rem;margin-bottom:8px}.metric strong{font-size:1.65rem}.vmList{display:grid;grid-gap:10px;gap:10px}.vmListHeader{color:var(--muted);font-size:.76rem;font-weight:800;padding:0 18px 2px;text-transform:uppercase}.vmListHeader,.vmRow{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(260px,1.25fr) minmax(230px,.95fr) minmax(300px,1.15fr) minmax(200px,auto)}.vmRow{align-items:center;background:rgba(26,35,31,.94);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-height:138px;padding:18px}.vmRow:hover{border-color:#496057;background:#1d2823}.rowLink{font-weight:800}.vmAccess,.vmIdentity{display:grid;grid-gap:8px;gap:8px;min-width:0}.metaLine,.vmAccess span,.vmSpecGrid span,.vmTitleLine{align-items:center;display:flex;gap:8px}.vmTitleLine{flex-wrap:wrap}.vmIdentity p{color:var(--muted);margin:0}.vmIdentity code{background:#111815;border:1px solid var(--line);border-radius:8px;color:#b8c8bd;font-size:.8rem;overflow:hidden;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.metaLine,.vmAccess small{color:var(--muted);font-size:.84rem}.vmSpecGrid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.vmSpecGrid span{background:#111815;border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:38px;padding:8px 10px}.vmAccess span{color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userManagement{margin-top:0}.userManagementGrid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(260px,.6fr) minmax(0,1fr);margin-top:18px}.userCreateForm{align-content:start;display:grid;grid-gap:12px;gap:12px}.checkboxLabel{align-items:center;display:flex;gap:10px;min-height:42px}.checkboxLabel input{min-height:18px;width:18px}.adminBadge,.roleTag{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;gap:6px;min-height:28px;padding:6px 10px}.adminBadge{background:rgba(83,208,146,.14);color:var(--good)}.roleTag{background:var(--surface-2);color:var(--muted);text-transform:capitalize}.userList{border:1px solid var(--line);border-radius:8px;overflow:hidden}.userRow{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;min-height:64px;padding:12px 14px}.userRow:last-child{border-bottom:0}.userRow small{color:var(--muted);display:block;margin-top:4px}.userRowMeta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.successText{color:var(--good)}.errorText{color:var(--bad)}.actionCell{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.statusPill{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;min-height:28px;padding:6px 10px;text-transform:capitalize}.statusPill.good{background:rgba(83,208,146,.14);color:var(--good)}.statusPill.busy{background:rgba(231,184,91,.15);color:var(--busy)}.statusPill.bad{background:rgba(255,123,110,.14);color:var(--bad)}.statusPill.muted{background:var(--surface-2);color:var(--muted)}.emptyState,.noticePanel,.statePanel{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:flex;gap:14px;padding:18px}.statePanel{justify-content:center;min-height:220px}.errorPanel{border-color:rgba(255,123,110,.32);color:var(--bad);justify-content:flex-start}.noticePanel{background:rgba(224,152,88,.12);border-color:rgba(224,152,88,.28);margin-bottom:20px}.emptyState p,.noticePanel p,.statePanel p{color:var(--muted);margin:4px 0 0}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.detailGrid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr)}.infoList,.infoList div{display:grid;grid-gap:12px;gap:12px}.infoList div{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,.6fr) minmax(0,1fr);justify-content:space-between;padding-bottom:10px}.infoList span{color:var(--muted)}.infoList strong{overflow-wrap:anywhere;text-align:right}.infoList div:last-child{border-bottom:0;padding-bottom:0}.desktopColorFilters{height:0;position:absolute;width:0}.desktopSurface{display:flex;flex-direction:column;gap:8px}.desktopToolbar{align-items:center;background:#0b100e;border:1px solid #496057;border-radius:8px;box-shadow:0 14px 36px rgba(0,0,0,.36);color:#f5fff8;display:flex;flex-wrap:wrap;gap:5px;min-height:34px;padding:4px 5px}.desktopToolbarStatus{background:rgba(83,208,146,.14);border:1px solid rgba(83,208,146,.28);border-radius:8px;color:#dffced;font-size:.76rem;font-weight:800;gap:6px;padding:0 8px;white-space:nowrap}.desktopSelect,.desktopToolbarStatus{align-items:center;display:inline-flex;min-height:26px}.desktopSelect{background:#18211d;border:1px solid #496057;border-radius:8px;color:#f5fff8;gap:5px;padding:0 5px 0 7px}.desktopSelect select,.desktopSelect span{font-size:.76rem;font-weight:800}.desktopSelect select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;box-shadow:none;color:#f5fff8;min-height:24px;padding:0 15px 0 0;width:auto}.desktopToolButton{background:#18211d;border-color:#496057;border-radius:8px;color:#f5fff8;font-size:.76rem;gap:5px;min-height:26px;padding:0 8px}.desktopToolButton:hover{background:#23312a;border-color:#6a8378}.desktopToolbarMessage{color:#d4e5db;flex:1 1;font-size:.76rem;font-weight:700;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktopFrame{background:#101614;border-radius:8px;color:white;display:grid;height:min(76vh,900px);overflow:hidden;place-items:center}.desktopInner{max-width:620px;padding:32px;text-align:center}.desktopCanvas{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.desktopCanvas canvas{max-height:100%;max-width:100%}.desktopCanvas.colorSwap canvas{filter:url(#vmSwapRedBlue)}.desktopSurface:-webkit-full-screen{background:#101614;display:flex;flex-direction:column;gap:0;height:100vh;padding:0;position:relative;width:100vw}.desktopSurface:fullscreen{background:#101614;display:flex;flex-direction:column;gap:0;height:100vh;padding:0;position:relative;width:100vw}.desktopSurface:-webkit-full-screen .desktopToolbar{background:#070b0a;border-color:#536c61;border-radius:0;color:#f5fff8;min-height:32px;padding:3px 6px}.desktopSurface:fullscreen .desktopToolbar{background:#070b0a;border-color:#536c61;border-radius:0;color:#f5fff8;min-height:32px;padding:3px 6px}.desktopSurface:-webkit-full-screen .desktopToolbarMessage,.desktopSurface:-webkit-full-screen .desktopToolbarStatus{color:#f5fff8}.desktopSurface:fullscreen .desktopToolbarMessage,.desktopSurface:fullscreen .desktopToolbarStatus{color:#f5fff8}.desktopSurface:-webkit-full-screen .desktopSelect,.desktopSurface:-webkit-full-screen .desktopToolButton{background:#18211d;border-color:#536c61;color:#f5fff8}.desktopSurface:fullscreen .desktopSelect,.desktopSurface:fullscreen .desktopToolButton{background:#18211d;border-color:#536c61;color:#f5fff8}.desktopSurface:-webkit-full-screen .desktopFrame{border-radius:0;flex:1 1;height:auto}.desktopSurface:fullscreen .desktopFrame{border-radius:0;flex:1 1;height:auto}.desktopInner h1{margin:16px 0 10px}.desktopInner p{color:#c8d2cd;line-height:1.6}.desktopEndpoint{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:8px;display:block;margin-top:18px;overflow-wrap:anywhere;padding:12px}.desktopLaunchButton{display:inline-flex;margin-top:10px}.desktopStatus{align-items:center;color:#68746e;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.statusDot{background:#c9d1cc;border-radius:999px;display:inline-block;height:10px;width:10px}.statusDot.online{background:#2d9f64}@media (max-width:860px){.detailGrid,.loginLayout,.metricGrid,.userManagementGrid,.vmListHeader,.vmRow{grid-template-columns:1fr}.topbar{align-items:flex-start;padding:14px 20px}.sectionHeader,.topbar{flex-direction:column}.content{padding:24px 20px 48px}.loginIntro h1{font-size:2.5rem}.vmListHeader{display:none}.vmRow{align-items:stretch}.vmSpecGrid{grid-template-columns:1fr}.actionCell{justify-content:flex-start}.userRow{align-items:flex-start;flex-direction:column}.userRowMeta{justify-content:flex-start}}@media (max-width:560px){.toolbar,.topbarRight{width:100%}.loginLayout{padding:24px}.userBadge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dangerButton,.primaryButton,.secondaryButton{width:100%}}