:root{color-scheme:dark;--bg:#100d18;--panel:#1b1625;--line:#342b44;--muted:#afa4bc;--lime:#d8ff73;--purple:#aa7aff;--pink:#ff278c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f7f3ff;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:#2b2238;color:white;padding:10px 14px;text-decoration:none;font-size:12px;font-weight:650;cursor:pointer}button:hover,.button:hover{border-color:var(--purple);background:#3b2a4d}button:disabled{opacity:.45;cursor:default}.primary{background:var(--lime);border-color:var(--lime);color:#172411}.primary:hover{background:#e7ffa9}.quiet{background:transparent}a{color:var(--purple)}h1,h2,h3,p{margin:0}h1{font-size:33px;letter-spacing:-1px}h2{font-size:20px;letter-spacing:-.4px}p+p{margin-top:12px}.muted{color:var(--muted);font-size:12px;line-height:1.7}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:750;color:var(--purple);margin-bottom:7px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;background:#17111ff5;border-bottom:1px solid var(--line);padding:14px 25px;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;white-space:nowrap}.brand img{width:100px}.brand>span{font-size:10px;letter-spacing:2px}.brand small{display:block;font-size:7px;color:var(--muted);letter-spacing:1px;margin-top:3px}nav{display:flex;gap:5px;flex:1;overflow:auto}nav a{white-space:nowrap;font-size:12px;font-weight:650;text-decoration:none;color:var(--muted);border-radius:8px;padding:11px 12px}nav a.active{background:#39254a;color:white}#language{width:auto;font-size:11px;margin:0;padding:8px}#sessionName{font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis}main{max-width:1560px;margin:auto;padding:30px 30px 70px}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:23px}.heading .muted{margin-top:7px}.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:23px;margin-bottom:22px}.panel>h2{margin-bottom:14px}.summary{display:flex;gap:12px;margin-bottom:25px}.metric{border:1px solid var(--line);border-radius:11px;padding:14px 20px;min-width:140px;background:#191321}.metric strong{display:block;font-size:26px;font-weight:750}.metric span{color:var(--muted);font-size:10px}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.device-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:21px;display:flex;flex-direction:column;gap:12px}.device-card h2{font-size:19px}.device-card .current{min-height:40px;font-size:12px;color:#d5ccdf}.device-card .actions{margin-top:auto}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;border-radius:20px;padding:4px 9px;background:#33283f;color:#beb1c9;white-space:nowrap}.status.live{background:#243d2b;color:#c7f39c}.status.expired,.status.offline{background:#452a36;color:#ffafc5}.status.upcoming{background:#253850;color:#adceff}.status.warning{background:#483821;color:#ffdf9f}.actions{display:flex;align-items:center;gap:9px}.wrap{flex-wrap:wrap;margin-top:16px}.actions select{margin:0;width:auto;max-width:100%}.upload-row{display:flex;align-items:end;gap:20px}.upload-row>p{align-self:center}.row{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:15px 0}.row:first-child{border-top:0}.row .info{flex:1;min-width:0}.row strong{font-size:12px;display:block;overflow-wrap:anywhere}.row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.row button{padding:7px 10px;font-size:10px}.row .actions{flex-wrap:wrap;justify-content:flex-end}.row.archived{opacity:.55}.row input[type=checkbox]{flex-shrink:0}.message-copy{white-space:pre-wrap}.target-list{max-height:210px;overflow:auto;border-top:1px solid var(--line);padding:8px 0}.target-list:empty{display:none}label{display:block;font-size:11px;font-weight:650;color:#cbbfd6}input:not([type=checkbox]),textarea,select{display:block;width:100%;background:#100c18;color:white;border:1px solid #443352;border-radius:8px;padding:10px 12px;margin-top:7px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--purple)}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{accent-color:var(--lime);width:16px;height:16px}.check{display:flex;align-items:center;gap:8px;margin:13px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inline-form{display:flex;align-items:end;gap:15px;margin-top:20px}.inline-form>label{flex:1;max-width:350px}.pair-code{font-size:29px;letter-spacing:5px;color:var(--lime);font-weight:750;margin:20px 0 8px}.empty{padding:30px 15px;color:var(--muted);font-size:13px;text-align:center}.acting-banner{position:sticky;top:86px;z-index:10;display:flex;gap:18px;align-items:center;background:#d8ff73;color:#16210c;border-radius:12px;padding:15px 20px;margin-bottom:24px;box-shadow:0 6px 28px #0005}.acting-banner>span{font-size:9px;font-weight:850;letter-spacing:1px}.acting-banner strong{font-size:19px}.acting-banner small{font-size:9px;max-width:140px;overflow:hidden;text-overflow:ellipsis}.acting-banner button{margin-left:auto;background:#c0e761;color:#17220d;border-color:#a4c850}.device-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px}.output-panel{padding:0;overflow:hidden}.output{aspect-ratio:16/9;display:grid;place-items:center;position:relative;background:#08060c}.output img{position:absolute;width:100%;height:100%;object-fit:contain}.output p{color:var(--muted);font-size:12px}.output-panel>p,.output-panel>.actions{margin:15px 18px}.output-panel>.actions{flex-wrap:wrap}.stale{opacity:.55}dl{display:grid;grid-template-columns:125px 1fr;gap:10px;font-size:12px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.queue-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:12px 0;font-size:12px}.queue-row strong{flex:1;min-width:0;overflow-wrap:anywhere}.queue-row button{padding:4px 8px}.error{color:#ff9fbc;font-size:12px;margin-top:12px}#notice{padding:12px 16px;border:1px solid #705085;border-radius:9px;background:#301d40;margin-bottom:22px;font-size:12px}#notice.error{background:#43212f;border-color:#99516b}dialog{max-width:570px;width:calc(100% - 28px);padding:29px;border-radius:15px;background:var(--panel);color:white;border:1px solid #654b78}dialog::backdrop{background:#07030bd9;backdrop-filter:blur(5px)}dialog h2{margin-bottom:20px}dialog label{margin:17px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}#loginForm>.primary{width:100%;margin-top:20px}body:not(.ready) main,body:not(.ready) nav,body:not(.ready) #logout{visibility:hidden}[hidden]{display:none!important}@media(max-width:1400px){.topbar{flex-wrap:wrap;gap:12px}nav{order:5;flex-basis:100%}.brand{margin-right:auto}.acting-banner{top:130px}.device-columns{grid-template-columns:1fr}.device-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}}@media(max-width:600px){main{padding:22px 14px 60px}.topbar{padding:10px 14px}.brand img{width:83px}.brand>span{font-size:9px}.brand small{display:none}#sessionName{display:none}nav a{font-size:11px;padding:9px}.heading{align-items:flex-start;flex-wrap:wrap}.summary{gap:7px}.metric{min-width:0;flex:1;padding:12px}.metric strong{font-size:23px}.panel{padding:17px}.form-grid{grid-template-columns:1fr}.row{flex-wrap:wrap}.row .actions{width:100%;justify-content:flex-start;margin-left:30px}.upload-row{flex-wrap:wrap}.acting-banner{flex-wrap:wrap;gap:7px;top:115px;padding:12px}.acting-banner small{display:none}.acting-banner strong{font-size:16px}.acting-banner button{font-size:10px}.inline-form{flex-wrap:wrap}.pair-code{font-size:22px}.actions{flex-wrap:wrap}}

.local-text-card{padding:15px 0;border-top:1px solid var(--line);margin-top:15px}.local-text-card .heading{margin-bottom:10px}.local-text-card .check{margin:0}.local-text-card .form-grid{margin-top:12px}.local-text-card>textarea{min-height:65px}
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.tabs [aria-selected=true]{background:#45305b;border-color:var(--purple);color:white}.tabs span{margin-left:5px}.delivery-card+.delivery-card{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.delivery-card .heading{margin-bottom:12px}.recipient{padding:13px 0 6px 18px;border-left:2px solid var(--line);margin:17px 0}.recipient>div{display:flex;gap:12px;align-items:center;margin-bottom:7px;flex-wrap:wrap}.recipient small{color:var(--muted);font-size:10px}progress{display:block;width:100%;height:9px;border:0;border-radius:10px;overflow:hidden;accent-color:var(--lime);background:#352b42}progress::-webkit-progress-bar{background:#352b42;border-radius:10px}progress::-webkit-progress-value{background:linear-gradient(90deg,#aa7aff,#d8ff73);border-radius:10px}#connectionNotice{padding:13px 18px;border:1px solid #729c42;border-radius:10px;background:#25331c;margin-bottom:22px;font-size:13px;color:#dbffb2}.pair-result{color:var(--lime);font-weight:700;margin-top:18px}#deviceInventory .row{flex-wrap:wrap}#deviceInventory .actions{margin-left:auto}
.selection-box{min-width:76px;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border:1px solid var(--line);border-radius:8px}.selection-box:has(input:checked){border-color:var(--lime);background:#28351b;color:var(--lime)}.selection-box span{font-size:10px}.single-panel{display:block!important}.source-card{padding:18px;border:1px solid var(--line);border-radius:11px;margin-bottom:15px;background:#15101e}.source-results{margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.source-results progress{max-width:150px}.source-results .heading{flex-wrap:wrap}.source-results small{color:var(--muted)}.change-detail{margin-top:8px!important;font-size:13px;color:#e0d3ed}.client-tabs{margin-bottom:24px}.client-tabs button[aria-selected=true]{background:#45305b}

.sync-explainer{padding:20px;border:1px solid #614474;border-radius:12px;background:#241d30;margin-bottom:30px}.sync-explainer p{color:#c0b3cf;line-height:1.6;font-size:13px}.sync-action{padding:22px 0;border-bottom:1px solid #493954}.sync-action:last-child{border:0}.sync-action h3{font-size:16px;line-height:1.5;margin:0 0 7px}.sync-action .heading{margin-bottom:12px}.sync-action small{color:#ad9dbb;font-size:11px}.sync-recipient{margin:12px 0 0;padding:12px 15px;background:#110f1a;border-radius:8px}.sync-recipient>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sync-recipient strong{flex:1;font-size:13px}.sync-recipient progress{margin-top:10px}.sync-recipient p{font-size:12px}.sync-action.finished{opacity:.9}

.client-groups{display:grid;gap:28px}.client-group{min-width:0;padding:22px;background:#18121f;border:1px solid #45334e;border-radius:17px}.client-group-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:17px;margin-bottom:19px;border-bottom:1px solid #3d2d49}.client-group-heading>div{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.client-group-heading h2{font-size:22px;overflow-wrap:anywhere}.client-group-icon{display:grid;place-items:center;background:#3d2451;color:#d3a3ff;width:35px;height:35px;border:1px solid #77528f;border-radius:10px;font-size:24px;flex-shrink:0}.client-group-count{font-size:11px;color:#b9a7c7;background:#2c2037;padding:4px 9px;border-radius:20px}.device-card h3{font-size:19px;letter-spacing:-.4px;line-height:1.35}.client-group .device-card{background:#211829}.client-group .device-grid{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr))}@media(max-width:600px){.client-group{padding:16px}.client-group-heading{align-items:flex-start}.client-group-heading h2{font-size:19px}.client-group-heading>div{gap:8px}.client-group-heading>.status{font-size:9px}.client-group-count{font-size:10px}}

/* Offline clients remain editable using their last reported configuration. */
.offline-control{background:#37353d;border-color:#57535f;color:#d6d1dc}.offline-control:hover{background:#45414b;border-color:#82798e;color:#fff}
.update-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:22px}.update-grid .panel>label{margin:18px 0}.update-grid hr{border:0;border-top:1px solid var(--line);margin:25px 0}.update-grid progress{width:100%;margin-top:15px;accent-color:var(--lime)}.update-choice{display:flex;gap:12px;border:1px solid #594267;background:#251c32;border-radius:12px;padding:16px}.update-choice:has(input:checked){border-color:#d8ff73;background:#293026}.update-choice input{width:18px!important;height:18px;accent-color:var(--lime);flex-shrink:0}.update-choice span{display:grid;gap:7px}.update-choice strong{font-size:15px;color:#fff}.update-choice small{font-size:12px;color:#c6b9d1;font-weight:400;line-height:1.6}.update-target-title{margin-top:28px}.update-targets{max-height:240px;overflow:auto}.update-targets label{flex-wrap:wrap}.update-targets .status{font-size:9px}.update-job{margin-top:18px}.update-recipient{border-top:1px solid var(--line);padding:16px 0}.update-recipient>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.update-recipient small{color:var(--muted)}.update-recipient progress{width:100%;height:8px;accent-color:var(--lime)}@media(max-width:850px){.update-grid{grid-template-columns:1fr}}

/* Version state is independent of connectivity and updater service readiness. */
.software-status{display:grid;gap:7px;margin:10px 0 12px;font-size:12px}
.software-versions{color:var(--muted,#b7acc9);line-height:1.5}.software-versions b{color:#f2eaf9;font-variant-numeric:tabular-nums}
.software-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.status.neutral{background:#3c334b;color:#e2d8ee}
.software-service{font-size:11px;line-height:1.5}.software-service.ready{color:#bcdbb0}.software-service.missing{color:#ecd09a}
.update-targets .check.update-target{align-items:flex-start;padding:12px 0;border-bottom:1px solid #ffffff0c;gap:12px}
.update-target>input{margin-top:3px;flex-shrink:0}.update-target-body{display:block;min-width:0;flex:1}.update-target-body>strong{display:block;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.update-target .software-status{margin:5px 0 0}
.update-comparison{padding:12px 14px;margin:12px 0;background:#ffffff06;border:1px solid #ffffff12;border-radius:10px;font-size:12px;color:#c7bed4}.update-comparison p{margin:0 0 9px}.update-comparison>div{display:flex;gap:8px 16px;flex-wrap:wrap}.update-comparison>small{display:block;margin-top:10px;line-height:1.6;color:#bcb0ce}

.pair-connection-help{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);line-height:1.7}.pair-connection-help h3{margin-top:0}
.settings-content #softwareUpdates .update-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))}
