:root{color:#172033;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--brand-primary:#1d4ed8;--brand-primary-text:#1d4ed8;--brand-on-primary:#fff;--brand-accent:#0f766e;--brand-accent-text:#0f766e;--brand-on-accent:#fff;--color-text-primary:#172033;--color-text-strong:#0b1220;--color-text-secondary:#566174;--color-text-muted:#566174;--color-text-label:#344054;--color-text-tertiary:#667085;--color-text-inverse:#fff;--color-surface:#fff;--color-surface-raised:#fbfcf9;--color-surface-subtle:#f3f5f2;--color-surface-muted:#edf1ed;--color-surface-hover:#f1f4ef;--color-border:#dce1dc;--color-border-strong:#bdc7bc;--color-brand:var(--brand-primary);--color-brand-text:var(--brand-primary-text);--color-on-brand:var(--brand-on-primary);--color-brand-accent:var(--brand-accent);--color-brand-accent-text:var(--brand-accent-text);--color-focus:#84adff;--color-signal-live:#b8f15a;--color-status-success:#3c9b48;--color-status-success-text:#22602e;--color-status-success-surface:#e2f5dc;--color-status-warning:#d48a14;--color-status-warning-text:#805510;--color-status-warning-surface:#fff0cf;--color-status-danger:#c25860;--color-status-danger-strong:#b42318;--color-status-danger-text:#7a3940;--color-status-danger-surface:#fbe8e8;--color-status-info:#175cd3;--color-status-info-surface:#eaf2ff;--color-status-neutral-surface:#eaecf0;--color-neutral-50:#f7f8f5;--color-neutral-100:#edf0ec;--color-neutral-200:#e7ebf0;--color-neutral-400:#9ca8b8;--color-neutral-500:#8490a0;--color-neutral-600:#657184;--color-neutral-700:#4b5668;--color-neutral-750:#485467;--color-code:#566174;--color-map-deep:#1a2635;--color-map-surface:#dce3dd;--color-map-marker:#738094;--color-video-surface:#111827;--color-status-warning-deep:#6b4b1d;--color-status-warning-icon:#8b4b13;--color-status-warning-subtle:#fff3d9;--color-status-danger-subtle:#fff4f4;--color-status-danger-row:#fff1f1;--color-status-danger-emphasis:#963d45;--color-status-success-muted:#497651;--color-placeholder:#8a94a3;--color-icon-muted:#9ba4b0;--color-support-text:#526070;--color-navigation-surface:#dde3dc;--color-control-muted:#e4e9e3;--color-status-warning-bright:#f0b429;--color-shell-surface:#e9ede8;--color-table-row:#f0f3ef;--color-border-muted:#cbd3dc;--ink:var(--color-text-strong);--muted:var(--color-text-muted);--line:var(--color-border);--paper:var(--color-surface-raised);--signal:var(--color-signal-live);--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--space-64:64px;--font-size-meta:12px;--font-size-label:13px;--font-size-body:14px;--font-size-component:16px;--font-size-section:20px;--font-size-page:30px;--line-height-tight:1.2;--line-height-body:1.5;--font-weight-regular:400;--font-weight-medium:550;--font-weight-semibold:650;--font-weight-bold:750;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-overlay:0 16px 40px #0b12202e;--shadow-menu:0 8px 24px #0b122024;--control-height:40px;--control-height-touch:48px;--motion-fast:.12s;--motion-standard:.16s;--motion-slow:.24s;background:#f3f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-reduced-motion:reduce){:root{--motion-fast:1ms;--motion-standard:1ms;--motion-slow:1ms}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input{font:inherit}.eyebrow{margin:0 0 var(--space-8);color:var(--color-brand-accent-text);font-size:var(--font-size-meta);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}h1{color:var(--color-text-strong);font-size:var(--font-size-page);line-height:var(--line-height-tight);letter-spacing:-.025em;margin:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-shell{background:var(--color-shell-surface);grid-template-rows:72px minmax(0,1fr);grid-template-columns:350px minmax(0,1fr);min-height:100dvh;display:grid;overflow:hidden}.portal-header{z-index:20;color:#fff;background:var(--ink);grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding:0 20px;display:flex;box-shadow:0 3px 20px #0b122024}.portal-brand{align-items:center;gap:11px;min-width:0;display:flex}.portal-brand>span{width:36px;height:36px;color:var(--ink);background:var(--signal);border-radius:11px;place-items:center;display:grid}.portal-brand img{object-fit:contain;width:38px;height:38px}.portal-brand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-actions{align-items:center;gap:10px;display:flex}.live-status{color:var(--color-border-muted);align-items:center;gap:8px;margin-right:5px;font-size:12px;font-weight:720;display:flex}.live-status>span{background:var(--color-status-warning-bright);border-radius:50%;width:8px;height:8px}.live-status.live>span{background:var(--signal);box-shadow:0 0 0 4px #b8f15a21}.live-status.reconnecting>span{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.icon-button{width:38px;height:38px;color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff21;border-radius:10px;place-items:center;padding:0;display:grid}.icon-button:hover{background:#ffffff1f}.icon-button:focus-visible,.user-button:focus-visible,.vehicle-row:focus-visible,.range-tabs button:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.user-button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:9px;min-width:0;padding:5px 8px 5px 5px;display:flex}.user-button:hover{background:#ffffff14}.user-button>span:first-child{width:34px;height:34px;color:var(--ink);background:var(--color-neutral-200);border-radius:9px;place-items:center;font-size:11px;font-weight:850;display:grid}.user-copy{text-align:left;gap:1px;display:grid}.user-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:12px;overflow:hidden}.user-copy small{color:var(--color-neutral-400);font-size:10px}.vehicle-sidebar{z-index:10;background:var(--paper);border-right:1px solid var(--line);flex-direction:column;min-height:0;padding:26px 18px 18px;display:flex}.sidebar-heading{justify-content:space-between;align-items:end;padding:0 5px 20px;display:flex}.sidebar-heading .eyebrow{margin-bottom:6px}.sidebar-heading h1{letter-spacing:-.035em;font-size:34px}.vehicle-count{min-width:34px;height:28px;color:var(--color-neutral-700);background:var(--color-neutral-100);border-radius:999px;place-items:center;padding:0 9px;font-size:12px;font-weight:800;display:grid}.vehicle-search{height:44px;color:var(--color-placeholder);border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:9px;margin-bottom:14px;padding:0 12px;display:flex}.vehicle-search:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 11%, transparent)}.vehicle-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.vehicle-list{flex:1;align-content:start;gap:6px;min-height:0;padding:2px;display:grid;overflow-y:auto}.vehicle-row{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 10px;display:grid}.vehicle-row:hover{background:var(--color-surface-hover)}.vehicle-row[data-selected=true]{border-color:color-mix(in srgb, var(--brand-primary) 22%, var(--line));background:color-mix(in srgb, var(--brand-primary) 7%, white)}.vehicle-avatar{width:38px;height:38px;color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, white);border-radius:11px;place-items:center;display:grid}.vehicle-row-copy{gap:3px;min-width:0;display:grid}.vehicle-row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.vehicle-row-copy small{color:var(--muted);font-size:11px}.state-pill{width:fit-content;color:var(--color-text-secondary);background:var(--color-neutral-100);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:820;display:inline-flex}.state-pill:before{content:"";background:var(--color-neutral-500);border-radius:50%;width:6px;height:6px}.state-pill.online{color:var(--color-status-success-text);background:var(--color-status-success-surface)}.state-pill.online:before{background:var(--color-status-success)}.state-pill.stale{color:var(--color-status-warning-text);background:var(--color-status-warning-surface)}.state-pill.stale:before{background:var(--color-status-warning)}.state-pill.offline,.state-pill.unavailable,.state-pill.service_suspended{color:var(--color-status-danger-text);background:var(--color-status-danger-surface)}.state-pill.offline:before,.state-pill.unavailable:before,.state-pill.service_suspended:before{background:var(--color-status-danger)}.support-card{color:var(--color-support-text);background:var(--color-surface-muted);border-radius:12px;gap:4px;margin-top:14px;padding:14px;display:grid}.support-card small{font-size:10px}.support-card strong{font-size:12px}.skeleton-list{gap:8px;display:grid}.skeleton-list span{background:linear-gradient(90deg,var(--color-neutral-100) 25%,var(--color-neutral-50) 50%,var(--color-neutral-100) 75%);background-size:200% 100%;border-radius:14px;height:62px;animation:1.3s infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.list-state{min-height:260px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:9px;padding:22px;display:grid}.list-state svg{color:var(--color-icon-muted)}.list-state strong{color:var(--ink)}.list-state p{max-width:220px;margin:0 0 7px;font-size:12px;line-height:1.5}.map-workspace{min-width:0;min-height:0;position:relative;overflow:hidden}.tracking-map{background:var(--color-map-surface);position:absolute;inset:0}.vehicle-marker{background:var(--color-map-marker);cursor:pointer;border:4px solid #fff;border-radius:50%;width:25px;height:25px;padding:0;position:relative;box-shadow:0 4px 16px #0b122059}.vehicle-marker:after{content:"";border:1px solid #7380944d;border-radius:50%;position:absolute;inset:-9px}.vehicle-marker[data-state=online]{background:var(--color-status-success)}.vehicle-marker[data-state=stale]{background:var(--color-status-warning)}.vehicle-marker[data-state=offline],.vehicle-marker[data-state=unavailable]{background:var(--color-status-danger)}.vehicle-marker[data-selected=true]{background:var(--brand-primary);width:31px;height:31px}.vehicle-detail{z-index:4;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbfcf9f2;border:1px solid #fff9;border-radius:18px;width:min(560px,100% - 44px);padding:18px;position:absolute;bottom:22px;left:22px;box-shadow:0 18px 50px #0b12202e}.detail-title{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.detail-title h2,.history-panel h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:17px}.detail-title p{color:var(--muted);margin:3px 0 0;font-size:11px}.detail-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px;display:grid}.metric{background:var(--color-table-row);border-radius:11px;align-items:center;gap:9px;min-width:0;padding:10px;display:flex}.metric>svg{width:17px;color:var(--brand-accent)}.metric>span{gap:2px;min-width:0;display:grid}.metric small{color:var(--muted);font-size:9px}.metric strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:11px;overflow:hidden}.history-button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;margin-top:12px;font-size:12px;font-weight:780;display:flex}.history-button:disabled{opacity:.45;cursor:not-allowed}.no-position{color:var(--color-status-warning-deep);background:var(--color-status-warning-subtle);border-radius:10px;align-items:center;gap:8px;margin-top:14px;padding:11px;font-size:11px;display:flex}.map-alert{z-index:5;color:var(--color-status-danger-text);background:var(--color-status-danger-subtle);cursor:pointer;border:0;border-radius:10px;align-items:center;gap:9px;padding:10px 13px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0b122026}.history-panel{z-index:6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfcf9f7;border-radius:18px;width:min(360px,100% - 36px);padding:18px;position:absolute;top:18px;right:18px;box-shadow:0 18px 50px #0b122033}.history-panel>header{justify-content:space-between;align-items:center;display:flex}.history-panel .eyebrow{margin-bottom:4px}.history-panel .icon-button{color:var(--ink);border-color:var(--line);background:#fff}.range-tabs{background:var(--color-neutral-100);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:16px;padding:4px;display:grid}.range-tabs button{height:32px;color:var(--color-neutral-600);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:10px;font-weight:760}.range-tabs button[data-active=true]{color:var(--ink);background:#fff;box-shadow:0 2px 8px #0b122014}.route-summary{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.route-summary>span{background:var(--color-table-row);border-radius:11px;grid-template-columns:auto 1fr;column-gap:8px;padding:12px;display:grid}.route-summary svg{color:var(--brand-accent);grid-row:1/3;align-self:center}.route-summary strong{color:var(--ink);font-size:13px}.route-summary small{color:var(--muted);font-size:9px}.history-loading{min-height:74px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:11px;display:flex}.history-loading .loading-ring{border-width:2px;width:18px;height:18px}.history-empty{color:var(--muted);text-align:center;margin:12px 0 0;font-size:11px}.history-note{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.45}.export-button{color:#fff;background:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:8px;height:40px;margin-top:12px;font-size:11px;font-weight:780;text-decoration:none;display:flex}.inventory-import-workspace{width:min(1120px,100% - 32px);margin:0 auto;padding:30px 0 60px}.inventory-import-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px;display:grid}.import-upload-card>svg{color:var(--brand-accent)}.import-upload-card label{color:var(--ink);gap:6px;margin:18px 0 8px;font-size:11px;font-weight:760;display:grid}.import-upload-card input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px}.import-upload-card>small{color:var(--muted);margin-bottom:12px;display:block}.import-profile-card>div{border-bottom:1px solid var(--line);gap:3px;padding:9px 0;display:grid}.import-profile-card code{overflow-wrap:anywhere;color:var(--muted);font-size:10px}.import-result-card>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-result-card>header>div{align-items:center;gap:10px;display:flex}.import-result-card>header svg{color:var(--brand-accent)}.import-result-card>header span{gap:2px;display:grid}.import-result-card>header small{color:var(--muted)}.import-row-list{gap:6px;margin-top:14px;display:grid}.import-row-list>div{background:var(--color-table-row);border-radius:9px;grid-template-columns:72px minmax(140px,.5fr) minmax(0,1fr);gap:10px;padding:9px 11px;font-size:11px;display:grid}.telematics-workspace{width:min(1180px,100%);margin:auto;padding:clamp(28px,5vw,54px) 20px 100px}.customer-picker{width:min(460px,100%);color:var(--ink);gap:7px;margin:20px 0;font-size:11px;font-weight:780;display:grid}.customer-picker select,.policy-form input,.policy-form select,.policy-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;outline:none;padding:10px 11px}.customer-picker select:focus,.policy-form input:focus,.policy-form select:focus,.policy-form textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 11%, transparent)}.telematics-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.policy-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #0b12200d}.policy-card>header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 18px;display:flex}.policy-card>header>svg{color:var(--brand-accent)}.policy-card>header>div{flex:1;gap:2px;display:grid}.policy-card h2{color:var(--ink);margin:0;font-size:16px}.policy-card header small{color:var(--muted);font-size:10px}.policy-card header button,.policy-list button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.policy-list>div{background:var(--color-table-row);border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:10px;display:grid}.policy-list strong{text-overflow:ellipsis;color:var(--ink);font-size:12px;overflow:hidden}.policy-list button{border-radius:8px;width:30px;height:30px}.policy-list button:hover{color:var(--ink);background:#fff}.policy-list button svg{width:15px}.policy-list>p,.alert-event-list>p{color:var(--muted);text-align:center;margin:12px;font-size:11px}.policy-form textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.coordinate-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.vehicle-checks{border:1px solid var(--line);border-radius:9px;gap:7px;max-height:150px;margin:0;padding:10px;display:grid;overflow:auto}.vehicle-checks legend{color:var(--ink);padding:0 5px;font-size:10px;font-weight:780}.vehicle-checks label,.policy-form .check-line{align-items:center;gap:7px;font-size:10px;display:flex}.vehicle-checks input,.policy-form .check-line input{width:auto;box-shadow:none;padding:0}.policy-actions button:not(.ui-button){border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:10px;font-weight:780;display:flex}.policy-actions .primary-inline{color:#fff;border-color:var(--ink);background:var(--ink)}.policy-actions svg{width:15px}.alert-event-list>div{border-bottom:1px solid var(--line);gap:11px;padding:13px 16px;display:flex}.alert-event-icon{width:34px;height:34px;color:var(--color-status-warning-icon);background:var(--color-status-warning-surface);border-radius:10px;flex:none;place-items:center;display:grid}.alert-event-icon svg{width:16px}.alert-event-list>div>span:last-child{gap:2px;display:grid}.portal-alert-panel{z-index:8;border-radius:16px;width:min(440px,100% - 36px);max-height:calc(100% - 36px);position:absolute;top:18px;right:18px;overflow:auto;box-shadow:0 18px 50px #0b122033}.portal-policy-panel{z-index:9;background:var(--color-surface-muted);position:absolute;inset:0;overflow:auto}.policy-close{z-index:2;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:7px;margin:12px 16px 0 auto;padding:9px 12px;font-size:10px;font-weight:780;display:flex;position:sticky;top:12px;box-shadow:0 5px 18px #0b12201a}@media (width<=820px){.portal-shell{grid-template-rows:62px minmax(0,1fr) 38vh;grid-template-columns:1fr}.portal-header{padding:0 12px}.portal-brand strong{max-width:120px}.user-copy{display:none}.live-status{margin:0;font-size:0}.live-status>span{width:9px;height:9px}.vehicle-sidebar{padding:15px 13px max(14px, env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);grid-row:3}.sidebar-heading{padding-bottom:10px}.sidebar-heading h1{font-size:24px}.sidebar-heading .eyebrow{display:none}.vehicle-search{height:40px;margin-bottom:8px}.vehicle-list{grid-auto-columns:minmax(245px,80vw);grid-auto-flow:column;overflow:auto hidden}.vehicle-row{height:60px}.support-card{display:none}.map-workspace{grid-row:2}.vehicle-detail{border-radius:15px;width:calc(100% - 20px);padding:12px;bottom:10px;left:10px}.detail-metrics{gap:5px;margin-top:10px}.metric{gap:5px;padding:8px 6px}.metric>svg{width:15px}.history-button{height:38px;margin-top:8px}.history-panel{width:auto;inset:10px 10px auto}.maplibregl-ctrl-top-right{top:5px;right:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.installer-header{color:#fff;background:var(--ink);justify-content:space-between;align-items:center;height:64px;padding:0 max(18px,50vw - 490px);display:flex}.workspace-nav{background:var(--color-navigation-surface);border-radius:12px;gap:4px;width:min(980px,100% - 28px);margin:14px auto 0;padding:4px;display:flex}.workspace-nav button{min-height:42px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:8px;font-weight:780;display:flex}.installer-home,.job-workspace,.new-installation{width:min(980px,100%);margin:auto;padding:clamp(28px,6vw,64px) 20px 110px}.commercial-workspace,.settings-workspace{width:min(1100px,100%);margin:auto;padding:clamp(28px,5vw,56px) 20px 100px}.installer-title{justify-content:space-between;align-items:end;gap:24px;display:flex}.installer-title h1,.job-hero h1,.new-installation h1{font-size:clamp(42px,8vw,72px)}.installer-title p:last-child,.job-hero>p:last-child{color:var(--muted)}.installer-title .primary-action{flex:none;margin:0}.secondary-action{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-weight:780;display:flex}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:34px;display:grid}.metric-card{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--paper);border-radius:15px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:11px;padding:16px;text-decoration:none;display:grid}.metric-card:hover{border-color:color-mix(in srgb, var(--brand-primary) 34%, var(--line));transform:translateY(-1px)}.metric-card svg{color:var(--brand-primary);grid-row:1/3;align-self:center}.metric-card strong{font-size:24px;line-height:1}.metric-card span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.commercial-columns{grid-template-columns:minmax(270px,.72fr) minmax(0,1.55fr);align-items:start;gap:12px;margin-top:22px;display:grid}.commercial-form{gap:13px;display:grid}.commercial-form h2{margin-bottom:0}.commercial-form label,.renewal-row label{color:var(--color-text-label);gap:6px;font-size:11px;font-weight:780;display:grid}.commercial-form input,.commercial-form select,.license-actions select,.renewal-row input{border:1px solid var(--line);width:100%;height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:0 10px}.commercial-form .primary-action{width:100%;margin-top:2px}.license-list{gap:9px;display:grid}.license-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:14px}.license-heading>div{gap:4px;display:grid}.service-state{width:fit-content;color:var(--color-status-success-text);background:var(--color-status-success-surface);text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850}.service-state.grace_period{color:var(--color-status-warning-text);background:var(--color-status-warning-surface)}.service-state.suspended,.service-state.cancelled{color:var(--color-status-danger-text);background:var(--color-status-danger-surface)}.license-actions{grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:12px;display:grid}.license-actions button,.renewal-row button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 12px;font-weight:780;display:flex}.license-actions button:disabled,.renewal-row button:disabled,.commercial-form button:disabled{opacity:.45;cursor:not-allowed}.renewal-row{grid-template-columns:minmax(0,1fr) 110px auto;align-items:end;gap:7px;margin-top:12px;display:grid}.settings-columns{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:start;gap:12px;margin-top:28px;display:grid}.brand-editor{gap:13px;display:grid}.brand-editor h2,.audit-card h2{margin-bottom:0}.brand-editor label{color:var(--color-text-label);gap:6px;font-size:11px;font-weight:780;display:grid}.brand-editor input:not([type=color]){border:1px solid var(--line);width:100%;height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:0 10px}.brand-preview{color:#fff;border-radius:14px;align-items:center;gap:13px;min-height:90px;padding:16px;display:flex}.brand-preview>span{border-radius:13px;place-items:center;width:46px;height:46px;display:grid;overflow:hidden}.brand-preview img{object-fit:contain;width:100%;height:100%}.color-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.color-fields label>span{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;height:44px;padding:5px 9px;display:flex}.color-fields input{background:0 0;border:0;width:30px;height:30px;padding:0}.color-fields code{color:var(--muted);text-transform:uppercase;font-size:10px}.brand-editor .primary-action{width:100%;margin-top:3px}.save-confirmation{color:var(--color-status-success-text);background:var(--color-status-success-surface);border-radius:11px;align-items:center;gap:8px;margin-top:18px;padding:12px 14px;font-size:12px;font-weight:760;display:flex}.audit-heading{justify-content:space-between;align-items:start;display:flex}.audit-list{gap:4px;margin-top:14px;display:grid}.audit-list>div:not(.installer-empty){border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px 4px;display:grid}.audit-list>div>span:first-child{width:30px;height:30px;color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 9%, white);border-radius:9px;place-items:center;display:grid}.audit-list>div>span:last-child{grid-template-columns:1fr auto;gap:2px 8px;min-width:0;display:grid}.audit-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.audit-list small{color:var(--muted);grid-column:1/-1;font-size:9px}.audit-list code{color:var(--color-code);font-size:9px}.job-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:42px;display:grid}.job-card{border:1px solid var(--line);min-height:104px;color:var(--ink);text-align:left;background:var(--paper);cursor:pointer;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.job-card:hover{border-color:color-mix(in srgb, var(--brand-primary) 30%, var(--line));transform:translateY(-1px)}.job-card>span:nth-child(2){gap:3px;min-width:0;display:grid}.job-card small{color:var(--brand-accent);text-transform:uppercase;font-weight:800}.job-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-card span span{color:var(--muted);font-size:10px}.job-status{width:42px;height:42px;color:var(--color-status-warning-text);background:var(--color-status-warning-surface);border-radius:12px;place-items:center;display:grid}.job-status.failed,.job-status.rework{color:var(--color-status-danger-emphasis);background:var(--color-status-danger-surface)}.job-status.validating{color:var(--color-status-success-text);background:var(--color-status-success-surface)}.installer-empty,.installer-loading{min-height:260px;color:var(--muted);text-align:center;grid-column:1/-1;place-content:center;justify-items:center;gap:9px;display:grid}.installer-empty strong{color:var(--ink)}.installer-empty p{margin:0}.installer-loading{display:flex}.installer-error{color:var(--color-status-danger-text);background:var(--color-status-danger-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:13px 15px;display:flex}.installer-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.job-topbar{justify-content:space-between;align-items:center;display:flex}.job-topbar .back-link{margin:0}.job-chip{color:var(--color-status-warning-text);background:var(--color-status-warning-surface);text-transform:uppercase;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:850}.job-chip.completed,.job-chip.validating{color:var(--color-status-success-text);background:var(--color-status-success-surface)}.job-chip.failed,.job-chip.rework{color:var(--color-status-danger-text);background:var(--color-status-danger-surface)}.job-hero{padding:46px 0 28px}.job-hero .eyebrow{margin-bottom:8px}.field-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;margin-top:12px;padding:20px}.field-card h2{margin:0 0 14px;font-size:17px}.field-card>p{color:var(--muted);margin:0;line-height:1.6}.equipment-check{gap:13px;display:grid}.equipment-check h2{margin-bottom:0}.equipment-check label{color:var(--color-text-label);gap:6px;font-size:11px;font-weight:780;display:grid}.equipment-check input{border:1px solid var(--line);border-radius:12px;width:100%;height:48px;padding:0 12px}.verify-button{color:#fff;background:var(--brand-primary);cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;display:flex}.instruction-list{gap:8px;display:grid}.instruction-list button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.instruction-list button:disabled{opacity:.62;cursor:default}.instruction-list button>span:first-child,.check-list>div>span:first-child{color:#fff;background:var(--brand-primary);border-radius:9px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:850;display:grid}.instruction-list button>span:last-child{gap:4px;min-width:0;display:grid}.instruction-list small{color:var(--muted);font-size:9px;font-weight:800}.instruction-list code{overflow-wrap:anywhere;font-size:12px}.check-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.check-list>div{background:var(--color-table-row);border-radius:11px;align-items:center;gap:10px;padding:11px;display:flex}.check-list>div[data-status=passed]>span:first-child{color:var(--color-status-success-text);background:var(--color-status-success-surface)}.check-list>div>span:last-child{gap:2px;display:grid}.check-list small{color:var(--muted);font-size:9px}.diagnostic-card{color:var(--color-status-success-text);background:var(--color-status-success-surface);border-radius:14px;justify-content:space-between;gap:12px;margin-top:12px;padding:16px;display:flex}.diagnostic-card span{font-size:11px}.sticky-action{z-index:10;padding:12px 0 max(12px, env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--color-surface-muted) 18%);margin-top:24px;position:sticky;bottom:0}.sticky-action button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:54px;font-weight:820;display:flex;box-shadow:0 12px 28px #0b12202e}.sticky-action button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.setup-form{grid-template-columns:1fr 1fr;gap:16px;margin-top:38px;display:grid}.setup-form label:not(.ui-field__label){color:var(--color-text-label);gap:8px;font-size:12px;font-weight:760;display:grid}.setup-form input{border:1px solid var(--line);width:100%;height:50px;color:var(--ink);background:#fff;border-radius:12px;padding:0 12px}.select-with-action{grid-template-columns:minmax(0,1fr) 50px;gap:7px;display:grid}.select-with-inline{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.select-with-inline>button{border:1px solid var(--line);min-width:96px;color:var(--ink);background:var(--color-neutral-100);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:780;display:flex}.select-with-inline>button:disabled{opacity:.42;cursor:not-allowed}.inline-record-form{border:1px solid color-mix(in srgb, var(--brand-primary) 24%, var(--line));background:color-mix(in srgb, var(--brand-primary) 5%, white);border-radius:14px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px;display:grid}.inline-record-form>strong{grid-column:1/-1}.inline-record-form>div{grid-column:1/-1;justify-content:flex-end;gap:7px;display:flex}.inline-record-form>div button:not(.ui-button){min-height:40px;color:var(--ink);background:var(--color-control-muted);cursor:pointer;border:0;border-radius:10px;padding:0 13px;font-weight:780}.inline-record-form>div button:disabled:not(.ui-button){opacity:.45;cursor:not-allowed}.scan-button{border:1px solid var(--line);color:#fff;background:var(--ink);cursor:pointer;border-radius:12px;place-items:center;display:grid}.scan-button:disabled{opacity:.4;cursor:not-allowed}.scanner-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1220c2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.scanner-card{background:var(--paper);border-radius:20px;width:min(480px,100%);padding:22px;position:relative;box-shadow:0 22px 80px #00000059}.scanner-card h2{margin:0 0 16px}.scanner-card video{object-fit:cover;background:var(--color-video-surface);border-radius:14px;width:100%;min-height:260px}.scanner-card>small{color:var(--muted);margin-top:10px;display:block}.scanner-close{background:var(--color-neutral-100);cursor:pointer;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:14px;right:14px}.fleet-workspace{width:min(1100px,100%);margin:auto;padding:clamp(28px,5vw,56px) 20px 100px}.fleet-customer-select{max-width:420px;color:var(--color-text-label);gap:7px;margin-top:28px;font-size:11px;font-weight:780;display:grid}.fleet-customer-select select{border:1px solid var(--line);width:100%;height:46px;color:var(--ink);background:#fff;border-radius:11px;padding:0 11px}.fleet-columns{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);align-items:start;gap:12px;margin-top:18px;display:grid}.fleet-create{gap:13px;margin-top:0;display:grid}.fleet-create h2{margin-bottom:0}.fleet-create label{color:var(--color-text-label);gap:6px;font-size:11px;font-weight:780;display:grid}.fleet-create input,.fleet-create textarea,.fleet-group-card input,.fleet-group-card textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px}.fleet-create input,.fleet-group-card input{height:44px}.fleet-create textarea,.fleet-group-card textarea{resize:vertical}.fleet-create .primary-action{width:100%}.fleet-group-list{gap:12px;display:grid}.fleet-group-list .installer-empty{border:1px dashed var(--line);background:#ffffff80;border-radius:18px;min-height:280px}.fleet-group-card{gap:11px;margin-top:0;display:grid}.fleet-group-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.fleet-group-heading>svg{color:var(--brand-primary);margin-top:11px}.fleet-group-heading>div{gap:3px;min-width:0;display:grid}.fleet-group-heading input{background:0 0;border-color:#0000;padding-left:0;font-size:16px;font-weight:820}.fleet-group-heading input:focus{border-color:var(--line);background:#fff;padding-left:10px}.fleet-group-heading span{color:var(--muted);font-size:10px}.danger-icon{width:40px;height:40px;color:var(--color-status-danger-emphasis);background:var(--color-status-danger-surface);cursor:pointer;border:0;border-radius:10px;place-items:center;display:grid}.danger-icon:disabled{opacity:.45;cursor:not-allowed}.fleet-save{justify-self:end;min-height:38px}.fleet-save:disabled,.secondary-action:disabled{opacity:.45;cursor:not-allowed}.fleet-vehicles{border-top:1px solid var(--line);gap:5px;padding-top:11px;display:grid}.fleet-vehicles>strong{margin-bottom:4px;font-size:11px}.fleet-vehicles>label{background:var(--color-table-row);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:9px;display:grid}.fleet-vehicles input{opacity:0;width:1px;height:1px;position:absolute}.fleet-check{border:1px solid var(--color-border-strong);color:#fff;background:#fff;border-radius:7px;place-items:center;width:22px;height:22px;display:grid}.fleet-vehicles input:checked+.fleet-check{border-color:var(--brand-primary);background:var(--brand-primary)}.fleet-vehicles input:focus-visible+.fleet-check{outline:3px solid color-mix(in srgb, var(--brand-primary) 30%, transparent)}.fleet-vehicles label>span:last-child{gap:2px;min-width:0;display:grid}.fleet-vehicles b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=640px){.installer-header{padding:0 14px}.installer-home,.job-workspace,.new-installation,.commercial-workspace,.settings-workspace,.fleet-workspace,.inventory-import-workspace,.telematics-workspace{padding:28px 14px 90px}.installer-title{flex-direction:column;align-items:stretch}.installer-title .primary-action{width:100%;margin:0}.job-grid,.setup-form,.check-list{grid-template-columns:1fr}.job-grid{margin-top:24px}.job-hero{padding-top:36px}.field-card{padding:15px}.diagnostic-card{flex-direction:column}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-columns,.renewal-row,.inline-record-form,.settings-columns,.color-fields{grid-template-columns:1fr}.workspace-nav{overflow-x:auto}.workspace-nav button{min-width:116px}.telematics-grid,.coordinate-grid{grid-template-columns:1fr}.portal-alert-panel{width:auto;inset:10px 10px auto}.fleet-columns,.inventory-import-grid{grid-template-columns:1fr}.import-result-card>header{flex-direction:column;align-items:stretch}.import-row-list>div{grid-template-columns:60px minmax(0,1fr)}.import-row-list small{grid-column:1/-1}}.ui-button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-8);padding:0 var(--space-16);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--motion-standard) ease, border-color var(--motion-standard) ease, color var(--motion-standard) ease;border:1px solid #0000;flex-shrink:0;line-height:1;text-decoration:none;display:inline-flex}.ui-button:focus-visible,.ui-input:focus-visible,.ui-select:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:2px}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button--primary{color:var(--color-on-brand);background:var(--color-brand)}.ui-button--primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-brand) 88%, var(--color-text-strong))}.ui-button--secondary{color:var(--color-text-strong);border-color:var(--color-border);background:var(--color-surface)}.ui-button--secondary:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-hover)}.ui-button--ghost{color:var(--color-text-secondary);background:0 0}.ui-button--ghost:hover:not(:disabled){color:var(--color-text-strong);background:var(--color-surface-hover)}.ui-button--danger{color:var(--color-text-inverse);background:var(--color-status-danger-text)}.ui-button--danger:hover:not(:disabled){background:var(--color-status-danger-emphasis)}.ui-button__icon{flex:none;display:inline-flex}.ui-button__icon svg{width:16px;height:16px}.ui-button>span:last-child{justify-content:center;align-items:center;gap:var(--space-8);display:inline-flex}.ui-button>span:last-child>svg{width:var(--space-16);height:var(--space-16);flex-shrink:0}.ui-field{align-content:start;gap:var(--space-8);display:grid}.ui-field__label{color:var(--color-text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.ui-field__hint,.ui-field__error{font-size:var(--font-size-meta);line-height:var(--line-height-body);margin:0}.ui-field__hint{color:var(--color-text-muted)}.ui-field__error{color:var(--color-status-danger-text)}.ui-input,.ui-select{width:100%;min-height:var(--control-height);padding:0 var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-strong);background:var(--color-surface);font-size:var(--font-size-body);transition:border-color var(--motion-standard) ease, box-shadow var(--motion-standard) ease;outline:none}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled){border-color:var(--color-border-strong)}.ui-input:disabled,.ui-select:disabled{color:var(--color-text-muted);background:var(--color-surface-subtle);cursor:not-allowed}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true]{border-color:var(--color-status-danger)}.ui-select-control{width:100%;min-width:0;display:block;position:relative}.ui-select-control>.ui-select{appearance:none;min-width:0;padding-inline:var(--space-12) calc(var(--space-16) + var(--space-24));font-weight:var(--font-weight-regular);text-overflow:ellipsis}.ui-select-control__chevron{inset-inline-end:var(--space-12);width:var(--space-16);height:var(--space-16);color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.ui-select:disabled+.ui-select-control__chevron{color:var(--color-text-muted)}@media (forced-colors:active){.ui-select-control>.ui-select{appearance:auto;padding-inline-end:var(--space-12)}.ui-select-control__chevron{display:none}}.ui-textarea{min-height:88px;padding-block:var(--space-12);resize:vertical;line-height:var(--line-height-body)}.ui-badge,.ui-status-badge{align-items:center;gap:var(--space-4);width:fit-content;min-height:24px;padding:0 var(--space-8);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:var(--font-size-meta);font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1;display:inline-flex}.ui-badge--brand{color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 9%, var(--color-surface))}.ui-badge--success,.ui-status-badge--success{color:var(--color-status-success-text);background:var(--color-status-success-surface)}.ui-badge--warning,.ui-status-badge--warning{color:var(--color-status-warning-text);background:var(--color-status-warning-surface)}.ui-badge--danger,.ui-status-badge--danger{color:var(--color-status-danger-text);background:var(--color-status-danger-surface)}.ui-badge--info,.ui-status-badge--info{color:var(--color-status-info);background:var(--color-status-info-surface)}.ui-status-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.ui-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0}.ui-section__header{justify-content:space-between;align-items:flex-start;gap:var(--space-16);padding:var(--space-16) var(--space-24);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.ui-section__heading{align-items:flex-start;gap:var(--space-12);min-width:0;display:flex}.ui-section__heading>div{overflow-wrap:anywhere;min-width:0}.ui-section__icon{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 8%, var(--color-surface));flex:none;place-items:center;display:grid}.ui-section__icon svg{width:17px;height:17px}.ui-section__eyebrow{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-meta);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.ui-section__title{color:var(--color-text-strong);font-size:var(--font-size-component);line-height:var(--line-height-tight);margin:0}.ui-section__description{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:var(--font-size-meta);line-height:var(--line-height-body)}.ui-section__content{padding:var(--space-24)}.ui-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-24);display:flex}.ui-page-header__copy{min-width:0}.ui-page-header__eyebrow{margin:0 0 var(--space-8);color:var(--color-brand-accent-text);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.ui-page-header__title{color:var(--color-text-strong);font-size:var(--font-size-page);line-height:var(--line-height-tight);letter-spacing:-.025em;margin:0}.ui-page-header__description{max-width:680px;margin:var(--space-8) 0 0;color:var(--color-text-muted);font-size:var(--font-size-body);line-height:var(--line-height-body)}.ui-page-header__actions{gap:var(--space-8);flex:none;display:flex}.ui-alert{align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);background:var(--color-surface-subtle);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ui-alert--success{color:var(--color-status-success-text);border-color:color-mix(in srgb, var(--color-status-success) 28%, var(--color-border));background:var(--color-status-success-surface)}.ui-alert--warning{color:var(--color-status-warning-text);border-color:color-mix(in srgb, var(--color-status-warning) 30%, var(--color-border));background:var(--color-status-warning-surface)}.ui-alert--danger{color:var(--color-status-danger-text);border-color:color-mix(in srgb, var(--color-status-danger) 30%, var(--color-border));background:var(--color-status-danger-surface)}.ui-alert--info{color:var(--color-status-info);border-color:color-mix(in srgb, var(--color-status-info) 24%, var(--color-border));background:var(--color-status-info-surface)}.ui-alert__icon{align-self:flex-start;margin-top:2px;display:inline-flex}.ui-alert__icon svg{width:18px;height:18px}.ui-alert__copy{min-width:0}.ui-alert__title{color:currentColor;font-size:var(--font-size-body);font-weight:var(--font-weight-bold);margin:0}.ui-alert__body{margin:var(--space-4) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-meta);line-height:var(--line-height-body)}.ui-alert__action{flex:none}.ui-empty-state{place-content:center;justify-items:center;gap:var(--space-8);min-height:200px;padding:var(--space-32);text-align:center;display:grid}.ui-empty-state__icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);background:var(--color-surface-subtle);place-items:center;display:grid}.ui-empty-state__icon svg{width:20px;height:20px}.ui-empty-state h3{margin:var(--space-4) 0 0;color:var(--color-text-strong);font-size:var(--font-size-component)}.ui-empty-state p{max-width:420px;color:var(--color-text-muted);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.ui-empty-state__action{margin-top:var(--space-8)}.ui-spinner{border:2px solid color-mix(in srgb, currentColor 24%, transparent);border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite ui-spin;display:inline-block}.ui-spinner--sm{width:14px;height:14px}.ui-spinner--lg{border-width:3px;width:24px;height:24px}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (width<=640px){.ui-button,.ui-input,.ui-select{min-height:var(--control-height-touch)}.ui-page-header{align-items:stretch;gap:var(--space-16);flex-direction:column}.ui-page-header__actions,.ui-page-header__actions .ui-button{width:100%}.ui-section__header,.ui-section__content{padding:var(--space-16)}.ui-alert{grid-template-columns:auto minmax(0,1fr)}.ui-alert__action{grid-column:2}}@media (prefers-reduced-motion:reduce){.ui-spinner{animation-duration:1ms;animation-iteration-count:1}}.platform-shell,.platform-shell--operations{min-height:100dvh;color:var(--color-text-primary);background:var(--color-surface-muted)}.platform-user{align-items:center;gap:var(--space-12);color:var(--color-neutral-200);font-size:var(--font-size-meta);display:flex}.operations-header{min-height:56px;padding:0 var(--space-24);box-shadow:none}.operations-header .portal-brand>span{border-radius:var(--radius-md);width:32px;height:32px}.operations-header .portal-brand strong{max-width:none;font-size:var(--font-size-body)}.operations-sign-out{min-height:var(--control-height);padding:0 var(--space-12);color:var(--color-text-inverse)}.operations-sign-out:hover:not(:disabled){color:var(--color-text-inverse);background:#ffffff14}.operations-workspace{width:min(1200px,100%);padding:var(--space-48) var(--space-24) var(--space-64);margin:auto}.operations-nav{gap:var(--space-4);margin-bottom:var(--space-32);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);scrollbar-width:none;display:flex;overflow-x:auto}.operations-nav button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-8);padding:0 var(--space-16);border-radius:var(--radius-md);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;flex:1 0 auto;display:inline-flex}.operations-nav button:hover{color:var(--color-text-strong);background:var(--color-surface-subtle)}.operations-nav button.is-active{color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 10%, var(--color-surface))}.operations-nav svg{width:16px;height:16px}.operations-feedback,.operations-health,.operations-provisioning-section,.operations-workspace>.ui-section,.platform-catalog-grid,.platform-admin-split{margin-top:var(--space-24)}.operations-loading{justify-content:center;align-items:center;gap:var(--space-12);min-height:240px;color:var(--color-text-muted);font-size:var(--font-size-body);display:flex}.operations-health{gap:var(--space-16);display:grid}.operations-overall .ui-alert__body{color:currentColor}.operations-overall time{font-variant-numeric:tabular-nums}.operations-service-list{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.operations-service-list li{align-content:start;gap:var(--space-8) var(--space-12);min-width:0;padding:var(--space-16);border-right:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);display:grid}.operations-service-list li:first-child{padding-left:0}.operations-service-list li:last-child{border-right:0;padding-right:0}.operations-service-icon{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 8%, var(--color-surface));grid-row:1/3;place-items:center;display:grid}.operations-service-icon svg{width:17px;height:17px}.operations-service-copy{gap:var(--space-4);min-width:0;display:grid}.operations-service-copy strong{color:var(--color-text-strong);font-size:var(--font-size-label);line-height:var(--line-height-tight)}.operations-service-copy small{color:var(--color-text-muted);font-size:var(--font-size-meta);line-height:var(--line-height-body)}.operations-service-list .ui-status-badge{grid-column:2}.operations-columns{align-items:start;gap:var(--space-16);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);display:grid}.operations-job-list,.operations-history-list{display:grid}.operations-history-list{scrollbar-gutter:stable;max-height:480px;overflow-y:auto}.operations-job-row,.operations-history-row{align-items:center;gap:var(--space-12);min-width:0;padding:var(--space-12) 0;border-bottom:1px solid var(--color-border);grid-template-columns:104px minmax(0,1fr) auto;display:grid}.operations-job-row:first-child,.operations-history-row:first-child{padding-top:0}.operations-job-row:last-child,.operations-history-row:last-child{border-bottom:0;padding-bottom:0}.operations-history-row{grid-template-columns:104px minmax(0,1fr);align-items:start}.operations-job-copy{gap:var(--space-4);min-width:0;display:grid}.operations-job-copy strong{color:var(--color-text-strong);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operations-job-copy small{color:var(--color-text-muted);font-size:var(--font-size-meta);font-variant-numeric:tabular-nums;line-height:var(--line-height-body)}.operations-job-row code,.operations-history-row code{overflow-wrap:anywhere;color:var(--color-status-danger-text);font-size:var(--font-size-meta)}.operations-provisioning-section>.ui-section__content{padding:0}.operations-inline-alert{margin:var(--space-24) var(--space-24) 0}.operations-provisioning{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);display:grid}.operations-form{gap:var(--space-16);padding:var(--space-24);grid-template-columns:1fr 1fr;display:grid}.operations-form h3{color:var(--color-text-strong);font-size:var(--font-size-component);grid-column:1/-1;margin:0}.operations-form>.ui-field{grid-column:1/-1}.operations-form>.operations-half-field{grid-column:auto}.operations-field-pair{gap:var(--space-16);grid-column:1/-1;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);display:grid}.operations-primary-action{grid-column:1/-1;justify-self:start}.operations-invitation{min-width:0;padding:var(--space-24);border-left:1px solid var(--color-border);background:var(--color-surface-subtle)}.operations-aside-heading{align-items:flex-start;gap:var(--space-12);display:flex}.operations-aside-heading>span{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 8%, var(--color-surface));flex:none;place-items:center;display:grid}.operations-aside-heading svg{width:17px;height:17px}.operations-aside-heading p{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-meta);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.operations-aside-heading h3{color:var(--color-text-strong);font-size:var(--font-size-component);margin:0}.operations-aside-copy{margin:var(--space-24) 0 0;color:var(--color-text-muted);font-size:var(--font-size-body);line-height:var(--line-height-body)}.operations-created-reseller,.operations-invitation-success{margin-top:var(--space-24)}.operations-invitation-form{gap:var(--space-16);margin-top:var(--space-24);display:grid}.platform-filter-bar{align-items:end;gap:var(--space-12);margin-bottom:var(--space-24);grid-template-columns:minmax(0,1fr) minmax(180px,.35fr) auto;display:grid}.platform-filter-bar--mapping{grid-template-columns:minmax(200px,320px)}.platform-admin-split{gap:var(--space-16);grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);display:grid}.platform-record-list{align-content:start;gap:var(--space-8);display:grid}.platform-record-list>button,.platform-compact-list>button{border:1px solid var(--color-border);cursor:pointer;width:100%;font:inherit;text-align:left}.platform-record-list>button,.platform-compact-list>div,.platform-compact-list>button{justify-content:space-between;align-items:center;gap:var(--space-12);min-width:0;padding:var(--space-12);border-radius:var(--radius-md);color:var(--color-text-primary);background:var(--color-surface);display:flex}.platform-record-list>button:hover,.platform-compact-list>button:hover,.platform-record-list>button.is-selected{border-color:var(--color-brand);background:color-mix(in srgb, var(--color-brand) 5%, var(--color-surface))}.platform-record-list>button>span:first-child,.platform-compact-list>:is(div,button)>span:first-child{gap:var(--space-4);min-width:0;display:grid}.platform-record-list strong,.platform-compact-list strong{color:var(--color-text-strong);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.platform-record-list small,.platform-compact-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.platform-detail-form,.platform-profile-detail{align-content:start;gap:var(--space-16);padding:var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle);display:grid}.platform-detail-form h3,.platform-profile-detail h3,.platform-grid-form h3{color:var(--color-text-strong);font-size:var(--font-size-component);margin:0}.platform-detail-form p,.platform-profile-title p{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:var(--font-size-meta)}.platform-detail-eyebrow{font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand-accent-text)!important}.platform-catalog-grid{gap:var(--space-16);display:grid}.platform-catalog-grid>.ui-alert{grid-column:1/-1}.platform-compact-list{gap:var(--space-8);margin-bottom:var(--space-24);display:grid}.platform-compact-list>div{border:1px solid var(--color-border)}.platform-compact-list .ui-button{flex:none}.platform-grid-form{gap:var(--space-16);padding-top:var(--space-24);border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.platform-grid-form>h3,.platform-grid-form>.platform-knowledge-fields,.platform-grid-form>.ui-button{grid-column:1/-1}.platform-grid-form>.ui-button{justify-self:start}.platform-knowledge-fields{gap:var(--space-16);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.platform-knowledge-fields>.ui-field:last-child{grid-column:1/-1}.platform-profile-detail{margin-top:var(--space-24)}.platform-profile-title{justify-content:space-between;align-items:flex-start;gap:var(--space-16);display:flex}.platform-mapping-list{gap:var(--space-8);display:grid}.platform-mapping-list article{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.platform-mapping-list article>div{gap:var(--space-4);min-width:0;display:grid}.platform-mapping-list h3,.platform-mapping-list p{margin:0}.platform-mapping-list h3{color:var(--color-text-strong);font-size:var(--font-size-body)}.platform-mapping-list p,.platform-mapping-list small{color:var(--color-text-muted);font-size:var(--font-size-meta);overflow-wrap:anywhere}@media (width<=960px){.operations-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-service-list li,.operations-service-list li:first-child,.operations-service-list li:last-child{padding:var(--space-16);border-right:0;border-bottom:1px solid var(--color-border)}.operations-service-list li:nth-last-child(-n+2){border-bottom:0}.operations-service-list li:nth-child(odd){border-right:1px solid var(--color-border);padding-left:0}.operations-service-list li:nth-child(2n){padding-right:0}.operations-columns{grid-template-columns:1fr}}@media (width<=720px){.operations-header{padding:0 var(--space-16)}.operations-sign-out{width:var(--control-height-touch);min-height:var(--control-height-touch);flex:0 0 var(--control-height-touch);padding:0}.platform-user>span{display:none}.operations-sign-out>span:last-child{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.operations-workspace{padding:var(--space-32) var(--space-16) var(--space-48)}.operations-nav{margin-inline:calc(var(--space-16) * -1);padding-inline:var(--space-16);border-inline:0;border-radius:0}.operations-service-list{grid-template-columns:1fr}.operations-service-list li,.operations-service-list li:first-child,.operations-service-list li:last-child,.operations-service-list li:nth-child(odd),.operations-service-list li:nth-child(2n){padding:var(--space-16) 0;border-right:0;border-bottom:1px solid var(--color-border)}.operations-service-list li:first-child{padding-top:0}.operations-service-list li:last-child{border-bottom:0;padding-bottom:0}.operations-job-row,.operations-history-row{gap:var(--space-8);grid-template-columns:1fr}.operations-job-row code{grid-column:1}.operations-provisioning{grid-template-columns:1fr}.operations-form{padding:var(--space-16);grid-template-columns:1fr}.operations-form>.operations-half-field{grid-column:1/-1}.operations-field-pair{grid-template-columns:1fr}.operations-primary-action{width:100%}.operations-invitation{padding:var(--space-16);border-top:1px solid var(--color-border);border-left:0}.operations-inline-alert{margin:var(--space-16) var(--space-16) 0}.platform-filter-bar,.platform-admin-split,.platform-grid-form,.platform-knowledge-fields{grid-template-columns:1fr}.platform-grid-form>*,.platform-knowledge-fields>.ui-field:last-child{grid-column:1}.platform-detail-form,.platform-profile-detail{padding:var(--space-16)}.platform-mapping-list article{flex-direction:column;align-items:flex-start}.platform-mapping-list .ui-button{width:100%}}.platform-role{color:var(--color-neutral-200);font-size:var(--font-size-meta);display:block}.customer-portal{--customer-header-height:var(--space-64);--customer-sidebar-width:calc(var(--space-64) * 5);grid-template-columns:var(--customer-sidebar-width) minmax(0, 1fr);grid-template-rows:var(--customer-header-height) minmax(0, 1fr);min-height:100dvh;color:var(--color-text-primary);background:var(--color-surface-muted);display:grid;overflow:hidden}.customer-header{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-24);padding:0 var(--space-24);color:var(--color-text-inverse);background:var(--color-text-strong);border-bottom:1px solid color-mix(in srgb, var(--color-text-inverse) 12%, transparent);grid-column:1/-1;display:flex}.customer-brand,.customer-header__actions,.customer-user,.customer-search,.customer-detail-title,.customer-metric,.customer-history-loading{align-items:center;display:flex}.customer-brand{gap:var(--space-12);min-width:0}.customer-brand>span{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);color:var(--color-on-brand);background:var(--color-brand);flex:none;place-items:center;display:grid}.customer-brand>span svg{width:var(--font-size-component);height:var(--font-size-component)}.customer-brand img{width:var(--control-height);height:var(--control-height);object-fit:contain}.customer-brand>div{gap:var(--space-4);min-width:0;display:grid}.customer-brand strong,.customer-brand small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.customer-brand strong{font-size:var(--font-size-component);line-height:1}.customer-brand small{color:var(--color-neutral-400);font-size:var(--font-size-meta)}.customer-header__actions{gap:var(--space-8);min-width:0}.customer-header__actions>.ui-status-badge{color:var(--color-text-inverse);background:color-mix(in srgb, var(--color-text-inverse) 10%, transparent)}.customer-header__actions>.ui-status-badge--success{color:var(--color-status-success-surface)}.customer-header__actions>.ui-status-badge--warning{color:var(--color-status-warning-surface)}.customer-header__actions>.ui-status-badge--info{color:var(--color-status-info-surface)}.customer-header__action.ui-button--ghost{color:var(--color-text-inverse);border-color:#0000}.customer-header__action.ui-button--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--color-text-inverse) 10%, transparent)}.customer-user{gap:var(--space-8);min-width:0;min-height:var(--control-height);padding:var(--space-4) var(--space-8) var(--space-4) var(--space-4);border-radius:var(--radius-md);color:inherit;cursor:pointer;background:0 0;border:1px solid #0000}.customer-user:hover{background:color-mix(in srgb, var(--color-text-inverse) 10%, transparent)}.customer-user:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.customer-user__avatar{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-strong);background:var(--color-surface-muted);font-size:var(--font-size-meta);font-weight:var(--font-weight-bold);flex:none;place-items:center;display:grid}.customer-user__copy{gap:var(--space-4);text-align:left;min-width:0;display:grid}.customer-header .ui-button--ghost:hover{color:var(--color-text-inverse);background:var(--color-neutral-700)}.customer-user__copy strong,.customer-user__copy small{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.customer-user__copy strong{font-size:var(--font-size-meta);line-height:1}.customer-user__copy small{color:var(--color-neutral-400);font-size:var(--font-size-meta);line-height:1}.customer-user>svg{width:16px;height:16px;color:var(--color-neutral-400)}.customer-sidebar{z-index:10;min-height:0;padding:var(--space-24) var(--space-16) var(--space-16);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;display:flex}.customer-sidebar__heading{justify-content:space-between;align-items:flex-end;gap:var(--space-16);padding:0 var(--space-4) var(--space-16);display:flex}.customer-sidebar__heading p{margin:0 0 var(--space-4);color:var(--color-brand-accent-text);font-size:var(--font-size-meta);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.customer-sidebar__heading h1{color:var(--color-text-strong);font-size:var(--font-size-section);line-height:var(--line-height-tight);margin:0}.customer-search{margin-bottom:var(--space-12);color:var(--color-text-muted);position:relative}.customer-search>svg{z-index:1;left:var(--space-12);pointer-events:none;width:16px;height:16px;position:absolute}.customer-search .ui-input{padding-left:var(--space-32)}.customer-vehicle-list{align-content:start;gap:var(--space-4);min-height:0;padding:var(--space-4);flex:1;display:grid;overflow-y:auto}.customer-vehicle-row{align-items:center;gap:var(--space-12);width:100%;min-height:64px;padding:var(--space-8);border-radius:var(--radius-md);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.customer-vehicle-row:hover{background:var(--color-surface-hover)}.customer-vehicle-row[aria-current=true]{border-color:color-mix(in srgb, var(--color-brand) 30%, var(--color-border));background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.customer-vehicle-row:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.customer-vehicle-icon{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 9%, var(--color-surface));place-items:center;display:grid}.customer-vehicle-icon svg{width:17px;height:17px}.customer-vehicle-row__copy{gap:var(--space-4);min-width:0;display:grid}.customer-vehicle-row__copy strong,.customer-vehicle-row__copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.customer-vehicle-row__copy strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.customer-vehicle-row__copy small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.customer-support{gap:var(--space-4);margin-top:var(--space-12);padding:var(--space-12);border-top:1px solid var(--color-border);display:grid}.customer-support small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.customer-support strong{color:var(--color-text-primary);font-size:var(--font-size-meta);overflow-wrap:anywhere}.customer-vehicle-skeleton{gap:var(--space-8);display:grid}.customer-vehicle-skeleton span{border-radius:var(--radius-md);background:var(--color-surface-muted);height:64px;animation:1.2s ease-in-out infinite alternate customer-skeleton-pulse;display:block}@keyframes customer-skeleton-pulse{to{opacity:.5}}.customer-map-workspace{min-width:0;min-height:0;position:relative;overflow:hidden}.customer-map-workspace .tracking-map{background:var(--color-map-surface);position:absolute;inset:0}.customer-map-workspace .vehicle-marker{width:var(--space-24);height:var(--space-24);border:var(--space-4) solid var(--color-surface);background:var(--color-map-marker);box-shadow:var(--shadow-menu);cursor:pointer;border-radius:50%;padding:0;position:relative}.customer-map-workspace .vehicle-marker:after{content:"";inset:calc(var(--space-8) * -1);border:1px solid color-mix(in srgb, var(--color-map-marker) 30%, transparent);border-radius:50%;position:absolute}.customer-map-workspace .vehicle-marker[data-state=online]{background:var(--color-status-success)}.customer-map-workspace .vehicle-marker[data-state=stale]{background:var(--color-status-warning)}.customer-map-workspace .vehicle-marker[data-state=offline],.customer-map-workspace .vehicle-marker[data-state=unavailable],.customer-map-workspace .vehicle-marker[data-state=service_suspended]{background:var(--color-status-danger)}.customer-map-workspace .vehicle-marker[data-selected=true]{width:var(--space-32);height:var(--space-32);background:var(--color-brand)}.customer-map-workspace .vehicle-marker:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.customer-map-alert{z-index:7;top:var(--space-16);width:min(560px, calc(100% - var(--space-32)));box-shadow:var(--shadow-menu);position:absolute;left:50%;transform:translate(-50%)}.customer-vehicle-detail,.customer-history-panel,.customer-alert-panel{z-index:6;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-overlay);position:absolute}.customer-vehicle-detail{left:var(--space-24);bottom:var(--space-24);width:min(560px, calc(100% - var(--space-48)));padding:var(--space-16)}.customer-detail-title{gap:var(--space-12);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.customer-detail-title>div{min-width:0}.customer-detail-title h2,.customer-history-panel h2{color:var(--color-text-strong);font-size:var(--font-size-component);line-height:var(--line-height-tight);margin:0}.customer-detail-title p{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:var(--font-size-meta)}.customer-detail-metrics{gap:var(--space-8);margin-top:var(--space-16);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.customer-metric{gap:var(--space-8);min-width:0;padding:var(--space-8);background:var(--color-surface-subtle);border-radius:var(--radius-md)}.customer-metric>svg{width:16px;height:16px;color:var(--color-brand-accent-text);flex:none}.customer-metric>span{gap:var(--space-4);min-width:0;display:grid}.customer-metric small,.customer-metric strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.customer-metric small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.customer-metric strong{color:var(--color-text-strong);font-size:var(--font-size-meta)}.customer-vehicle-detail>.ui-alert{margin-top:var(--space-16)}.customer-history-action{width:100%;margin-top:var(--space-12)}.customer-history-action:disabled{opacity:1;color:var(--color-text-muted);background:var(--color-surface-muted)}.customer-history-panel{top:var(--space-16);right:var(--space-16);width:min(400px, calc(100% - var(--space-32)));padding:var(--space-16)}.customer-history-panel>header{justify-content:space-between;align-items:center;gap:var(--space-16);display:flex}.customer-history-panel>header p{margin:0 0 var(--space-4);color:var(--color-brand-accent-text);font-size:var(--font-size-meta);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.customer-range-tabs{gap:var(--space-4);margin-top:var(--space-16);padding:var(--space-4);background:var(--color-surface-subtle);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);display:grid}.customer-range-tabs button{border-radius:var(--radius-sm);min-height:32px;color:var(--color-text-secondary);font-size:var(--font-size-meta);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0}.customer-range-tabs button:hover{color:var(--color-text-strong);background:var(--color-surface-hover)}.customer-range-tabs button[data-active=true]{color:var(--color-text-strong);background:var(--color-surface);box-shadow:var(--shadow-menu)}.customer-range-tabs button:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.customer-route-summary{gap:var(--space-8);margin-top:var(--space-16);grid-template-columns:1fr 1fr;display:grid}.customer-route-summary>span{column-gap:var(--space-8);padding:var(--space-12);border-radius:var(--radius-md);background:var(--color-surface-subtle);grid-template-columns:auto 1fr;display:grid}.customer-route-summary svg{width:17px;height:17px;color:var(--color-brand-accent-text);grid-row:1/3;align-self:center}.customer-route-summary strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.customer-route-summary small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.customer-history-loading{justify-content:center;gap:var(--space-8);min-height:96px;color:var(--color-text-muted);font-size:var(--font-size-body)}.customer-history-empty,.customer-history-note{margin:var(--space-12) 0 0;color:var(--color-text-muted);font-size:var(--font-size-meta);line-height:var(--line-height-body)}.customer-history-empty{text-align:center}.customer-export-action{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-8);margin-top:var(--space-12);border-radius:var(--radius-md);color:var(--color-on-brand);background:var(--color-brand);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-decoration:none;display:flex}.customer-export-action:hover{background:color-mix(in srgb, var(--color-brand) 88%, var(--color-text-strong))}.customer-export-action:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.customer-alert-panel{top:var(--space-16);right:var(--space-16);width:min(480px, calc(100% - var(--space-32)));max-height:calc(100% - var(--space-32));overflow:auto}.customer-alert-panel .ui-section{border:0}.customer-policy-panel{z-index:30;inset:var(--customer-header-height) 0 0;background:var(--color-surface-muted);position:fixed;overflow:auto}.customer-policy-panel__toolbar{z-index:10;padding:var(--space-12) var(--space-24);border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:flex-end;display:flex;position:sticky;top:0}.telematics-workspace{width:min(1180px,100%);padding:var(--space-32) var(--space-24) var(--space-64);margin:0 auto}.telematics-workspace>.ui-alert{margin-top:var(--space-16)}.ui-field.customer-picker{width:min(440px,100%);margin:var(--space-24) 0}.telematics-grid{align-items:start;gap:var(--space-16);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.policy-card{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.policy-card>.ui-section{overflow:hidden}.policy-card .ui-section__content{padding:0}.policy-list{border-bottom:1px solid var(--color-border);gap:0;padding:0;display:grid}.policy-list>div{align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--color-border);background:var(--color-surface);border-radius:0;grid-template-columns:minmax(0,1fr) auto auto auto;display:grid}.policy-list>div:last-child{border-bottom:0}.policy-list>div>span:first-child{gap:var(--space-4);min-width:0;display:grid}.policy-list strong,.policy-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.policy-list strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.policy-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.policy-list>p,.alert-event-list>p{padding:var(--space-24);color:var(--color-text-muted);font-size:var(--font-size-body);text-align:center;margin:0}.policy-icon-action{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.policy-icon-action:hover{color:var(--color-text-strong);background:var(--color-surface-hover)}.policy-icon-action--danger:hover{color:var(--color-status-danger-text);background:var(--color-status-danger-surface)}.policy-icon-action:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.policy-icon-action svg{width:16px;height:16px}.policy-form{gap:var(--space-16);padding:var(--space-16);display:grid}.policy-form>strong{color:var(--color-text-strong);font-size:var(--font-size-component)}.customer-textarea{width:100%;min-height:112px;padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-strong);background:var(--color-surface);font:inherit;font-size:var(--font-size-body);line-height:var(--line-height-body);resize:vertical;outline:none}.customer-textarea:hover{border-color:var(--color-border-strong)}.customer-textarea:focus-visible{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 20%, transparent)}.coordinate-grid{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.vehicle-checks{gap:var(--space-8);max-height:176px;padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;display:grid;overflow:auto}.vehicle-checks legend{padding:0 var(--space-4);color:var(--color-text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.vehicle-checks label,.policy-check{align-items:center;gap:var(--space-8);min-height:32px;color:var(--color-text-primary);font-size:var(--font-size-body);cursor:pointer;display:flex}.vehicle-checks input,.policy-check input{width:18px;height:18px;accent-color:var(--color-brand);flex:none}.policy-actions{justify-content:flex-end;gap:var(--space-8);display:flex}.policy-actions .ui-button{min-height:var(--control-height);padding:0 var(--space-16);border-radius:var(--radius-md);font-size:var(--font-size-body)}.alert-timeline{grid-column:1/-1}.alert-event-list{max-height:420px;display:grid;overflow:auto}.alert-event-list>div{gap:var(--space-12);padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--color-border);display:flex}.alert-event-list>div:last-child{border-bottom:0}.alert-event-icon{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-status-warning-text);background:var(--color-status-warning-surface);flex:none;place-items:center;display:grid}.alert-event-icon svg{width:16px;height:16px}.alert-event-list>div>span:last-child{gap:var(--space-4);min-width:0;display:grid}.alert-event-list strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.alert-event-list small,.alert-event-list time{color:var(--color-text-muted);font-size:var(--font-size-meta)}@media (width<=960px){.customer-portal{--customer-sidebar-width:calc(var(--space-32) * 9)}.customer-header__action>span:last-child{display:none}.customer-header__action{width:var(--control-height);padding:0}}@media (width<=720px){.customer-portal{--customer-header-height:calc(var(--space-64) + var(--space-48));grid-template-columns:1fr;grid-template-rows:var(--customer-header-height) minmax(0, 1fr) 38vh}.customer-header{padding:var(--space-8) var(--space-12);gap:var(--space-4);flex-wrap:wrap}.customer-user__copy,.customer-user>svg{display:none}.customer-brand{width:100%}.customer-brand>div{max-width:calc(100vw - 80px)}.customer-header .customer-brand>div{display:grid}.customer-brand small{display:block}.customer-header__actions{justify-content:flex-end;gap:var(--space-4);width:100%}.customer-header__actions>.ui-status-badge{width:var(--space-24);min-width:var(--space-24);justify-content:center;padding:0;font-size:0}.customer-header__action{min-height:var(--control-height-touch);width:var(--control-height-touch)}.customer-user{min-height:var(--control-height-touch);padding:var(--space-8)}.customer-sidebar{padding:var(--space-12) var(--space-12) max(var(--space-12), env(safe-area-inset-bottom));border:0;border-top:1px solid var(--color-border);grid-row:3}.customer-sidebar__heading{padding-bottom:var(--space-8);align-items:center}.customer-sidebar__heading p{display:none}.customer-search{margin-bottom:var(--space-8)}.customer-vehicle-list{grid-auto-columns:minmax(240px,80vw);grid-auto-flow:column;overflow:auto hidden}.customer-support{display:none}.customer-map-workspace{grid-row:2}.customer-vehicle-detail{left:var(--space-8);bottom:var(--space-8);width:calc(100% - var(--space-16));padding:var(--space-12)}.customer-detail-metrics{margin-top:var(--space-8);gap:var(--space-4)}.customer-metric{padding:var(--space-8) var(--space-4);gap:var(--space-4)}.customer-metric>svg{display:none}.customer-vehicle-detail>.ui-alert{margin-top:var(--space-8)}.customer-history-action{min-height:var(--control-height-touch);margin-top:var(--space-8)}.customer-history-panel,.customer-alert-panel{inset:var(--space-8) var(--space-8) auto;width:auto;max-height:calc(100% - var(--space-16))}.customer-map-alert{top:var(--space-8);width:calc(100% - var(--space-16))}.customer-policy-panel__toolbar{padding:var(--space-8) var(--space-12)}.telematics-workspace{padding:var(--space-24) var(--space-12) var(--space-48)}.telematics-grid,.coordinate-grid{grid-template-columns:1fr}.policy-list>div{grid-template-columns:minmax(0,1fr) auto auto}.policy-list>div>.ui-status-badge{grid-area:2/1/auto/-1}.policy-actions{flex-direction:column-reverse;align-items:stretch}.policy-actions .ui-button{width:100%;min-height:var(--control-height-touch)}}.customer-brand .customer-account-identity{gap:var(--space-4);display:flex}.customer-account-identity span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.customer-account-identity span:last-child{flex-shrink:0}@media (prefers-reduced-motion:reduce){.customer-vehicle-skeleton span{animation:none}}.installer-shell{min-height:100dvh;color:var(--color-text-primary);background:var(--color-surface-muted)}.workspace-navigation{width:min(1120px, calc(100% - var(--space-32)));margin:var(--space-16) auto 0;padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.workspace-navigation__desktop{gap:var(--space-16);flex-wrap:wrap;display:flex}.workspace-navigation__group>span{padding:0 var(--space-8) var(--space-4);font-size:var(--font-size-meta);color:var(--color-text-secondary);display:block}.workspace-navigation__group>div{gap:var(--space-4);flex-wrap:wrap;display:flex}.workspace-navigation button{min-height:var(--control-height);padding:var(--space-8);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0}.workspace-navigation button:hover{background:var(--color-surface-hover)}.workspace-navigation button[aria-current=page]{color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 9%, var(--color-surface))}.workspace-navigation button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.workspace-navigation__mobile{display:none}@media (width<=720px){.workspace-navigation__desktop{display:none}.workspace-navigation__mobile{align-items:center;gap:var(--space-12);grid-template-columns:auto minmax(0,1fr);display:grid}.workspace-navigation__mobile label{font-size:var(--font-size-label);color:var(--color-text-secondary)}}.installer-header{justify-content:space-between;align-items:center;gap:var(--space-24);height:64px;padding:0 max(var(--space-24), calc((100vw - 1120px) / 2));color:var(--color-text-inverse);background:var(--color-text-strong);display:flex}.reseller-brand,.reseller-session,.reseller-session>div{align-items:center;display:flex}.reseller-brand{gap:var(--space-12);min-width:0}.reseller-brand>span,.reseller-brand>img{border-radius:var(--radius-md);object-fit:contain;width:32px;height:32px;color:var(--color-text-strong);background:var(--color-signal-live);flex:none;place-items:center;display:grid}.reseller-brand>div,.reseller-session>div{gap:2px;min-width:0;display:grid}.reseller-brand strong,.reseller-session strong{font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reseller-brand small,.reseller-session small{color:color-mix(in srgb, var(--color-text-inverse) 68%, transparent);font-size:var(--font-size-meta)}.reseller-session{gap:var(--space-16)}.reseller-session>div{text-align:right}.installer-header .ui-button--ghost{min-height:36px;color:var(--color-text-inverse)}.installer-header .ui-button--ghost:hover{color:var(--color-text-inverse);background:color-mix(in srgb, var(--color-text-inverse) 10%, transparent)}.workspace-nav{width:min(1120px, calc(100% - var(--space-32)));gap:var(--space-4);margin:var(--space-16) auto 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:flex;overflow-x:auto}.workspace-nav button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-8);padding:0 var(--space-12);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;flex:1 0 auto;display:inline-flex}.workspace-nav button:hover{color:var(--color-text-strong);background:var(--color-surface-hover)}.workspace-nav button[data-active=true]{color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 9%, var(--color-surface));box-shadow:none}.workspace-nav button:focus-visible,.job-card:focus-visible,.instruction-list button:focus-visible,.scan-button:focus-visible,.scanner-close:focus-visible,.inline-record-form button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:2px}.fleet-vehicles label:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:2px}.installer-home,.job-workspace,.new-installation,.commercial-workspace,.settings-workspace,.fleet-workspace,.inventory-import-workspace,.inventory-catalog,.telematics-workspace,.people-workspace,.customers-workspace{width:min(1120px,100%);padding:var(--space-48) var(--space-24) var(--space-64);margin:0 auto}.installer-home>.ui-alert,.commercial-workspace>.ui-alert,.settings-workspace>.ui-alert,.fleet-workspace>.ui-alert,.inventory-import-workspace>.ui-alert,.inventory-catalog>.ui-alert,.telematics-workspace>.ui-alert,.people-workspace>.ui-alert,.customers-workspace>.ui-alert{margin-top:var(--space-24)}.installer-loading{justify-content:center;align-items:center;gap:var(--space-12);min-height:240px;color:var(--color-text-muted);font-size:var(--font-size-body);display:flex}.job-grid{gap:var(--space-12);margin-top:var(--space-32);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.job-grid>.ui-empty-state{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-column:1/-1}.job-card{align-items:center;gap:var(--space-16);min-height:112px;padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);text-align:left;background:var(--color-surface);cursor:pointer;transition:border-color var(--motion-standard) ease, background-color var(--motion-standard) ease;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.job-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-raised);transform:none}.job-card>span:nth-child(2){justify-items:start;gap:var(--space-4);min-width:0;display:grid}.job-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-body);overflow:hidden}.job-card span span:not(.ui-status-badge__dot){color:var(--color-text-muted);font-size:var(--font-size-meta)}.job-card small{color:var(--color-text-muted);font-size:var(--font-size-meta);font-weight:var(--font-weight-medium);text-transform:none}.job-status{border-radius:var(--radius-md);width:40px;height:40px}.job-topbar{margin-bottom:var(--space-24)}.job-topbar .ui-button{padding-left:var(--space-8)}.job-workspace>.ui-page-header{padding-bottom:var(--space-8)}.field-card{margin-top:var(--space-16);padding:var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.field-card h2{margin:0 0 var(--space-16);color:var(--color-text-strong);font-size:var(--font-size-section);line-height:var(--line-height-tight)}.field-card>p{color:var(--color-text-muted);font-size:var(--font-size-body);line-height:var(--line-height-body)}.field-card .eyebrow{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-meta);font-weight:var(--font-weight-semibold);letter-spacing:.04em}.assignment-card{align-items:end;gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(220px,320px) auto;display:grid}.assignment-card>div{align-items:flex-start;gap:var(--space-12);display:flex}.assignment-card>div>svg{width:20px;height:20px;color:var(--color-brand-text);flex:none}.assignment-card>div span{gap:var(--space-4);display:grid}.assignment-card h2{margin:0}.assignment-card p{color:var(--color-text-muted);font-size:var(--font-size-meta);line-height:var(--line-height-body);margin:0}.assignment-card label{gap:var(--space-4);color:var(--color-text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);display:grid}.support-workspace{width:min(1120px,100%);padding:var(--space-48) var(--space-24) var(--space-64);margin:0 auto}.support-workspace>.ui-alert{margin-top:var(--space-24)}.support-search{align-items:end;gap:var(--space-12);margin-top:var(--space-24);padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;display:grid}.support-layout{align-items:start;gap:var(--space-16);margin-top:var(--space-16);grid-template-columns:minmax(300px,.75fr) minmax(0,1.45fr);display:grid}.support-layout>.ui-section{min-width:0}.support-result-list{gap:var(--space-8);display:grid}.support-result-list>button{align-items:center;gap:var(--space-12);width:100%;min-height:96px;padding:var(--space-12);border-radius:var(--radius-md);color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.support-result-list>button:hover{background:var(--color-surface-hover)}.support-result-list>button[aria-current=true]{border-color:color-mix(in srgb, var(--color-brand) 30%, var(--color-border));background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.support-result-list>button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.support-result-list>button>span:nth-child(2){justify-items:start;gap:var(--space-4);min-width:0;display:grid}.support-result-list strong,.support-result-list small,.support-result-list code{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.support-result-list strong{color:var(--color-text-strong);font-size:var(--font-size-body)}.support-result-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.support-result-list code{color:var(--color-code);font-size:var(--font-size-meta)}.support-detail{gap:var(--space-16);min-width:0;display:grid}.support-detail .ui-section>.ui-alert{margin:0 0 var(--space-16)}.support-facts{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.support-facts>div{gap:var(--space-4);min-width:0;padding:var(--space-12);border-radius:var(--radius-md);background:var(--color-table-row);display:grid}.support-facts small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.support-facts strong,.support-facts code{overflow-wrap:anywhere;color:var(--color-text-strong);font-size:var(--font-size-label)}.support-diagnostic{gap:var(--space-16);display:grid}.support-diagnostic>div:first-child{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.support-diagnostic>div:first-child small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.support-checks{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.support-checks>div{justify-items:start;gap:var(--space-4);min-width:0;padding:var(--space-12);border-radius:var(--radius-md);background:var(--color-table-row);display:grid}.support-checks small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.support-next-steps{padding:var(--space-16);border-left:3px solid var(--color-brand-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface-muted)}.support-next-steps strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.support-next-steps ol{margin:var(--space-8) 0 0;padding-left:var(--space-24)}.support-next-steps li,.support-next-steps p{margin:var(--space-4) 0;color:var(--color-text-secondary);font-size:var(--font-size-label);line-height:var(--line-height-body)}.support-history{gap:var(--space-4);display:grid}.support-history>div{gap:var(--space-12);padding:var(--space-12) 0;border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);display:grid}.support-history>div:last-child{border-bottom:0}.support-history>div>span:first-child{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 8%, var(--color-surface));place-items:center;display:grid}.support-history svg{width:16px;height:16px}.support-history>div>span:last-child{gap:var(--space-4) var(--space-8);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.support-history strong{color:var(--color-text-strong);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-history small{color:var(--color-text-muted);font-size:var(--font-size-meta);grid-column:1/-1}.support-history code{color:var(--color-code);font-size:var(--font-size-meta)}.equipment-check{gap:var(--space-16)}.equipment-check>h2{margin:0}.equipment-check>.ui-button{min-height:var(--control-height-touch)}.equipment-check label:not(.ui-field__label),.setup-form label:not(.ui-field__label){color:var(--color-text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.equipment-check input,.setup-form input{min-height:var(--control-height-touch);padding:0 var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-strong);background:var(--color-surface);font:inherit}.verify-button,.sticky-action button{min-height:var(--control-height-touch);border-radius:var(--radius-md);color:var(--color-on-brand);background:var(--color-brand);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);border:0}.verify-button:disabled{color:var(--color-status-success-text);background:var(--color-status-success-surface)}.instruction-list{gap:var(--space-8)}.instruction-list button{padding:var(--space-12);border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised)}.instruction-list small,.check-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.instruction-list code{font-size:var(--font-size-label)}.check-list{gap:var(--space-8)}.check-list>div{padding:var(--space-12);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.diagnostic-card{gap:var(--space-8);margin-top:var(--space-16);padding:var(--space-16);border:1px solid color-mix(in srgb, var(--color-status-warning) 25%, var(--color-border));border-radius:var(--radius-md);color:var(--color-status-warning-text);background:var(--color-status-warning-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.job-workspace>.ui-alert{margin-top:var(--space-16)}.sticky-action{z-index:10;margin-top:var(--space-24);padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);position:sticky;bottom:0}.sticky-action .ui-button{width:100%;box-shadow:none}.new-installation>.back-link{margin-bottom:var(--space-24)}.new-installation>.sticky-action{position:static}.new-installation>.ui-alert{margin-top:var(--space-16)}.new-installation>h1{font-size:var(--font-size-page);line-height:var(--line-height-tight);margin:0}.new-installation .ui-page-header h1{font-size:var(--font-size-page)}.setup-form>*{min-width:0}.setup-form .inline-record-form{grid-column:1/-1}.inventory-unassign{gap:var(--space-12);padding-block:var(--space-16);display:grid}.inventory-editor-actions{flex-wrap:wrap}.setup-form{gap:var(--space-16);margin-top:var(--space-32)}.setup-control-action{align-items:end;gap:var(--space-8);grid-template-columns:minmax(0,1fr) auto;display:grid}.setup-control-action>.ui-field{min-width:0}.setup-control-action>button{min-height:var(--control-height-touch)}.setup-control-action>.scan-button{width:var(--control-height-touch)}.inline-record-form>.ui-field{justify-content:stretch;display:grid}.inline-record-actions{justify-content:flex-end;gap:var(--space-8);flex-wrap:wrap;display:flex}.setup-form .ui-select{min-height:var(--control-height-touch)}.select-with-action{grid-template-columns:minmax(0, 1fr) var(--control-height-touch);gap:var(--space-8)}.select-with-inline{gap:var(--space-8)}.select-with-inline>button,.inline-record-form>div button:not(.ui-button),.scan-button,.scanner-close{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-strong);background:var(--color-surface);font-weight:var(--font-weight-semibold)}.scan-button{color:var(--color-text-inverse);border-color:var(--color-text-strong);background:var(--color-text-strong)}.inline-record-form{gap:var(--space-12);padding:var(--space-16);border-color:var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle)}.inline-record-form>div{gap:var(--space-8)}.inline-record-form>div button:last-child:not(.ui-button){color:var(--color-on-brand);background:var(--color-brand)}.scanner-overlay{padding:var(--space-16);background:color-mix(in srgb, var(--color-text-strong) 82%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.scanner-card{padding:var(--space-24);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-overlay)}.scanner-card video{border-radius:var(--radius-lg)}.scanner-dialog{width:min(480px, calc(100% - var(--space-32)));max-height:calc(100dvh - var(--space-32));border-radius:var(--radius-xl);color:var(--color-text-primary);background:var(--color-surface);border:0;padding:0}.scanner-dialog::backdrop{background:color-mix(in srgb, var(--color-text-strong) 82%, transparent)}.scanner-dialog .scanner-card{width:100%}.installation-next-step{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body)}.diagnostic-card>div{grid-column:1/-1}.diagnostic-card[data-category=healthy]{color:var(--color-status-success-text);background:var(--color-status-success-surface);border-color:color-mix(in srgb, var(--color-status-success) 25%, var(--color-border))}.diagnostic-card h2{margin:var(--space-12) 0 var(--space-8);font-size:var(--font-size-component)}.diagnostic-card ol{padding-left:var(--space-24);line-height:var(--line-height-body);margin:0}.metric-grid{margin-top:var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border);gap:1px;overflow:hidden}.metric-card{column-gap:var(--space-12);width:100%;padding:var(--space-16);color:var(--color-text-primary);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:0}.metric-card:hover,.metric-card[aria-expanded=true]{border-color:var(--color-border-strong);transform:none}.metric-card:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.metric-card strong{font-size:var(--font-size-section)}.metric-card:last-child{grid-column:1/-1}.metric-card span{color:var(--color-text-muted);font-size:var(--font-size-meta)}.metric-card .metric-icon{grid-row:1/3}.metric-card .metric-chevron{color:var(--color-text-muted);grid-area:1/3/3}.commercial-plan-disclosure{margin-top:var(--space-16)}.commercial-service{margin-top:var(--space-24)}.commercial-plan-disclosure summary{min-height:var(--control-height);cursor:pointer;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.commercial-plan-disclosure summary:focus-visible{outline:3px solid var(--color-focus)}.commercial-plan-disclosure[open] summary{margin-bottom:var(--space-16)}.dashboard-drilldown{margin-top:var(--space-16);padding:var(--space-20);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.dashboard-drilldown>header{justify-content:space-between;align-items:center;gap:var(--space-16);display:flex}.dashboard-drilldown>header h2{margin:var(--space-4) 0;font-size:var(--font-size-section)}.dashboard-drilldown>header p:last-child{color:var(--color-text-muted);font-size:var(--font-size-meta);margin:0}.dashboard-record-list{gap:var(--space-8);margin-top:var(--space-16);display:grid}.dashboard-record-list article{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-12) 0;border-top:1px solid var(--color-border);display:flex}.dashboard-record-list article>span{gap:var(--space-4);min-width:0;display:grid}.dashboard-record-list strong,.dashboard-record-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-record-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.commercial-columns,.settings-columns,.fleet-columns{gap:var(--space-16);margin-top:var(--space-24)}.commercial-form,.brand-editor,.fleet-create{gap:var(--space-16)}.commercial-form .ui-button,.brand-editor .ui-button,.fleet-create .ui-button{width:100%}.license-list,.fleet-group-list{gap:var(--space-12)}.license-card{padding:var(--space-16);border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised)}.license-heading>div{justify-items:start;gap:var(--space-4)}.license-heading strong{font-size:var(--font-size-body)}.license-heading small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.license-actions{gap:var(--space-8);margin-top:var(--space-16)}.renewal-row{gap:var(--space-8);margin-top:var(--space-16);grid-template-columns:minmax(0,1fr) 120px auto}.license-card>.ui-alert{margin-top:var(--space-12)}.brand-preview{gap:var(--space-16);min-height:96px;padding:var(--space-16);border-radius:var(--radius-lg)}.brand-preview>span{border-radius:var(--radius-md)}.color-fields{gap:var(--space-12)}.color-fields label{color:var(--color-text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.color-fields label>span{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.audit-heading>svg{color:var(--color-brand-accent-text)}.audit-list{margin-top:var(--space-16);gap:0}.audit-list>div:not(.ui-empty-state){gap:var(--space-12);padding:var(--space-12) var(--space-4);border-bottom-color:var(--color-border)}.audit-list>div>span:first-child{border-radius:var(--radius-md);color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 8%, var(--color-surface))}.audit-list strong{font-size:var(--font-size-label)}.audit-list small,.audit-list code{font-size:var(--font-size-meta)}.fleet-customer-select{max-width:420px;margin-top:var(--space-24)}.reseller-textarea{min-height:auto;padding:var(--space-12);resize:vertical;line-height:var(--line-height-body)}.fleet-group-list>.ui-empty-state{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.fleet-group-card,.fleet-group-heading{gap:var(--space-12)}.fleet-group-heading>svg{color:var(--color-brand-text)}.fleet-group-heading .ui-input{font-size:var(--font-size-component);font-weight:var(--font-weight-bold);background:0 0;border-color:#0000}.fleet-group-heading .ui-button{color:var(--color-status-danger-text)}.fleet-save{justify-self:end}.fleet-vehicles{gap:var(--space-4);padding-top:var(--space-12);border-top-color:var(--color-border)}.fleet-vehicles>strong{font-size:var(--font-size-label)}.fleet-vehicles>label{gap:var(--space-8);padding:var(--space-8);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.fleet-vehicles small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.inventory-import-grid{gap:var(--space-16);margin-top:var(--space-24)}.import-upload-card>svg,.import-result-card>header svg{color:var(--color-brand-accent-text)}.import-upload-card h2,.import-profile-card h2{margin:var(--space-8) 0 var(--space-4)}.import-upload-card p,.import-profile-card p{color:var(--color-text-muted);font-size:var(--font-size-body)}.import-upload-card label{margin:var(--space-16) 0 var(--space-8);color:var(--color-text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.import-upload-card input{width:100%;padding:var(--space-4);border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font:inherit}.import-upload-card input::file-selector-button{min-height:36px;margin-right:var(--space-12);padding:0 var(--space-12);border-radius:var(--radius-sm);color:var(--color-text-strong);background:var(--color-surface-subtle);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;border:0}.import-upload-card input:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:2px}.import-upload-card>small{margin-bottom:var(--space-12);color:var(--color-text-muted)}.import-profile-card>div{gap:var(--space-4);padding:var(--space-12) 0;border-bottom-color:var(--color-border)}.import-profile-card code{color:var(--color-text-muted);font-size:var(--font-size-meta)}.import-result-card{margin-top:var(--space-16)}.import-row-list{gap:var(--space-4);margin-top:var(--space-16)}.import-row-list>div{align-items:center;gap:var(--space-12);padding:var(--space-12);border-radius:var(--radius-md);background:var(--color-surface-subtle);font-size:var(--font-size-label)}.import-row-list>div[data-status=invalid]{background:var(--color-status-danger-surface)}.import-row-list small{color:var(--color-text-muted)}.inventory-section-tabs{width:min(1120px, calc(100% - var(--space-48)));gap:var(--space-4);margin:var(--space-24) max(var(--space-24), calc((100% - 1120px) / 2)) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:inline-flex}.inventory-section-tabs button{min-height:var(--control-height);align-items:center;gap:var(--space-8);padding:0 var(--space-16);border-radius:var(--radius-md);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;display:inline-flex}.inventory-section-tabs button:hover{color:var(--color-text-strong);background:var(--color-surface-hover)}.inventory-section-tabs button[aria-current=page]{color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 9%, var(--color-surface))}.inventory-section-tabs button:focus-visible,.inventory-record-list button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.inventory-section-tabs svg{width:17px;height:17px}.inventory-search{gap:var(--space-12);margin-top:var(--space-24);padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;align-items:end;display:grid}.inventory-search__hint{grid-column:1/-1}.inventory-layout{gap:var(--space-16);margin-top:var(--space-16);grid-template-columns:minmax(300px,.75fr) minmax(0,1.45fr);align-items:start;display:grid}.inventory-layout>.ui-section:only-child{grid-column:1/-1}.inventory-record-list,.inventory-detail-stack,.inventory-history-list{gap:var(--space-8);display:grid}.inventory-record-list button{align-items:center;gap:var(--space-12);width:100%;min-height:76px;padding:var(--space-8);border-radius:var(--radius-md);color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.inventory-record-list button:hover{background:var(--color-surface-hover)}.inventory-record-list button[aria-current=true]{border-color:color-mix(in srgb, var(--color-brand) 30%, var(--color-border));background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.inventory-record-list button>span:first-child,.inventory-history-list>div>span:first-child{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 8%, var(--color-surface));flex:none;place-items:center;display:grid}.inventory-record-list button>span:nth-child(2){gap:var(--space-4);min-width:0;display:grid}.inventory-record-list strong,.inventory-record-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inventory-record-list strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.inventory-record-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.inventory-detail-stack{gap:var(--space-16);min-width:0}.inventory-editor>.ui-section__content{gap:var(--space-16);display:grid}.inventory-assignment-summary{gap:var(--space-8);padding:var(--space-12);border-radius:var(--radius-md);background:var(--color-surface-subtle);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.inventory-assignment-summary>span{gap:var(--space-4);min-width:0;display:grid}.inventory-assignment-summary small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.inventory-assignment-summary strong{color:var(--color-text-strong);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inventory-editor-form{gap:var(--space-16);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inventory-editor-actions{justify-content:flex-end;gap:var(--space-8);grid-column:1/-1;display:flex}.inventory-lifecycle-actions{justify-content:space-between;align-items:center;gap:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--color-border);display:flex}.inventory-lifecycle-actions>span{gap:var(--space-4);display:grid}.inventory-lifecycle-actions strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.inventory-lifecycle-actions small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.inventory-lifecycle-actions>div{justify-content:flex-end;gap:var(--space-8);flex-wrap:wrap;display:flex}.inventory-history-list>div{align-items:center;gap:var(--space-12);padding:var(--space-12) 0;border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.inventory-history-list>div:last-child{border-bottom:0}.inventory-history-list>div>span:not(:first-child){gap:var(--space-4);min-width:0;display:grid}.inventory-history-list>div>span:last-child{text-align:right}.inventory-history-list strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.inventory-history-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.inventory-loading{justify-content:center;align-items:center;gap:var(--space-12);min-height:180px;color:var(--color-text-muted);display:flex}.people-layout,.customers-layout{gap:var(--space-16);margin-top:var(--space-24);grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr);align-items:start;display:grid}.people-pending{margin-top:var(--space-16)}.people-form,.customer-editor__form{gap:var(--space-16);display:grid}.people-form>.ui-button{width:100%}.people-loading,.customers-loading{justify-content:center;align-items:center;gap:var(--space-12);min-height:160px;color:var(--color-text-muted);display:flex}.people-list,.people-invitation-list,.customer-account-list{gap:var(--space-8);display:grid}.people-row{gap:var(--space-12);padding:var(--space-16) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.people-row:first-child{padding-top:0}.people-row:last-child{border-bottom:0;padding-bottom:0}.people-row__identity{align-items:center;gap:var(--space-12);min-width:0;display:flex}.people-row__identity>span,.customer-account-list button>span:first-child{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-brand-text);background:color-mix(in srgb, var(--color-brand) 8%, var(--color-surface));flex:none;place-items:center;display:grid}.people-row__identity svg,.customer-account-list button>span:first-child svg{width:18px;height:18px}.people-row__identity>div{gap:var(--space-4);min-width:0;display:grid}.people-row__identity strong,.people-row__identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.people-row__identity strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.people-row__identity small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.people-row>.ui-field{min-width:0}.people-row>.ui-field:nth-of-type(2){min-width:128px}.people-row__actions{justify-content:flex-end;align-items:center;gap:var(--space-8);grid-column:1/-1;display:flex}.people-row__actions>small{color:var(--color-text-muted);font-size:var(--font-size-meta);margin-right:auto}.people-invitation-list>div{align-items:center;gap:var(--space-12);padding:var(--space-12) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.people-invitation-list>div:last-child{border-bottom:0}.people-invitation-list>div>span:first-child{gap:var(--space-4);min-width:0;display:grid}.people-invitation-list strong,.people-invitation-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.people-invitation-list strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.people-invitation-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.customers-layout{grid-template-columns:minmax(280px,.8fr) minmax(400px,1.2fr)}.customer-account-list button{align-items:center;gap:var(--space-12);width:100%;min-height:72px;padding:var(--space-8);border-radius:var(--radius-md);color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.customer-account-list button:hover{background:var(--color-surface-hover)}.customer-account-list button[aria-current=true]{border-color:color-mix(in srgb, var(--color-brand) 30%, var(--color-border));background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.customer-account-list button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.customer-account-list button>span:nth-child(2){gap:var(--space-4);min-width:0;display:grid}.customer-account-list strong,.customer-account-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.customer-account-list strong{color:var(--color-text-strong);font-size:var(--font-size-label)}.customer-account-list small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.customer-editor>.ui-section__content{gap:var(--space-16);display:grid}.customer-editor__form{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-editor__form>.ui-field:first-child{grid-column:1/-1}.customer-contact-summary{gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.customer-contact-summary>span{align-items:center;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-meta);display:inline-flex}.customer-contact-summary svg{width:14px;height:14px}.customer-editor__actions{justify-content:flex-end;gap:var(--space-8);display:flex}.customer-danger-zone{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-16);border:1px solid color-mix(in srgb, var(--color-status-danger) 30%, var(--color-border));border-radius:var(--radius-md);background:var(--color-status-danger-surface);flex-wrap:wrap;display:flex}.customer-danger-zone__description{align-items:center;gap:var(--space-8);flex:240px;display:flex}.customer-danger-zone__description>span{gap:var(--space-4);display:grid}.customer-danger-zone__actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;margin-left:auto;display:flex}.customer-danger-zone strong{color:var(--color-status-danger-text);font-size:var(--font-size-label)}.customer-danger-zone small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.customer-danger-zone__description>svg{width:18px;height:18px;color:var(--color-status-danger-text);flex-shrink:0}@media (width<=1100px){.people-layout{grid-template-columns:1fr}.people-row{grid-template-columns:minmax(0,1fr) auto}.people-row>label{min-width:0}}@media (width<=760px){.installer-header{padding:0 var(--space-16)}.reseller-session strong{display:none}.reseller-session{gap:var(--space-8)}.workspace-nav{width:calc(100% - var(--space-24))}.workspace-nav button{min-width:112px}.installer-home,.job-workspace,.new-installation,.commercial-workspace,.settings-workspace,.fleet-workspace,.inventory-import-workspace,.inventory-catalog,.telematics-workspace,.people-workspace,.customers-workspace,.support-workspace{padding:var(--space-32) var(--space-16) var(--space-64)}.job-grid,.setup-form,.check-list,.commercial-columns,.settings-columns,.fleet-columns,.inventory-import-grid,.inventory-layout,.inventory-editor-form,.people-layout,.customers-layout,.customer-editor__form,.assignment-card,.support-search,.support-layout,.support-checks{grid-template-columns:1fr}.assignment-card{align-items:stretch}.assignment-card .ui-button,.support-search .ui-button{width:100%}.support-facts{grid-template-columns:1fr}.people-row{grid-template-columns:minmax(0,1fr) auto}.people-row>.ui-field{grid-column:1/-1}.people-row__actions{flex-direction:column;align-items:stretch}.people-row__actions>small{margin:0}.people-row__actions .ui-button{width:100%}.people-invitation-list>div{grid-template-columns:minmax(0,1fr) auto}.people-invitation-list>div>.ui-button{grid-column:1/-1;width:100%}.customer-editor__form>.ui-field:first-child{grid-column:auto}.customer-danger-zone{flex-direction:column;align-items:stretch}.customer-danger-zone>.ui-button,.customer-danger-zone__actions .ui-button{width:100%}.customer-danger-zone__description{flex-basis:auto}.customer-danger-zone__actions{flex-direction:column;align-items:stretch;margin-left:0}.job-grid{margin-top:var(--space-24)}.field-card{padding:var(--space-16)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-drilldown>header{flex-direction:column;align-items:stretch}.dashboard-drilldown>header .ui-button{width:100%}.renewal-row{grid-template-columns:1fr}.import-result-card>header{flex-direction:column;align-items:stretch}.import-result-card>header .ui-button{width:100%}.import-row-list>div{grid-template-columns:auto minmax(0,1fr)}.import-row-list small{grid-column:1/-1}.inventory-section-tabs{width:calc(100% - var(--space-32));margin:var(--space-16) var(--space-16) 0;overflow-x:auto}.inventory-section-tabs button{flex:1 0 auto;justify-content:center}.inventory-search{grid-template-columns:1fr}.inventory-layout{grid-template-columns:minmax(0,1fr)}.inventory-search .ui-button{width:100%}.inventory-assignment-summary{grid-template-columns:1fr}.inventory-editor-actions,.inventory-lifecycle-actions,.inventory-lifecycle-actions>div{flex-direction:column;align-items:stretch}.inventory-editor-actions .ui-button,.inventory-lifecycle-actions .ui-button{width:100%}.inventory-history-list>div{grid-template-columns:auto minmax(0,1fr)}.inventory-history-list>div>span:last-child{text-align:left;grid-column:2}}@media (width<=420px){.reseller-brand small{display:block}.installer-header .ui-button span:last-child{display:none}.installer-header .ui-button{width:40px;padding:0}.metric-grid,.select-with-inline{grid-template-columns:1fr}.select-with-inline>button{min-height:var(--control-height-touch)}}.installation-resolution{gap:var(--space-12);padding:var(--space-16);margin-block:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);min-width:0;display:grid}.installation-resolution p,.installation-resolution-dialog p{overflow-wrap:anywhere;margin:0}.installation-resolution__heading,.installation-resolution__actions{align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.installation-resolution__heading{justify-content:space-between}.installation-resolution-dialog{width:min(560px, calc(100% - var(--space-32)));max-height:calc(100dvh - var(--space-32));padding:var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-primary);margin:auto;overflow:auto}.installation-resolution-dialog[open]{gap:var(--space-16);display:grid}.installation-resolution-dialog::backdrop{background:color-mix(in srgb, var(--color-text-strong) 55%, transparent)}.installation-resolution-dialog h2{font-size:var(--font-size-section);margin:0}@media (width<=600px){.installation-resolution-dialog{padding:var(--space-16)}.installation-resolution__actions{flex-direction:column;align-items:stretch}.installation-resolution__actions>button{width:100%}}.inventory-tasks{gap:var(--space-16);margin-block:var(--space-24);display:grid}.inventory-tasks h2{font-size:var(--font-size-section);margin:0}.inventory-task{gap:var(--space-12);padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;display:grid}.inventory-task p{overflow-wrap:anywhere;margin:0}.installation-resolution>.inventory-task{background:0 0;border:0;padding:0}.inventory-section-tabs{flex-wrap:wrap}@media (width<=600px){.inventory-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inventory-section-tabs>button{justify-content:center;width:100%}}.login-layout{background:var(--color-surface);grid-template-columns:minmax(0,1.35fr) minmax(400px,.65fr);min-height:100dvh;display:grid}.map-stage{background:var(--color-map-deep);min-height:100vh;position:relative;overflow:hidden}.map-backdrop,.map-canvas,.map-shade{position:absolute;inset:0}.map-canvas{filter:saturate(.65)contrast(.96)}.map-shade{background:color-mix(in srgb, var(--color-map-deep) 68%, transparent);pointer-events:none}.map-caption{z-index:2;left:var(--space-32);bottom:var(--space-32);align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);border:1px solid color-mix(in srgb, var(--color-text-inverse) 18%, transparent);border-radius:var(--radius-md);color:var(--color-text-inverse);background:color-mix(in srgb, var(--color-map-deep) 88%, transparent);font-size:var(--font-size-label);display:flex;position:absolute}.map-caption .live-dot{background:var(--color-signal-live);width:8px;height:8px;box-shadow:none;border-radius:50%}.preview-card{z-index:2;align-items:center;gap:var(--space-12);min-width:256px;padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);background:var(--color-surface);box-shadow:var(--shadow-overlay);display:flex;position:absolute;top:47%;left:52%;transform:translate(-50%,-50%)}.preview-card>span:last-child{justify-items:start;gap:var(--space-4);display:grid}.preview-card small{color:var(--color-text-muted);font-size:var(--font-size-meta)}.vehicle-icon,.brand-mark{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-strong);background:var(--color-signal-live);flex:none;place-items:center;display:grid}.login-panel{padding:var(--space-64);border-left:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;justify-content:center;display:flex;position:relative}.brand-lockup{top:var(--space-32);align-items:center;gap:var(--space-12);color:var(--color-text-strong);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);display:flex;position:absolute}.brand-lockup .brand-mark{width:36px;height:36px;color:var(--color-on-brand);background:var(--color-brand)}.brand-logo{object-fit:contain;width:40px;height:40px}.login-copy{max-width:420px}.login-form{gap:var(--space-16);max-width:420px;margin-top:var(--space-32);display:grid}.login-password-field{gap:var(--space-8);display:grid}.password-label{justify-content:space-between;align-items:center;gap:var(--space-12);color:var(--color-text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);display:flex}.login-form .access-link{width:auto;height:auto;min-height:auto;padding:var(--space-4);border-radius:var(--radius-sm);color:var(--color-brand-text);font-size:var(--font-size-meta);font-weight:var(--font-weight-semibold);background:0 0;border:0}.login-form .access-link:hover{color:var(--color-text-strong);background:var(--color-surface-hover);transform:none}.login-form>.ui-button{width:100%;min-height:var(--control-height-touch)}.login-form>.ui-alert{max-width:420px}.privacy-note{align-items:center;gap:var(--space-8);margin:var(--space-24) 0 0;color:var(--color-text-muted);font-size:var(--font-size-meta);line-height:var(--line-height-body);display:flex}.app-loading,.access-message{place-content:center;justify-items:center;gap:var(--space-16);min-height:100dvh;padding:var(--space-24);text-align:center;background:var(--color-surface-muted);display:grid}.app-loading{color:var(--color-text-muted);font-size:var(--font-size-body)}.access-message{width:min(600px,100%);margin:0 auto}.access-message .brand-mark{margin-bottom:var(--space-8)}.access-message .ui-page-header{justify-content:center}.access-message .ui-page-header__copy{text-align:center}.account-flow{min-height:100dvh;padding:var(--space-24);background:var(--color-surface-muted);place-items:center;display:grid}.account-card{width:min(520px,100%);padding:var(--space-48);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:none}.account-brand{align-items:center;gap:var(--space-12);margin-bottom:var(--space-32);color:var(--color-text-strong);display:flex}.account-brand>span,.account-brand img{border-radius:var(--radius-md);object-fit:contain;width:36px;height:36px;color:var(--color-on-brand);background:var(--color-brand);place-items:center;display:grid}.account-card .back-link{width:fit-content;min-height:36px;margin:0 0 var(--space-24);padding:0 var(--space-8)}.account-form{margin-top:var(--space-24)}.account-complete{justify-items:start;gap:var(--space-24);display:grid}.account-complete>svg{color:var(--color-status-success)}.account-complete .ui-button{margin-top:var(--space-8)}.account-card>.privacy-note{margin-top:var(--space-24);padding-top:var(--space-16);border-top:1px solid var(--color-border)}@media (width<=820px){.login-layout{grid-template-columns:1fr}.map-stage{min-height:32vh}.login-panel{min-height:68vh;padding:var(--space-64) var(--space-24) var(--space-32);border:0}.brand-lockup{top:var(--space-16)}.login-copy,.login-form{width:min(100%,520px);max-width:none;margin-left:auto;margin-right:auto}.map-caption{left:var(--space-16);bottom:var(--space-16)}}@media (width<=520px){.map-stage{display:none}.login-panel{min-height:100dvh;padding:var(--space-64) var(--space-16) var(--space-32);justify-content:center}.account-flow{background:var(--color-surface);padding:0}.account-card{min-height:100dvh;padding:var(--space-32) var(--space-16);border:0;border-radius:0;flex-direction:column;justify-content:center;display:flex}.account-brand{top:var(--space-24);position:absolute}}
