:root{color-scheme:dark;font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif;background:#0b0e14;color:#e5e9f0;font-size:14px}*{box-sizing:border-box}body{margin:0}header{height:72px;border-bottom:1px solid #252b38;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:#11151e}.brand{display:flex;gap:12px;align-items:center;font-size:19px;letter-spacing:-.4px}.brand>b{background:#a4e8b2;color:#0b2716;padding:9px;border-radius:10px;font-size:18px}.brand small{font-size:10px;color:#8996ac;letter-spacing:1.5px;margin-left:8px}main{padding:28px 32px;max-width:1800px;margin:auto}h1{font-size:27px;letter-spacing:-1px;margin:0 0 10px}h2{font-size:16px;margin:0 0 10px}.panel{border:1px solid #2a3140;border-radius:14px;padding:22px;background:#141923}.login{max-width:460px;margin:6vh auto;padding:35px}.eyebrow{font-size:10px;letter-spacing:2px;color:#a4e8b2;margin-bottom:24px}.muted{color:#9ba7bb;font-size:13px;line-height:1.7}.notice{color:#9ba7bb;font-size:12px;margin-top:24px;line-height:1.7}label{display:block;font-size:12px;color:#b7c1d0;margin-top:18px}input,select,button{font:inherit;border:1px solid #3b465a;border-radius:8px;background:#1b2230;color:#e8edf6;padding:11px 13px}input{width:100%;margin-top:7px}button{cursor:pointer;white-space:nowrap}button:hover{border-color:#a4e8b2}button:disabled{opacity:.45;cursor:default}.primary{background:#a4e8b2;color:#12321d;border-color:#a4e8b2;font-weight:700}.danger{color:#ffc0bb;border-color:#794440}form button{width:100%;margin-top:24px}.toolbar,.controls,.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar{margin-bottom:22px}.controls{justify-content:flex-start;flex-wrap:wrap}.controls input{width:220px;margin:0}#host-tools{margin-bottom:22px}#host-members{margin-bottom:0}.fleet{display:grid;grid-template-columns:240px 1fr;gap:20px}.fleet aside{align-self:start;padding:16px}.grid-toolbar{margin-bottom:16px;justify-content:flex-start}.grid-toolbar>span{margin-right:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}#empty{grid-column:1/-1;text-align:center;padding:80px 20px}.device{width:100%;text-align:left;margin-top:10px;background:#171e29;white-space:normal}.device small{display:block;color:#9ba7bb;margin-top:5px}.tile{border:1px solid #303a4d;background:#11151d;border-radius:12px;overflow:hidden}.tile.focused{grid-column:1/-1;border-color:#a4e8b2}.tile-head,.tile-foot{display:flex;gap:7px;align-items:center;padding:10px 12px}.tile-head strong{flex:1;overflow:hidden;text-overflow:ellipsis}.tile button{font-size:11px;padding:6px 8px}.tile video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:black;outline:none}.tile video:focus{box-shadow:inset 0 0 0 2px #a4e8b2}.tile.focused video{max-height:68vh}.tile-foot{font-size:11px;flex-wrap:wrap;color:#aab7cc}.tile-foot span{flex:1;min-width:140px}.tile-meta{padding:0 12px 10px;font-size:11px;color:#aab7cc;line-height:1.6}#message{position:sticky;bottom:12px;color:#f7ca90;padding:12px;background:#1c202d;border-radius:8px;min-height:0}#message:empty{display:none}[hidden]{display:none!important}#status{font-size:12px;color:#a4e8b2}@media(max-width:850px){main{padding:20px 14px}.fleet{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.grid-toolbar{flex-wrap:wrap}header{padding:0 16px}.login{margin:2vh auto;padding:25px}}
.header-tools{display:flex;align-items:center;gap:20px}.header-tools button{font-size:12px;padding:8px 12px}.welcome{max-width:860px;margin:7vh auto}.welcome>h1{font-size:34px}.start-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 20px}.start-cards article{padding:28px}.start-cards h2{font-size:23px;margin-top:25px}.start-cards p{min-height:70px;margin:15px 0 22px}.start-cards button{width:100%}.step-tag{font-size:11px;letter-spacing:1px;color:#a4e8b2}.text-button{border-color:transparent;background:transparent;margin-top:8px;font-size:12px}.server-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.server-tools h2{margin-bottom:4px}dialog{color:#e5e9f0;width:440px;max-width:95vw;border-color:#4b586f!important}dialog::backdrop{background:#03070bcc}dialog form>button{margin-top:12px}dialog select{display:block;margin-top:8px;width:100%}.form-error{color:#ffb7a3;font-size:13px;line-height:1.6}.controls>button.text-button{width:auto}@media(max-width:900px){.start-cards{grid-template-columns:1fr}.welcome{margin:20px auto}.welcome>h1{font-size:28px}.server-tools{align-items:start;flex-direction:column}}
.view-tabs,.view-tabs>div{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.view-tabs{margin:0 0 18px}.view-tabs button{font-size:12px}.view-tabs button[aria-pressed=true]{background:#a4e8b2;color:#12321d;border-color:#a4e8b2}.fleet-content{min-width:0}.grid-toolbar{flex-wrap:wrap}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th,td{padding:13px 10px;border-bottom:1px solid #2a3140;white-space:nowrap}th{color:#9ba7bb;font-weight:500}table input[type=checkbox],.member-option input{width:16px;height:16px;margin:0;accent-color:#a4e8b2}.device-open{background:transparent;border:0;padding:4px;font-size:13px}.online{color:#a4e8b2}.selection-tools{display:flex;gap:15px;align-items:center;margin-bottom:14px}.selection-tools span{color:#9ba7bb;font-size:12px}.selection-tools button{font-size:12px;padding:8px 12px}.group-members{max-height:280px;overflow:auto;margin-top:20px;border-top:1px solid #2a3140}.member-option{display:flex;gap:10px;align-items:center;margin-top:0;padding:12px;border-bottom:1px solid #2a3140;cursor:pointer}.broadcasting{background:#744420;border-color:#efae76;color:#fff0d8}.broadcast-notice{background:#432b1b;color:#ffd3a5;padding:12px;border-radius:8px}.tile:fullscreen{width:100vw;height:100vh;background:#0b0e14}.tile:fullscreen video{height:calc(100vh - 140px);max-height:none}.grid.dense{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:8px}.grid.dense .tile-head{flex-wrap:wrap}.grid.dense .tile-head strong{flex-basis:100%;font-size:12px}.grid.dense .tile-meta{font-size:10px}.grid.dense .tile-foot{padding:6px 10px}.grid.dense .tile-foot span{min-width:0}.fleet aside #devices{max-height:calc(100vh - 340px);overflow:auto}

body[data-role="client"] .start-cards{grid-template-columns:1fr;max-width:560px}body[data-role="client"] .welcome{max-width:700px}

.exchange-panel{margin-top:20px}.exchange-targets{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.exchange-targets label{display:flex;align-items:center;gap:6px}.exchange-targets input{width:auto}.exchange-panel [role="status"]>div{margin-top:10px;overflow-wrap:anywhere}
[hidden]{display:none!important}.security-dialog{max-width:760px;width:calc(100% - 48px);max-height:85vh;overflow:auto}.security-dialog label{display:block;margin:12px 0}.security-dialog input{display:block;width:100%;box-sizing:border-box}.security-dialog .otp-secret{display:block;overflow-wrap:anywhere;padding:14px;background:#101825}.security-error{color:#ffadb6}.audit-rows{max-height:200px;overflow:auto;font-size:12px}.account-rows .controls{padding:8px 0}.account-rows span{flex:1}#capture-options{align-items:center;margin-bottom:12px}#capture-options label{display:flex;gap:8px;align-items:center}#capture-options input[type=checkbox]{width:auto}

.device-access{flex-basis:100%;padding:.7rem;border:1px solid #ccd3df;border-radius:8px}
.device-access fieldset{max-height:240px;overflow:auto;display:grid;gap:.4rem}
.device-access label{display:flex;align-items:center;gap:.4rem;overflow-wrap:anywhere}
.device-access input[type=checkbox]{width:auto;flex-shrink:0}

/* Numbered monitoring desk: cells stay reserved even while offline. */
body[data-managing] header{height:38px;padding:0 12px}
body[data-managing] .brand{font-size:14px;gap:8px}
body[data-managing] .brand>b{font-size:11px;padding:4px;border-radius:4px}
body[data-managing] main{max-width:none;padding:6px}
body[data-managing] .toolbar{margin:0 0 6px;gap:10px}
body[data-managing] .toolbar>div{display:flex;align-items:center;gap:12px}
body[data-managing] .toolbar h1{font-size:14px;margin:0}
body[data-managing] button,body[data-managing] select{padding:5px 9px;border-radius:3px;font-size:12px}
body[data-managing] .server-tools{padding:6px 10px;margin-bottom:6px;border-radius:3px}
body[data-managing] .server-tools>div{display:flex;align-items:center;gap:12px}
body[data-managing] .server-tools h2{font-size:12px;margin:0}
.fleet{display:block}
.view-tabs,.view-tabs>div{gap:3px}
.view-tabs{margin:0 0 5px}
.grid-toolbar{gap:7px;margin:0 0 6px;min-height:30px;font-size:12px}
.grid-toolbar>span{margin:0}
#device-count{color:#a4e8b2}
.grid-toolbar #search{width:170px;margin:0;padding:5px 8px;border-radius:3px;font-size:12px}
.columns-label{display:flex;align-items:center;gap:5px;margin:0 0 0 auto;white-space:nowrap}
.grid-count-form,.grid-count-form label{display:flex;align-items:center;gap:6px;white-space:nowrap;margin:0}
.grid-count-form input{width:76px;margin:0;padding:5px;font-size:12px;border-radius:3px}
.grid-count-form button{width:auto;margin:0}
#jump-form{display:flex;gap:3px;margin:0}
#jump-form input{width:76px;margin:0;padding:5px;font-size:12px;border-radius:3px}
#jump-form button{width:auto;margin:0}
.number-notice{font-size:12px;color:#f7ca90;margin:6px 0}
.grid,.grid.dense{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#4a4f58;border:1px solid #4a4f58}
.grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid[data-columns="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}
.grid[data-columns="7"]{grid-template-columns:repeat(7,minmax(0,1fr))}
.grid[data-columns="8"]{grid-template-columns:repeat(8,minmax(0,1fr))}
.pc-slot{position:relative;min-width:0;aspect-ratio:16/9;background:#030405;color:#eff3fa}
.slot-label{position:absolute;left:3px;right:3px;top:3px;z-index:2;display:flex;gap:6px;align-items:center;font-size:12px;pointer-events:none}
.slot-number,.slot-name{background:#030405cf;padding:2px 3px}
.slot-number{font-size:14px;color:#fff}
.slot-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.slot-state{margin-left:auto;color:#a4e8b2;background:#030405bd;font-size:10px;padding:2px}
.group-memberships{display:flex;align-items:center;gap:4px;min-width:0}
.slot-groups{position:absolute;bottom:4px;left:4px;right:4px;z-index:4;pointer-events:none}
.group-memberships button,.group-none{font-size:11px;line-height:1.4;padding:2px 5px;border-radius:4px;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.group-memberships button{pointer-events:auto;border:1px solid #68857d;background:#16372ff2;color:#e4fff1;cursor:pointer}
.group-memberships .group-membership{display:inline-flex;align-items:center}
.group-membership-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.group-membership-number{flex-shrink:0;white-space:pre}
.group-memberships button:focus-visible{outline:2px solid #fff;outline-offset:1px}
.group-memberships .group-memberships-more{flex-shrink:0;background:#263145f2;border-color:#8293b1;color:#fff}
.group-none{background:#0b1019d9;color:#b4bfce}
.list-groups{max-width:420px;margin-top:4px}
.group-memberships-dialog{width:460px;max-width:calc(100vw - 32px);max-height:80vh;overflow:auto}
.group-memberships-dialog>p{overflow-wrap:anywhere;color:#c3d1dd}
.group-memberships-all{display:flex;align-items:stretch;flex-direction:column;gap:8px;margin:18px 0}
.group-memberships-all button{white-space:normal;text-align:left;overflow-wrap:anywhere;padding:9px 12px;font-size:13px}
.group-memberships-all .group-membership-name{overflow:visible}
.slot-body{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}
.slot-empty{color:#737b89;font-size:14px}
.pc-slot[data-device-id=""] .slot-empty{color:#373e4a}
.slot-connect{font-size:10px!important;padding:3px 6px!important}
.slot-body>.tile:not(.focused){width:100%;height:100%;border:0;border-radius:0;overflow:hidden}
.slot-body>.tile:not(.focused) video{width:100%;height:100%;max-height:none;cursor:zoom-in}
.tile:not(.focused) .tile-head,.tile:not(.focused) .tile-foot,.tile:not(.focused) .tile-meta{display:none}
.tile.focused{position:fixed;inset:6px;z-index:1000;display:flex;flex-direction:column;border-radius:4px;border:1px solid #a4e8b2;box-shadow:0 0 0 20px #080b12}
.tile.focused .tile-head{flex-wrap:nowrap;flex-shrink:0;padding:7px 10px}
.tile.focused .tile-head strong{flex-basis:auto;font-size:14px}
.tile.focused video{flex:1;min-height:0;height:0;width:100%;max-height:none;aspect-ratio:auto;cursor:default}
.tile.focused .tile-foot{padding:6px 10px;flex-shrink:0}
.tile.focused .tile-meta{padding:0 10px 4px;flex-shrink:0}
.viewer-status{display:contents}
.tile.focused .tile-head .preview-return{position:sticky;left:0;z-index:3;flex-shrink:0;background:#19362b;border-color:#a4e8b2;color:#e9fff0;font-weight:600;box-shadow:5px 0 0 #11151e}
.tile.focused.fullscreen-video{inset:0;border:0;border-radius:0;box-shadow:none}
.tile.focused.fullscreen-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.tile.focused.fullscreen-video .tile-head{position:absolute;top:0;left:0;right:0;z-index:2;background:#11151ef2}
.tile.focused .viewer-status{display:none}
.tile.focused:fullscreen{inset:0;border:0}
body.has-focused-pc{overflow:hidden}
body.has-focused-pc #message{display:none}
.pc-number-field{margin:0}
.pc-number-field input{display:block;width:120px;margin-top:5px}
#pc-number[readonly]{border-color:#a4e8b2;color:#a4e8b2}
.transfer-dialog{width:720px;max-width:95vw;max-height:90vh;overflow:auto}
.transfer-dialog .exchange-panel{border:0;margin:0;padding:12px 0}
#focus-layer:fullscreen{background:#080b12;width:100vw;height:100vh}
#focus-layer:fullscreen>.tile.focused{inset:0;border-radius:0;border:0;box-shadow:none}
.tile.focused .tile-head{overflow-x:auto;max-width:100%}
.tile.focused .tile-head strong{min-width:100px}
.focus-transition{position:fixed;z-index:1002;top:58px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:10px 14px;border:1px solid #5e7d9f;border-radius:5px;background:#101c2df2;box-shadow:0 4px 18px #0008;font-size:13px}
.focus-transition span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.focus-transition button{flex-shrink:0}
#focus-layer>.transfer-dialog{max-height:calc(100vh - 32px)}
.pc-slot.selected::after{content:'';position:absolute;inset:0;border:2px solid #a4e8b2;background:#a4e8b20b;pointer-events:none;z-index:3}
.selection-rectangle{position:fixed;border:1px solid #a4e8b2;background:#a4e8b226;z-index:1100;pointer-events:none}
#grid{user-select:none}
#grid:focus-visible{outline:2px solid #a4e8b2;outline-offset:2px}
.update-dialog{width:700px;max-width:95vw;max-height:85vh;overflow:auto}
.update-dialog>p{white-space:pre-line;line-height:1.7;overflow-wrap:anywhere}
.update-dialog>button{margin:8px 8px 8px 0}
#manager-number{display:block;width:100%;margin:8px 0}
#manager-number-field small{display:block;font-size:12px;line-height:1.5;margin-top:6px}
.server-usage-dialog{width:740px;max-width:95vw;max-height:90vh;overflow:auto}
.server-usage-dialog[open]{display:flex;flex-direction:column}
.server-usage-dialog .usage-body{overflow:auto;min-height:0}
.server-usage-dialog>h2,.server-usage-dialog>.controls{flex-shrink:0}
#cloud-account-tools{flex-wrap:wrap}
#cloud-account-tools>div{min-width:0}
#cloud-account-tools>div:not(.controls){flex:1 1 340px;flex-wrap:wrap}
#cloud-account-tools .controls{flex-shrink:0;max-width:100%}
.server-usage-dialog p,.server-usage-dialog li{line-height:1.7;overflow-wrap:anywhere}
.server-usage-dialog .usage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.usage-stats>div{border:1px solid #3b465a;padding:12px;border-radius:8px;min-width:0}
.usage-stats strong{display:block;font-size:20px;margin-top:8px;overflow-wrap:anywhere}
.server-usage-dialog .controls{margin-top:20px}
.payload-usage{border-top:1px solid #3b465a;margin-top:18px;padding-top:8px}
.payload-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}
.payload-table th,.payload-table td{text-align:left;padding:8px 4px;border-bottom:1px solid #3b465a;overflow-wrap:anywhere}
.usage-billing{color:#a4e8b2;padding:10px}
@media(max-width:500px){.server-usage-dialog .usage-stats{grid-template-columns:1fr}.usage-stats strong{font-size:18px}}
.remote-space-dialog{max-height:85vh;overflow:auto}
.video-settings-dialog{width:650px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto}
.video-settings-dialog p{line-height:1.6;overflow-wrap:anywhere}
.video-settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.video-settings-fields label{margin-top:6px}
.video-settings-fields select{display:block;width:100%;margin-top:7px}
.video-settings-dialog form button{width:auto;margin-top:0}
.video-settings-dialog .controls{position:sticky;bottom:-22px;padding:14px 0;background:#141923}
.video-settings-actual{color:#a4e8b2}.video-settings-compatibility,.video-settings-result{color:#f7ca90}
@media(max-width:500px){.video-settings-fields{grid-template-columns:1fr}.video-settings-dialog{padding:16px}.video-settings-dialog .controls{bottom:-16px}}
.remote-space-dialog p{line-height:1.6;overflow-wrap:anywhere}
.remote-space-dialog fieldset{padding:0;border:0;min-width:0}
.remote-space-dialog label{display:block;margin:12px 0}
.remote-space-dialog input{width:100%;box-sizing:border-box}
.remote-space-dialog button{margin-top:10px}
#release-devices-dialog,#released-devices-dialog{width:600px;max-height:90vh;overflow:auto}
#release-devices-dialog p,#release-devices-list li,#released-devices-dialog p,#released-devices-list span{overflow-wrap:anywhere}
.reboot-dialog{width:720px;max-width:calc(100vw - 24px);max-height:90vh;overflow:auto}
.reboot-dialog p,.reboot-results span{overflow-wrap:anywhere}
.reboot-results{padding-left:22px;max-height:40vh;overflow:auto}
.reboot-results li{padding:6px 0}.reboot-results button{margin-left:8px}
#release-devices-list li{padding:7px 0;line-height:1.5}
.fleet-slot-menu{position:fixed;z-index:1500;width:310px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;box-sizing:border-box;padding:12px;border:1px solid #526079;border-radius:8px;background:#141923;box-shadow:0 8px 30px #0009;color:#e7ebf2}
.fleet-slot-menu strong{display:block;margin-bottom:10px;overflow-wrap:anywhere}
.fleet-slot-menu button{display:block;width:100%;text-align:left;white-space:normal}
.fleet-slot-menu p{margin:10px 0 0;line-height:1.5;font-size:12px;color:#b7c4d6;overflow-wrap:anywhere}
@media(max-width:900px){.columns-label{margin-left:0}.grid-toolbar{gap:5px}.slot-name{font-size:10px}.tile.focused .tile-head{flex-wrap:wrap}}
/* Focused tools keep an accessible edge handle in both window and fullscreen modes. */
.tile.focused.viewer-tools-active:not(.viewer-menu-open) .tile-head{display:none;pointer-events:none}
.tile .viewer-bar-collapse{display:none}
.tile.focused.viewer-tools-active .viewer-bar-collapse{display:block;position:sticky;right:0;z-index:3;flex-shrink:0;background:#26384b;border-color:#9aacc1;box-shadow:-5px 0 0 #11151e}
.viewer-controls-dock{display:none}
.tile.focused.viewer-tools-active .viewer-controls-dock{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:4;display:flex;flex-direction:column;gap:4px;padding:4px;border:1px solid #a4e8b2;border-radius:7px;background:#101a28;box-shadow:0 2px 8px #0008}
.tile .viewer-controls-dock button{min-width:48px;min-height:31px;padding:5px 8px;border-radius:4px;font-size:12px}
.tile .viewer-controls-dock .viewer-menu-toggle{min-width:72px;min-height:34px;background:#a4e8b2;border-color:#d6ffdf;color:#10291b;font-weight:700}
.tile .viewer-controls-dock button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.tile .viewer-controls-dock .viewer-preview-return{background:#19362b;border-color:#91bba0;color:#e9fff0}
