:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#dce4f4;background:#0b101c;font-synthesis:none;--bg:#0b101c;--panel:#121a2a;--panel-soft:#151f31;--line:#243047;--muted:#8190aa;--blue:#5c87ff;--green:#4dd2a2;--amber:#e7b86c;--red:#f48695}*{box-sizing:border-box}body{margin:0;font-size:13px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,.upload-label:has(input:disabled){cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8da9ff;outline-offset:3px}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.muted{color:var(--muted)!important}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#6f89bb}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 16px;border-radius:7px;border:1px solid transparent;white-space:nowrap;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.button.primary{background:#6385fb;color:#fff;box-shadow:0 2px 8px #3954ab24}.button.primary:hover{background:#7897ff}.button.secondary{background:#182237;border-color:#2b3b59;color:#bdcbe7}.button.secondary:hover{background:#21304b}.button.subtle{background:transparent;border-color:#27334b;color:#a9b9d4}.button.subtle:hover{background:#1c2840}.button.danger-outline{background:transparent;border-color:#60404c;color:#efa2ad}.button.small{min-height:30px;padding:0 10px;font-size:11px;border-radius:5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border:0;background:transparent;color:#8192b4;font-size:19px;border-radius:5px}.icon-button:hover{background:#23304a;color:#dce5fa}.text-button{border:0;background:transparent;color:#90acff;white-space:nowrap;font-size:11px;padding:5px}.text-button:hover{color:#bdccff}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #2d3b54;border-radius:4px;padding:4px 7px;white-space:nowrap;font-size:10px;font-weight:500;line-height:1.2}.badge.neutral{background:#1b2639;color:#a2b2ce}.badge.running,.badge.completed,.badge.success{background:#15382f;border-color:#205245;color:#66dab0}.badge.pending,.badge.queued,.badge.paused,.badge.starting{background:#392e20;border-color:#5c482a;color:#e7bd78}.badge.failed,.badge.error{background:#3c2431;border-color:#613243;color:#f19daa}.badge.cancelled,.badge.stopped{background:#252d3e;color:#a4afc4}.status-dot{display:inline-block;flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--green)}.status-dot.amber{background:var(--amber)}.status-dot.red{background:var(--red)}.tiny-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--green);vertical-align:2px}.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:750;letter-spacing:1px;line-height:1.2}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:400;color:#7283a5;margin-top:7px}.brand-mark{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:36px;font-size:25px;font-weight:850;color:#b3c5ff;letter-spacing:-2px;background:linear-gradient(145deg,#405ed3,#6f92ff);border-radius:10px;box-shadow:0 4px 16px #3853b42e}.brand-mark:after{content:"";width:6px;height:6px;background:#d9e4ff;border-radius:2px;position:absolute;right:6px;bottom:7px}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:214px;background:#0f1625;border-right:1px solid #202a3f;padding:31px 19px 18px;z-index:10;display:flex;flex-direction:column}.sidebar .brand{font-size:13px;gap:9px}.sidebar .brand-mark{width:32px;height:34px}.nav-caption{font-size:10px;color:#53647f;margin:46px 12px 14px;letter-spacing:1px}nav{display:flex;flex-direction:column;gap:7px}.nav-item{width:100%;height:43px;display:flex;align-items:center;gap:12px;padding:0 13px;border:1px solid transparent;background:transparent;border-radius:7px;color:#8192b0;text-align:left;font-size:12px}.nav-item:hover{background:#162035}.nav-item.active{background:#1a2a4b;border-color:#253a62;color:#a8bfff}.nav-icon{font-size:20px;line-height:1;opacity:.9}.nav-current{width:5px;height:5px;background:#7a9cff;margin-left:auto;border-radius:50%}.nav-count{margin-left:auto;font-size:10px;border-radius:4px;background:#314971;padding:2px 5px}.sidebar-bottom{margin-top:auto;padding-top:30px}.environment-card{padding:14px 12px;border:1px solid #25314b;background:#131e31;border-radius:8px;font-size:10px}.environment-card strong{font-size:11px;font-weight:600;margin-left:5px}.environment-card p{color:#7889a7;line-height:1.7;margin:7px 0 13px}.environment-line{display:flex;justify-content:space-between;margin-top:9px;color:#a7b5cd}.environment-line span:last-child{color:#7d97c9}.sidebar-foot{display:flex;justify-content:space-between;font-size:8px;color:#465a7c;letter-spacing:1px;margin:19px 3px 0}.main-shell{width:calc(100% - 214px);margin-left:214px}.topbar{height:71px;border-bottom:1px solid #202a3f;display:flex;align-items:center;justify-content:space-between;padding:0 31px;background:#0e1523}.breadcrumb{font-size:11px;color:#7586a5}.breadcrumb span{margin:0 10px;color:#3f506f}.breadcrumb strong{font-weight:500;color:#c0cce3}.topbar-right{display:flex;align-items:center;gap:10px;font-size:11px;color:#adbad2}.connection-state{display:flex;align-items:center;gap:7px;color:#8596b4;font-size:10px}.topbar-divider{width:1px;height:17px;background:#27334a;margin:0 7px}.avatar{width:27px;height:27px;display:flex;align-items:center;justify-content:center;background:#293d66;border:1px solid #3b5485;border-radius:50%;font-size:10px;color:#c2d4fc}.content{padding:29px 31px 0;max-width:1750px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}.page-heading h1{font-size:26px;letter-spacing:-.6px;line-height:1.4;font-weight:650;margin-top:6px}.page-heading p{font-size:11px;color:#7a8ca9;line-height:1.8;margin-top:6px}.heading-actions{display:flex;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{border:1px solid var(--line);background:linear-gradient(115deg,#151f31,#111a2a);border-radius:9px;padding:17px 19px}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8e9eb8}.stat-symbol{font-size:17px;width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center}.stat-symbol.blue{color:#8daaff;background:#24345b}.stat-symbol.green{color:#68c7ac;background:#1c3c36}.stat-symbol.purple{color:#a697ec;background:#322c4c}.stat-symbol.amber{color:#dbb773;background:#3c352b}.stat-value{font-size:28px;font-weight:650;letter-spacing:-.5px;margin:11px 0 9px;color:#e6edfc}.resource-value{font-size:23px}.stat-caption{color:#657d9e;font-size:9px;line-height:1.5;min-height:14px}.compatibility-note{display:flex;align-items:center;gap:10px;background:#121d31;border:1px solid #233655;border-radius:7px;padding:11px 13px;margin-bottom:21px;color:#859dc2;font-size:10px;line-height:1.7}.compatibility-note p{flex:1}.compatibility-note strong{font-weight:500;color:#abc0e7;margin-right:9px}.info-icon{border:1px solid #6b8bca;border-radius:50%;color:#7ca0e7;font-family:Georgia,serif;font-size:11px;width:14px;height:14px;display:flex;align-items:center;justify-content:center}.workspace-grid{display:grid;grid-template-columns:235px minmax(310px,1fr) 245px;gap:16px;align-items:start}.panel{border:1px solid var(--line);background:var(--panel);border-radius:9px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;min-height:58px;border-bottom:1px solid #233049;padding:0 17px;gap:10px}.panel-heading h2{font-size:12px;font-weight:600;color:#c8d4eb;line-height:1.5}.count-badge{font-size:9px;background:#253451;color:#93a9cf;border-radius:4px;padding:2px 5px;margin-left:5px}.fleet-tabs{display:flex;gap:19px;padding:0 17px;border-bottom:1px solid #202c42}.fleet-tab{display:inline-flex;align-items:center;height:41px;font-size:10px;color:#7084a6;position:relative}.fleet-tab.active{color:#a8bfff}.fleet-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#7196ff}.fleet-tab.disabled{color:#52617d}.fleet-tab small{font-size:8px;margin-left:5px;background:#202a3c;padding:2px 3px;border-radius:3px}.phone-list{padding:12px;min-height:300px;max-height:595px;overflow:auto}.phone-card{position:relative;display:block;width:100%;padding:14px 12px;border:1px solid #28354d;border-radius:7px;background:#151f30;text-align:left;margin-bottom:9px}.phone-card:hover{border-color:#455a83;background:#19253a}.phone-card.selected{background:#1b2a49;border-color:#5278cb;box-shadow:inset 3px 0 0 #7b9eff}.phone-card-top{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px}.device-mini{width:25px;height:35px;background:#223958;border:1px solid #435a7c;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#8da9d3}.phone-card-title{font-size:11px;font-weight:600;margin-bottom:5px;color:#c5d4f0;overflow-wrap:anywhere}.phone-card-meta{font-size:9px;color:#667f9f}.phone-card-bottom{display:flex;justify-content:space-between;gap:7px;font-size:9px;color:#91a8cc;margin-top:12px}.phone-card-control{color:#6c8aaf}.fleet-footer{border-top:1px solid #243049;padding:13px;font-size:9px;color:#7188aa;display:flex;align-items:center;gap:7px}.control-heading{min-height:66px}.panel-subtitle{font-size:9px;color:#6882a5;margin-top:4px;overflow-wrap:anywhere}.control-toolbar{padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #202c42}.toolbar-group{display:flex;gap:7px}.owner-message{font-size:10px;line-height:1.6;padding:9px 13px;background:#322c21;color:#dfbf83;border-bottom:1px solid #56452b}.screen-stage{position:relative;min-height:442px;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(ellipse at 50% 38%,#14213a 0%,#0b1322 62%);overflow:hidden;touch-action:none}.phone-screen{display:block;max-width:100%;max-height:530px;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 8px 36px #02070f99;user-select:none;touch-action:none;cursor:crosshair}.phone-screen.readonly{cursor:default}.screen-empty{text-align:center;max-width:260px;padding:35px 5px}.empty-device-icon{width:61px;height:100px;border:2px solid #30456a;border-radius:12px;margin:0 auto 25px;position:relative;background:linear-gradient(145deg,#1b2945,#111b2f);box-shadow:0 0 45px #2f51812e}.empty-device-icon:after{content:"";width:17px;height:3px;background:#435c83;border-radius:4px;position:absolute;bottom:9px;left:20px}.empty-device-icon span{position:absolute;top:8px;left:20px;width:17px;height:3px;border-radius:4px;background:#2d4468}.screen-empty h3{font-size:13px;font-weight:500;color:#a6bbdc;margin-bottom:9px}.screen-empty p{font-size:10px;color:#536e94;line-height:1.8;margin-bottom:18px}.screen-message,.screen-error{position:absolute;inset:0;background:#0b1322e8;display:flex;align-items:center;justify-content:center;gap:10px;color:#9aafd2;font-size:11px;padding:30px}.screen-error{flex-direction:column;text-align:center;color:#b4c3dd;line-height:1.8;gap:12px}.screen-error strong{color:#edb3b6;font-size:13px}.screen-error span{max-width:330px;color:#879bbc;overflow-wrap:anywhere}.spinner{width:16px;height:16px;border:2px solid #355081;border-top-color:#93b0ff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.device-navigation{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;background:#0d1728;border-top:1px solid #1e2e47}.device-navigation button{border:0;background:transparent;color:#94a9cb;font-size:22px;line-height:1;flex:1;min-width:0;width:auto;height:32px}.device-navigation button[data-swipe]{font-size:12px;font-weight:600;white-space:nowrap}.device-navigation button:hover{color:#d0dfff}.device-tools{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:12px 7px;border-top:1px solid #202c42}.upload-label{cursor:pointer}.upload-status{font-size:10px;line-height:1.6;padding:9px 13px;color:#b0c5ea;background:#1c2c48;overflow-wrap:anywhere}.preview-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:8px 12px;font-size:8px;color:#5d7497;border-top:1px solid #202c42;line-height:1.6}.live-indicator{font-size:9px;color:#7b98bc;display:flex;gap:5px;align-items:center}.live-indicator .status-dot{width:4px;height:4px}.activity-summary{display:flex;align-items:center;justify-content:space-between;background:#152037;margin:13px;border:1px solid #293b5a;border-radius:6px;padding:13px 12px;font-size:10px;color:#91a8cb}.activity-summary strong{font-size:20px;font-weight:600;color:#c7d8fa}.recent-batches{padding:0 13px;min-height:140px;max-height:365px;overflow:auto}.batch-card{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #253049;padding:14px 0}.batch-card:last-child{border-bottom:0}.batch-card-title{font-size:11px;color:#b7c8e5;margin-bottom:9px;overflow-wrap:anywhere;line-height:1.5}.batch-card-topline{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:9px;color:#6983a9}.batch-card-time{font-size:8px;color:#586e8f;margin-top:8px}.activity-footer{border:0;background:transparent;color:#7698d5;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:10px;padding:14px 17px;border-top:1px solid #233049}.activity-footer:hover{background:#17233b}.agent-note{padding:20px 16px;border-top:1px solid #26314a;background:linear-gradient(125deg,#1a2440,#151d32)}.agent-symbol{color:#9caff0;font-size:22px;display:block;margin-bottom:10px}.agent-note strong{font-size:11px;font-weight:550;color:#b9c7ed}.agent-note p{font-size:10px;line-height:1.9;color:#7187ae;margin:9px 0 13px}.small-empty{font-size:11px;text-align:center;color:#5e7598;padding:40px 10px;line-height:1.9}.small-empty .button{margin-top:16px}.small-empty strong{display:block;color:#9bb0d3;font-size:12px;font-weight:500;margin-bottom:8px}.content-footer{display:flex;align-items:center;justify-content:space-between;padding:25px 0 19px;color:#405777;font-size:9px}.banner{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:6px;margin-bottom:18px;gap:10px;line-height:1.6}.error-banner{color:#edb2bd;background:#392532;border:1px solid #623446}.table-scroll{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-size:10px;font-weight:500;color:#6e86aa;background:#141f33;padding:16px 19px;white-space:nowrap}td{border-top:1px solid #233048;padding:17px 19px;color:#a1b4d4;line-height:1.7;overflow-wrap:anywhere}td:first-child{color:#c1cfe7}td.empty-cell{text-align:center;color:#6781a6;padding:60px}.audit-result{max-width:320px;white-space:normal}.table-button{border:0;background:transparent;color:#91adff;white-space:nowrap;font-size:11px}.table-button:hover{color:#ccdaff}.login-view{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:#101828}.login-art{position:relative;overflow:hidden;background:radial-gradient(ellipse at 40% 40%,#243b76 0,#14223f 40%,#10192e 75%);display:flex;align-items:center;justify-content:center;isolation:isolate}.login-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#6d8bcd08 1px,transparent 1px),linear-gradient(90deg,#6d8bcd08 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(transparent,#000,transparent)}.login-phone{height:350px;width:171px;border:1px solid #6482c9;border-radius:26px;background:linear-gradient(140deg,#4165c2bb,#1c2a52dd);transform:rotate(-14deg);box-shadow:25px 35px 80px #050e2a99,inset 0 0 20px #5e7fd533;position:relative}.login-phone>span{position:absolute;top:13px;left:60px;width:50px;height:5px;background:#91aaf24d;border-radius:4px}.phone-grid{position:absolute;inset:47px 17px 26px;background:linear-gradient(135deg,#7192eb33,#2d397a44);border:1px solid #8caaf244;border-radius:14px}.phone-grid:before,.phone-grid:after{content:"";position:absolute;left:17px;right:17px;height:61px;top:25px;border-radius:8px;border:1px solid #7595ee5e;background:#8aa9ff19}.phone-grid:after{top:105px;height:125px;background:linear-gradient(180deg,#a0b8ff22,transparent)}.orbit{position:absolute;border:1px solid #547ac633;border-radius:50%;width:540px;height:540px;transform:rotateX(55deg) rotateZ(-20deg)}.orbit-two{width:750px;height:750px;border-color:#547ac61a}.art-caption{position:absolute;bottom:65px;left:60px;font-weight:650;font-size:28px;letter-spacing:4px;line-height:1.6;color:#8ca4dc9c}.login-main{max-width:450px;width:100%;align-self:center;justify-self:center;padding:60px 45px}.login-main>.brand{margin-bottom:60px}.login-copy h1{font-size:34px;line-height:1.5;letter-spacing:-.7px;margin:12px 0 14px;font-weight:600}.login-copy p{font-size:12px;line-height:1.9;color:#7d91b4}.login-form{margin-top:32px;display:flex;flex-direction:column}.login-form label{margin-bottom:9px}.login-form input{margin-bottom:20px}.login-form .button{margin-top:8px;height:43px;justify-content:space-between}.login-note{font-size:9px;color:#60799e;margin-top:27px;display:flex;align-items:center;gap:7px}label{display:block;font-size:11px;color:#aabbd7;margin-bottom:9px}input,select,textarea{display:block;width:100%;border:1px solid #30415f;border-radius:6px;background:#0f192a;color:#d6e2f6;padding:11px 12px;outline:0;font-size:12px}input::placeholder,textarea::placeholder{color:#4f668a}input:focus,select:focus,textarea:focus{border-color:#688cde}textarea{resize:vertical;line-height:1.7}select{appearance:auto}.form-error{font-size:11px;color:#f0a3b3;line-height:1.7;margin:2px 0 12px}.dialog-content{padding:26px;max-width:100%}.dialog-content>label{margin-top:20px}.dialog-content>input,.dialog-content>select,.dialog-content>textarea{margin-bottom:18px}.dialog-content>div>label{margin-top:16px}.dialog-content label:has(input[type=checkbox]){margin:0}dialog{border:1px solid #35476a;border-radius:11px;background:#151f32;color:#d6e2f6;width:460px;max-width:calc(100vw - 30px);padding:0;box-shadow:0 24px 100px #0009;max-height:90vh;overflow:auto}dialog::backdrop{background:#060b17c9;backdrop-filter:blur(4px)}.wide-dialog{width:660px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:20px}.dialog-heading h2{font-size:20px;font-weight:550;margin-top:6px}.dialog-heading>.icon-button{align-self:flex-start;font-size:24px}.dialog-description{font-size:11px;line-height:1.9;color:#8197bb;margin-bottom:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px;padding-top:18px;border-top:1px solid #2b3852}.config-summary{background:#101a2c;border:1px solid #293954;border-radius:7px;padding:4px 14px;margin-top:18px}.config-summary>div{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #22314b;font-size:11px}.config-summary>div:last-child{border:0}.config-summary span{color:#738aaf}.config-summary strong{font-size:11px;font-weight:500;color:#b5c7e9}.checkbox-list{border:1px solid #2f405f;border-radius:6px;padding:4px 12px;max-height:200px;overflow:auto;background:#101a2b}.checkbox-option{display:flex!important;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #24324c;font-size:11px;line-height:1.7}.checkbox-option:last-child{border:0}.checkbox-option input{width:14px;height:14px;accent-color:#7295ff}.checkbox-option>span:nth-child(2){flex:1;overflow-wrap:anywhere}.inline-note{font-size:10px;line-height:1.9;color:#7088ac;margin-top:16px}.input-action{display:flex;gap:8px}.input-action input{min-width:0;flex:1}.section-label{font-size:10px;color:#6d86ad;margin-top:25px;margin-bottom:10px}.apps-list{max-height:320px;overflow:auto;border-top:1px solid #2c3b57}.app-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid #253450;font-size:11px}.app-item span{min-width:0;overflow-wrap:anywhere;line-height:1.6}.host-details{display:flex;flex-direction:column}.host-detail{display:flex;justify-content:space-between;gap:22px;padding:13px 0;border-bottom:1px solid #2a3956;font-size:11px;line-height:1.7}.host-detail span{color:#7d96bb}.host-detail strong{text-align:right;font-weight:500;color:#bdcde8;overflow-wrap:anywhere}.task-detail-meta{display:flex;gap:14px;flex-wrap:wrap;color:#8199be;font-size:11px;margin-bottom:20px;line-height:1.8}.task-device-row{padding:14px;background:#101b2f;border:1px solid #2a3c59;border-radius:6px;margin:10px 0}.task-device-row-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}.task-device-row p{font-size:10px;color:#7a91b5;line-height:1.8;overflow-wrap:anywhere;margin-top:8px}.task-device-row a{display:inline-block;font-size:10px;color:#92afff;margin-top:9px}.task-detail-error{color:#eeadbb;font-size:11px;line-height:1.9}.task-steps{font-size:10px;line-height:2;color:#879dc1;margin:15px 0}.task-steps>div{border-bottom:1px solid #283651;padding:7px 0}.task-steps strong{font-weight:500;color:#bed0ed}.toast-region{position:fixed;right:25px;bottom:25px;z-index:100;display:flex;flex-direction:column;gap:9px;max-width:390px;width:calc(100% - 50px);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:7px;background:#1c3049;border:1px solid #38577c;box-shadow:0 5px 25px #0007;color:#c2daf5;font-size:12px;line-height:1.7;overflow-wrap:anywhere;pointer-events:auto}.toast.error{background:#3a2637;border-color:#734255;color:#f3c1cc}.toast>span:first-child{color:#80c4a2}.toast.error>span:first-child{color:#f2a0b4}.toast button{margin-left:auto;color:inherit;background:transparent;border:0;font-size:17px;line-height:1.5}.busy{pointer-events:none;opacity:.55}@media(min-width:1550px){.workspace-grid{grid-template-columns:270px minmax(370px,1fr) 280px}.screen-stage{min-height:515px}.phone-screen{max-height:610px}.content{padding-left:37px;padding-right:37px}}@media(max-width:1240px){.sidebar{width:185px;padding-left:14px;padding-right:14px}.sidebar .brand{font-size:11px}.main-shell{width:calc(100% - 185px);margin-left:185px}.content{padding:25px 20px 0}.topbar{padding:0 20px}.workspace-grid{grid-template-columns:205px minmax(310px,1fr)}.activity-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:start}.activity-panel>.panel-heading{grid-column:1/-1}.activity-summary{margin:13px}.recent-batches{grid-row:2/5;grid-column:2;max-height:255px;padding-top:0}.activity-footer{grid-column:2;grid-row:5}.agent-note{grid-column:1;grid-row:3/6;margin:0 13px 13px;border:1px solid #283758;border-radius:6px;padding:15px}.agent-symbol{display:none}.stats-grid{gap:10px}.stat-card{padding:15px 13px}.resource-value{font-size:20px}.page-heading h1{font-size:24px}}@media(max-width:960px){.sidebar{width:70px;padding:22px 10px}.sidebar .brand>span:last-child,.nav-caption,.nav-item>.nav-current,.nav-count,.sidebar-bottom{display:none}.sidebar .brand{justify-content:center}.sidebar .brand-mark{width:32px;height:34px}.sidebar nav{margin-top:40px;gap:13px}.nav-item{justify-content:center;font-size:0;padding:0;gap:0;height:44px}.nav-icon{font-size:24px}.main-shell{margin-left:70px;width:calc(100% - 70px)}.page-heading{align-items:flex-start}.heading-actions{gap:6px}.heading-actions .button{font-size:10px;padding:0 10px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:190px minmax(280px,1fr)}.compatibility-note{align-items:flex-start}.compatibility-note .text-button{padding-top:0}.login-art{display:none}.login-view{grid-template-columns:1fr}.login-main{max-width:450px}.screen-stage{padding:12px;min-height:390px}.device-tools{gap:5px}.device-tools .button{font-size:9px;padding:0 8px}.control-toolbar{padding:9px;gap:5px}.control-toolbar .button{font-size:9px;padding:0 7px}.preview-foot{flex-wrap:wrap;font-size:8px}.topbar-right{gap:7px}.connection-state{font-size:9px}.topbar-divider{margin:0 3px}}@media(max-width:650px){.sidebar{width:56px;padding:19px 6px}.sidebar .brand-mark{width:29px;height:31px;font-size:22px}.main-shell{margin-left:56px;width:calc(100% - 56px)}.topbar{height:60px;padding:0 13px}.connection-state{display:none}.topbar-right{font-size:10px}.content{padding:20px 13px 0}.page-heading{flex-direction:column;gap:18px;margin-bottom:20px}.page-heading h1{font-size:24px}.page-heading p{font-size:10px}.heading-actions{width:100%}.heading-actions .button{flex:1}.stats-grid{gap:8px}.stat-card{padding:12px}.stat-value{font-size:25px}.stat-top{font-size:10px}.stat-symbol{width:23px;height:23px;font-size:15px}.stat-caption{font-size:8px}.resource-value{font-size:19px}.compatibility-note{padding:10px;gap:7px;font-size:9px;flex-wrap:wrap}.compatibility-note p{flex-basis:calc(100% - 24px)}.compatibility-note .text-button{margin-left:18px;font-size:9px}.workspace-grid{grid-template-columns:minmax(0,1fr);gap:15px}.fleet-panel{grid-column:1}.phone-list{min-height:0;max-height:230px;display:flex;flex-direction:row;gap:9px;padding:10px;overflow:auto}.phone-card{min-width:180px;max-width:230px;margin:0}.phone-list>.small-empty{width:100%;padding:25px 10px}.fleet-tabs{height:36px}.fleet-tab{height:36px}.fleet-footer{padding:10px}.control-panel{grid-column:1}.screen-stage{min-height:410px;padding:18px}.phone-screen{max-height:530px}.activity-panel{display:block}.recent-batches{max-height:260px}.agent-note{margin:0;border:0;border-top:1px solid #273652;border-radius:0;padding:17px}.agent-symbol{display:none}.activity-summary{margin:13px}.control-toolbar .button{font-size:10px}.device-tools .button{font-size:10px}.preview-foot{font-size:8px}.content-footer{gap:15px;font-size:8px;line-height:1.7}.dialog-content{padding:21px}.login-main{padding:45px 30px}.login-copy h1{font-size:31px}.login-main>.brand{margin-bottom:45px}.topbar-right .avatar{display:none}th,td{padding:13px;font-size:10px}.breadcrumb{font-size:10px}.toast-region{right:14px;bottom:14px;width:calc(100% - 28px)}.dialog-heading h2{font-size:18px}}

