@font-face{font-family:Inter;src:url('/assets/inter-latin-ext-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('/assets/inter-latin-ext-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url('/assets/inter-latin-ext-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url('/assets/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:Inter;src:url('/assets/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:Inter;src:url('/assets/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0000-00FF}
:root{color-scheme:dark;--bg:#0b101a;--panel:#121d2b;--border:#2b3b50;--cyan:#63d6e8;--text:#f2f6fc;--muted:#a5b8cc;--amber:#ffc56e;--red:#ff8a9b;--green:#68dbac}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.55}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}p{color:var(--muted)}.brand{display:flex;gap:10px;align-items:center;font-size:26px;font-weight:600;letter-spacing:-1px}.brand img{display:block}.button,.secondary{border:1px solid transparent;border-radius:8px;background:var(--cyan);color:#061d2a;min-height:46px;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:11px 18px;font-weight:500;font-size:14px}.secondary{color:#dbe9f7;border-color:var(--border);background:#152131}.button:hover:enabled{background:#91e7f2}.secondary:hover:enabled{border-color:#63d6e8}.compact{min-height:38px;padding:7px 13px;font-size:13px}.eyebrow{font-size:13px;letter-spacing:1.5px;color:var(--cyan);display:block;margin-bottom:16px}.login{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr;max-width:1440px;margin:auto;padding:50px 70px;gap:100px}.login-story{display:flex;flex-direction:column;justify-content:space-between;min-height:720px;position:relative}.login-story:before{content:'';position:absolute;z-index:-1;inset:100px -60px;background:radial-gradient(ellipse,#1d72872b,transparent 65%)}.login-story h1{font-size:57px;font-weight:500;line-height:1.16;letter-spacing:-2.7px}.login-story em{color:var(--cyan);font-style:normal}.login-story p{font-size:18px;margin:26px 0;line-height:1.8}.login-lines{display:grid;gap:18px;margin-top:36px;font-size:13px;color:#7897b1}.login-lines b{font-weight:400;color:#c7d7e7;font-size:15px;margin-left:24px}.login-story small{color:#8aa2b9;font-size:13px;max-width:490px}.login-card{align-self:center;padding:42px;background:linear-gradient(140deg,#182737,#101925);border:1px solid #385067;border-radius:16px;box-shadow:0 30px 80px #0004}.login-card h2{font-size:29px;font-weight:500;letter-spacing:-1px;margin-bottom:15px}.login-card p{font-size:14px}.login-card form{margin:26px 0}.login-card label{display:block;font-size:14px;margin:18px 0}.login-card input{width:100%;margin-top:8px}.login-card button{width:100%}.back-link{display:block;font-size:13px;color:#a7bfd2;margin-top:25px}.form-message{font-size:14px;color:var(--amber);margin:16px 0;white-space:pre-wrap}.form-message:empty{display:none}.workspace{display:flex;min-height:100vh}.sidebar{width:238px;flex:0 0 238px;padding:27px 18px;position:sticky;top:0;height:100vh;background:#0e1723;border-right:1px solid #26374b;display:flex;flex-direction:column}.sidebar .brand{padding:0 14px}.sidebar-label{font-size:12px;letter-spacing:1.6px;color:#7190aa;margin:40px 14px 15px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid transparent;background:none;padding:13px 15px;border-radius:8px;font-size:14px;color:#aabfd2;min-height:48px}.sidebar nav button span{font-size:21px;min-width:23px;color:#6686a2;line-height:1}.sidebar nav button.active{border-color:#335769;background:linear-gradient(90deg,#163544,#132534);color:#e7f5fc}.sidebar nav button.active span{color:var(--cyan)}.sidebar nav button:hover{color:var(--cyan)}.sidebar-foot{margin-top:auto;font-size:12px;padding:18px 14px 0;color:#a4bfd1}.sidebar-foot small{display:block;color:#66859c;margin:8px 0 0 14px;font-size:12px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;margin-right:7px}.main{flex:1;min-width:0;padding:0 34px 28px}.toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);min-height:86px;gap:20px}.breadcrumb{font-size:14px;color:#6f8ba4}.breadcrumb span{color:#c2d5e6}.toolbar-actions{display:flex;gap:10px;align-items:center}.session-tag{font-size:12px;color:#91adc2;margin-right:10px}.preview-banner{font-size:13px;background:#302a1b;color:#ffda91;border:1px solid #5c4a25;padding:10px 16px;border-radius:0 0 8px 8px}.page-message{color:var(--amber);font-size:14px;margin:15px 0}.page-message:empty{display:none}#content{padding-top:26px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading h1{font-size:27px;line-height:1.3;font-weight:500;letter-spacing:-.8px}.page-heading p{font-size:14px;margin-top:8px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:27px}.metric{padding:21px 22px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,#162332,#101a28)}.metric>span{font-size:13px;color:#95adc3}.metric strong{display:block;font-size:34px;letter-spacing:-1px;font-weight:500;margin:8px 0}.metric small{font-size:12px;color:#859eb5}.metric.warn strong{color:var(--amber)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:24px}.panel-head{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:17px;font-weight:500}.panel-head p{font-size:13px;margin-top:7px}.panel-head .actions{display:flex;gap:12px}.panel-body{padding:24px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:790px;text-align:left}th{font-size:12px;font-weight:500;color:#7f9db6;background:#0f1b28;letter-spacing:.3px}th,td{padding:17px 22px;border-bottom:1px solid #26374b;white-space:nowrap}td{font-size:14px;color:#c9d9e8}td:first-child{color:#e9f0f8}td small{display:block;font-size:12px;color:#7d9ab2;margin-top:3px}tr:last-child td{border-bottom:0}.pill{display:inline-flex;border:1px solid #3d5063;border-radius:5px;font-size:12px;padding:4px 8px;line-height:1.3;color:#b3c9db;background:#1b2938}.pill.ok{color:var(--green);border-color:#2d6157;background:#15332d}.pill.warn{color:var(--amber);border-color:#715b32;background:#342b1c}.pill.bad{color:var(--red);border-color:#77434f;background:#34232d}.pill.cyan{color:var(--cyan);border-color:#356170;background:#18313e}.muted{color:#7f9bb4}.text-button{border:0;background:transparent;color:var(--cyan);font-size:13px;padding:7px;white-space:nowrap}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.empty{padding:40px 25px;text-align:center;color:#8faac0;font-size:14px}.empty strong{display:block;color:#c9dce9;font-size:18px;font-weight:500;margin-bottom:10px}.note{font-size:13px;padding:16px 20px;border:1px solid #355266;background:#122937;color:#afcfdf;border-radius:8px;margin-bottom:22px}.privacy-foot{font-size:12px;color:#6f8aa1;max-width:950px;padding-top:25px;line-height:1.8}.search{width:260px;max-width:100%}input,select,textarea{border:1px solid #3a5268;background:#0d1926;color:#e7f2fa;padding:11px 13px;border-radius:7px;font-size:14px;min-height:44px}textarea{min-height:120px;resize:vertical;line-height:1.5;width:100%}.filters{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filters select{max-width:100%}.balance-row{display:flex;gap:25px;flex-wrap:wrap;padding:22px}.balance-row div{border-left:2px solid #315167;padding-left:15px}.balance-row span{display:block;font-size:12px;color:#91abc1}.balance-row strong{display:block;font-size:25px;font-weight:500;color:var(--cyan);margin:8px 0}.platform-editor{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px}.platform-field{padding:22px;border:1px solid #31465c;border-radius:10px;background:#101d2c}.platform-title{display:flex;gap:12px;align-items:center;margin-bottom:22px}.platform-title img{width:30px;height:30px}.platform-title strong{font-weight:500;font-size:17px}.platform-field label{display:block;font-size:13px;color:#afc5d7;margin:14px 0 0}.platform-field input,.platform-field select{display:block;width:100%;margin-top:7px}.platform-field small{font-size:12px;color:#7d9db7;display:block;margin-top:12px}.platform-editor-foot{padding:22px 24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;align-items:center}.platform-editor-foot p{font-size:13px;max-width:700px}.preview-links{display:flex;flex-wrap:wrap;gap:12px}.preview-link{padding:16px;display:flex;align-items:center;gap:10px;border:1px solid #314c61;background:#102331;border-radius:9px}.preview-link img{width:28px}.preview-link b{display:block;font-size:14px;font-weight:500}.preview-link small{display:block;font-size:12px;color:#86abc3}.release-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.release-card{padding:27px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.release-card img{width:32px;height:32px;margin-bottom:22px}.release-card h2{font-size:21px;font-weight:500;margin-bottom:14px}.release-card strong{font-size:32px;color:var(--cyan);font-weight:500;display:block;margin:18px 0}.release-card p{font-size:14px}.release-card .pill{margin-top:20px}dialog{color:var(--text);background:#142131;border:1px solid #3a556c;border-radius:14px;width:650px;max-width:94vw;padding:26px;max-height:90vh;box-shadow:0 30px 70px #0008}dialog::backdrop{background:#030812dc}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-top h2{font-size:22px;font-weight:500}.icon-button{border:0;background:transparent;color:#bcd0df;font-size:26px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}#editor-fields label{display:block;font-size:14px;margin-top:15px}#editor-fields input,#editor-fields select,#editor-fields textarea{display:block;width:100%;margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-row{display:flex;gap:20px;margin-top:16px}.checkbox-row label{display:flex!important;align-items:center;gap:8px}.checkbox-row input{display:inline!important;width:auto!important;min-height:0;margin:0!important}.code{font-family:ui-monospace,monospace;font-size:12px;color:#789ab4;overflow-wrap:anywhere;white-space:normal;max-width:270px}.audit-copy{white-space:pre-wrap;font-size:13px;max-width:430px;color:#9cb7cc;overflow-wrap:anywhere}.help-row{padding:22px}.help-row p{font-size:14px}.help-row a{color:var(--cyan);display:inline-block;margin-top:14px;font-size:14px}
@media(max-width:1100px){.sidebar{width:208px;flex-basis:208px}.main{padding:0 22px 25px}.metrics{grid-template-columns:1fr 1fr}.login{gap:45px;padding:40px}.login-story h1{font-size:48px}.login-card{padding:30px}.two-col{grid-template-columns:1fr}.release-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.login{grid-template-columns:minmax(0,1fr);padding:26px;gap:30px}.login-story{min-height:390px}.login-story:before{inset:100px 0}.login-story h1{font-size:clamp(32px,10vw,42px)}.login-story p{font-size:16px}.login-lines{margin:20px 0}.login-story small{margin-top:30px}.login-card{padding:25px;min-width:0}.workspace{display:block}.sidebar{height:auto;width:100%;position:static;padding:18px;border-right:0;border-bottom:1px solid var(--border)}.sidebar nav{display:flex;overflow:auto;gap:5px;margin-top:18px}.sidebar nav button{white-space:nowrap;font-size:13px;padding:10px 14px}.sidebar-label,.sidebar-foot{display:none}.main{padding:0 18px 24px}.toolbar{min-height:75px;gap:10px;flex-wrap:wrap;padding:14px 0}.toolbar-actions{gap:6px}.session-tag{display:none}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.page-heading p{font-size:13px}.metrics{gap:10px}.metric{padding:17px}.metric strong{font-size:29px}.platform-editor{grid-template-columns:1fr;padding:18px}.platform-editor-foot{display:block}.platform-editor-foot .button{margin-top:18px;width:100%}.release-grid{grid-template-columns:1fr}.panel-head{flex-wrap:wrap;padding:18px}.form-grid{grid-template-columns:1fr}.preview-banner{font-size:12px;padding:10px}.panel-body{padding:18px}.balance-row{gap:20px}.platform-title{margin-bottom:14px}}
/* Site editing keeps draft work and publication separate. */
.cms-summary .panel-head p{font-size:14px;color:#b0c4d5;margin-top:9px}.cms-status{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:22px}.cms-status>span{margin-right:auto;color:#b8cedd;font-size:14px}.cms-group summary{padding:22px;cursor:pointer;display:flex;gap:20px;font-size:19px;font-weight:500}.cms-group summary span{margin-left:auto;font-size:13px;color:#a4bed0;font-weight:400}.cms-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 22px 24px}.cms-field{display:flex;flex-direction:column;gap:9px;min-width:0}.cms-field>span{font-size:14px;line-height:1.6;color:#d7e6f2}.cms-field textarea{min-height:85px;resize:vertical;font:14px/1.7 Inter,sans-serif}.cms-field small{color:#90abc0;font-size:12px}.cms-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 22px 22px}.cms-prices h3{font-size:20px;font-weight:500;margin-bottom:20px}.cms-prices label{margin-top:14px}.cms-note{font-size:14px;line-height:1.8;padding:0 22px 23px;color:#a9c0d3}.cms-save{display:flex;align-items:center;justify-content:space-between;gap:25px;position:sticky;bottom:15px;background:#17293c;border:1px solid #3f6077;border-radius:12px;padding:20px;margin-bottom:24px;z-index:2}.cms-save p{font-size:14px;color:#bdd1e0}.cms-change{padding:16px 0;border-bottom:1px solid #2a4053}.cms-change strong{font-size:14px}.cms-change p{font-size:14px;line-height:1.7;margin-top:10px;white-space:pre-line}.cms-change p>span{color:#78c8df;display:block;font-size:12px;margin-bottom:5px}.cms-history p{font-size:14px;line-height:1.8}.cms-review p{font-size:14px}.cms-fields [hidden]{display:none!important}@media(max-width:760px){.cms-fields,.cms-prices{grid-template-columns:minmax(0,1fr)}.cms-group summary{font-size:17px;padding:20px}.cms-save{position:static;display:block}.cms-save .button{margin-top:15px;width:100%}.cms-status{gap:12px}.cms-status .button{width:100%}}

.account-setup{border-top:1px solid #355069;margin-top:24px;padding-top:24px}.account-setup h3{font-size:21px;line-height:1.5;margin-bottom:14px;font-weight:500}.account-setup p{font-size:14px;line-height:1.8;color:#b1c9dc}.account-setup button{margin-top:15px;min-height:46px}.account-setup form{margin-top:22px}.account-setup .form-message{margin-top:12px}
.totp-qr-frame{width:fit-content;max-width:100%;margin:22px auto;padding:12px;background:#fff;border-radius:14px}.totp-qr-frame canvas{display:block;max-width:100%;height:auto}.totp-manual{margin:20px 0;color:#b1c9dc;font-size:14px;line-height:1.8}.totp-manual summary{cursor:pointer}.totp-manual code{display:block;overflow-wrap:anywhere;padding:14px;margin-top:12px;border:1px solid #355069;border-radius:8px;color:#ecf5ff;background:#101d2b}
#editor-form{display:flex;flex-direction:column;max-height:calc(90vh - 54px)}#editor-fields{overflow-y:auto;min-height:0;padding-right:8px}#editor-form .dialog-top,#editor-form .dialog-actions{flex-shrink:0}#editor-form .dialog-actions{margin-top:18px}#editor-fields .form-message{color:#b1c9dc;line-height:1.7}#editor-fields .note{margin:16px 0 0}#editor-fields textarea{min-height:128px;resize:vertical}#editor-message:empty{display:none}

.card-import{border:1px solid #35556b;background:#102331;border-radius:10px;padding:16px;margin:16px 0}.card-import summary{cursor:pointer;font-size:15px;color:#85d9e8}.card-import button{margin-top:12px}.card-import input[type=file]{font-size:13px;max-width:100%;padding:10px}

/* V3 device approval stays in a visibly isolated TEST workspace. */
.device-test-banner{display:flex;align-items:center;gap:18px;border:1px solid #705c35;background:#201c17;padding:18px 22px;border-radius:12px;margin:18px 0 22px}.device-test-banner p{color:#d7c49e;font-size:15px;line-height:1.7}.device-toolbar{justify-content:flex-end;gap:14px}.device-toolbar select{margin-right:auto;min-width:250px;max-width:100%}.device-identity{display:flex;flex-wrap:wrap;gap:26px;padding:20px 24px;border-bottom:1px solid var(--border)}.device-identity span{display:block;color:#a2bbce;font-size:13px;margin-bottom:7px}.device-identity code{font-size:13px;overflow-wrap:anywhere;color:#d0e5f0}.device-confirm{display:flex;flex-direction:row;align-items:flex-start;gap:12px;margin:22px 0;font-size:15px;line-height:1.7}.device-confirm input{width:20px;height:20px;flex-shrink:0;margin-top:4px}@media(max-width:760px){.device-test-banner{display:block}.device-test-banner p{margin-top:12px}.device-identity{display:block;padding:18px}.device-identity>div+div{margin-top:16px}.device-toolbar{flex-wrap:wrap}.device-toolbar select{width:100%;min-width:0}.device-toolbar .button{width:100%}}

.device-history{margin-top:22px}.device-audit-list{padding:0 24px 12px}.device-audit-list>div{display:grid;grid-template-columns:180px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--border);align-items:center;font-size:14px}.device-audit-list>div:last-child{border-bottom:0}.device-audit-list span,.device-audit-list small{color:#a9c2d5}@media(max-width:760px){.table-scroll table.device-table{min-width:0;width:100%}.device-table thead{display:none}.device-table tbody{display:block}.device-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 18px;border-top:1px solid var(--border)}.device-table td{display:block;padding:12px 0;border:0;white-space:normal;overflow-wrap:anywhere}.device-table td:first-child,.device-table td:last-child{grid-column:1/-1}.device-table td:before{content:attr(data-label);display:block;color:#8daabf;font-size:12px;margin-bottom:9px}.device-table td:first-child:before,.device-table td:last-child:before{display:none}.device-table td:last-child button{width:100%;min-height:44px;background:#123543;border:1px solid #276176;border-radius:8px}.device-audit-list{padding:0 18px 10px}.device-audit-list>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}}

/* Consistent spacing and resilient panels at browser zoom and narrow widths. */
#content{padding-top:24px;min-width:0}
#content>#add-installation{display:flex;margin:0 0 20px auto}
.panel-head>div,.toolbar>div,.toolbar-actions,.cms-section,.form-grid>label{min-width:0}
.panel-head{flex-wrap:wrap;row-gap:12px}
.panel-head .actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}
.panel-head h2,.panel-head p,.privacy-foot,.connection-info,.form-message{overflow-wrap:anywhere}
.login-card{min-width:0}
.sidebar{overflow-y:auto}
dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}
@media(max-width:760px){
 #content{padding-top:18px}
 #content>#add-installation{width:100%;margin-bottom:18px}
 .toolbar{align-items:flex-start;padding-block:16px;min-height:0;gap:12px}
 .toolbar-actions{justify-content:flex-start;gap:8px}
 .session-tag{width:100%}
 .panel-head .actions{width:100%;justify-content:flex-start;margin-left:0}
 .sidebar{overflow-y:visible}
 .login{gap:28px;padding:28px 20px}
 .login-story{min-height:0}
 .login-story h1{overflow-wrap:normal}
}
.page-actions{display:flex;justify-content:flex-end;gap:12px;margin:0 0 16px}
.table-scroll .customer-table{table-layout:fixed;width:100%;min-width:920px}.customer-table th,.customer-table td{padding-left:16px;padding-right:16px;white-space:normal;overflow-wrap:anywhere}.customer-table th:nth-child(1){width:20%}.customer-table th:nth-child(2){width:10%}.customer-table th:nth-child(3){width:24%}.customer-table th:nth-child(4){width:11%}.customer-table th:nth-child(5){width:10%}.customer-table th:nth-child(6){width:15%}.customer-table th:nth-child(7){width:10%}.customer-table .pill{white-space:normal}.customer-table td:last-child{text-align:right}.customer-table .text-button{min-height:40px;white-space:nowrap}.customer-table small{line-height:1.6}
@media(max-width:760px){.table-scroll .customer-table{min-width:0}.customer-table thead{display:none}.customer-table tbody{display:block}.customer-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:16px;border-top:1px solid var(--border)}.customer-table td{display:block;padding:10px 0;border:0}.customer-table td:first-child,.customer-table td:last-child{grid-column:1/-1}.customer-table td:before{content:attr(data-label);display:block;color:#8daabf;font-size:12px;margin-bottom:8px}.customer-table td:first-child:before,.customer-table td:last-child:before{display:none}.customer-table td:last-child button{width:100%;min-height:44px;background:#123543;border:1px solid #276176;border-radius:8px}}
