:root{--td-primary:#043ef8;--td-gradient:#3e9dff;--td-action:#0c4bf9;--td-heading:#172033;--td-text:#30405d;--td-muted:#65728a;--td-surface:#f4f7fb;--td-border:#dce4ef;--td-white:#fff;--td-shadow:0 20px 60px #182b4d1f}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--td-text);background:var(--td-surface);margin:0;font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.login-page{background:radial-gradient(circle at 15% 15%, #3e9dff29, transparent 34%), radial-gradient(circle at 90% 85%, #043ef81a, transparent 35%), var(--td-surface);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.login-card{width:min(100%,540px);box-shadow:var(--td-shadow);background:#fffffff0;border:1px solid #dce4efe6;border-radius:24px;padding:52px}.td-mark{display:block}.eyebrow{color:var(--td-primary);letter-spacing:.12em;text-transform:uppercase;margin:26px 0 8px;font-size:.76rem;font-weight:750}h1,h2,p{margin-top:0}h1{color:var(--td-heading);letter-spacing:-.04em;margin-bottom:16px;font-size:clamp(2rem,5vw,3.1rem);line-height:1.06}.login-copy{max-width:42ch;margin-bottom:28px;font-size:1.05rem;line-height:1.65}.primary-button{color:#fff;background:linear-gradient(135deg, var(--td-primary), var(--td-gradient));cursor:pointer;border:0;border-radius:12px;width:100%;padding:15px 20px;font-weight:750;box-shadow:0 10px 24px #043ef838}.primary-button:hover{filter:brightness(1.04)}.primary-button:focus-visible,.text-button:focus-visible{outline-offset:3px;outline:3px solid #3e9dff59}.remote-connect-control{justify-content:flex-end;align-items:center;gap:8px;display:flex}.primary-button.remote-connect-btn{border-radius:8px;width:auto;min-width:82px;padding:8px 14px;font-size:.78rem;line-height:1.2;box-shadow:0 4px 10px #043ef829}.primary-button.remote-connect-btn:active:not(:disabled){transform:translateY(1px)}.primary-button.remote-connect-btn:disabled{opacity:.72;cursor:wait}.remote-connect-error{color:#b42318;max-width:18ch;font-size:.72rem;font-weight:700;line-height:1.25}.access-note{color:var(--td-muted);margin:20px 0 0;font-size:.82rem;line-height:1.55}.dashboard-page{min-height:100vh}.app-header{border-bottom:1px solid var(--td-border);background:var(--td-white);justify-content:space-between;align-items:center;gap:24px;min-height:82px;padding:16px clamp(20px,5vw,64px);display:flex}.brand-lockup,.account-area{align-items:center;gap:14px;display:flex}.brand-lockup span,.account-area span{display:block}.product-name{color:var(--td-heading);font-weight:800}.environment-label,.account-area small{color:var(--td-muted);text-transform:capitalize;margin-top:3px;font-size:.75rem}.account-area{text-align:right}.text-button{border:1px solid var(--td-border);color:var(--td-action);cursor:pointer;background:#fff;border-radius:9px;padding:9px 13px;font-weight:700}.dashboard-content{width:min(1240px,100% - 40px);margin:0 auto;padding:32px 0 80px}.section-heading .eyebrow{margin-top:0}.section-heading h1{font-size:clamp(2rem,4vw,2.8rem)}.fleet-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.fleet-search{width:min(420px,42vw)}.fleet-search input{border:1px solid var(--td-border);background:var(--td-white);width:100%;min-height:42px;color:var(--td-text);font:inherit;border-radius:10px;padding:10px 14px}.fleet-search input:focus{border-color:var(--td-primary);outline:none;box-shadow:0 0 0 3px #043ef81a}.compact-empty-state{padding:36px 24px}.empty-state{background:var(--td-white);text-align:center;border:1px dashed #bfcadd;border-radius:20px;margin-top:28px;margin-bottom:20px;padding:72px 24px}.empty-icon{width:54px;height:54px;color:var(--td-primary);background:#043ef814;border-radius:16px;place-items:center;margin:0 auto 20px;font-size:1.5rem;display:grid}.empty-state h2{color:var(--td-heading);margin-bottom:10px;font-size:1.25rem}.empty-state p{max-width:520px;color:var(--td-muted);margin:0 auto;line-height:1.65}.device-table-wrap{border:1px solid var(--td-border);background:#fff;border-radius:16px;margin-top:28px;overflow-x:auto}.device-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:1040px}.device-table th,.device-table td{border-bottom:1px solid var(--td-border);text-align:left}.device-table th{color:var(--td-muted);letter-spacing:.055em;text-transform:uppercase;background:#f9fbfd;padding:9px 12px;font-size:.68rem;font-weight:750}.device-table td{font-size:.8rem}.device-summary-row{transition:background-color .14s}.device-summary-row:hover{background:#fbfcff}.device-summary-row td{vertical-align:middle;height:48px;padding:7px 12px;line-height:1.2}.device-summary-row td>strong{font-weight:650}.device-table td small{color:var(--td-muted);margin-top:2px;font-size:.7rem;line-height:1.15;display:block}.device-identity-cell{min-width:148px;padding-left:32px!important}.device-summary-row td:nth-child(2),.device-summary-row td:nth-child(3),.device-summary-row td:nth-child(6),.device-summary-row td:nth-child(7){white-space:nowrap}.device-table tbody tr:last-child td{border-bottom:0}.device-detail-row td{background:#fbfcfe;padding:0 12px;position:relative}.device-details>summary{z-index:1;cursor:pointer;width:18px;height:24px;color:var(--td-primary);place-items:center;padding:0;list-style:none;display:grid;position:absolute;top:-37px;left:12px}.device-details>summary::-webkit-details-marker{display:none}.device-details>summary:before{content:"▸";font-size:.72rem;line-height:1;transition:transform .12s}.device-details[open]>summary:before{transform:rotate(90deg)}.device-details>summary:hover{color:var(--td-action)}.device-details[open]{padding:12px 0 14px}.device-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;margin:16px 0 2px;display:grid}.device-detail-grid div{min-width:0}.device-detail-grid dt{color:var(--td-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:750}.device-detail-grid dd{overflow-wrap:anywhere;margin:4px 0 0}.hardware-discovery-review{border-top:1px solid var(--td-border);margin-top:20px;padding-top:18px}.hardware-discovery-review h3{color:var(--td-heading);margin:0 0 6px;font-size:.95rem}.hardware-discovery-review p{color:var(--td-muted);margin:0 0 12px;line-height:1.5}.hardware-discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;margin:16px 0;display:grid}.hardware-discovery-grid div{min-width:0}.hardware-discovery-grid dt{color:var(--td-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:750}.hardware-discovery-grid dd{overflow-wrap:anywhere;margin:4px 0 0}.hardware-discovery-raw{margin-top:18px}.hardware-discovery-raw summary{cursor:pointer;color:var(--td-primary);margin-bottom:10px;font-weight:750}.hardware-discovery-review pre{border:1px solid var(--td-border);color:#172033;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7fb;border-radius:10px;max-height:420px;margin:0;padding:16px;font:.78rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.comparison-state{align-items:center;gap:4px;margin-top:3px;font-size:.66rem;font-weight:700;line-height:1;display:inline-flex}.comparison-state-current,.version-state-current{color:#0b7a38!important}.comparison-state-update,.version-state-update{color:#a41616!important}.comparison-dot{background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.device-status{align-items:center;gap:5px;display:inline-flex}.status-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.status-dot-online{background-color:#0fa44d}.status-dot-offline{background-color:#b91c1c}.status-label{font-weight:700}.device-status-online .status-label{color:#0b7a38}.device-status-offline .status-label{color:#a41616}@media (max-width:639px){.login-card{border-radius:18px;padding:34px 24px}.app-header{align-items:flex-start;padding:14px 18px}.account-area{flex-direction:column;align-items:flex-end;gap:8px}.brand-lockup .environment-label{display:none}.dashboard-content{width:calc(100% - 32px);padding-top:24px}.fleet-heading{flex-direction:column;align-items:stretch;gap:14px}.fleet-search{width:100%}.customers-sites-grid,.users-grid,.user-card,.user-card .card-actions{grid-template-columns:1fr}.primary-nav{flex-wrap:wrap;flex-basis:100%;order:3}}.primary-nav{flex:auto;justify-content:center;gap:8px;display:flex}.primary-nav-link{color:var(--td-text);border-radius:9px;padding:9px 14px;font-size:.92rem;font-weight:700;text-decoration:none}.primary-nav-link:hover{background:var(--td-surface);color:var(--td-heading)}.primary-nav-link.is-current{color:var(--td-primary);background:#043ef814}.section-lede{color:var(--td-muted);max-width:64ch;margin:12px 0 32px;line-height:1.6}.banner{border:1px solid var(--td-border);background:var(--td-white);border-radius:14px;margin:0 0 24px;padding:18px 22px;line-height:1.5}.banner-error{color:#7a1f1f;background:#fff5f5;border-color:#d36b6b}.banner-success{color:#155b3a;background:#f3fbf6;border-color:#2f9c63}.banner strong{margin-bottom:6px;display:block}.code-banner{background:var(--td-surface);border-radius:10px;margin-top:12px;padding:14px 16px}.code-plaintext{background:var(--td-white);border:1px solid var(--td-border);word-break:break-all;border-radius:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;display:block}.code-banner-meta{color:#155b3a;margin:10px 0 0;font-size:.85rem}.customers-sites-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.panel{background:var(--td-white);border:1px solid var(--td-border);border-radius:16px;margin-bottom:28px;padding:24px}.panel-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.panel-header h2{color:var(--td-heading);letter-spacing:-.01em;margin:0;font-size:1.15rem}.panel-meta{color:var(--td-muted);font-size:.78rem}.card-list{gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.card{border:1px solid var(--td-border);background:#fbfcfe;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.card.is-inactive{color:var(--td-muted);background:#f6f7fa}.card-primary strong{color:var(--td-heading);display:block}.card-primary small{color:var(--td-muted);margin-top:3px;font-size:.78rem;display:block}.card-status{letter-spacing:.06em;text-transform:uppercase;color:var(--td-muted);font-size:.74rem}.card-actions form{display:inline}.create-form{background:var(--td-white);border:1px dashed #bfcadd;border-radius:12px;gap:12px;margin-top:16px;margin-bottom:20px;padding:18px;display:grid}.create-form .primary-button{width:auto;padding:11px 18px}.form-field{gap:6px;display:grid}.form-field span{color:var(--td-muted);font-size:.82rem;font-weight:700}.form-field input,.form-field select{border:1px solid var(--td-border);font:inherit;background:var(--td-white);color:var(--td-text);border-radius:8px;padding:9px 12px}.form-help{color:var(--td-muted);margin:0;font-size:.8rem}.code-form{margin-bottom:16px;padding:12px}.code-form .enrolment-player-field{width:min(100%,440px)}.code-form .enrolment-player-field input{border:1px solid var(--td-border);width:100%;min-height:44px;font:inherit;color:var(--td-text);background:#fbfcfe;border-radius:10px;padding:11px 14px;transition:border-color .15s,box-shadow .15s,background .15s}.code-form .enrolment-player-field input:hover{border-color:#9eacc2}.code-form .enrolment-player-field input:focus{border-color:var(--td-primary);background:var(--td-white);outline:none;box-shadow:0 0 0 3px #043ef81a}.readonly-note{color:var(--td-muted);margin:0;font-size:.85rem}.code-section{border-top:1px solid var(--td-border);grid-column:1/-1;margin-top:4px;padding-top:12px}.code-section summary{cursor:pointer;color:var(--td-primary);font-size:.85rem;font-weight:700}.code-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.code-row{border:1px solid var(--td-border);background:var(--td-white);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.code-row.status-used{opacity:.7}.code-row.status-revoked,.code-row.status-expired{opacity:.6}.code-row-main strong,.code-row-main code{display:block}.code-row-main small{color:var(--td-muted);font-size:.75rem;display:block}.code-prefix{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.code-status{letter-spacing:.06em;text-transform:uppercase;color:var(--td-muted);font-size:.72rem}.users-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;display:grid}.user-card{grid-template-columns:1fr auto auto}.user-card .card-actions{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.user-card .card-actions form{align-items:center;gap:8px;margin:0;display:flex}.user-card.is-self .card-primary strong:after{content:" (you)";color:var(--td-primary);font-weight:700}.user-role-form select{border:1px solid var(--td-border);font:inherit;background:var(--td-white);color:var(--td-text);border-radius:8px;padding:8px 10px}.text-button[disabled],.text-button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.firmware-form{margin-top:4px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-field-wide{grid-column:1/-1}.form-field input[type=text],.form-field input[type=number],.form-field input[type=url],.form-field textarea{border:1px solid var(--td-border);width:100%;font:inherit;background:var(--td-white);color:var(--td-text);border-radius:10px;padding:11px 14px;transition:border-color .15s}.form-field input:focus,.form-field textarea:focus{border-color:var(--td-primary);outline:none;box-shadow:0 0 0 3px #043ef81a}.form-field textarea{resize:vertical;min-height:72px;line-height:1.5}.form-actions{justify-content:flex-end;margin-top:20px;display:flex}.form-actions .primary-button{width:auto;padding:12px 24px}.firmware-list{gap:20px;margin:0;padding:0;list-style:none;display:grid}.firmware-card{border:1px solid var(--td-border);background:#fbfcfe;border-radius:14px;padding:24px;transition:border-color .15s}.firmware-card:hover{border-color:#c4d3e8}.firmware-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.firmware-card-title{color:var(--td-heading);margin:0;font-size:1.05rem;font-weight:700}.firmware-card-title strong{font-weight:800}.firmware-card-sub{color:var(--td-muted);margin:4px 0 0;font-size:.84rem}.stage-pill{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:20px;align-items:center;padding:5px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.stage-pill-draft{color:#5a6a85;background:#7882961f}.stage-pill-testing{color:var(--td-primary);background:#043ef81a}.stage-pill-pilot{color:#b87b00;background:#ffaa1e24}.stage-pill-production{color:#155b3a;background:#2f9c631f}.firmware-meta{border-top:1px solid var(--td-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0 0 18px;padding:16px 0 0;display:grid}.firmware-meta>div{min-width:0}.firmware-meta dt{letter-spacing:.06em;text-transform:uppercase;color:var(--td-muted);margin-bottom:4px;font-size:.72rem;font-weight:700}.firmware-meta dd{color:var(--td-text);word-break:break-all;margin:0;font-size:.85rem}.firmware-meta code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.firmware-notes{border-top:1px solid var(--td-border);margin-top:4px;padding:14px 0 0}.firmware-notes summary{cursor:pointer;color:var(--td-primary);font-size:.85rem;font-weight:700}.firmware-notes pre{background:var(--td-surface);white-space:pre-wrap;color:var(--td-text);border-radius:8px;margin:10px 0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5}.firmware-notes textarea{border:1px solid var(--td-border);width:100%;font:inherit;background:var(--td-white);resize:vertical;border-radius:8px;min-height:60px;margin:8px 0;padding:10px 12px}.firmware-actions{border-top:1px solid var(--td-border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.inline-form{align-items:center;gap:10px;margin:0;display:inline-flex}.inline-form .primary-button{width:auto;padding:9px 18px;font-size:.88rem}.secondary-button{border:1px solid var(--td-border);background:var(--td-white);color:var(--td-action);cursor:pointer;border-radius:9px;padding:9px 18px;font-size:.88rem;font-weight:700;transition:border-color .15s,background .15s}.secondary-button:hover{background:var(--td-surface);border-color:#c4d3e8}.secondary-button:focus-visible{outline-offset:2px;outline:3px solid #3e9dff59}.confirm-production{color:var(--td-text);cursor:pointer;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.confirm-production input{margin:0}.upload-form{margin-top:4px}.upload-form .form-field{gap:8px;display:grid}.upload-file-picker{cursor:pointer}.upload-file-input{opacity:0;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.upload-file-picker-body{background:linear-gradient(135deg,#fbfdff,#f2f7ff);border:1px dashed #9fb5d6;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:16px 18px;transition:border-color .16s,background .16s,transform .16s;display:flex}.upload-file-picker:hover .upload-file-picker-body{border-color:var(--td-primary);background:#f6f9ff;transform:translateY(-1px)}.upload-file-input:focus-visible+.upload-file-picker-body{outline-offset:3px;outline:3px solid #3e9dff59}.upload-file-picker-copy{flex:1;min-width:0}.form-field .upload-file-picker-action{color:#fff;background:linear-gradient(135deg, var(--td-primary), #2479ff);border:1px solid #ffffff59;border-radius:11px;flex:none;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 16px;display:inline-flex;box-shadow:0 8px 20px #043ef833}.upload-file-picker-action span{color:inherit;white-space:nowrap;font-size:.84rem;font-weight:800}.upload-file-picker-symbol{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.upload-file-picker-body strong,.upload-file-picker-body small{display:block}.upload-file-picker-body strong{color:var(--td-heading);font-size:.95rem}.upload-file-picker-body small{color:var(--td-muted);margin-top:3px;font-size:.82rem}.upload-meta{color:var(--td-muted);margin:10px 0 0;font-size:.86rem}.upload-progress{background:var(--td-surface);border:1px solid var(--td-border);border-radius:999px;width:100%;height:10px;margin:14px 0;overflow:hidden}.upload-progress-fill{background:linear-gradient(90deg,#1e6bff,#0fa3b1);height:100%;transition:width .14s linear}.upload-percent{color:var(--td-muted);text-align:right;min-width:46px;margin-left:10px;font-size:.88rem}.upload-status{color:var(--td-text);margin:10px 0 0}.panel-note{color:var(--td-muted);margin:0 0 14px;font-size:.9rem}.artifact-table-wrap{overflow-x:auto}.artifact-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:880px}.artifact-table th,.artifact-table td{text-align:left;border-bottom:1px solid var(--td-border);vertical-align:top;word-break:break-word;padding:12px}.artifact-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--td-muted);background:var(--td-surface);font-size:.78rem;font-weight:700}.artifact-table code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.firmware-archive-grid{gap:16px;display:grid}.firmware-archive-card{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);border:1px solid #d5e3f5;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #1f488912}.firmware-archive-card-header{background:linear-gradient(90deg,#f5faff,#fff);border-bottom:1px solid #e3edf9;align-items:center;gap:12px;padding:18px 20px;display:flex}.firmware-ready-mark{color:#087d41;background:#e9f9f0;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.firmware-archive-title{flex:1;min-width:0}.firmware-archive-title p{color:var(--td-muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 3px;font-size:.72rem;font-weight:750}.firmware-archive-title h3{color:var(--td-heading);letter-spacing:-.025em;margin:0;font-size:1.22rem}.firmware-ready-pill{color:#087d41;background:#e9f9f0;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:800}.firmware-archive-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:20px;display:grid}.firmware-archive-facts>div{border-bottom:1px solid #eaf0f7;min-width:0;padding:12px 0}.firmware-archive-facts dt{color:var(--td-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:.7rem;font-weight:750}.firmware-archive-facts dd{color:var(--td-heading);overflow-wrap:anywhere;margin:0;font-size:.95rem;font-weight:700}.firmware-archive-facts code,.firmware-checksum code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:600}.firmware-archive-facts small{color:var(--td-muted);margin-top:3px;font-size:.76rem;display:block}.firmware-fact-wide{grid-column:1/-1}.firmware-archive-footer{background:#fbfdff;justify-content:space-between;align-items:end;gap:18px;padding:16px 20px 18px;display:flex}.firmware-archive-times{color:var(--td-muted);gap:4px;font-size:.76rem;display:grid}.firmware-archive-times strong{color:var(--td-text);font-weight:650}.firmware-checksum{text-align:right;min-width:0}.firmware-checksum summary{cursor:pointer;color:var(--td-action);font-size:.78rem;font-weight:750}.firmware-checksum code{color:var(--td-text);margin-top:6px;display:block}.legacy-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.legacy-list li{border:1px solid var(--td-border);background:#fcfdff;border-radius:10px;grid-template-columns:1fr auto auto;gap:10px;padding:10px 12px;display:grid}.legacy-list li span:first-child{font-weight:700}@media (max-width:639px){.form-grid{grid-template-columns:1fr}.firmware-card-header{flex-direction:column;gap:8px}.firmware-actions{flex-direction:column;align-items:stretch}.inline-form{width:100%}.inline-form .primary-button,.inline-form .secondary-button{text-align:center;width:100%}.firmware-archive-card-header{flex-wrap:wrap;align-items:flex-start}.firmware-ready-pill{margin-left:46px}.firmware-archive-facts{grid-template-columns:1fr}.firmware-fact-wide{grid-column:auto}.firmware-archive-footer{flex-direction:column;align-items:flex-start}.firmware-checksum{text-align:left}.upload-file-picker-body{flex-direction:column;align-items:stretch}.upload-file-picker-action{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.remote-support-viewer{background:var(--td-white);border:1px solid var(--td-border);box-shadow:var(--td-shadow);border-radius:16px;margin-bottom:28px;padding:24px}.remote-support-viewer-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.remote-support-viewer-header h2{color:var(--td-heading);letter-spacing:-.01em;margin:0;font-size:1.15rem}.remote-support-viewer-status{letter-spacing:.06em;text-transform:uppercase;color:#5a6a85;background:#7882961f;border-radius:20px;align-items:center;gap:8px;padding:5px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.remote-support-viewer-status[data-state=live]{color:#155b3a;background:#2f9c631f}.remote-support-viewer-status[data-state=live]:before{content:"";background:#0fa44d;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}.remote-support-viewer-status[data-state=pending]{color:var(--td-primary);background:#043ef81a}.remote-support-viewer-status[data-state=error]{color:#7a1f1f;background:#fff5f5}.remote-support-viewer-status[data-state=closed]{color:#5a6a85;background:#7882961f}.remote-support-viewer-status[data-state=unsupported]{color:#7a1f1f;background:#fff5f5}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.remote-support-viewer-canvas-wrap{aspect-ratio:16/9;background:#0a0e17;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.remote-support-viewer-canvas{object-fit:contain;background:#000;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.remote-support-viewer-meta{border-top:1px solid var(--td-border);grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:center;gap:16px 24px;margin-top:16px;padding-top:16px;display:grid}.remote-support-viewer-meta-cell{gap:4px;min-width:0;display:grid}.remote-support-viewer-meta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--td-muted);font-size:.72rem;font-weight:700}.remote-support-viewer-meta-value{color:var(--td-heading);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.remote-support-viewer-message{background:var(--td-surface);color:var(--td-muted);border-radius:10px;margin:12px 0 0;padding:14px 16px;line-height:1.55}.remote-support-viewer-shortcuts{color:var(--td-muted);margin:8px 0 0;font-size:.75rem}.remote-support-viewer-paste{margin-top:12px}.remote-support-viewer-paste>label{color:var(--td-muted);margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.remote-support-viewer-paste>div{gap:8px;display:flex}.remote-support-viewer-paste input{border:1px solid var(--td-border);min-width:0;color:var(--td-text);background:var(--td-white);font:inherit;border-radius:8px;flex:auto;padding:9px 12px}.remote-support-viewer-paste input:focus{border-color:var(--td-primary);outline:none;box-shadow:0 0 0 3px #043ef81a}.remote-support-viewer-paste small{color:var(--td-muted);margin-top:5px;font-size:.72rem;display:block}.remote-support-viewer-meta-value[data-quality=excellent]{color:#1c8a4a}.remote-support-viewer-meta-value[data-quality=good]{color:#2c7a3f}.remote-support-viewer-meta-value[data-quality=fair]{color:#b9651a}.remote-support-viewer-meta-value[data-quality=poor]{color:#a33333}.remote-support-viewer-meta-value[data-quality=idle]{color:var(--td-muted)}@media (max-width:639px){.remote-support-viewer-header{flex-direction:column;align-items:stretch;gap:8px}.remote-support-viewer-header h2{font-size:1.1rem}.remote-support-viewer-status{align-self:flex-start}.remote-support-viewer-canvas-wrap{aspect-ratio:16/9;border-radius:10px;max-height:50vh}.remote-support-viewer-canvas{border-radius:8px}.remote-support-viewer-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.remote-support-viewer-meta button{grid-column:1/-1}.remote-support-viewer-meta-cell:first-child,.remote-support-viewer-shortcuts{display:none}.remote-support-viewer .banner{padding:10px 12px;font-size:.85rem;line-height:1.4}.remote-support-viewer .banner strong{margin-bottom:4px;display:block}.remote-support-viewer{border-radius:12px;padding:12px}}
