:root{--it-bg: #edf2f5;--it-plane: #ffffff;--it-surface: #e3ebef;--it-surface-raised: #f6f9fa;--it-text: #182f3a;--it-muted: #526771;--it-action: #126378;--it-action-ink: #ffffff;--it-border: #9cafb8;--it-line: #d3dfe4;--it-success: #216449;--it-warning: #805015;--it-error: #a33338;--it-light: #bee4e8;--it-inset: inset 0 2px 4px rgb(33 66 80 / 10%), inset 0 -1px 0 rgb(255 255 255 / 90%);--it-clay: inset 2px 3px 5px rgb(255 255 255 / 90%), inset -3px -4px 7px rgb(53 109 124 / 18%), 0 7px 12px rgb(36 73 87 / 13%);--it-pressed: inset 0 2px 5px rgb(12 41 52 / 22%), 0 1px 0 rgb(255 255 255 / 70%);--it-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--it-radius-field: 12px;--it-radius-panel: 24px;--it-shadow: 0 18px 44px rgb(33 67 81 / 12%);--it-ease: cubic-bezier(.23, 1, .32, 1);--it-z-header: 20;--it-z-dock: 30;--it-z-overlay: 100;color-scheme:light}html{scroll-padding-top:100px}body{font-family:var(--it-font);color:var(--it-text);background:var(--it-bg);line-height:1.5}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:rgb(135 197 255 / 20%)}::selection{color:var(--it-action-ink);background:var(--it-action)}input,textarea{caret-color:var(--it-action)}*{scrollbar-color:var(--it-border) var(--it-bg);scrollbar-width:thin}h1,h2,h3{text-wrap:balance}.it-glass{position:relative;isolation:isolate;background:linear-gradient(135deg,#fffffff0,#ebf5f9eb 55%,#daebeff0);border:1px solid rgb(255 255 255 / 95%);border-radius:28px;box-shadow:inset 0 2px 1px #fffffff2,inset 1px 0 1px #ffffffe5,inset 0 -2px 1px #53788b33,0 2px 3px #1f47540f,var(--it-shadow)}.it-glass:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(145deg,rgb(255 255 255 / 50%),transparent 34%,transparent 70%,rgb(187 218 226 / 28%))}@supports (backdrop-filter: blur(12px)){.it-glass{background:linear-gradient(135deg,#ffffffc2,#ebf5f9b3 55%,#daebefc2);backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}}.it-clay{color:var(--it-action);background:linear-gradient(145deg,#eefbfc,#bddce3);box-shadow:var(--it-clay);border-radius:18px}.it-inset{background:var(--it-surface-raised);box-shadow:var(--it-inset)}.it-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:14px;color:var(--it-action-ink);background:var(--it-action);font-weight:650;text-decoration:none;box-shadow:inset 0 1px 1px #ffffff40,inset 0 -2px 2px #06212c40,0 4px 9px #144f5e26;cursor:pointer;transition:transform .14s var(--it-ease),background-color .14s,box-shadow .14s}.it-action:hover{background:#0e5265}.it-action:active{transform:translateY(1px);box-shadow:var(--it-pressed)}.it-action:disabled{cursor:not-allowed;opacity:.65}.it-action.secondary{background:var(--it-plane);color:var(--it-text);border-color:var(--it-border)}.it-action.secondary:hover{background:var(--it-surface-raised)}.it-field{display:grid;gap:8px;min-width:0}.it-field>label{color:var(--it-text);font-size:.875rem;font-weight:600}.it-field input,.it-field select,.it-field textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--it-border);border-radius:14px;background:var(--it-surface-raised);color:var(--it-text);box-shadow:var(--it-inset)}.it-field input::placeholder,.it-field textarea::placeholder{color:var(--it-muted);opacity:1}.it-field small{color:var(--it-muted);font-size:.8125rem}.it-notice{padding:14px 16px;border-radius:12px;color:var(--it-text);background:#e2eef2;font-size:.875rem}.it-notice.error{color:var(--it-error);background:#fcebed}.it-notice.warning{color:var(--it-warning);background:#fff3dc}.it-notice.success{color:var(--it-success);background:#e5f4ed}.it-empty{display:grid;justify-items:center;align-content:center;gap:12px;min-height:230px;padding:32px;text-align:center}.it-empty h2{margin:0;font-size:1.25rem}.it-empty p{max-width:55ch;margin:0;color:var(--it-muted)}.it-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--it-z-overlay);display:grid;place-items:center;padding:24px;background:#182f3a73;overscroll-behavior:contain}.it-dialog{width:min(100%,700px);max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border-radius:24px;color:var(--it-text);background:var(--it-plane);box-shadow:var(--it-shadow)}.it-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.it-dialog-header h2{margin:0;font-size:1.25rem}.it-dialog-header button{min-height:44px;padding:8px 12px;color:var(--it-muted);background:transparent;border:1px solid var(--it-border);border-radius:12px}.it-dialog-body{margin:0;padding:0;min-width:0;border:0}.it-dialog .data-form{display:grid;gap:16px}.it-dialog .data-form label{display:grid;gap:8px;color:var(--it-text);font-size:.875rem}.it-dialog input,.it-dialog select,.it-dialog textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--it-border);border-radius:12px;background:var(--it-surface);color:var(--it-text)}.it-dialog .it-notice{margin-bottom:16px}.it-auth{display:grid;place-items:center;min-height:100dvh;padding:32px;background:linear-gradient(155deg,#f8fbfc 10%,#e2ecf0 52%,#bfd6de)}.it-auth.login-shell,.it-auth.installer-auth-shell,.it-auth.portal-auth-shell{background:linear-gradient(155deg,#f8fbfc 10%,#e2ecf0 52%,#bfd6de);min-height:100dvh;padding:24px}.it-auth-card{width:min(100%,460px);padding:40px}.it-auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.it-auth-brand span{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#eefbfc,#bddce3);color:var(--it-action);box-shadow:var(--it-clay);font-weight:750}.it-auth-brand strong{font-size:1rem}.it-auth-card h1{margin:0 0 24px;font-size:2rem;letter-spacing:-.03em;line-height:1.2}.it-auth-form{display:grid;gap:16px}.it-auth-form label{display:grid;gap:8px;color:var(--it-text);font-size:.875rem;font-weight:600}.it-auth .it-auth-card input:not([type=checkbox]){width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--it-border);border-radius:14px;background:var(--it-surface-raised);color:var(--it-text);box-shadow:var(--it-inset)}.it-auth .it-auth-card input:focus-visible{outline:3px solid var(--it-action);outline-offset:3px}.it-auth-form>.it-action{width:100%}.it-auth .it-auth-card p{color:var(--it-muted);font-size:.875rem}.it-auth .it-auth-card .it-notice.error{color:var(--it-error)}.it-auth-recovery{min-height:44px;padding:8px;color:var(--it-muted);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}:root .install-button{min-height:44px;padding:10px 16px;border:1px solid var(--it-border);border-radius:14px;color:var(--it-text);background:var(--it-plane);box-shadow:0 8px 24px #030f1d33;font-size:.875rem;font-weight:600}.it-auth .form-error,.it-auth .installer-error{padding:12px 14px;background:#fcebed;color:var(--it-error);border-radius:12px;font-size:.875rem}.it-auth .primary-button,.it-auth .dark-button,.it-auth .primary-action{min-height:48px;padding:12px 18px;color:var(--it-action-ink);background:var(--it-action);border:0;border-radius:14px;font-size:1rem;font-weight:650}.it-auth .primary-button span,.it-auth .dark-button span,.it-auth .primary-action span{display:none}.it-auth .login-form label,.it-auth .auth-form label,.it-auth .installer-form label{color:var(--it-text);font-size:.875rem}.it-auth .quiet-button{min-height:44px;color:var(--it-muted);font-size:.875rem}.it-auth code{overflow-wrap:anywhere}@media(max-width:600px){.it-auth,.it-auth.login-shell,.it-auth.installer-auth-shell,.it-auth.portal-auth-shell{padding:16px}.it-auth-card{padding:24px}.it-auth-card h1{font-size:1.75rem}.it-dialog-backdrop{padding:12px}.it-dialog{padding:20px;max-height:calc(100dvh - 24px)}}@media(prefers-reduced-transparency:reduce){.it-glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--it-plane)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{font-family:var(--it-font);color:var(--it-text);background:var(--it-bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}.install-button{position:fixed;right:16px;bottom:16px;z-index:50}:focus-visible{outline:3px solid var(--it-action);outline-offset:3px}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:12px;color:var(--it-action-ink);background:var(--it-action);transform:translateY(-160%);border-radius:12px}.skip-link:focus{transform:none}.portal-screen{max-width:1180px;min-height:100dvh;margin:auto;padding:24px 32px 160px}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px}.brand-line,.account-actions{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:15px;font-size:.875rem;font-weight:750}.brand-line small{display:block;color:var(--it-muted);font-size:.8125rem}.account-chip{display:flex;align-items:center;gap:12px;min-width:0}.account-chip>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:50%;background:var(--it-surface);box-shadow:var(--it-inset)}.account-chip strong,.account-chip small{display:block;overflow-wrap:anywhere}.account-chip small{color:var(--it-muted);font-size:.8125rem}.logout-button{min-height:44px;padding:10px 16px;color:var(--it-text);background:var(--it-plane);border:1px solid var(--it-border);border-radius:14px;box-shadow:inset 0 1px #fff,0 2px 4px #182f3a14}.page-heading{margin:32px 0 24px}.page-heading h1{margin:0;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.035em}.customer-overview{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);align-items:start;gap:24px}.vehicle-card{min-width:0;padding:28px;background:var(--it-plane);border:1px solid #fff;border-radius:28px;box-shadow:0 8px 24px #182f3a0d}.vehicle-identity{display:flex;align-items:center;gap:16px;min-width:0}.vehicle-emblem{display:grid;place-items:center;width:56px;height:56px;flex:0 0 auto}.vehicle-emblem svg{width:30px;height:30px}.vehicle-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px}.vehicle-heading h2,.empty-panel h2,.section-title h2{margin:0;font-size:1.25rem;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}.vehicle-heading p{color:var(--it-muted);margin:8px 0 0}.live-pill{font-size:.8125rem;padding:6px 10px;border-radius:12px}.signal-waiting,.signal-old{color:var(--it-warning);background:#fff3dc}.signal-unavailable{color:var(--it-error);background:#fcebed}.signal-recent{color:var(--it-success);background:#e5f4ed}.signal-data{display:grid;gap:8px;margin-top:28px;padding:24px;border-radius:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.signal-data>span{color:var(--it-muted);font-size:.875rem}.signal-data>strong{font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.4;letter-spacing:-.025em}.signal-data small,.vehicle-footer{color:var(--it-muted);font-size:.875rem}.vehicle-footer{display:flex;justify-content:space-between;gap:16px;margin-top:24px;flex-wrap:wrap}.vehicle-footer time{color:var(--it-text);font-weight:600}.account-records{padding:24px;background:var(--it-plane);border-radius:24px}.account-records h2{margin:0 0 12px;font-size:1.125rem}.account-records a{display:flex;align-items:center;gap:12px;min-height:60px;border-bottom:1px solid var(--it-line);color:var(--it-text);text-decoration:none}.account-records a>svg{flex:0 0 auto;color:var(--it-muted)}.account-records a>span:first-of-type{flex:1}.account-records a:last-child{border:0}.account-records a span:last-child{color:var(--it-action)}.account-records a:hover{background:var(--it-plane)}.list-panel,.empty-panel{padding:24px;background:var(--it-plane);border-radius:24px}.empty-panel p,.privacy-note{color:var(--it-muted);max-width:65ch}.vehicle-list{display:grid;gap:16px;margin-top:24px}.invoice-list{margin-top:16px}.invoice-list>div{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--it-line)}.invoice-list>div:last-child{border:0}.invoice-list p{margin:0;display:grid;gap:8px;overflow-wrap:anywhere}.invoice-list small{color:var(--it-muted);font-size:.875rem}.invoice-list b{font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-icon{display:grid;place-items:center;width:36px;height:40px;border-radius:12px;font-size:.8125rem;color:var(--it-action);background:linear-gradient(145deg,#eefbfc,#bddce3);box-shadow:var(--it-clay)}.invoice-status{font-size:.875rem;color:var(--it-warning)}.paid-text{color:var(--it-success)}.customer-dock{position:fixed;z-index:var(--it-z-dock);bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;gap:8px;width:min(720px,calc(100% - 32px));padding:8px}.customer-dock a{display:grid;justify-items:center;align-content:center;gap:4px;min-height:60px;flex:1;padding:8px 12px;color:var(--it-muted);text-decoration:none;border-radius:18px;font-size:.875rem}.customer-dock a:hover{color:var(--it-text);background:var(--it-surface)}.customer-dock a[aria-current=page]{color:var(--it-action);background:#fff;box-shadow:inset 0 1px 1px #fff,0 2px 6px #182f3a1f}.auth-copy,.loading-state{color:var(--it-muted)}.form-error{color:var(--it-error)}.portal-auth-shell{display:grid;place-items:center;min-height:100dvh;padding:24px}body:has(.portal-screen) .install-button{bottom:calc(110px + env(safe-area-inset-bottom))}@media(max-width:860px){.customer-overview{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.portal-screen{padding:16px 16px 204px}.portal-header{gap:12px;padding:12px}.account-chip{display:none}.vehicle-heading{flex-direction:column;gap:16px}.vehicle-card,.list-panel,.empty-panel{padding:20px}.invoice-list>div{grid-template-columns:36px minmax(0,1fr);gap:12px}.invoice-list b,.invoice-status{grid-column:2}.customer-dock{gap:2px;width:calc(100% - 16px);padding:6px;border-radius:24px}.customer-dock a{min-width:0;min-height:60px;padding:8px 2px;font-size:.6875rem}.signal-data{padding:20px}}
