.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#24313a;background:#f5f7f8;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:0;border-radius:7px;background:#126b5b;color:#fff;padding:11px 17px;font-weight:600;transition:background .15s}button:hover{background:#0e5548}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:10px;font-weight:650}h2{font-size:17px;margin-bottom:8px}h3{font-size:15px}p{color:#76818b;line-height:1.6}small{font-size:12px;color:#7f8b95}label{display:block;font-size:13px;font-weight:550;margin:15px 0;color:#43505b}label small{display:block;font-weight:400;margin-top:6px}input,select,textarea{display:block;width:100%;background:#fff;border:1px solid #d8e0e4;border-radius:6px;padding:11px;margin-top:7px;color:#24313a}textarea{resize:vertical}input[type=checkbox]{width:16px;accent-color:#126b5b}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#81918f;display:block;margin-bottom:12px}.brand{font-size:21px;letter-spacing:-.7px;font-weight:700;color:#eff8f7}.shell{display:flex;min-height:100vh}aside{width:238px;background:#111e27;color:#a0aeb6;position:fixed;inset:0 auto 0 0;padding:30px 20px;display:flex;flex-direction:column}.workspace{margin:36px 0 32px;padding:14px 10px;border:1px solid #2b3942;border-radius:7px;font-size:11px;font-weight:650;letter-spacing:.7px;color:#d5e0e4}.workspace span{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:#80929e;margin:8px 0 0 15px}i{display:inline-block;width:6px;height:6px;background:#53ba9f;border-radius:50%;margin-right:8px}.nav-caption{font-size:9px;letter-spacing:1.6px;color:#637985;padding-left:12px}nav{margin-top:14px}nav button{display:flex;align-items:center;gap:12px;background:transparent;color:#92a3ae;width:100%;text-align:left;margin:5px 0;padding:13px 12px;font-size:12px;font-weight:500}nav button.active{background:#203b3e;color:#97dfc8}nav button:hover{background:#203139}nav span{font-size:18px}nav b{margin-left:auto;font-size:10px;color:#b4d9cd;background:#32544f;border-radius:4px;padding:3px 6px}.aside-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;border-top:1px solid #293943;padding-top:20px;font-size:12px;color:#e1e9ed}.avatar{background:#2c434b;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.aside-bottom small{display:block;font-size:10px;margin-top:4px}.aside-bottom button{margin-left:auto;background:transparent;padding:5px;color:#a9b7be;font-size:20px}main{margin-left:238px;width:calc(100% - 238px)}header{height:76px;background:#fff;border-bottom:1px solid #e4eaee;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px;color:#7a8893}header b{font-weight:400;margin:0 14px;color:#bec8cc}.connection{font-size:10px}.content{max-width:1540px;margin:auto;padding:36px 40px}.title{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}.title p{font-size:12px;margin:0}.title .eyebrow{color:#68837d}.secondary{background:#fff;color:#45525a;border:1px solid #d8e0e5;font-size:12px}.secondary:hover{background:#edf4f1}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}.stat{padding:22px;background:#fff;border:1px solid #e2e8eb;border-radius:9px}.stat small{font-size:11px;color:#64737d}.stat strong{display:block;font-size:25px;letter-spacing:-.8px;margin:16px 0 7px;font-weight:600}.stat span{font-size:10px;color:#8a979f}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-head h2{font-size:15px;margin:0}.section-head h2 span{color:#8d9a9f;background:#e9edef;border-radius:4px;padding:3px 6px;font-size:10px;margin-left:6px}.section-head small{font-size:10px}.host-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.host-card{background:#fff;border:1px solid #e0e7eb;border-radius:9px;padding:22px}.host-heading{display:flex;gap:11px;align-items:center;margin-bottom:27px}.host-heading h2{font-size:15px;margin-bottom:5px}.host-heading small{font-size:10px}.host-icon{background:#edf4f1;color:#557a6f;border:1px solid #e2ede7;border-radius:8px;font-size:23px;padding:7px 10px}.badge{font-size:9px;white-space:nowrap;background:#fff6e5;border:1px solid #f0e2c6;color:#9d7b33;border-radius:5px;padding:5px 7px;font-weight:500}.host-heading .badge{margin-left:auto}.badge.bad{background:#fcebe8;color:#a64439;border-color:#efd0ca}.meter{margin-bottom:19px}.meter>div:first-child{display:flex;justify-content:space-between;font-size:10px;margin-bottom:9px}.meter b{font-size:11px;font-weight:550}.meter small{font-size:10px;font-weight:400}.track{height:5px;border-radius:4px;background:#edf1f3;overflow:hidden}.track i{display:block;height:100%;background:#4b9f89;border-radius:0}.host-facts{display:flex;border-top:1px solid #edf1f3;padding-top:17px;gap:30px;margin-bottom:16px}.host-facts span{font-size:10px;color:#83909a}.host-facts b{display:block;font-size:11px;color:#4f606a;margin-top:8px;font-weight:500}.host-card>small{font-size:9px}.host-card footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1f3;margin-top:16px;padding-top:12px;font-size:10px;color:#9a8870}.text-button{background:transparent;color:#247561;padding:6px 0;font-size:11px}.text-button:hover{background:transparent;color:#0c4f3e}.info{font-size:11px;color:#6d818b;background:#edf3f5;padding:15px 18px;border:1px solid #dfe9ee;border-radius:6px;line-height:1.7;margin:22px 0}.page-footer{display:flex;justify-content:space-between;color:#8f9da6;font-size:10px;border-top:1px solid #e1e8ec;margin-top:40px;padding-top:20px}.error{background:#fff0ed;color:#a83b2e;border:1px solid #edc5be;border-radius:6px;padding:14px;font-size:12px;margin-bottom:20px}.error button{float:right;background:transparent;color:inherit;padding:0}.notice{background:#e7f4ed;border:1px solid #b5ddc8;color:#24694e;border-radius:6px;padding:12px;margin-bottom:20px;font-size:12px}.overlay{position:fixed;inset:0;background:#0e1c2a80;z-index:20;display:flex;justify-content:center;align-items:flex-start;padding:5vh 20px;overflow:auto}.modal{width:700px;max-width:100%;background:#fff;border-radius:12px;padding:28px;box-shadow:0 20px 80px #0003}.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e7edef;padding-bottom:18px}.modal-head h2{margin:0}.modal-head button{background:#f0f4f5;color:#607580;padding:4px 10px;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}fieldset{border:1px solid #e2e9ec;border-radius:7px;margin:20px 0;padding:15px}legend{font-size:12px;font-weight:600;color:#5b707b}.core-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.core-grid label{margin:0;border:1px solid #e1e7eb;border-radius:4px;text-align:center;padding:8px 3px;font-size:10px;cursor:pointer}.core-grid input{position:absolute;opacity:0;width:1px}.core-grid label:focus-within{outline:2px solid #23795f}.core-grid .chosen{background:#e5f3ec;color:#14654b;border-color:#7abc9e}.check{display:flex;align-items:center;gap:10px}.check input{margin:0}.table-wrap{background:#fff;border:1px solid #e0e7eb;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;font-weight:550;background:#f8fafb;color:#7a8b95;padding:16px 20px;border-bottom:1px solid #e4eaed}td{padding:16px 20px;border-bottom:1px solid #edf1f4}td small{display:block;margin-top:5px;font-size:10px}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lab-card{text-align:left;background:#fff;color:#24313a;border:1px solid #e0e7eb;border-radius:9px;padding:24px}.lab-card:hover{background:#f7fcfa;border-color:#9bbcaf}.lab-symbol{font-size:35px;color:#257b65;margin-bottom:25px}.lab-card .badge{float:right;margin-top:-55px}.lab-card h2{font-size:18px}.lab-card p{font-size:12px;min-height:40px;font-weight:400}.lab-card footer{display:flex;justify-content:space-between;font-size:10px;border-top:1px solid #e5ecef;padding-top:18px;font-weight:400;color:#6f848c}.empty{text-align:center;padding:70px 20px;border:1px dashed #d9e4e7;border-radius:9px;background:#f8fafb}.empty>div{font-size:40px;color:#8ea99e;margin-bottom:20px}.empty h2{font-size:18px}.empty p{font-size:12px}.empty-small{padding:45px 0}.tabs{display:flex;gap:20px;border-bottom:1px solid #dce6e9;margin:25px 0}.tabs button{background:transparent;color:#7d8d96;border-radius:0;padding:14px 0;font-size:12px;border-bottom:2px solid transparent}.tabs button.active{color:#166e58;border-color:#166e58}.actions{display:flex;gap:10px;align-items:center}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:20px 0;font-size:11px;color:#8a969e}.topology{border:1px solid #e0e7eb;border-radius:8px;background-color:#fff;background-image:radial-gradient(#dce6e5 1px,transparent 1px);background-size:20px 20px;padding:25px 10px;overflow:auto}.topology svg{width:100%;min-width:500px}.topology line{stroke:#91aea4;stroke-width:2}.topology rect{fill:#fff;stroke:#b6cfc5;stroke-width:1.5;cursor:pointer}.topology text{text-anchor:middle;font-size:12px;fill:#34514a;pointer-events:none}.topology .node-kind{font-size:10px;fill:#288b6d}.topology .node-sub{font-size:9px;fill:#95a49f}.inline-form{background:#fff;border:1px solid #e0e7eb;padding:24px;border-radius:8px;margin-top:20px}.draft-footer{display:flex;justify-content:space-between;align-items:center;margin-top:25px;font-size:10px;color:#82939e}.danger{background:#fff0ee;color:#ac483b;border:1px solid #ecc7be}.config-card{background:#fff;border:1px solid #e0e7eb;border-radius:8px;padding:20px;margin:15px 0}.config-card span{font-size:11px;color:#85999d}pre{background:#f4f7f7;padding:18px;color:#5f7b71;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-intro{padding:65px 11%;background:#111e27;color:#fff;display:flex;flex-direction:column;justify-content:center}.login-intro .brand{margin-bottom:100px}.login-intro .eyebrow{color:#6caa96}.login-intro h1{font-size:clamp(26px,2.5vw,40px);line-height:1.25;letter-spacing:-1px}.login-intro em{font-style:normal;color:#8dc8b3}.login-intro p{font-size:14px;max-width:330px;color:#92a7af}.mesh{margin-top:70px;color:#90a8ad;font-size:12px}.mesh span{color:#49616b;margin:0 10px}.login form{width:360px;max-width:80%;margin:auto}.login form h2{font-size:28px;letter-spacing:-.8px;margin-bottom:14px}.login form p{font-size:12px;margin-bottom:35px}.login form button{width:100%;margin-top:15px;display:flex;justify-content:space-between}.login form>small{display:block;font-size:10px;margin-top:22px;text-align:center}.loading{display:grid;place-items:center;min-height:100vh;color:#548672}@media(min-width:1600px){.host-grid{gap:24px}}@media(max-width:1150px){aside{width:200px;padding:25px 15px}main{margin-left:200px;width:calc(100% - 200px)}.content{padding:30px 24px}header{padding:0 24px}.host-heading{flex-wrap:wrap}.host-heading .badge{margin-left:0}.host-grid{gap:14px}.summary{gap:10px}.stat{padding:18px 14px}.stat strong{font-size:22px}.lab-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){aside{position:static;width:100%;padding:20px}.shell{display:block}aside .workspace,aside .nav-caption,.aside-bottom{display:none}nav{display:flex;flex-wrap:wrap;gap:5px}nav button{width:auto;font-size:10px}nav button b{display:none}main{margin:0;width:100%}header{height:55px}.connection{display:none}.content{padding:24px 18px}.summary{grid-template-columns:repeat(2,1fr)}.host-grid,.lab-grid{grid-template-columns:1fr}.title{align-items:flex-start;flex-wrap:wrap}h1{font-size:26px}.tabs{gap:15px;overflow:auto;white-space:nowrap}.toolbar{align-items:flex-start;gap:15px;flex-direction:column}.login{display:block}.login-intro{padding:35px}.login-intro .brand{margin-bottom:30px}.login-intro h1{font-size:32px}.mesh{display:none}.login form{padding:40px 0}.core-grid{grid-template-columns:repeat(6,1fr)}.form-grid{grid-template-columns:1fr}.page-footer span{display:none}.draft-footer{gap:15px}.modal{padding:20px}}@media(max-width:800px){.aside-bottom{display:flex;margin-top:14px;padding-top:12px}.aside-bottom button{margin-left:auto}}.topology line+text{font-size:9px}.disk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.disk-tile{background:#f8fafb;border:1px solid #dce5e8;color:#5d707a;text-align:left;padding:12px;min-width:0;font-weight:400}.disk-tile:hover{background:#edf4f1}.disk-tile.chosen{background:#e3f4e9;border-color:#71b88d;color:#176343;box-shadow:inset 0 0 0 1px #71b88d}.disk-tile strong,.disk-tile span,.disk-tile b,.disk-tile small{display:block;overflow-wrap:anywhere}.disk-tile strong{font-size:15px;margin-bottom:8px}.disk-tile span{font-size:9px;min-height:23px}.disk-tile b{font-size:10px;margin:4px 0 8px}.disk-tile small{font-size:9px;color:inherit}.disk-tile:disabled{opacity:.6;background:#f4f0ec;border-color:#ddd4ca}.host-card .error button{float:none;margin-left:12px;background:#fff;padding:5px 9px}.host-card .error{margin-top:15px;font-size:11px}.core-grid .chosen{background:#e3f4e9;border-color:#71b88d;color:#176343}@media(max-width:600px){.disk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.topology-tiered{padding:8px;background-size:18px 18px}.topology .topology-scene{display:block;max-width:none;height:auto}.topology .dc-panel{fill:#f7faf9;fill-opacity:.94;stroke:#dce8e1;stroke-width:1;cursor:default}.topology .dc-title{font-size:16px;font-weight:650;fill:#2f5d4c}.topology .dc-subtitle{font-size:10px;fill:#8b9d95}.topology .tier-guide{stroke:#e0eae5;stroke-width:1;stroke-dasharray:5 6}.topology .tier-label text{font-size:11px;fill:#82998e}.topology .tier-label text:first-child{font-size:10px;fill:#acbab3;letter-spacing:1px}.topology .topology-link{fill:none;stroke:#86ab9b;stroke-width:1.8}.topology .cross-dc .topology-link{stroke:#5c83aa;stroke-dasharray:6 4;stroke-width:2}.topology .link-caption rect{fill:#fff;stroke:#dce8e1;stroke-width:.8;cursor:default}.topology .link-caption text{font-size:9px;fill:#678c7b}.topology .cross-dc .link-caption text{fill:#567d9e}.topology .node-card{fill:#fff;stroke:#b6cfc5;stroke-width:1.4;cursor:default}.topology .editable .node-card{cursor:pointer}.topology .editable:hover .node-card,.topology .editable:focus .node-card{stroke:#328b66;stroke-width:2;fill:#f1faf5}.topology .node-router .node-card{stroke:#8eaec6;fill:#f7fbff}.topology .node-router .node-kind{fill:#4c7c9f}.topology .node-switch .node-kind{fill:#258565}.topology .node-vm .node-kind{fill:#7b8895}.topology .node-name{font-size:12px;fill:#2d4c40;font-weight:550}.topology .node-sub{font-size:9px;fill:#8a9d93}.topology .node-router .node-name{fill:#3e5a71}.topology .topology-scene.topology-fit{max-height:916px}.topology .dc-title{font-size:12px}.topology .dc-subtitle{font-size:8px}.topology .tier-label text{font-size:9px}.topology .tier-label text:first-child{font-size:8px}.topology .node-kind{font-size:8px}.topology .node-name{font-size:10px}.topology .node-sub{font-size:7px}.lab-workspace>.title{margin-bottom:18px}.lab-workspace h1{font-size:26px}.lab-workspace .eyebrow{margin-bottom:7px}.lab-workspace>.info{margin:12px 0;padding:10px 14px}.lab-workspace>.tabs{margin:14px 0}.lab-workspace>.tabs button{padding:10px 0}.lab-workspace>.toolbar{margin:12px 0}.lab-workspace>.draft-footer{margin-top:16px}.device-port rect{fill:#fff;stroke:#8b9ca4;stroke-width:1}.device-port.connected rect{fill:#d7f2e3;stroke:#178256}.device-port text{font-size:6px;fill:#43535d;text-anchor:middle;pointer-events:none}.device-port.connected text{fill:#105c3c}.device-port:hover rect{stroke:#125e9b;stroke-width:2}.topology .interactive-port{cursor:pointer}.topology .interactive-port rect{cursor:pointer}.topology .interactive-port:focus rect{stroke:#125e9b;stroke-width:2;outline:none}.topology .mlag-peer{fill:none;stroke:#398b79;stroke-width:2;stroke-dasharray:3 2}.topology .mlag-label{font-size:6px;fill:#398b79;font-weight:650}.configuration-transfer{min-width:0}.configuration-transfer .actions,.lab-workspace>.title>.actions{flex-wrap:wrap}.configuration-transfer textarea{font-family:ui-monospace,monospace;font-size:12px}.configuration-preview{padding:14px;border:1px solid #b5ddc8;border-radius:7px;margin:16px 0;background:#f4faf6}.configuration-preview li{margin:6px 0;overflow-wrap:anywhere}.runtime-panel{border:1px solid var(--border,#d8e0e6);border-radius:12px;padding:16px;margin:16px 0}.runtime-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.runtime-consoles{display:flex;gap:12px;flex-wrap:wrap}.runtime-consoles>div{display:flex;align-items:center;gap:8px}.console-modal{background:#fff;border-radius:12px;padding:20px;width:min(1200px,96vw);max-height:95vh;overflow:auto}.console-screen{height:65vh;min-height:320px;background:#111;overflow:hidden}.console-screen .xterm{height:100%;padding:8px}.vm-power-light{cursor:pointer;outline:none}.vm-power-light[aria-disabled=true]{cursor:default}.vm-power-hit{fill:transparent;stroke:none}.vm-power-dot{stroke:#fff;stroke-width:1.4;filter:drop-shadow(0 0 2px #0002)}.vm-on .vm-power-dot{fill:#18b66b}.vm-off .vm-power-dot{fill:#e5484d}.vm-unknown .vm-power-dot{fill:#8a979f}.vm-power-light:focus .vm-power-dot{stroke:#164f77;stroke-width:2.5}.vm-power-popup{overflow:visible}.vm-power-menu{padding:4px;background:#fff;border:1px solid #d8e0e5;border-radius:5px;box-shadow:0 3px 10px #13293820;scrollbar-width:thin}.vm-power-menu button{display:block;width:100%;text-align:left;background:#fff;color:#253f4c;border:none;border-radius:3px;padding:5px 8px;font-size:11px;font-weight:400;line-height:15px;min-height:25px}.vm-power-menu button:hover,.vm-power-menu button:focus{background:#eef1f4;color:#1c3340}.vm-power-menu button:focus-visible{outline:1px solid #7895aa;outline-offset:-1px}.vm-power-menu button:disabled{opacity:.45;cursor:default}.vm-power-menu button[data-action=force-off]{color:#a13d37}.live-editor{border:0;padding:0;margin:0;min-width:0}.live-editor:disabled{opacity:.7}.link-down .topology-link{stroke:#e5484d!important;stroke-dasharray:5 4}.port-fault-control{margin-bottom:20px}.topology .topology-edge{--link-color:#86ab9b}.topology .topology-edge.cross-dc{--link-color:#5c83aa}.topology .topology-edge.link-down{--link-color:#e5484d}.topology .topology-edge .topology-link{stroke:var(--link-color)}.topology .link-impairment-label{pointer-events:all;font-size:7px;font-weight:600;text-anchor:middle;fill:#dc2626;stroke:#fff;stroke-width:1px;paint-order:stroke;stroke-linejoin:round;cursor:pointer}.console-modal{display:flex;flex-direction:column;min-height:0}.console-modal .modal-head{flex:none;gap:12px}.console-modal .modal-head .actions{flex-wrap:wrap;justify-content:flex-end}.console-modal .modal-head .console-display-button{font-size:12px;padding:8px 12px}.console-modal>p{flex:none;margin:10px 0}.console-screen{flex:1;min-height:0}.console-modal:not(.console-wide):not(:fullscreen){height:min(820px,90dvh)}.console-overlay-wide{padding:12px}.console-modal.console-wide{width:100%;height:calc(100dvh - 24px);max-height:none}.console-modal:fullscreen{width:100%;height:100%;max-height:none;border-radius:0;padding:12px;background:#fff}.console-screen>div{max-width:100%;max-height:100%}@media(max-width:600px){.console-modal .modal-head{align-items:flex-start;flex-wrap:wrap}.console-overlay{padding:8px}.console-modal.console-wide{height:calc(100dvh - 16px)}.console-modal{padding:12px}}.topology-display-toolbar{display:flex;align-items:center;justify-content:space-between;margin:12px 0;gap:12px;color:var(--muted)}.topology-display{position:relative}.topology-display-options{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:275px;max-width:calc(100vw - 48px);padding:14px;background:#fff;border:1px solid #d7e0eb;border-radius:10px;box-shadow:0 8px 24px #172d4a25;color:#24364b}.topology-display-options label{display:flex;align-items:center;gap:9px;cursor:pointer}.topology-display-options input{width:16px;height:16px;margin:0}.topology-display-options small{display:block;margin-top:10px;line-height:1.6}.topology .link-traffic-caption text{font-size:7px;font-weight:600;fill:var(--link-color);stroke:#fff;stroke-width:1px;paint-order:stroke;stroke-linejoin:round;pointer-events:all}.topology-display-options label+label,.topology-display-options small+label{margin-top:14px}.topology .topology-node,.topology .topology-edge{transition:opacity .15s,filter .15s}.topology .vlan-muted{opacity:.28;filter:grayscale(1)}.console-overlay[hidden]{display:none}.console-overlay{padding-bottom:76px}.console-overlay .console-modal{max-height:calc(100dvh - 100px)}.console-overlay .console-modal.console-wide{height:calc(100dvh - 100px)}.console-overlay .console-modal:fullscreen{max-height:none;height:100%}.console-dock{position:fixed;z-index:1100;bottom:12px;left:12px;right:12px;display:flex;gap:8px;overflow-x:auto;padding:4px;pointer-events:none}.console-dock-item{display:flex;flex:none;max-width:min(320px,85vw);border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 4px 18px #0003;background:#fff;pointer-events:auto;overflow:hidden}.console-dock-item button{border:0;border-radius:0;background:#fff;color:#26374a}.console-dock-item button:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-dock-item button[aria-pressed=true]{background:#dceeff;color:#145da0}.console-dock-item button:hover{background:#e9f1f8}.console-dock-item button{width:auto;margin:0;display:block;flex:none}.console-dock-item button:first-child{flex:1;padding-right:8px}.console-dock-item button:last-child{padding:11px 12px}.vm-power-menu{max-height:310px;overflow-y:auto}.vm-power-menu button{white-space:nowrap;overflow-wrap:normal}.runtime-queue ol{margin:8px 0;padding-left:24px;max-height:240px;overflow:auto}.runtime-queue li{padding:4px 0;overflow-wrap:anywhere}.runtime-queue li button{padding:3px 10px;margin-left:8px;font-size:12px}.topology-node.draggable{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.topology-node.draggable .node-card{cursor:grab}.topology-node.dragging{opacity:.45}.topology .topology-drop-zone{fill:#d9eee5;fill-opacity:.65;stroke:#328b66;stroke-dasharray:6 4;pointer-events:none}.topology .topology-drag-ghost{fill:#e9f6f0;fill-opacity:.85;stroke:#328b66;stroke-width:2;pointer-events:none}.topology .link-traffic-flow{fill:none;stroke:var(--link-color);stroke-width:3;stroke-linecap:round;stroke-dasharray:18 78;pointer-events:none;transition:stroke .7s,stroke-width .7s}.topology .link-traffic-flow.traffic-hot{stroke-width:5}.topology .vm-cpu-frame{fill:#eef2f4;stroke:#7f8994;stroke-width:1;cursor:default}.vm-cpu-fill{pointer-events:none}.topology .rstp-blocked:not(.link-down) .topology-link{stroke:#c87b15;stroke-dasharray:7 5}.topology .device-port.rstp-blocked>rect{fill:#fff0c9;stroke:#b76c0b;stroke-width:2}.topology .rstp-marker{pointer-events:none}.topology .rstp-marker circle{fill:#f0af36;stroke:#8c580e;stroke-width:1}.topology .rstp-marker text{fill:#382710;font-size:10px;font-weight:800;text-anchor:middle}.topology .rstp-marker.rstp-unknown circle{fill:#e4e9ed;stroke:#7f8994}.topology .rstp-marker.rstp-converging circle{fill:#fff0c9}.rstp-legend{font-weight:400;color:#80632f}.console-font-controls{display:flex;align-items:center;gap:8px}.console-font-controls span{min-width:40px;text-align:center;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}.console-font-controls button{padding:8px 12px}.vm-disk-fill{transition:width .7s ease,fill .7s ease}@media(prefers-reduced-motion:reduce){.vm-disk-fill{transition:none}}.app-frame{min-height:100vh;padding-bottom:31px;display:flex;flex-direction:column;background:#f1f5f9}.brand-header{position:sticky;top:0;z-index:12;flex-shrink:0;min-height:76px;height:auto;padding:16px;display:flex;justify-content:flex-start;gap:12px;background:#2a9fff;border:0;color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.brand-header svg{flex-shrink:0;width:36px;height:36px}.brand-heading{font-size:20px;font-weight:700;line-height:1.3}.brand-footer{position:fixed;bottom:0;left:0;right:0;z-index:12;background:#e2e8f0;border-top:1px solid #cbd5e1;padding:6px 16px;color:#64748b;text-align:center;font-size:12px;line-height:18px}.app-frame>.shell{flex:1;min-height:calc(100vh - 107px)}.app-frame>.shell>aside{top:76px;bottom:31px;overflow-y:auto}.app-frame aside .brand{font-size:18px;line-height:1.4;letter-spacing:0}.workspace-header{height:60px;background:#fff;border-bottom:1px solid #e4eaee;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px;color:#7a8893}.workspace-header b{font-weight:400;margin:0 14px;color:#bec8cc}.app-frame>.login{flex:1;min-height:calc(100vh - 107px);display:flex;align-items:center;justify-content:center;padding:48px 24px;background:#f1f5f9}.app-frame>.login form{width:420px;max-width:100%;margin:0;padding:36px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 15px -3px #0f172a0a,0 4px 6px -4px #0f172a0a}.app-frame>.login .eyebrow{color:#0284c7}.app-frame>.login h2{font-size:26px;color:#1e293b;letter-spacing:-.5px}.app-frame>.login form p{color:#64748b;line-height:1.6;margin-bottom:28px}.app-frame>.login form .error{color:#a83b2e;margin:20px 0}.app-frame>.login input:focus{outline:2px solid #2a9fff;outline-offset:2px;border-color:#2a9fff}.app-frame>.login button{background:#2a9fff}.app-frame>.login button:hover{background:#1a8fe8}.app-frame>.login form>small{color:#64748b;line-height:1.6}.app-frame>.loading{flex:1;min-height:calc(100vh - 107px);color:#64748b}@media(max-width:1150px){.workspace-header{padding:0 24px}}@media(max-width:800px){.app-frame>.shell>aside{position:static;width:100%;overflow:visible}.workspace-header{height:55px;padding:0 18px}.brand-heading{font-size:18px}.app-frame>.login{padding:32px 18px}.app-frame>.login form{padding:28px 24px}.app-frame>.login form h2{font-size:24px}}.permission-user{padding:16px 0;border-bottom:1px solid #e2e8f0}.permission-presets,.permission-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.permission-tag{border-radius:20px;border:1px solid #cbd5e1;background:#f8fafc;color:#475569;padding:7px 12px}.permission-tag.selected{background:#dcfce7;color:#166534;border-color:#22c55e}.permission-tag:focus-visible{outline:2px solid #2a9fff;outline-offset:2px}.object-modal{width:min(960px,100%);max-height:90dvh;padding:0;overflow:auto;scrollbar-gutter:stable;background:#f6f8fa;isolation:isolate}.object-modal .modal-head{position:sticky;top:0;z-index:3;background:#fff;padding:12px 18px;border-bottom:1px solid #dfe7eb}.object-modal .modal-head h2{font-size:17px;letter-spacing:-.4px}.object-modal .modal-head button{border-radius:50%;width:32px;height:32px;padding:0;line-height:1}.editor-caption{margin:0;padding:10px 18px;color:#2d665b;font-weight:600;background:#eef5f2;border-bottom:1px solid #dce8e2}.editor-caption span{display:block;margin-top:4px;font-size:12px;color:#657b75;font-weight:400}.object-editor{padding:0 18px}.object-editor fieldset{min-width:0;background:#fff;border:1px solid #dfe7eb;border-radius:8px;padding:10px 12px;margin:12px 0}.object-editor legend{font-size:13px;color:#324e59;padding:0 8px;font-weight:650}.object-editor fieldset fieldset{background:#f8fafb;border-radius:8px;margin:8px 0;padding:8px 10px}.object-editor label{font-size:12px;font-weight:550;color:#4b5d68;margin:6px 0}.object-editor input:not([type=checkbox]),.object-editor select,.object-editor textarea{min-width:0;width:100%;border-radius:7px;background:#fff;padding:6px 8px;margin-top:4px;min-height:32px;border:1px solid #ced9df;color:#23363f;transition:border-color .15s,box-shadow .15s}.object-editor input:focus,.object-editor select:focus,.object-editor textarea:focus{outline:0;border-color:#378b75;box-shadow:0 0 0 3px #2783681a}.object-editor input[readonly]{background:#eef2f4;color:#6a7c87}.object-editor .form-grid{gap:0 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.object-editor p{font-size:12px;line-height:1.45;color:#72818b;margin:6px 0 8px}.object-editor h3{font-size:13px;color:#344c56;margin:12px 0 6px}.object-editor button{font-size:12px;padding:6px 10px;min-height:32px;border-radius:7px;white-space:normal}.object-editor button[type=button]:not(.danger):not(.chosen):not(.disk-tile){background:#edf4f1;color:#236a58;border:1px solid #d1e3db}.object-editor button:hover:not(:disabled){filter:brightness(.97)}.object-editor .danger{background:#fff6f4;border-color:#efdad5;color:#a75043}.object-editor .actions{flex-wrap:wrap}.object-editor .check{border:1px solid #e2e9ec;background:#f8fafb;padding:5px 8px;border-radius:5px;min-height:32px}.object-editor .check input{accent-color:#23765e;width:16px;height:16px;flex:none}.object-editor .info{margin:8px 0;padding:8px 10px;font-size:12px}.hdd-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid #e9eef1;margin-bottom:0;font-size:12px}.hdd-identity{overflow-wrap:anywhere;line-height:1.6;color:#3c5662}.hdd-row button{white-space:nowrap}.hdd-pending{grid-template-columns:minmax(0,1fr) auto;border:1px dashed #cbdcd5;border-radius:8px;padding:12px;color:#668077;background:#f5faf7}.object-editor-footer{position:sticky;bottom:0;z-index:2;margin:12px -18px 0;padding:10px 18px;background:#fff;border-top:1px solid #dfe7eb;box-shadow:0 -6px 20px #243c4d06}.object-editor-footer>button:first-child{padding-inline:28px}.object-editor-footer>.danger{margin-left:auto}@media(max-width:600px){.object-modal{max-height:94dvh}.object-modal .modal-head{padding:10px 12px}.editor-caption{padding:8px 12px}.object-editor{padding:0 12px}.object-editor fieldset{padding:8px 10px}.object-editor .form-grid{grid-template-columns:1fr}.hdd-row{grid-template-columns:1fr 1fr}.hdd-identity{grid-column:1/-1}.object-editor-footer{margin-inline:-12px;padding:12px;gap:8px}.object-editor-footer>.danger{margin-left:0}}.object-section-nav{display:flex;gap:6px;flex-wrap:wrap;padding:8px 18px 0}.object-section-nav button{width:auto;background:#fff;border:1px solid #dbe5e8;color:#506a74;font-size:11px;padding:5px 8px;border-radius:20px}.object-section-nav button:hover{background:#e6f2ec;color:#216a54}.object-editor fieldset{scroll-margin-top:64px}@media(max-width:600px){.object-section-nav{padding:8px 12px 0}}.object-editor label{min-width:0}.object-editor .check{display:inline-flex;margin:4px 8px 4px 0;vertical-align:middle}.object-editor .hdd-identity{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.hdd-identity strong{white-space:nowrap}.hdd-identity details{font-size:11px;min-width:0}.hdd-identity summary{cursor:pointer;color:#647b86}.hdd-identity code{display:block;overflow-wrap:anywhere;padding:4px 0;-webkit-user-select:all;user-select:all}.object-editor .disk-grid{gap:6px}.object-editor .disk-tile{padding:8px}@media(min-width:1000px){.object-editor>fieldset:first-child>.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.object-editor-footer{flex-wrap:wrap}.object-editor .hdd-row{gap:4px 8px}.object-editor .hdd-pending{grid-template-columns:minmax(0,1fr) auto}}.console-modal{padding:10px;gap:0}.console-tabs{display:flex;gap:5px;overflow-x:auto;flex:none;padding-bottom:6px;align-items:center}.console-tab{display:flex;flex:none;max-width:260px;border:1px solid #d8e0e6;border-radius:6px;overflow:hidden}.console-tab button,.console-add-tab{margin:0;border:0;border-radius:0;padding:6px 9px;font-size:12px;background:#f0f4f7;color:#26374a;white-space:nowrap;width:auto}.console-tab button[role=tab]{overflow:hidden;text-overflow:ellipsis}.console-tab button[aria-selected=true]{background:#dceeff;color:#145da0;font-weight:600}.console-tab button:hover,.console-add-tab:hover{background:#dceeff}.console-modal .modal-head{padding:3px 0 6px;margin:0;gap:8px;align-items:center}.console-modal .modal-head h2{font-size:14px;margin:0}.console-modal .modal-head .actions{gap:5px;margin:0}.console-modal .modal-head button{padding:4px 9px;min-height:28px;font-size:14px;margin:0}.console-modal>p{font-size:12px;margin:4px 0 6px}.console-font-controls{gap:4px}.console-modal .console-font-controls span{font-size:11px;min-width:32px}@media(max-width:600px){.console-modal{padding:8px}.console-modal .modal-head{flex-wrap:wrap}.console-tab{max-width:210px}}.console-overlay{overflow:clip}.console-modal{overflow:clip;flex-shrink:0;max-width:100%}.notification-stack{position:fixed;z-index:1200;top:90px;right:20px;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 180px);overflow:auto;display:flex;flex-direction:column;gap:10px;pointer-events:none;padding:4px}.notification{display:flex;align-items:flex-start;gap:12px;flex-shrink:0;background:#fff;border:1px solid #cbdadf;border-left:4px solid #2784bd;border-radius:14px;padding:16px;box-shadow:0 8px 28px #152b4030;color:#243c4d;font-size:13px;line-height:1.5;overflow-wrap:anywhere;pointer-events:auto}.notification>div{flex:1;min-width:0}.notification-error{background:#fff5f3;border-left-color:#c34f3c;color:#963d30}.notification-success{background:#f0faf4;border-left-color:#288760;color:#24694e}.notification .notification-close{flex:none;background:transparent;color:inherit;padding:0 3px;font-size:20px;line-height:1}.notification p{margin:0 0 8px}.notification p:last-child{margin-bottom:0}.notification button{margin-top:6px}.notification .notification-close{margin-top:0}.notification ol{padding-left:20px;margin-bottom:0}@media(max-width:600px){.notification-stack{top:84px;right:12px}}.tmux-console .actions{flex-wrap:wrap}.tmux-console input{width:180px}.tmux-screen{height:60vh;min-height:240px;overflow:auto;background:#111}.tmux-pane{padding:8px;width:max-content;min-width:100%}.tmux-pane[hidden],.console-screen[hidden]{display:none}.tmux-console .console-tabs button[aria-pressed=true]{background:#dcefff;color:#124d78}.console-overlay:has(.console-terminal){padding:12px 12px 56px}.console-overlay .console-terminal:not(:fullscreen){width:min(1600px,100%);height:calc(100dvh - 68px);max-height:calc(100dvh - 68px);padding:6px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:4px 8px;border-radius:10px}.console-terminal>.console-tabs{grid-column:1;grid-row:1;padding:0;min-width:0}.console-terminal>.modal-head{grid-column:2;grid-row:1;border:0;padding:0;margin:0}.console-terminal>.modal-head h2{display:none}.console-terminal>.modal-head .actions{flex-wrap:nowrap}.console-terminal>.console-screen,.console-terminal>.tmux-console,.console-terminal>.file-browser{grid-column:1/-1;grid-row:2;min-height:0;height:auto}.console-terminal>p{position:absolute;bottom:100%;left:8px;background:#fff;border-radius:4px;padding:2px 6px}.console-terminal .console-tab button,.console-terminal .console-add-tab{padding:4px 7px;min-height:26px}.console-terminal .modal-head button{padding:2px 7px;min-height:26px;font-size:13px}.tmux-console{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.tmux-toolbar{display:flex;align-items:center;gap:8px;min-height:30px;flex:none;background:#f3f6f9;border:1px solid #e2e8ef;border-radius:6px 6px 0 0;padding:2px 6px}.tmux-session,.tmux-tools{display:flex;align-items:center;gap:3px;flex:none;margin:0}.tmux-session-name{font-size:11px;color:#607081;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tmux-session-name i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2b9b7c;margin-right:5px}.tmux-console .tmux-session input{width:130px;height:26px;padding:3px 6px;margin:0;font-size:12px}.tmux-tabs{display:flex;align-items:center;gap:3px;overflow-x:auto;min-width:0;flex:1;margin:0;flex-wrap:nowrap}.tmux-toolbar button{width:auto;flex:none;margin:0;padding:3px 8px;min-height:26px;border:0;border-radius:4px;background:transparent;color:#526477;font-size:12px;white-space:nowrap}.tmux-toolbar button:hover{background:#e3eaf2;color:#244660}.tmux-toolbar button[aria-pressed=true]{background:#fff;color:#186193;box-shadow:0 1px 3px #152a3d20}.tmux-tabs small{font-size:10px;opacity:.5;margin-left:6px}.tmux-tools button,.tmux-session button{font-size:17px;line-height:20px;padding:2px 7px}.tmux-status{flex:none;font-size:12px;margin:0;padding:5px 8px;color:#80612c;background:#fff6e7}.tmux-status-quiet{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0}.tmux-screen{flex:1;min-height:0;height:auto;overflow:auto;border-radius:0 0 5px 5px;background:#111}.tmux-pane{padding:4px;width:max-content;min-width:100%;box-sizing:border-box}@media(max-width:600px){.console-overlay:has(.console-terminal){padding:4px 4px 50px}.console-overlay .console-terminal:not(:fullscreen){height:calc(100dvh - 54px);max-height:calc(100dvh - 54px);grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);gap:3px}.console-terminal>.modal-head{grid-column:1;grid-row:2;justify-content:flex-end}.console-terminal>.console-screen,.console-terminal>.tmux-console,.console-terminal>.file-browser{grid-row:3}.tmux-toolbar{gap:4px}.tmux-session-name{max-width:85px}.tmux-tabs small{display:none}.tmux-toolbar button{padding:3px 5px}}.console-terminal{position:relative}.console-terminal>p{position:absolute;inset:35px 8px auto;z-index:2;margin:0;padding:4px 8px;font-size:12px;background:#fff6e7}.console-terminal>p.console-connected{width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0}.console-overlay .console-terminal:not(:fullscreen){row-gap:0}.content:has(>.lab-workspace){max-width:none;padding:20px 28px}.lab-workspace>.title{align-items:flex-start;gap:16px;margin:4px 0 10px}.lab-workspace>.title>div:first-child{min-width:0}.lab-workspace>.title h1{font-size:23px;line-height:1.2;margin:0 0 5px;overflow-wrap:anywhere}.lab-workspace>.title .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:5px}.lab-workspace>.title p{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.lab-actions{position:relative;flex-shrink:0}.lab-actions>summary{list-style:none;cursor:pointer;padding:8px 12px;border:1px solid #d8e0e5;background:#fff;border-radius:6px;font-size:12px;font-weight:600}.lab-actions>summary::-webkit-details-marker{display:none}.lab-actions>summary:after{content:" ▾";color:#7d8d96}.lab-actions>summary:focus-visible,.lab-help>summary:focus-visible{outline:2px solid #247561;outline-offset:3px}.lab-actions>.actions{position:absolute;right:0;top:calc(100% + 6px);width:230px;z-index:10;display:flex;flex-direction:column;align-items:stretch;gap:5px;background:#fff;padding:8px;border:1px solid #d8e0e5;border-radius:8px;box-shadow:0 8px 24px #182d4020}.lab-actions>.actions>.configuration-transfer>.actions{display:flex;flex-direction:column;align-items:stretch;gap:5px}.lab-actions>.actions>button,.lab-actions>.actions>.configuration-transfer>.actions>button{padding:8px 10px;font-size:12px;text-align:left}.lab-help{font-size:12px;color:#6d818b;margin:0 0 10px}.lab-help>summary{cursor:pointer;width:fit-content;padding:3px 0}.lab-help>.info{margin:6px 0;padding:10px 12px;font-size:12px}.lab-help>p{margin:6px 0;font-size:12px}.lab-workspace>.runtime-panel{border:0;padding:0;margin:0}.lab-workspace>.runtime-panel:has(>button){margin:8px 0}.lab-workspace>.tabs{margin:10px 0 8px;gap:22px}.lab-workspace>.tabs button{padding:9px 0;font-size:12px}.lab-workspace>.toolbar{margin:8px 0;gap:10px}.lab-workspace>.toolbar>.actions{gap:6px;flex-wrap:wrap}.lab-workspace>.toolbar button,.lab-workspace .topology-display>button{padding:7px 10px;font-size:12px;border-radius:6px}.lab-workspace .topology-display-toolbar{margin:8px 0;font-size:12px}@media(max-width:800px){.content:has(>.lab-workspace){padding:16px}.lab-workspace>.title{flex-wrap:nowrap}.lab-workspace>.toolbar{flex-direction:row;flex-wrap:wrap;align-items:center}.lab-workspace>.tabs{gap:18px}.lab-actions>.actions{width:min(230px,calc(100vw - 32px))}}.resource-view{display:flex;gap:4px;padding:4px;background:#edf1f6;border-radius:9px}.resource-view button{padding:6px 12px;background:transparent;color:#526277;border:0}.resource-view button[aria-pressed=true]{background:#fff;color:#1571be;box-shadow:0 1px 5px #21375215}.resource-map{display:grid;gap:12px}.resource-map-caption{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:#687b90}.resource-map-key{display:flex;align-items:center;gap:6px}.resource-map-key i{width:12px;height:12px;border:1px solid #cdd9e6;background:#edf3f8;border-radius:3px}.resource-host{background:#fff;border:1px solid #dde5ed;border-radius:12px;overflow:hidden;min-width:0}.resource-host>header{display:flex;gap:14px;align-items:center;padding:10px 14px;background:#f6f9fc;border-bottom:1px solid #e6edf3;flex-wrap:wrap}.resource-host h2{font-size:15px;margin:0}.resource-host>header>span{font-size:12px;color:#52677e}.resource-host>header>small{margin-left:auto;font-size:11px;color:#76869a}.resource-numas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:12px 14px 8px}.resource-numa{min-width:0}.resource-numa-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:7px;color:#65768b}.resource-numa-title>b{font-size:12px;color:#334a62;white-space:nowrap}.resource-core-grid{display:flex;gap:1px;margin-bottom:6px}.resource-core-grid>.resource-core{flex:1;border-radius:0;height:25px}.resource-map button{font-family:inherit;box-shadow:none}.resource-map .resource-core,.resource-map .resource-disk{padding:0;height:23px;min-width:0;font-size:9px;border-radius:4px;border:1px solid #cdd9e6;font-variant-numeric:tabular-nums}.resource-map .owned{background:var(--vm-color);color:#fff;border-color:transparent;transition:opacity .12s,filter .12s,box-shadow .12s}.resource-map .free{background:#edf3f8;color:#73869b}.resource-map .unavailable,.resource-map-key .unavailable{background:repeating-linear-gradient(135deg,#e5e9ee 0 3px,#f2f4f7 3px 6px);color:#8b96a4}.resource-map .dimmed{opacity:.25;filter:saturate(.35)}.resource-map .highlighted{opacity:1;filter:brightness(1.1);box-shadow:0 0 0 2px #223d58;position:relative;z-index:1}.resource-map button:focus-visible{outline:2px solid #162f49;outline-offset:2px}.resource-map .conflict,.resource-map .missing{border:2px dashed #b52c35}.resource-memory{display:flex;height:25px;border-radius:5px;background:#edf3f8;gap:1px;margin-top:7px}.resource-map .resource-memory-segment{padding:0;border:0;border-radius:0;min-width:0;overflow:hidden;white-space:nowrap;font-size:10px;flex-shrink:0}.resource-memory>span{min-width:0;overflow:hidden;text-align:center;line-height:25px;font-size:10px;white-space:nowrap}.resource-node-foot{display:flex;justify-content:space-between;gap:6px;margin-top:5px;font-size:10px;color:#7a899a}.resource-hdds{display:flex;align-items:center;gap:10px;padding:6px 14px 10px}.resource-hdd-label{display:flex;flex-direction:column;min-width:34px;font-size:11px;color:#52677e}.resource-hdd-label small{font-size:10px}.resource-disk-grid{display:flex;gap:1px;flex:1;min-width:0}.resource-disk-grid>.resource-disk{flex:1;border-radius:0;height:25px;border-bottom-width:1px}.resource-map .resource-disk{height:28px;border-radius:3px 3px 6px 6px;border-bottom:3px solid #0002}.resource-vms{display:flex;flex-wrap:wrap;gap:4px;padding:0 14px 8px}.resource-map .resource-vm{display:flex;align-items:center;gap:5px;padding:3px 6px;border-radius:5px;background:transparent;color:#3f536a;border:1px solid #e3eaf1;font-size:10px;max-width:100%;overflow-wrap:anywhere;text-align:left}.resource-vm i{display:block;width:7px;height:7px;border-radius:2px;background:var(--vm-color);flex-shrink:0}.resource-vm small{font-size:9px;color:#8290a1;white-space:nowrap}.resource-selection{min-height:30px;padding:6px 14px;border-top:1px solid #edf1f5;font-size:11px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#7a899a;background:#fcfdfe}.resource-map-warning{color:#9b6514;background:#fff8e9;font-size:11px;padding:6px 14px}.resource-numa .resource-map-warning{display:block;padding:4px}@media(max-width:900px){.resource-numas{grid-template-columns:1fr}.resource-numa-title{flex-wrap:wrap}.resource-host>header{gap:6px 12px}.resource-vm small{display:none}.resource-node-foot{flex-wrap:wrap}.resource-hdds{align-items:flex-start}.resource-map-caption{font-size:11px}}@media(prefers-reduced-motion:reduce){.resource-map .owned{transition:none}}.resource-host>header{height:auto;min-height:0;box-shadow:none;color:#334a62}.resource-host>header h2{color:#334a62}@media(max-width:600px){.resource-numa-title>span{font-size:10px}}.migration-modal{width:min(960px,100%)}.migration-modal input[type=radio]{display:inline-block;width:16px;margin:0 8px 0 0}.migration-modal td{vertical-align:top}.migration-modal td small{display:block}.migration-modal progress{width:min(300px,100%)}@media(min-width:900px){.object-editor .guest-interface-fields{grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr) minmax(0,1fr);align-items:end}.object-editor .guest-interface-vlan,.object-editor .guest-interface-bond{grid-template-columns:minmax(100px,.65fr) minmax(120px,.8fr) minmax(0,1.35fr) minmax(0,1fr)}.object-editor .guest-interface-members{grid-column:1/-1;grid-row:2}.object-editor .guest-interface-members .core-grid{grid-template-columns:repeat(auto-fill,minmax(65px,1fr));margin-top:4px}}.object-editor .compact-record-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 32px;align-items:end;gap:0 10px}.object-editor .backend-record-row{grid-template-columns:minmax(0,1fr) minmax(85px,120px) 32px}.object-editor .remove-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:6px;flex:none}.object-editor .compact-record-row>.remove-button{margin-bottom:6px}@media(max-width:600px){.object-editor .dns-record-row{grid-template-columns:minmax(0,1fr) 32px}.object-editor .dns-record-row>label{grid-column:1}.object-editor .dns-record-row>.remove-button{grid-column:2;grid-row:2}.object-editor .backend-record-row{grid-template-columns:minmax(0,1fr) 72px 32px;gap:0 6px}}.object-editor .hdd-identity>.hdd-serial{display:inline;padding:0;font-size:12px;color:#314e5a;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.file-browser{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1;color:#29333d;background:#fff;overflow:hidden;border:1px solid #e0e5e9;border-radius:6px;font-size:13px}.file-toolbar{display:flex;align-items:center;gap:4px;padding:8px;border-bottom:1px solid #e5e9ed;background:#f8fafb;flex-shrink:0}.file-browser .file-icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:0;border:0;background:transparent;color:#64717d;border-radius:4px;flex-shrink:0}.file-browser .file-icon-button:hover{background:#e8edf1;color:#253340}.file-browser .file-remove:hover{color:#af3434;background:#faeded}.file-path{display:flex;align-items:center;gap:6px;flex:1;min-width:80px;height:30px;margin:0 6px;padding:0 6px 0 9px;background:#fff;border:1px solid #dce2e7;border-radius:4px;color:#84909a}.file-path input{min-width:0;width:100%;height:28px;border:0;padding:0;margin:0;border-radius:0;background:transparent;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;color:#34414d;outline-offset:0}.file-path:focus-within{border-color:#7e98ac;box-shadow:0 0 0 1px #7e98ac}.file-path input:focus{outline:none}.file-toolbar-actions{display:flex;align-items:center;gap:5px}.file-toolbar-actions input[hidden]{display:none}.file-browser .file-tool-button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px;border:1px solid #dce2e7;border-radius:4px;background:#fff;color:#455361;font-size:12px;font-weight:500;white-space:nowrap}.file-browser .file-tool-button:hover{background:#edf1f4;border-color:#c3ced7}.file-list{overflow:auto;min-height:100px;flex:1}.file-list table{width:100%;border-collapse:collapse;font-size:12px}.file-list th{position:sticky;top:0;z-index:1;background:#fff;border-bottom:1px solid #e5e9ed;color:#86919a;font-size:10px;font-weight:500;letter-spacing:.03em;text-align:left;padding:8px 12px;text-transform:none;white-space:nowrap}.file-list td{height:34px;padding:2px 12px;border-bottom:1px solid #f0f2f4;vertical-align:middle;white-space:nowrap}.file-list tbody tr:hover{background:#f7f9fb}.file-list .file-name{width:100%;max-width:0}.file-name-button,.file-name-text{display:flex;align-items:center;gap:9px;min-width:0;width:100%;color:#34414d}.file-browser .file-name-button{padding:4px 0;background:transparent;border:0;border-radius:0;font-size:12px;font-weight:400;text-align:left}.file-name-button:hover span{text-decoration:underline}.file-name svg{flex-shrink:0;color:#8b99a6}.file-name span span,.file-name-button span{overflow:hidden;text-overflow:ellipsis}.file-size{font-variant-numeric:tabular-nums;color:#71808b}.file-mode{color:#8a96a0;font-size:11px}.file-date{font-variant-numeric:tabular-nums;color:#8a96a0;font-size:11px}.file-row-actions{display:flex;justify-content:flex-end;gap:3px;min-width:59px}.file-list td:last-child{padding-right:8px}.file-empty{padding:48px 16px;text-align:center;color:#95a0a9;font-size:12px}.file-error{background:#fff5f4;color:#a0433b;font-size:12px;padding:8px 12px;border-bottom:1px solid #f0dedb}.file-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:29px;padding:5px 12px;border-top:1px solid #e5e9ed;background:#fafbfc;color:#8a96a0;font-size:10px;flex-shrink:0}.file-status>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-status>span:last-child{white-space:nowrap}.file-progress{display:flex;align-items:center;gap:8px}.file-progress progress{width:90px;height:4px;accent-color:#637f94}.file-browser .file-progress button{padding:0;background:transparent;color:#64717d;font-size:10px;font-weight:400}.file-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.file-mode,.file-date{display:none}.file-toolbar{flex-wrap:wrap;padding:6px;gap:3px}.file-path{margin-right:0}.file-toolbar-actions{margin-left:auto}.file-list td,.file-list th{padding-left:9px;padding-right:9px}.file-status{padding:5px 9px}.file-toolbar-actions .file-tool-button{height:27px}.file-progress progress{width:45px}}.console-terminal>.file-editor{grid-column:1/-1;grid-row:2;min-height:0}.file-editor{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#282c34;color:#abb2bf;border:1px solid #343b48;border-radius:6px}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 16px;background:#21252b;border-bottom:1px solid #343b48;flex-shrink:0}.editor-file{display:flex;align-items:center;gap:12px;min-width:0}.editor-file>div{min-width:0}.editor-file strong,.editor-file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-file strong{font-size:13px;font-weight:500;color:#e5e9f0}.editor-file small{font-family:ui-monospace,monospace;font-size:10px;color:#8994a6;margin-top:4px}.editor-file-icon{color:#7aa2f7;font-family:monospace;font-size:20px;white-space:nowrap}.editor-dirty{color:#e5c07b}.editor-actions{display:flex;gap:8px;flex-shrink:0}.editor-actions button{background:#303743;color:#bec8d8;border:1px solid #424c5e;padding:7px 11px;font-size:12px;font-weight:500}.editor-actions .editor-save{background:#4775c6;color:#fff;border-color:#5684d5}.editor-actions button:disabled{opacity:.45}.editor-actions kbd{margin-left:10px;font-size:10px;opacity:.65}.editor-code{flex:1;min-height:0;overflow:hidden}.editor-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#21252b;padding:7px 14px;border-top:1px solid #343b48;font-size:10px;color:#98a4b7}.editor-error{padding:9px 14px;color:#ffd0c8;background:#512f34;font-size:12px;overflow-wrap:anywhere}.file-editor .cm-search input{color:#ddd;background:#282c34}.file-editor .cm-search button{font-size:11px}@media(max-width:600px){.console-terminal>.file-editor{grid-row:3}.editor-toolbar{padding:9px;gap:8px;flex-wrap:wrap}.editor-file{width:100%}.editor-actions{margin-left:auto}.editor-actions kbd{display:none}.editor-status{padding:7px 9px;gap:5px}.editor-file small{max-width:calc(100vw - 80px)}}.editor-view-switch{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#242830;border-bottom:1px solid #343b48;flex-shrink:0}.editor-view-switch button{padding:5px 11px;border:1px solid transparent;border-radius:5px;background:transparent;color:#a8b3c5;font-size:11px;font-weight:500}.editor-view-switch button[aria-pressed=true]{background:#35425a;border-color:#48628d;color:#e3edff}.editor-view-switch>span{margin-left:auto;font-size:10px;color:#8994a6}.editor-workspace{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.editor-workspace-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.editor-workspace>.editor-code[hidden]{display:none}.editor-workspace-split>.markdown-preview{border-left:1px solid #3b4350}.markdown-preview{min-width:0;min-height:0;overflow:auto;padding:24px 32px;background:#252a32;color:#d0d7e2;font-size:14px;line-height:1.7;overflow-wrap:anywhere;outline-offset:-3px}.markdown-preview>:first-child{margin-top:0}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4{color:#edf2fa;line-height:1.3;margin:1.4em 0 .6em;font-weight:600}.markdown-preview h1{font-size:28px;padding-bottom:12px;border-bottom:1px solid #3c4554}.markdown-preview h2{font-size:22px}.markdown-preview h3{font-size:18px}.markdown-preview p{margin:.8em 0}.markdown-preview a{color:#8fb8ff;text-decoration:underline}.markdown-preview blockquote{margin:16px 0;padding:2px 16px;border-left:3px solid #6489c6;color:#aab9ce;background:#2a313d}.markdown-preview pre{padding:15px;border:1px solid #394251;border-radius:7px;background:#1c2129;overflow:auto;line-height:1.5}.markdown-preview code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:#343c49;border-radius:3px;padding:2px 5px}.markdown-preview pre code{background:none;padding:0;white-space:pre;overflow-wrap:normal}.markdown-preview ul,.markdown-preview ol{padding-left:25px}.markdown-preview li{margin:4px 0}.markdown-preview .task-list-item{list-style:none}.markdown-preview input[type=checkbox]{width:auto;margin-right:8px;accent-color:#7aa2f7}.markdown-preview table{display:block;width:max-content;max-width:100%;overflow:auto;border-collapse:collapse;margin:18px 0;font-size:13px}.markdown-preview th,.markdown-preview td{border:1px solid #414b5c;padding:8px 12px;text-align:left}.markdown-preview th{background:#303846;color:#edf2fa}.markdown-preview tr:nth-child(2n){background:#292f39}.markdown-preview hr{border:0;border-top:1px solid #414b5c;margin:24px 0}.markdown-preview .markdown-image-link,.markdown-preview .markdown-empty{font-size:12px;color:#95a5ba}@media(max-width:600px){.editor-view-switch{padding:6px;gap:2px}.editor-view-switch>span{display:none}.editor-workspace-split{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.editor-workspace-split>.markdown-preview{border-left:0;border-top:1px solid #3b4350}.markdown-preview{padding:18px;font-size:13px}.markdown-preview h1{font-size:23px}}.markdown-preview p{color:inherit}.markdown-preview input[type=checkbox]{display:inline-block;vertical-align:middle}.markdown-preview pre code{color:#cbd7e9}.file-browser{position:relative}.file-drop-overlay{position:absolute;inset:5px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;pointer-events:none;border:1px dashed #68869d;border-radius:5px;background:#f7fafcf5;color:#455d70}.file-drop-overlay strong{font-size:13px;font-weight:500}.file-drop-overlay span{max-width:100%;overflow-wrap:anywhere;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;color:#758593}.console-heading{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap;min-width:0}.console-heading h2{overflow-wrap:anywhere}.console-heading .console-status{font-size:11px;font-weight:400;line-height:1.4;color:var(--ui-muted,#647481);overflow-wrap:anywhere}.console-modal:not(.console-terminal)>.modal-head{flex-wrap:wrap}.console-modal:not(.console-terminal)>.modal-head>.actions{margin-left:auto}.console-terminal .console-heading{display:none}.vnc-paste{padding:12px;border-bottom:1px solid var(--ui-border);overflow:auto}.vnc-paste textarea{display:block;width:100%;box-sizing:border-box;font-family:monospace;white-space:pre;tab-size:4}.vnc-paste p{margin:8px 0;color:var(--ui-muted)}:root{--ui-bg: #f5f7f9;--ui-surface: #fff;--ui-subtle: #f0f3f6;--ui-border: #dce3e9;--ui-text: #293744;--ui-muted: #647481;--ui-accent: #236b98;--ui-accent-hover: #195577;--ui-selected: #eaf2f8;--ui-danger: #a43e39;--ui-radius: 6px;--ui-control: 32px;--ui-shadow: 0 6px 24px #172c421a;font-size:13px;color:var(--ui-text);background:var(--ui-bg)}button{padding:7px 12px;border-radius:var(--ui-radius);font-size:12px;font-weight:500;line-height:18px;background:var(--ui-accent)}button:hover{background:var(--ui-accent-hover)}button:disabled{cursor:not-allowed}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}h1,.lab-workspace h1{font-size:22px;font-weight:600;letter-spacing:-.45px;margin-bottom:6px}h2{font-size:15px;font-weight:600}h3{font-size:13px;font-weight:600}p{color:var(--ui-muted);line-height:1.5}small{color:var(--ui-muted)}label{margin:10px 0;font-size:12px;font-weight:500;color:var(--ui-muted);min-width:0}input,select,textarea{padding:6px 9px;margin-top:4px;border-color:var(--ui-border);border-radius:var(--ui-radius);color:var(--ui-text);line-height:18px}input:not([type=checkbox]):not([type=radio]),select{min-height:var(--ui-control)}input[type=checkbox],input[type=radio]{accent-color:var(--ui-accent)}fieldset{min-width:0;padding:12px;margin:16px 0;border-color:var(--ui-border);border-radius:var(--ui-radius)}legend{color:var(--ui-muted);font-weight:600}.secondary{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}.secondary:hover{background:var(--ui-subtle)}.danger{background:#fff4f3;color:var(--ui-danger);border-color:#eed5d2}.danger:hover{background:#fae8e6;color:#8e302c}.text-button{color:var(--ui-accent)}.text-button:hover{color:var(--ui-accent-hover)}.actions{gap:8px;flex-wrap:wrap}.eyebrow{margin-bottom:6px;letter-spacing:1px;font-weight:600}.app-frame{background:var(--ui-bg)}.brand-header{min-height:56px;padding:10px 20px;background:#fff;color:var(--ui-text);border-bottom:1px solid var(--ui-border);box-shadow:none}.brand-header svg{width:30px;height:30px;color:var(--ui-accent)}.brand-heading{font-size:16px;font-weight:600}.brand-footer{background:var(--ui-subtle);font-size:11px}.app-frame>.shell{min-height:calc(100vh - 87px)}.app-frame>.shell>aside{top:56px;width:208px;padding:16px 12px;background:#202c36}main{margin-left:208px;width:calc(100% - 208px);min-width:0}aside nav{margin-top:0}aside nav button{padding:8px 10px;margin:2px 0;gap:10px;font-size:12px;color:#b9c5cf}aside nav button.active{background:#334957;color:#ecf5fc}aside nav button:hover{background:#2d3d49}aside nav b{background:#405969;color:#e0edf5}aside nav span{width:20px;text-align:center;font-size:16px}.aside-bottom{padding-top:12px;gap:8px}.aside-bottom>div{min-width:0;overflow-wrap:anywhere}.avatar{flex-shrink:0}.content{padding:24px}.title,.lab-workspace>.title{margin-bottom:20px;gap:12px}.title>div{min-width:0}.title h1{overflow-wrap:anywhere}.summary{gap:12px;margin-bottom:24px}.stat,.host-card,.lab-card,.config-card,.inline-form{border-color:var(--ui-border);border-radius:var(--ui-radius);padding:16px}.stat strong{font-size:22px;margin:10px 0 6px}.stat span,.host-card>small{color:var(--ui-muted)}.host-grid,.lab-grid{gap:12px}.host-heading{margin-bottom:18px}.host-facts{gap:20px;padding-top:12px;margin-bottom:12px}.section-head{margin-bottom:12px}.lab-card h2{font-size:15px}.lab-symbol{font-size:24px;margin-bottom:14px;color:var(--ui-accent)}.lab-card .badge{float:none;display:inline-block;margin:0 0 8px}.lab-card p{min-height:0}.lab-card:hover{background:#f8fafc;border-color:#9bb4c7}.lab-card footer{padding-top:12px;gap:8px;flex-wrap:wrap}.config-card{margin:12px 0}.empty{padding:40px 16px;border-radius:var(--ui-radius)}.empty>div{font-size:28px;margin-bottom:12px}.empty h2{font-size:15px}.info,.lab-workspace>.info{padding:10px 12px;margin:12px 0;line-height:1.5;color:var(--ui-muted);background:var(--ui-subtle);border-color:var(--ui-border)}.table-wrap{border-color:var(--ui-border);border-radius:var(--ui-radius)}th{padding:9px 12px;font-size:11px;color:var(--ui-muted);background:#f8fafb}td{padding:9px 12px;font-variant-numeric:tabular-nums}tbody tr:hover{background:#f8fafb}.tabs,.lab-workspace>.tabs{margin:16px 0;gap:16px;overflow-x:auto}.tabs button,.lab-workspace>.tabs button{padding:8px 0;white-space:nowrap;color:var(--ui-muted)}.tabs button.active{color:var(--ui-accent);border-color:var(--ui-accent)}.toolbar{margin:12px 0;gap:12px;flex-wrap:wrap}.modal{padding:20px;border-radius:8px;box-shadow:var(--ui-shadow)}.modal-head{padding-bottom:12px;gap:12px}.modal-head h2,.object-modal .modal-head h2{font-size:15px;letter-spacing:0}.modal-head>button{width:28px;height:28px;padding:0;flex-shrink:0;font-size:20px;line-height:28px;border-radius:var(--ui-radius)}.object-modal{padding:0}.object-modal .modal-head>button{width:28px;height:28px;border-radius:var(--ui-radius)}.object-editor fieldset,.object-editor fieldset fieldset{border-radius:var(--ui-radius)}.object-editor legend{font-size:12px;font-weight:600}.object-editor input:not([type=checkbox]),.object-editor select,.object-editor textarea,.object-editor button{border-radius:var(--ui-radius)}.object-editor input:focus,.object-editor select:focus,.object-editor textarea:focus{border-color:var(--ui-accent);box-shadow:0 0 0 2px #236b9820}.object-editor button[type=button]:not(.danger):not(.chosen):not(.disk-tile){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}.editor-caption{background:var(--ui-subtle);color:var(--ui-text);border-color:var(--ui-border);font-weight:500}.editor-caption span{color:var(--ui-muted)}.object-section-nav{margin:0}.object-section-nav button,.permission-tag{border-radius:var(--ui-radius);font-weight:400}.object-section-nav button:hover{background:var(--ui-selected);color:var(--ui-accent)}.permission-tag{padding:6px 9px;font-size:12px}.permission-tag.selected{background:var(--ui-selected);color:var(--ui-accent);border-color:#a8c5d9}.notification{padding:12px;gap:8px;border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);font-size:12px}.notification-stack{top:68px}.runtime-panel{border-radius:var(--ui-radius);padding:12px}.vm-power-menu{border-color:var(--ui-border);box-shadow:var(--ui-shadow)}.vm-power-menu button:hover,.vm-power-menu button:focus{background:var(--ui-subtle)}.console-tab button[aria-selected=true]{background:var(--ui-selected);color:var(--ui-accent)}.console-modal{padding:10px}.file-path input{min-height:0}.app-frame>.login{background:var(--ui-bg);min-height:calc(100vh - 87px)}.app-frame>.login form{width:380px;padding:24px;border-radius:8px;border-color:var(--ui-border);box-shadow:var(--ui-shadow)}.app-frame>.login h2{font-size:20px;letter-spacing:-.3px}.app-frame>.login button{background:var(--ui-accent)}.app-frame>.login button:hover{background:var(--ui-accent-hover)}.app-frame>.login input:focus{outline-color:var(--ui-accent);border-color:var(--ui-accent)}.lab-actions>summary{border-radius:var(--ui-radius);border-color:var(--ui-border);color:var(--ui-text);font-size:12px;padding:7px 10px}.lab-actions>.actions{border-color:var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}.lab-actions>.actions,.lab-actions>.actions>.configuration-transfer>.actions{gap:2px}.lab-actions>.actions>button,.lab-actions>.actions>.configuration-transfer>.actions>button{padding:6px 8px;border:0;background:transparent;color:var(--ui-text);font-size:12px;line-height:16px;font-weight:400;border-radius:4px}.lab-actions>.actions>button:hover,.lab-actions>.actions>.configuration-transfer>.actions>button:hover{background:var(--ui-subtle)}.lab-actions>.actions>button.danger{color:var(--ui-danger)}.resource-view button[aria-pressed=true]{background:var(--ui-selected);color:var(--ui-accent);border-color:#a8c5d9}.topology-display-options{border-color:var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}.lab-actions>summary:focus-visible,.lab-help>summary:focus-visible{outline-color:var(--ui-accent)}@media(max-width:800px){.app-frame>.shell>aside{position:static;width:100%;padding:10px 12px}aside nav{gap:4px}aside nav button{margin:0;padding:7px 9px}main{margin:0;width:100%}.content{padding:16px 12px}.brand-header{padding:10px 12px}.brand-heading{font-size:14px}.title,.lab-workspace>.title{margin-bottom:16px}h1,.lab-workspace h1{font-size:20px}.summary{gap:8px}.stat{padding:12px;min-width:0}.stat strong{font-size:20px}.overlay{padding:12px 8px}.modal:not(.object-modal):not(.console-modal){padding:16px}.notification-stack{top:68px}}@media(prefers-reduced-motion:reduce){button{transition:none}}.profile-sections{display:grid;gap:12px;max-width:960px}.profile-sections .config-card{min-width:0;margin:0;overflow-wrap:anywhere}.profile-sections .table-wrap{margin-top:16px}.profile-sections table{min-width:600px}.profile-sections table button{white-space:nowrap}.profile-sections input[type=number]{max-width:160px}