.node-selector{display:flex;align-items:center;gap:8px;font-size:10px;color:#8fa5c8}.node-selector select{max-width:260px;min-height:34px;padding:5px 28px 5px 10px;border:1px solid #354b70;border-radius:6px;background:#17233a;color:#cad9f7}.node-overview{margin-bottom:20px}.node-overview-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;margin-bottom:11px}.node-overview-heading>span{color:#8098bd;font-size:10px}.node-overview-heading b{color:#a9c3ff;font-weight:500}.node-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.node-card{display:flex;flex-direction:column;gap:9px;text-align:left;background:#121c2e;border:1px solid #2a3b58;border-radius:8px;padding:15px;min-width:0}.node-card:hover{border-color:#5d7db5;background:#17243b}.node-card.selected{border-color:#7499ff;box-shadow:inset 3px 0 0 #7499ff;background:#1a2945}.node-card.offline{border-color:#71404b}.node-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.node-card-top strong{font-size:12px;overflow-wrap:anywhere}.node-address,.node-detail,.node-description{font-size:10px;color:#8da5c9;overflow-wrap:anywhere;line-height:1.6}.node-resources{font-size:12px;color:#d2e1fb}.node-description{color:#6f87ac}.node-overview-note{font-size:10px;line-height:1.8;color:#6e86a9;margin-top:10px}.batch-card-node{font-size:9px;line-height:1.6;color:#86a6d5;margin-top:4px}.aggregate-note{font-size:11px;line-height:1.8;color:#91a9cd;padding:12px 17px;background:#111b2d}.batch-node-heading{font-size:11px;color:#abc6f6;padding:11px 0 7px;border-bottom:1px solid #283d60;margin:0 0 5px}.node-load-error{font-size:11px;line-height:1.7;color:#e9a7ac;padding:8px 0}.batch-submit-results{display:flex;flex-direction:column;gap:8px;margin-top:14px}.batch-submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px;border:1px solid #33496c;background:#142139;border-radius:6px;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.batch-submit-row strong{flex-basis:100%;color:#bed3f9}.batch-submit-row.success{border-color:#285a4f;color:#8bd9b9}.batch-submit-row.failed,.batch-submit-row.unknown{border-color:#744455;color:#eeb6bd}.batch-submit-row .text-button{margin-left:auto}@media(max-width:960px){.node-selector>span{display:none}.node-selector select{max-width:195px;font-size:10px}.node-comparison{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(max-width:650px){.node-selector select{max-width:170px;min-height:30px}.node-overview-heading{align-items:flex-start;flex-direction:column;gap:6px}.node-comparison{grid-template-columns:minmax(0,1fr)}.node-card{padding:12px}.node-selector{gap:0}.topbar-right{gap:5px}}

/* Keep measured live-control status readable at every viewport width. */
.preview-foot{align-items:flex-start;flex-wrap:wrap}.preview-foot #preview-status{font-size:11px;line-height:1.7;color:var(--muted);flex:1;min-width:180px;overflow-wrap:anywhere}

/* APK installation is available before live preview connects. */
.heading-actions{flex-wrap:wrap}.apk-target{display:grid;gap:6px;padding:14px 16px;margin-bottom:18px;border:1px solid #354b72;border-radius:8px;background:#111c30;line-height:1.7}.apk-target>span:first-child{font-size:10px;color:#7990b4}.apk-target strong{font-size:13px;color:#c4d6f8}.apk-target>span:last-child{font-size:11px;color:#91a9cc;overflow-wrap:anywhere}.apk-picker{display:flex;flex-direction:column;align-items:center;gap:11px;padding:22px 18px;border:1px dashed #4b638b;border-radius:9px;background:#101a2c;text-align:center}.apk-file-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#243960;font-size:23px;color:#a6c2ff}.apk-picker>strong{font-size:13px}.apk-picker>p{color:#7e96bc;font-size:11px}.apk-file-info{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:15px;padding:12px 0;line-height:1.6}.apk-file-info strong{font-size:12px;overflow-wrap:anywhere}.apk-file-info span{font-size:11px;color:#8ca3c7;white-space:nowrap}.apk-progress-region{margin-top:17px}.apk-progress-region label{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:11px;color:#a1b8dc}.apk-progress-region progress{display:block;width:100%;height:9px;border:0;border-radius:5px;overflow:hidden;accent-color:#7c9dff;background:#25334d}.apk-progress-region progress::-webkit-progress-bar{background:#25334d;border-radius:5px}.apk-progress-region progress::-webkit-progress-value{background:#7c9dff;border-radius:5px}.apk-progress-region progress::-moz-progress-bar{background:#7c9dff;border-radius:5px}.apk-result{margin-top:16px;padding:11px 13px;border:1px solid #344a6e;border-radius:7px;background:#15253e;font-size:11px;line-height:1.9;overflow-wrap:anywhere;color:#abc1e4}.apk-result.error{background:#352432;border-color:#65404f;color:#efb3c1}.apk-result.success{background:#15332d;border-color:#255446;color:#85d9b8}.apps-install-entry{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:21px;padding:12px;border:1px solid #2b4164;border-radius:7px;background:#101c30}.apps-install-entry>span{font-size:11px;color:#8ca5cc;line-height:1.7}@media(max-width:650px){.heading-actions #new-apk-button{flex-basis:100%}.apps-install-entry{align-items:flex-start;flex-direction:column}}

/* Daily-operation workspace: keep the phone visible and resources within reach. */
:root {
  --bg: #0c111b;
  --panel: #141c29;
  --panel-soft: #1a2535;
  --line: #2a3547;
  --muted: #9baabe;
  --blue: #8fa8ff;
  --green: #61d8b0;
  --stage-height: clamp(340px, calc(100dvh - 420px), 680px);
  color: #e3eaf5;
  background: var(--bg);
}
body { font-size: 13px; }
button, a, input, select, textarea { touch-action: manipulation; }
button:disabled { opacity: .48; }
.button { min-height: 38px; border-radius: 8px; font-size: 12px; }
.button.primary { background: #758fe9; color: #fff; box-shadow: 0 3px 12px #405ab426; }
.button.primary:hover { background: #8ca4f5; }
.button.secondary { background: #202c3f; border-color: #3b4c66; color: #e0e9fb; }
.button.secondary:hover { background: #2b3b54; border-color: #637ca3; }
.button.subtle { color: #bbc9dd; border-color: #354359; }
.button.subtle:hover { background: #253249; color: #f1f5fc; }
.button.small { min-height: 32px; border-radius: 6px; font-size: 11px; }
.icon-button { width: 32px; height: 32px; color: #a5b5cd; }
.text-button { font-size: 12px; color: #a6bcff; }
.badge { border-radius: 5px; padding: 4px 7px; font-size: 10px; }
.eyebrow { color: #8a9ebf; font-size: 9px; letter-spacing: 1.7px; }
.sidebar { width: 184px; padding: 24px 13px 16px; background: #101825; border-color: #263143; }
.sidebar .brand { font-size: 12px; gap: 9px; }
.sidebar .brand-mark { width: 30px; height: 32px; border-radius: 9px; }
.brand small { color: #8fa0bb; font-size: 9px; letter-spacing: 1px; }
.nav-caption { color: #8293af; margin: 34px 12px 12px; font-size: 10px; }
.sidebar nav { gap: 6px; }
.nav-item { height: 43px; color: #a5b4cd; gap: 10px; font-size: 12px; }
.nav-item.active { background: #263654; border-color: #3b5079; color: #d7e3ff; }
.nav-current { background: #b0c3ff; }
.environment-card { background: #151f2e; border-color: #2b394e; padding: 13px 10px; }
.environment-card p { color: #95a6bf; font-size: 10px; }
.environment-line { color: #b2bfd4; font-size: 10px; }
.environment-line span:last-child { color: #99b1d6; }
.sidebar-foot { color: #8392ab; font-size: 8px; letter-spacing: .3px; }
.main-shell { margin-left: 184px; width: calc(100% - 184px); }
.topbar { height: 60px; padding: 0 24px; background: #111925; border-color: #273245; }
.breadcrumb { font-size: 12px; color: #94a5bf; }
.breadcrumb strong { color: #dce5f5; }
.topbar-right { font-size: 12px; gap: 10px; }
.connection-state { font-size: 11px; color: #adbdd3; }
.avatar { background: #293c5d; color: #dce7ff; }
.node-selector { gap: 10px; margin: 0; color: #a7b7cc; font-size: 11px; }
.node-selector select { min-height: 35px; width: 270px; max-width: 310px; padding: 7px 24px 7px 11px; background: #1b293c; border-color: #435575; color: #e2ebfc; font-size: 12px; }
.content { padding: 18px 24px 0; max-width: 1920px; }
.page-heading { margin-bottom: 16px; gap: 16px; align-items: center; }
.page-heading h1 { margin-top: 3px; font-size: 24px; font-weight: 650; letter-spacing: -.5px; }
.page-heading p { margin-top: 3px; color: #a1b0c6; font-size: 12px; line-height: 1.6; }
.heading-actions { gap: 8px; align-items: center; }
.heading-actions .button { padding: 0 13px; font-size: 12px; }
.resources-details { margin-bottom: 16px; border: 1px solid #2a374d; border-radius: 9px; background: #141f2e; }
.resources-details > summary { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 9px 14px; cursor: pointer; list-style: none; font-size: 12px; color: #b8c8e0; }
.resources-details > summary::-webkit-details-marker { display: none; }
.resources-details > summary:hover { background: #1b293c; border-radius: 9px; }
.resources-details > summary:focus-visible { outline: 2px solid #9eb6ff; outline-offset: 3px; border-radius: 8px; }
.resources-details > summary > strong { font-weight: 550; color: #dae4f5; white-space: nowrap; }
.resource-summary-icon { color: #9eb6eb; font-size: 16px; }
.resource-current { padding-left: 12px; border-left: 1px solid #3b4960; color: #9fadc2; font-size: 11px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.resource-current b { color: #bfcef0; font-weight: 500; }
.resource-toggle-label { margin-left: auto; color: #a6bcff; font-size: 11px; white-space: nowrap; }
.resource-chevron { color: #aec0de; transition: transform .15s; }
.resources-details[open] .resource-chevron { transform: rotate(180deg); }
.resources-content { border-top: 1px solid #2b3b53; padding: 16px; }
.node-overview { margin-bottom: 14px; }
.node-overview-heading { margin-bottom: 12px; }
.node-overview-heading > span { color: #99aecb; font-size: 11px; }
.node-comparison { grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)); gap: 10px; }
.node-card { background: #162131; padding: 14px; border-color: #3a4a63; border-radius: 8px; gap: 7px; }
.node-card.selected { background: #233550; border-color: #86a4f2; box-shadow: inset 3px 0 0 #9ab5fa; }
.node-card-top strong, .node-resources { font-size: 12px; }
.node-address, .node-detail, .node-description { color: #a1b4d0; font-size: 11px; }
.node-overview-note { color: #9bafcd; font-size: 11px; }
.stats-grid { margin-bottom: 12px; gap: 10px; }
.stat-card { border-color: #2e3d55; border-radius: 7px; background: #182435; padding: 12px 14px; }
.stat-top { color: #b2c1d6; font-size: 11px; }
.stat-value { font-size: 24px; margin: 8px 0 5px; }
.stat-value.resource-value { font-size: 23px; }
.stat-caption { color: #a1b1ca; font-size: 10px; }
.compatibility-note { margin: 0; padding: 10px 12px; border-color: #314563; background: #1a2a40; color: #aabfdd; font-size: 11px; }
.compatibility-note strong { color: #d0def4; }
.workspace-grid { grid-template-columns: 206px minmax(0, 1fr); gap: 16px; align-items: start; }
.panel { background: #141e2d; border-color: #2b394d; border-radius: 10px; box-shadow: 0 4px 18px #05091116; min-width: 0; }
.panel-heading { min-height: 52px; padding: 0 15px; border-color: #2b394f; }
.panel-heading h2 { font-size: 13px; color: #e0e9f8; }
.count-badge { color: #bdcff1; background: #2e405d; font-size: 10px; }
.fleet-tabs { gap: 20px; padding: 0 15px; border-color: #2b394f; }
.fleet-tab { height: 36px; font-size: 11px; }
.fleet-tab.active { color: #c2d2fb; }
.fleet-tab.disabled { color: #8d9ab1; }
.fleet-tab small { color: #9caac0; background: #263246; }
.phone-list { min-height: 230px; max-height: 550px; padding: 10px; }
.phone-card { background: #172334; padding: 13px 11px; border-color: #35455d; border-radius: 8px; }
.phone-card.selected { background: #223550; border-color: #8ca9f2; box-shadow: inset 3px 0 0 #9cb8fa; }
.phone-card-top { margin-bottom: 10px; }
.phone-card-title { color: #e0e9fa; font-size: 12px; line-height: 1.6; }
.phone-card-meta { font-size: 11px; color: #a4b5d0; }
.phone-card-bottom { color: #b0c2df; font-size: 10px; margin-top: 10px; }
.phone-card-control { color: #a0b8d9; }
.device-mini { border-color: #6382ad; background: #2a4160; color: #c0d4fa; }
.fleet-footer { color: #9cafcc; border-color: #2a394f; padding: 11px 12px; font-size: 10px; line-height: 1.7; }
.control-heading { min-height: 58px; }
.control-heading h2 { font-size: 14px; }
.panel-subtitle { color: #9baecc; font-size: 11px; margin-top: 4px; line-height: 1.6; }
.control-toolbar { padding: 8px 12px; min-height: 48px; border-color: #2a394f; background: #172232; gap: 10px; flex-wrap: wrap; }
.toolbar-group { gap: 6px; flex-wrap: wrap; }
.toolbar-preview { margin-left: auto; }
#focus-mode-button { border-color: #4d6085; background: #293a55; color: #dbe6ff; }
#focus-mode-button[aria-pressed="true"] { background: #d8e3ff; border-color: #d8e3ff; color: #253858; }
.control-body { display: grid; grid-template-columns: minmax(0, 1fr) 104px; grid-template-rows: minmax(0, 1fr) 48px; }
.screen-stage { grid-column: 1; grid-row: 1; height: var(--stage-height); min-height: 0; padding: 12px; background: radial-gradient(ellipse at 50% 38%, #202c40 0%, #0c131f 76%); }
.phone-screen { max-height: calc(var(--stage-height) - 24px); max-width: 100%; border-radius: 5px; box-shadow: 0 10px 36px #03070e88; }
.screen-message { background: #0d1522ed; color: #b5c7e1; font-size: 12px; }
.screen-empty h3 { color: #c2d0e7; font-size: 14px; }
.screen-empty p { color: #9db0cd; font-size: 12px; }
.screen-error strong { font-size: 14px; }
.screen-error span { color: #b3c2d8; font-size: 12px; }
.device-navigation { grid-column: 1; grid-row: 2; padding: 6px 10px; border-color: #29384e; background: #152031; gap: 4px; }
.device-navigation button { height: 34px; border-radius: 6px; font-size: 22px; color: #c2d1eb; transition: background .15s; }
.device-navigation button[data-swipe] { font-size: 11px; }
.device-navigation button:hover { background: #2b3d58; color: #fff; }
.device-tools { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 10px; padding: 14px 9px; border-top: 0; border-left: 1px solid #2b394f; background: #172232; }
.device-tools-label { text-align: center; font-size: 10px; color: #a3b1c7; letter-spacing: 1px; margin: 0 0 3px; }
.device-tools .button { min-height: 62px; display: flex; flex-direction: column; gap: 5px; padding: 9px 5px; font-size: 11px; border-color: #3a4c68; background: #1c2b40; }
.device-tools .button:hover { background: #2b3e59; border-color: #6d89b7; }
.device-tools .tool-icon { font-size: 21px; color: #bad0fb; line-height: 1; }
.device-tools #apk-install-button { color: #e5edff; border-color: #607ab2; background: #2c4265; }
.device-tools-note { margin: auto 0 1px; color: #9daec7; text-align: center; font-size: 10px; line-height: 1.8; }
.preview-foot { gap: 8px; min-height: 40px; padding: 8px 12px; flex-wrap: nowrap; border-color: #2b394f; align-items: center; background: #151f2e; }
.preview-foot #preview-status { min-width: 0; color: #adbbd1; font-size: 10px; line-height: 1.7; }
.preview-indicator { width: 5px; height: 5px; background: #8da6d9; border-radius: 50%; flex: 0 0 auto; }
.upload-status { color: #cfdef6; background: #253d60; font-size: 12px; line-height: 1.8; }
.activity-summary { margin: 12px; background: #1c2b40; border-color: #354966; color: #afc0db; padding: 11px; font-size: 11px; }
.activity-summary strong { font-size: 23px; color: #dfe9fe; }
.live-indicator { color: #a4b7d3; font-size: 10px; }
.recent-batches { min-height: 110px; max-height: 290px; padding: 0 13px; }
.small-empty { color: #a0b0c9; font-size: 12px; line-height: 1.8; padding: 28px 10px; }
.small-empty strong { color: #d0def5; }
.batch-card-title { font-size: 12px; color: #cedcf1; }
.batch-card-node { color: #b0c2df; font-size: 10px; }
.batch-card-topline, .batch-card-time { color: #a4b6d0; font-size: 10px; }
.activity-footer { padding: 13px 15px; color: #b1c8fb; font-size: 11px; border-color: #2e3c53; }
.agent-note { background: #1b2a40; padding: 16px 14px; border-color: #31435f; }
.agent-symbol { display: none; }
.agent-note strong { color: #d5e1f8; font-size: 12px; }
.agent-note p { color: #a5b7d2; font-size: 11px; margin: 8px 0 12px; line-height: 1.8; }
.content-footer { padding: 16px 0; color: #899ab5; font-size: 10px; }
label { color: #c0cee3; font-size: 12px; }
input, select, textarea { background: #111c2c; border-color: #425473; border-radius: 7px; color: #e3edff; font-size: 13px; }
input::placeholder, textarea::placeholder { color: #879ab8; }
dialog { width: 490px; background: #172233; border-color: #4a5d7f; border-radius: 13px; max-height: calc(100dvh - 32px); }
.wide-dialog { width: 700px; }
dialog::backdrop { background: #050a12bd; backdrop-filter: blur(5px); }
.dialog-content { padding: 25px; }
.dialog-heading { margin-bottom: 18px; }
.dialog-heading h2 { color: #edf2fc; font-size: 22px; font-weight: 600; }
.dialog-description { color: #b0bfd7; font-size: 12px; line-height: 1.8; margin-bottom: 17px; }
.dialog-actions { border-color: #354760; padding-top: 17px; margin-top: 20px; }
.inline-note { color: #a2b3cd; font-size: 11px; line-height: 1.8; }
.form-error { font-size: 12px; }
.apk-target { background: #1c2c43; border-color: #425b84; border-radius: 8px; padding: 12px 14px; gap: 4px; margin-bottom: 16px; }
.apk-target > span:first-child { color: #a6bbdb; font-size: 11px; }
.apk-target strong { color: #e0eaff; }
.apk-target > span:last-child { color: #bccce4; font-size: 12px; }
.apk-picker { padding: 23px 16px; gap: 11px; background: #131f30; border: 1px dashed #7087ad; transition: border-color .15s, background .15s; }
.apk-picker > strong { font-size: 14px; color: #e3ecfc; }
.apk-picker > p { color: #a8bad5; font-size: 11px; line-height: 1.8; max-width: 310px; }
.apk-file-icon { background: #2d466c; color: #d9e6ff; }
.apk-picker.is-dragover { border-color: #bacdff; background: #293f62; box-shadow: inset 0 0 0 1px #bacdff; }
.apk-picker:has(button:disabled) { border-color: #3c4c65; background: #142031; }
.apk-file-info { border-bottom: 1px solid #34475f; margin: 10px 0; padding-bottom: 12px; }
.apk-file-info span { color: #b1c2de; }
.apk-progress-region label { color: #c5d5ef; }
.apk-result { font-size: 12px; color: #c7d8f1; }
.apps-install-entry { background: #1d2d44; border-color: #3d5578; }
.apps-install-entry > span { color: #b4c7e3; font-size: 12px; }
.section-label { color: #b0c2df; font-size: 11px; }
.app-item { font-size: 12px; }
.host-detail { font-size: 12px; }
.host-detail span { color: #adc0de; }
.host-detail strong { color: #d6e3f8; }
th { color: #aebfda; font-size: 11px; background: #1b293d; }
td { color: #bccce4; font-size: 12px; }
.aggregate-note { color: #b3c6e4; font-size: 12px; }

@media (max-width: 1340px) and (min-width: 761px) {
  .workspace-grid { grid-template-columns: 206px minmax(0, 1fr); }
  .fleet-panel { grid-column: 1; grid-row: 1; }
  .control-panel { grid-column: 2; grid-row: 1; }
  .activity-panel { display: block; grid-column: 1; grid-row: 2; }
  .activity-panel .agent-note { margin: 0; border: 0; border-top: 1px solid #31435f; border-radius: 0; }
  .activity-summary { margin: 12px; }
  .recent-batches { max-height: 180px; min-height: 80px; }
  .phone-list { min-height: 100px; max-height: 300px; }
  .heading-actions .button { padding: 0 10px; font-size: 11px; }
}
@media (max-width: 1050px) and (min-width: 761px) {
  .sidebar { width: 68px; padding: 22px 10px; }
  .sidebar .brand > span:last-child, .nav-caption, .sidebar-bottom, .nav-current, .nav-count { display: none; }
  .sidebar .brand { justify-content: center; }
  .sidebar nav { margin-top: 32px; gap: 12px; }
  .nav-item { justify-content: center; padding: 0; font-size: 0; gap: 0; }
  .nav-icon { font-size: 23px; }
  .main-shell { margin-left: 68px; width: calc(100% - 68px); }
  .content { padding: 16px 18px 0; }
  .topbar { padding: 0 18px; }
  .node-selector > span { display: none; }
  .node-selector select { width: 255px; max-width: 255px; font-size: 11px; }
  .workspace-grid { grid-template-columns: 190px minmax(0, 1fr); gap: 12px; }
  .control-body { grid-template-columns: minmax(0, 1fr) 94px; }
  .device-tools { padding-left: 6px; padding-right: 6px; }
  .page-heading h1 { font-size: 22px; }
  .page-heading p { font-size: 11px; }
  .topbar-right { gap: 7px; }
  .topbar-divider { margin: 0 2px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  :root { --stage-height: clamp(350px, calc(100dvh - 260px), 600px); }
  .app-shell { flex-direction: column; }
  .sidebar { position: static; width: 100%; padding: 15px 16px 10px; border-right: 0; border-bottom: 1px solid #29374c; }
  .sidebar .brand { justify-content: flex-start; font-size: 12px; }
  .sidebar .brand > span:last-child { display: block; }
  .sidebar .brand-mark { width: 29px; height: 31px; font-size: 22px; }
  .sidebar .brand small { display: none; }
  .nav-caption, .sidebar-bottom, .nav-current { display: none; }
  .sidebar nav { flex-direction: row; gap: 6px; margin-top: 13px; }
  .nav-item { width: auto; flex: 1; justify-content: center; gap: 7px; height: 36px; padding: 0 7px; font-size: 12px; }
  .nav-icon { font-size: 18px; }
  .nav-count { display: inline-block; margin-left: 0; }
  .main-shell { margin: 0; width: 100%; }
  .topbar { min-height: 60px; height: auto; padding: 10px 16px; gap: 8px; }
  .breadcrumb, .topbar-divider, .topbar-right .avatar, #current-user { display: none; }
  .topbar-right { flex: 1; width: 100%; gap: 8px; }
  .connection-state { display: flex; margin-left: auto; font-size: 10px; white-space: nowrap; }
  .node-selector { min-width: 0; flex: 1; gap: 0; }
  .node-selector > span { display: none; }
  .node-selector select { width: 100%; min-width: 0; max-width: 100%; min-height: 36px; font-size: 11px; }
  #logout-button { width: 26px; min-width: 26px; }
  .content { padding: 17px 14px 0; }
  .page-heading { gap: 12px; flex-direction: column; align-items: flex-start; margin-bottom: 14px; }
  .page-heading h1 { font-size: 24px; }
  .page-heading p { font-size: 12px; }
  .heading-actions { width: 100%; gap: 6px; }
  .heading-actions .button { flex: 1; padding: 0 9px; font-size: 11px; }
  .heading-actions #new-apk-button { flex-basis: auto; }
  .resources-details { margin-bottom: 14px; }
  .resources-details > summary { gap: 7px; padding: 10px 11px; flex-wrap: wrap; }
  .resource-current { order: 4; flex-basis: 100%; border: 0; padding-left: 23px; font-size: 10px; }
  .resource-toggle-label { margin-left: auto; }
  .resources-content { padding: 12px; }
  .node-overview-heading { flex-direction: column; align-items: flex-start; gap: 6px; }
  .node-comparison { grid-template-columns: minmax(0, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-card { padding: 10px; }
  .stat-caption { font-size: 10px; }
  .compatibility-note { gap: 8px; align-items: flex-start; flex-wrap: wrap; font-size: 11px; }
  .compatibility-note p { flex-basis: calc(100% - 25px); }
  .compatibility-note .text-button { margin-left: 20px; font-size: 11px; }
  .workspace-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .fleet-panel, .control-panel, .activity-panel { grid-column: 1; grid-row: auto; }
  .fleet-panel .panel-heading { min-height: 45px; }
  .fleet-tabs { height: 32px; padding: 0 14px; }
  .fleet-tab { height: 32px; }
  .phone-list { min-height: 0; max-height: 174px; display: flex; flex-direction: row; gap: 9px; padding: 10px; overflow-x: auto; }
  .phone-card { min-width: 196px; max-width: 230px; margin: 0; padding: 10px 12px; }
  .phone-card-top { margin-bottom: 6px; }
  .phone-card-bottom { margin-top: 6px; }
  .device-mini { width: 21px; height: 28px; }
  .fleet-footer { font-size: 10px; padding: 8px 12px; }
  .control-heading { min-height: 63px; }
  .control-toolbar { padding: 9px 10px; gap: 6px; }
  .control-toolbar .button { min-height: 32px; padding: 0 8px; font-size: 11px; }
  .toolbar-preview { margin-left: auto; }
  .control-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 48px auto; }
  .screen-stage { padding: 12px; height: var(--stage-height); min-height: 0; }
  .phone-screen { max-height: calc(var(--stage-height) - 24px); }
  .device-navigation { grid-column: 1; grid-row: 2; }
  .device-tools { grid-column: 1; grid-row: 3; flex-direction: row; border-left: 0; border-top: 1px solid #2b394f; padding: 9px; gap: 7px; }
  .device-tools .button { flex: 1; min-height: 39px; flex-direction: row; gap: 6px; font-size: 11px; padding: 8px 5px; }
  .device-tools-label, .device-tools-note { display: none; }
  .device-tools .tool-icon { font-size: 17px; }
  .preview-foot { padding: 9px 11px; }
  .preview-foot #preview-status { font-size: 10px; }
  .activity-panel { display: block; }
  .activity-panel .agent-note { margin: 0; border: 0; border-top: 1px solid #31435f; border-radius: 0; }
  .recent-batches { max-height: 240px; }
  .content-footer { padding: 16px 0; font-size: 9px; line-height: 1.8; gap: 12px; }
  dialog { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  .dialog-content { padding: 20px; }
  .dialog-heading h2 { font-size: 21px; }
  .apk-picker { padding: 20px 12px; }
  .apk-picker > strong { font-size: 13px; }
  .apps-install-entry { align-items: flex-start; flex-direction: column; }
  .toast-region { right: 12px; bottom: 12px; width: calc(100% - 24px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* Installed-app names remain readable without exposing system components. */
.app-label{display:grid;gap:4px;min-width:0}.app-label strong{font-size:13px;color:#e0e9fa}.app-label small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}

/* Destructive actions state their exact target and require explicit confirmation. */
.delete-warning{padding:12px 14px;border:1px solid #865264;border-radius:8px;background:#422735;color:#ffd3db}.delete-phone-target{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px 12px;padding:14px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:#111c2c}.delete-phone-target>span{color:var(--muted);font-size:11px}.delete-phone-target strong{font-size:12px;color:#e5edfb;overflow-wrap:anywhere}.delete-phone-target code{font-size:11px;color:#becce2;overflow-wrap:anywhere}.button.delete-confirm-button{background:#a84157;border:1px solid #d5687e;color:#fff}.button.delete-confirm-button:hover{background:#bc4b63}.badge.deleting{background:#4a2d35;color:#ffb6c4}#phone-delete-result{font-size:12px;line-height:1.8;color:#b9cdef}

/* Give the actual phone surface the available space, including upscaling. */
:root { --stage-height: max(300px, calc(100dvh - 313px)); }
.topbar { height: 52px; padding: 0 20px; }
.content { padding: 12px 20px 0; }
#view-workspace > .page-heading { margin-bottom: 10px; flex-direction: row; align-items: center; }
#view-workspace > .page-heading .eyebrow, #view-workspace > .page-heading p { display: none; }
#view-workspace > .page-heading h1 { margin: 0; font-size: 22px; }
.resources-details { margin-bottom: 10px; }
.resources-details > summary { min-height: 36px; padding: 8px 12px; }
.control-heading { min-height: 48px; gap: 10px; }
.control-heading > div:first-child { flex: 1; min-width: 0; }
.control-heading h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.control-heading-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
#focus-tools-toggle { display: none; }
.control-toolbar { min-height: 40px; padding: 4px 10px; gap: 6px; }
.screen-stage { container-type: size; padding: 6px; }
.phone-screen { width: min(100cqw, calc(100cqh * var(--phone-screen-ratio, .5625))); height: auto; max-width: 100%; max-height: 100%; }
.device-navigation { padding: 4px 8px; }
.device-navigation button { height: 32px; }
.preview-foot { min-height: 20px; padding: 1px 10px; }
@media (min-width: 761px) {
  .control-body { grid-template-columns: minmax(0, 1fr) 88px; grid-template-rows: minmax(0, 1fr) 42px; }
  .device-tools { padding: 10px 7px; gap: 9px; }
  .device-tools .button { min-height: 54px; }
  .device-tools .tool-icon { font-size: 19px; }
}
@media (max-width: 760px) {
  :root { --stage-height: max(360px, calc(100dvh - 220px)); }
  .sidebar { padding: 11px 14px 8px; }
  .sidebar nav { margin-top: 9px; }
  .topbar { min-height: 52px; height: auto; padding: 8px 12px; }
  .content { padding: 12px 12px 0; }
  #view-workspace > .page-heading { flex-wrap: wrap; gap: 9px; }
  #view-workspace > .page-heading h1 { font-size: 21px; }
  #view-workspace > .page-heading .heading-actions { width: auto; flex: 1; justify-content: flex-end; }
  #view-workspace > .page-heading .heading-actions .button { min-height: 34px; font-size: 10px; padding: 0 8px; }
  .resources-details > summary { padding: 8px 10px; }
  .resource-current { display: none; }
  .fleet-panel .panel-heading { min-height: 38px; }
  .fleet-tabs { height: 28px; }
  .fleet-tab { height: 28px; }
  .phone-list { max-height: 113px; padding: 8px; }
  .phone-card { min-width: 156px; max-width: 195px; padding: 8px 10px; }
  .phone-card-top { margin-bottom: 5px; }
  .phone-card-title { font-size: 11px; }
  .phone-card-meta { font-size: 10px; }
  .phone-card-bottom { display: none; }
  .fleet-footer { padding: 6px 10px; }
  .control-heading { min-height: 48px; padding: 7px 10px; }
  .control-heading h2 { font-size: 12px; }
  .control-heading .panel-subtitle { font-size: 10px; }
  .control-heading .badge { display: none; }
  .control-heading-actions .button { padding: 0 8px; font-size: 10px; }
  .control-toolbar { padding: 5px 8px; gap: 5px; }
  .control-toolbar .button { min-height: 30px; padding: 0 7px; }
  .control-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 42px auto; }
  .screen-stage { padding: 6px; }
  .device-tools { padding: 7px; }
  .device-tools .button { min-height: 36px; }
}

/* Focus mode is one compact header, the phone, and three navigation keys. */
#app-view.focus-mode { position: fixed; inset: 0; z-index: 20; height: 100dvh; min-height: 0; overflow: hidden; background: #080e17; }
#app-view.focus-mode .sidebar, #app-view.focus-mode .topbar,
#app-view.focus-mode .page-heading, #app-view.focus-mode .resources-details,
#app-view.focus-mode .fleet-panel, #app-view.focus-mode .activity-panel,
#app-view.focus-mode .content-footer { display: none; }
#app-view.focus-mode .main-shell, #app-view.focus-mode .content,
#app-view.focus-mode #view-workspace, #app-view.focus-mode .workspace-grid { margin: 0; padding: 0; width: 100%; height: 100%; max-width: none; }
#app-view.focus-mode .workspace-grid { display: block; }
#app-view.focus-mode .control-panel { display: flex; flex-direction: column; height: 100%; min-height: 0; border: 0; border-radius: 0; box-shadow: none; }
#app-view.focus-mode .control-heading { min-height: 40px; height: 40px; padding: 0 10px; flex: 0 0 40px; background: #101925; }
#app-view.focus-mode .control-heading h2 { font-size: 12px; color: #bccbe1; font-weight: 500; }
#app-view.focus-mode .control-heading .panel-subtitle,
#app-view.focus-mode #device-state-badge { display: none; }
#app-view.focus-mode .control-heading-actions { gap: 6px; }
#app-view.focus-mode .control-heading-actions .button { min-height: 30px; padding: 0 10px; font-size: 11px; }
#app-view.focus-mode #focus-tools-toggle { display: inline-flex; }
#app-view.focus-mode .control-toolbar, #app-view.focus-mode .device-tools,
#app-view.focus-mode .preview-foot, #app-view.focus-mode .upload-status { display: none; }
#app-view.focus-mode .control-body { position: relative; flex: 1 1 0; min-height: 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 40px; }
#app-view.focus-mode .screen-stage { grid-column: 1; grid-row: 1; height: 100%; min-height: 0; padding: 4px; background: #080e17; }
#app-view.focus-mode .phone-screen { max-height: 100%; max-width: 100%; border-radius: 0; box-shadow: none; }
#app-view.focus-mode .device-navigation { grid-column: 1; grid-row: 2; height: 40px; min-height: 40px; padding: 2px 8px; gap: 18px; background: #101925; }
#app-view.focus-mode .device-navigation button { width: 64px; height: 34px; border-radius: 5px; }
#app-view.focus-mode .device-navigation [data-swipe] { display: none; }
#app-view.focus-mode .owner-message { position: absolute; z-index: 6; left: 10px; right: 10px; top: 46px; padding: 8px 10px; max-height: 80px; overflow-y: auto; font-size: 11px; }
#app-view.focus-mode #global-error { position: fixed; z-index: 7; top: 46px; left: 10px; right: 10px; margin: 0; }
#app-view.focus-mode.focus-tools-open .control-toolbar { display: flex; flex: 0 0 auto; min-height: 40px; padding: 5px 10px; }
#app-view.focus-mode.focus-tools-open .device-tools { display: flex; position: absolute; z-index: 4; grid-column: auto; grid-row: auto; top: 10px; right: 10px; width: 108px; max-height: calc(100% - 62px); overflow-y: auto; padding: 9px; gap: 8px; flex-direction: column; border: 1px solid #455575; border-radius: 9px; background: #172438f5; box-shadow: 0 8px 24px #0006; }
#app-view.focus-mode.focus-tools-open .device-tools .button { min-height: 53px; font-size: 11px; }
#app-view.focus-mode .device-tools-label, #app-view.focus-mode .device-tools-note { display: none; }
#app-view.focus-mode.focus-tools-open .preview-foot { display: flex; flex: 0 0 auto; min-height: 26px; padding: 4px 10px; }
#app-view.focus-mode.focus-tools-open .upload-status { display: block; flex: 0 0 auto; max-height: 62px; padding: 7px 10px; overflow-y: auto; font-size: 11px; }
#app-view.focus-mode.focus-tools-open .device-navigation [data-swipe] { display: block; }
@media (max-width: 760px) {
  #app-view.focus-mode .control-heading { padding: 0 8px; gap: 6px; }
  #app-view.focus-mode .control-heading-actions { gap: 4px; }
  #app-view.focus-mode .control-heading-actions .button { padding: 0 8px; font-size: 10px; }
  #app-view.focus-mode .control-heading h2 { font-size: 11px; }
  #app-view.focus-mode .device-navigation { gap: 12px; }
  #app-view.focus-mode .device-navigation button { width: 56px; }
  #app-view.focus-mode.focus-tools-open .control-toolbar { padding: 5px 8px; gap: 5px; }
  #app-view.focus-mode.focus-tools-open .device-tools { top: 8px; right: 8px; width: min(244px, calc(100% - 16px)); flex-direction: row; padding: 7px; gap: 7px; }
  #app-view.focus-mode.focus-tools-open .device-tools .button { flex: 1; min-height: 37px; flex-direction: row; gap: 5px; padding: 7px; }
  #app-view.focus-mode.focus-tools-open .device-tools .tool-icon { font-size: 17px; }
  #app-view.focus-mode.focus-tools-open .device-navigation { gap: 6px; }
}
#app-view.focus-mode .device-navigation button { flex: 0 1 64px; min-width: 0; }
@media (max-width: 760px) {
  #app-view.focus-mode .device-navigation button { flex-basis: 56px; }
}
