@charset "UTF-8";:root{--bg: #0a0c0f;--surface: #111418;--border: #1e2530;--border2: #2a3340;--accent: #64cdd2;--accent2: #5eff00;--warn: #ff6b35;--danger: #ff3b5c;--text: #e0e8f0;--muted: #5a6a7a;--mono: "JetBrains Mono", monospace;--sans: sans-serif;--grid-opacity: .4;--row-hover: rgba(255, 255, 255, .02);--header-bg: rgba(0, 0, 0, .3);--toolbar-bg: rgba(0, 0, 0, .2);--input-bg: rgba(0, 0, 0, .3);--input-bg-focus: rgba(0, 0, 0, .5);--log-bg: rgba(0, 0, 0, .4);--overlay-bg: rgba(0, 0, 0, .75);--confirm-bg: rgba(255, 255, 255, .04);--progress-bg: rgba(255, 255, 255, .05);--profile-hover-bg: rgba(100, 205, 210, .04);--menu-item-hover: rgba(255, 255, 255, .04);--btn-primary-fg: #000;--hv-card-hover-hyperv: rgba(0, 119, 255, .06);--hv-card-hover-vmware: rgba(255, 165, 0, .06);--hv-card-hover-vbox: rgba(160, 80, 240, .06);--hv-card-hover-docker: rgba(0, 180, 216, .06);--accent-border: rgba(100, 205, 210, .25);--accent-bg: rgba(100, 205, 210, .07);--accent-bg2: rgba(100, 205, 210, .12);--hint-bg: rgba(100, 205, 210, .04)}[data-theme=light]{--bg: #f5f7fa;--surface: #ffffff;--border: #e4e9f0;--border2: #cfd8e3;--accent: #64cdd2;--accent2: #22c55e;--warn: #d9531e;--danger: #d6243f;--text: #1a2230;--muted: #6b7a8a;--grid-opacity: .5;--row-hover: rgba(0, 0, 0, .025);--header-bg: rgba(0, 0, 0, .02);--toolbar-bg: rgba(0, 0, 0, .015);--input-bg: #ffffff;--input-bg-focus: #ffffff;--log-bg: #f0f3f7;--overlay-bg: rgba(20, 30, 45, .45);--confirm-bg: rgba(0, 0, 0, .03);--progress-bg: rgba(0, 0, 0, .06);--profile-hover-bg: rgba(100, 205, 210, .06);--menu-item-hover: rgba(0, 0, 0, .04);--btn-primary-fg: #000;--hv-card-hover-hyperv: rgba(0, 87, 204, .05);--hv-card-hover-vmware: rgba(217, 83, 30, .05);--hv-card-hover-vbox: rgba(128, 64, 200, .05);--hv-card-hover-docker: rgba(0, 144, 180, .05);--accent-border: rgba(100, 205, 210, .75);--accent-bg: rgba(100, 205, 210, .12);--accent-bg2: rgba(100, 205, 210, .24);--hint-bg: rgba(100, 205, 210, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}app-root{display:block;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--mono),serif;font-size:clamp(11px,1.1vw,13px);min-height:100vh;overflow-x:hidden;transition:background .25s ease,color .25s ease}body:before{content:"";position:fixed;inset:0;background-size:40px 40px;opacity:var(--grid-opacity);pointer-events:none;z-index:0}.logo-mark{width:clamp(28px,2.5vw,36px);height:clamp(28px,2.5vw,36px);border:2px solid var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:var(--sans),serif;font-weight:800;font-size:clamp(12px,1.2vw,16px);color:var(--accent);position:relative;overflow:hidden}.logo-mark:after{content:"";position:absolute;inset:0;background:var(--accent);opacity:.08}.btn{display:inline-flex;align-items:center;gap:8px;padding:0 clamp(14px,1.5vw,24px);height:clamp(36px,3.5vw,44px);border-radius:8px;border:none;cursor:pointer;font-family:var(--mono),serif;font-size:clamp(11px,1vw,12px);font-weight:500;letter-spacing:.5px;transition:all .18s ease;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--accent);color:var(--btn-primary-fg)}.btn-primary:hover:not(:disabled){background:#00ffb3;box-shadow:0 0 24px #00e5a059;transform:translateY(-1px)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover:not(:disabled){background:#ff3b5c1f;box-shadow:0 0 16px #ff3b5c33}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border2)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--text)}.btn-sm{height:clamp(28px,2.5vw,32px);padding:0 clamp(10px,1vw,14px);font-size:clamp(10px,.9vw,11px);border-radius:6px}.form-input{width:100%;height:clamp(36px,3vw,40px);padding:0 14px;background:var(--input-bg);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-family:var(--mono),serif;font-size:clamp(12px,1.1vw,13px);outline:none;transition:all .15s}.form-input:focus{border-color:var(--accent);background:var(--input-bg-focus);box-shadow:0 0 0 3px #00e5a014}.form-input::placeholder{color:var(--muted)}.form-label{display:block;font-size:clamp(9px,.8vw,10px);font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.form-group{margin-bottom:1rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.85em;font-weight:500;letter-spacing:.5px}.badge-connected{background:#08e50014;color:var(--accent2);border:1px solid rgba(0,229,0,.22)}.badge-connected .badge-dot{background:var(--accent2)}.badge-disconnected{background:#ff6b3514;color:var(--warn);border:1px solid rgba(255,107,53,.2)}.badge-disconnected .badge-dot{background:var(--warn)}.badge-error{background:#ff3b5c1f;color:var(--danger);border:1px solid rgba(255,59,92,.35)}.badge-error .badge-dot{background:var(--danger);box-shadow:0 0 6px var(--danger);animation:pulse 1.8s ease-in-out infinite}.badge-not-enrolled{background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--muted);border:1px solid var(--border2)}.badge-not-enrolled .badge-dot{background:var(--muted);box-shadow:none}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.hv-badge{font-size:.85em;padding:3px 8px;border-radius:4px;font-family:var(--mono),serif;font-weight:500}.hv-badge-logo{width:13px;height:13px;object-fit:contain;flex-shrink:0}.hv-hyperv{background:#0077ff1f;color:#49f;border:1px solid rgba(0,119,255,.2)}.hv-vmware{background:#ffa5001a;color:#fa3;border:1px solid rgba(255,165,0,.2)}.hv-vbox{background:#a050f01f;color:#c080ff;border:1px solid rgba(160,80,240,.2)}.hv-docker{background:#00b4d81f;color:#00c5e8;border:1px solid rgba(0,180,216,.2)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 2.4s ease-in-out infinite}.status-dot.status-dot--online-no-animation{background:#22c55e;box-shadow:0 0 8px #22c55e;animation:none}.status-dot.status-dot--online{background:#22c55e;box-shadow:0 0 8px #22c55e;animation:pulse 2.4s ease-in-out infinite}.status-dot.status-dot--offline{background:#ef4444;box-shadow:0 0 8px #ef4444;animation:none}.status-dot.status-dot--checking{background:#f59e0b;box-shadow:0 0 8px #f59e0b;animation:pulse 1s ease-in-out infinite}.overlay{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease}.overlay.open{opacity:1;pointer-events:all}.overlay.open .modal{transform:translateY(0) scale(1)}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:16px;padding:clamp(20px,2vw,32px) clamp(16px,1.8vw,26px) clamp(16px,1.8vw,26px);width:min(100% - 2rem,clamp(280px,40vw,560px));max-width:clamp(280px,90vw,560px);position:relative;transform:translateY(16px) scale(.97);transition:transform .22s cubic-bezier(.34,1.56,.64,1)}@media(max-width:768px){.modal{width:calc(100% - 2rem);max-width:none;padding:1.5rem 1.25rem 1.25rem}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:1px solid var(--border2);color:var(--muted);width:30px;height:30px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.modal-close:hover{color:var(--text);border-color:var(--text)}.modal-title{font-family:var(--sans),serif;font-size:1.4em;font-weight:700;margin-bottom:6px}.modal-sub{color:var(--muted);font-size:1em;margin-bottom:clamp(16px,2vw,28px);line-height:1.6}.shell{position:relative;z-index:1;max-width:min(75vw,1400px);margin:0 auto;padding:0 clamp(16px,2vw,24px) clamp(40px,5vw,80px)}@media(max-width:1024px){.shell{max-width:90vw}}@media(max-width:768px){.shell{max-width:100%;padding:0 1rem clamp(32px,4vw,48px)}}.section-label{font-size:clamp(9px,.75vw,10px);font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;flex-shrink:0;display:flex;align-items:center;gap:10px}.section-label:after{content:"";flex:1;height:1px;background:var(--border)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}
