:root{--it-bg: #132239;--it-plane: #20364f;--it-surface: #29435e;--it-surface-raised: #324f6c;--it-text: #f5f8fc;--it-muted: #bed0e3;--it-action: #87c5ff;--it-action-ink: #14283e;--it-border: #6383a0;--it-line: #45617b;--it-success: #b3edcd;--it-warning: #ffdfa3;--it-error: #ffd0ca;--it-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--it-radius-field: 12px;--it-radius-panel: 24px;--it-shadow: 0 18px 44px rgb(3 15 29 / 24%);--it-ease: cubic-bezier(.23, 1, .32, 1);--it-z-header: 20;--it-z-dock: 30;--it-z-overlay: 100;color-scheme:dark}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:#6383a0 #20364f;scrollbar-width:thin}:focus-visible{outline:3px solid var(--it-action);outline-offset:3px}h1,h2,h3{text-wrap:balance}.it-glass{background:#20364fe5;border:1px solid rgb(223 240 255 / 30%);border-radius:28px;box-shadow:inset 0 1px #f6fcff57,inset 0 -1px #08162859,var(--it-shadow)}@supports (backdrop-filter: blur(12px)){.it-glass{background:#20364fd1;backdrop-filter:blur(12px) saturate(115%);-webkit-backdrop-filter:blur(12px) saturate(115%)}}.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;cursor:pointer;transition:transform .14s var(--it-ease),background-color .14s}.it-action:hover{background:#aed8ff}.it-action:active{transform:scale(.98)}.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:12px;background:var(--it-plane);color:var(--it-text)}.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:#284562;font-size:.875rem}.it-notice.error{color:var(--it-error);background:#573c4a}.it-notice.warning{color:var(--it-warning);background:#4d4539}.it-notice.success{color:var(--it-success);background:#244c47}.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:#05101dc7;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:24px;background:radial-gradient(ellipse at 20% 25%,#2c4b6a 0,transparent 55%),var(--it-bg)}.it-auth.login-shell,.it-auth.installer-auth-shell,.it-auth.portal-auth-shell{background:radial-gradient(ellipse at 20% 25%,#2c4b6a 0,transparent 55%),var(--it-bg);min-height:100dvh;padding:24px}.it-auth-card{width:min(100%,460px);padding:32px}.it-auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.it-auth-brand span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #89b5d6;border-radius:12px;background:#3d6382;color:var(--it-text);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:12px;background:var(--it-plane);color:var(--it-text)}.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:#573c4a;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}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;color:#172422;background:#e2f25b;font-weight:800;text-decoration:none;transform:translateY(-160%)}.skip-link:focus-visible{outline:3px solid #172422;outline-offset:2px;transform:translateY(0)}:focus-visible{outline:3px solid #e2f25b;outline-offset:2px}.evidence-field:focus-within{outline:3px solid #e2f25b;outline-offset:2px}.install-button{position:fixed;right:16px;bottom:76px;z-index:50;padding:11px 15px;border:0;border-radius:999px;color:#172422;background:#e2f25b;box-shadow:0 10px 28px #17242244;font-size:.78rem;font-weight:850}.installer-screen{display:flex;flex-direction:column;min-height:100vh;max-width:720px;padding:22px 20px 18px;margin:0 auto}.installer-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-line{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#172422;background:#e2f25b;font-size:.78rem;font-weight:950;letter-spacing:-.08em}.brand-line strong{font-size:.92rem}.kicker{margin:0;color:#a4b3a9;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.brand-line .kicker{margin-bottom:2px}.sync-badge{display:flex;align-items:center;gap:8px;color:#9ee7ae;font-size:.72rem}.sync-badge>span{width:8px;height:8px;border-radius:50%;background:currentColor}.sync-badge div{display:grid;gap:2px}.sync-badge strong{font-size:.72rem}.sync-badge small{color:#83948a;font-size:.62rem}.sync-badge.offline{color:#f2b477}.agenda-view,.checklist-view,.completed-view{display:flex;flex-direction:column;flex:1}.agenda-view{justify-content:flex-start;padding:30px 0 70px}.agenda-title{margin:0 0 18px;font-size:clamp(2rem,7vw,3.2rem);line-height:1;letter-spacing:-.06em}.agenda-list{display:grid;gap:14px}.task-card h2{margin:16px 0 12px;font-size:clamp(1.5rem,5vw,2.4rem);line-height:1;letter-spacing:-.05em}.agenda-state{margin-bottom:16px;padding:16px;border:1px solid #536a5d;border-radius:12px;background:#20342f}.agenda-state strong{display:block;font-size:.86rem}.agenda-state p{margin:7px 0 0;color:#aebeb3;font-size:.74rem;line-height:1.5}.agenda-state .secondary-action{margin-top:14px}.assigned-label{display:flex;align-items:center;gap:8px;margin-bottom:15px;color:#b7c7bb;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.assigned-label span{width:7px;height:7px;border-radius:50%;background:#e2f25b}.task-card{padding:clamp(22px,5vw,42px);border:1px solid #3b5148;border-radius:22px;background:#20342f}.task-meta{display:flex;justify-content:space-between;color:#90a399;font-size:.73rem;font-weight:800}.task-card h1,.flow-heading h1,.completed-view h1{max-width:610px;margin:22px 0 14px;font-size:clamp(2.2rem,8vw,5rem);line-height:.94;letter-spacing:-.07em}.address{margin:0 0 27px;color:#c3cec5;font-size:.86rem}.vehicle-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-top:1px solid #3b5148;border-bottom:1px solid #3b5148}.vehicle-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#172422;background:#91b5a4;font-size:.67rem;font-weight:950}.vehicle-row div{display:grid;gap:3px}.vehicle-row strong{font-size:.82rem}.vehicle-row small,.distance{color:#91a59a;font-size:.72rem}.distance{margin-left:auto}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:space-between;border:0;border-radius:10px;font-weight:900}.primary-action{width:100%;margin-top:28px;padding:15px 16px;color:#172422;background:#e2f25b}.primary-action span{font-size:1.15rem}.primary-action:disabled{cursor:not-allowed;color:#6f7d72;background:#40554c}.assignment-note{margin:16px 2px 0;color:#82948a;font-size:.73rem;line-height:1.45}.checklist-view{padding:34px 0 45px}.flow-heading{display:flex;align-items:start;gap:13px}.flow-heading h1{margin-top:10px;font-size:clamp(2rem,7vw,4rem)}.back-button{flex:0 0 auto;padding:6px 0;border:0;color:#b3c4b8;background:transparent;font-size:1.3rem}.progress-track{height:5px;margin:12px 0 28px 37px;border-radius:5px;background:#40554c;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:#e2f25b;transition:width .2s ease}.checklist-list{display:grid;gap:8px}.check-item{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:15px 13px;border:1px solid #3b5148;border-radius:13px;color:#f6f3eb;background:#20342f;text-align:left}.check-item.checked{border-color:#819d68;background:#2a4137}.check-item>span:last-child{display:grid;gap:5px}.check-item strong{font-size:.82rem}.check-item small{color:#9bada1;font-size:.7rem;line-height:1.35}.check-box{display:grid;place-items:center;width:27px;height:27px;border:1px solid #668071;border-radius:8px;color:#172422;font-size:.57rem;font-weight:950}.check-item.checked .check-box{border-color:#e2f25b;background:#e2f25b}.evidence-field{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;margin-top:20px;padding:16px 13px;border:1px dashed #668071;border-radius:13px;color:#dce8dc;cursor:pointer}.evidence-field input{position:absolute;width:1px;height:1px;opacity:0}.evidence-field>span:last-child{display:grid;gap:5px}.evidence-field strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-field small{color:#91a59a;font-size:.68rem}.evidence-field.attached{border-color:#91b5a4;background:#20342f}.camera-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#172422;background:#91b5a4;font-size:1.3rem}.finish-action{margin-top:20px}.offline-note{display:flex;gap:7px;margin:16px 2px 0;color:#82948a;font-size:.7rem;line-height:1.45}.offline-note span{flex:0 0 auto;width:6px;height:6px;margin-top:4px;border-radius:50%;background:#f2b477}.completed-view{justify-content:center;padding:50px 0 75px}.complete-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:#172422;background:#e2f25b;font-size:.7rem;font-weight:950}.completed-view h1{margin-top:16px}.completed-view>p:not(.kicker){max-width:460px;margin:0;color:#b8c8bd;line-height:1.55}.sync-summary{display:grid;gap:5px;margin-top:28px;padding:16px;border-left:3px solid #e2f25b;background:#20342f}.sync-summary strong{font-size:.8rem}.sync-summary small{color:#91a59a;font-size:.7rem;line-height:1.4}.secondary-action{align-self:start;margin-top:26px;padding:13px 15px;color:#172422;background:#f6f3eb;font-size:.8rem}.bottom-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:16px;border-top:1px solid #40554c}.bottom-nav a,.bottom-nav>span{display:grid;place-items:center;min-height:48px;color:var(--it-muted);text-decoration:none;border-radius:12px}.bottom-nav a.active{color:var(--it-text);background:var(--it-surface)}.bottom-nav button{padding:3px;border:0;color:#a4b3a9;background:transparent;font-size:.75rem}.bottom-nav button.active{color:#e2f25b;font-weight:850}@media(min-width:760px){.installer-screen{padding-inline:34px}.agenda-view,.checklist-view,.completed-view{max-width:630px;width:100%;margin:0 auto}}.installer-auth-shell{display:grid;place-items:center;min-height:100vh;padding:22px 20px;background:#172422}.installer-auth-card{width:min(100%,520px);padding:clamp(25px,6vw,52px);border:1px solid #3b5148;border-radius:22px;background:#20342f;box-shadow:0 20px 60px #0c151280}.installer-auth-kicker{margin-top:60px;color:#b7ca96}.installer-auth-card h1{max-width:440px;margin:0;font-size:clamp(2.5rem,8vw,5rem);line-height:.9;letter-spacing:-.08em}.auth-copy{max-width:420px;margin:18px 0 27px;color:#b8c8bd;line-height:1.5}.installer-form{display:grid;gap:13px}.installer-form label{display:grid;gap:6px;color:#c6d1ca;font-size:.72rem;font-weight:850}.installer-form input{width:100%;padding:12px;border:1px solid #536a5d;border-radius:8px;outline:0;color:#f6f3eb;background:#172a24}.installer-form input:focus{border-color:#91aa5d;box-shadow:0 0 0 3px #506342}.installer-form .primary-action{margin-top:5px}.installer-error{margin:15px 0 0;padding:9px 10px;border-radius:8px;color:#ffd0c8;background:#653b36;font-size:.75rem}.loading-state{color:#b8c8bd}.empty-task{padding:30px 22px;border:1px dashed #668071;border-radius:17px;background:#20342f}.empty-task strong{display:block;font-size:1rem}.empty-task p{margin:9px 0 0;color:#91a59a;font-size:.78rem;line-height:1.5}.empty-task .secondary-action{margin-top:21px}.field-link{align-self:start;margin-top:18px;padding:0;border:0;color:#91a59a;background:transparent;font-size:.72rem}.field-link:hover{color:#e2f25b}.installer-screen{max-width:820px;min-height:100dvh;padding:24px 24px 130px;color:var(--it-text);background:var(--it-bg)}.installer-header{padding:16px 20px;gap:16px}.installer-header .brand-mark{color:var(--it-text);background:#3d6382;border:1px solid #89b5d6}.installer-screen .kicker{display:none}.installer-screen .sync-badge{color:var(--it-success);font-size:.875rem}.installer-screen .sync-badge small{color:var(--it-muted);font-size:.8125rem}.installer-screen .sync-badge.offline{color:var(--it-warning)}.installer-screen .agenda-title,.installer-screen .flow-heading h1,.installer-screen .completed-view h1{font-size:2rem;line-height:1.2;letter-spacing:-.03em}.field-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.field-page-heading .agenda-title{margin:0}.installer-screen .sync-badge strong{font-size:.875rem}.installer-screen .evidence-field strong{font-size:1rem}.installer-screen .task-card{padding:24px;border:0;border-radius:24px;background:var(--it-surface)}.installer-screen .task-card h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.02em}.installer-screen .task-meta,.installer-screen .address,.installer-screen .vehicle-row small,.installer-screen .offline-note{color:var(--it-muted);font-size:.875rem}.installer-screen .vehicle-row{border-color:var(--it-line)}.installer-screen .field-primary{width:100%;min-height:56px;margin-top:24px}.installer-screen .secondary-action,.installer-screen .primary-action,.installer-screen .primary-button{min-height:56px;width:100%;padding:14px 20px;border-radius:14px;border:0;color:var(--it-action-ink);background:var(--it-action);font-size:1rem;font-weight:650}.installer-screen .primary-action span{display:none}.installer-screen .primary-action:disabled{opacity:.65;color:var(--it-action-ink);background:var(--it-action)}.installer-screen .agenda-state,.installer-screen .empty-task{background:var(--it-plane);border-color:var(--it-border);color:var(--it-text)}.installer-screen .agenda-state p,.installer-screen .empty-task p{color:var(--it-muted);font-size:.875rem}.installer-screen .check-item{min-height:72px;padding:16px;background:var(--it-surface);border-color:var(--it-border);border-radius:16px}.installer-screen .check-item small{color:var(--it-muted);font-size:.875rem}.installer-screen .check-item strong{font-size:1rem}.installer-screen .check-item.checked{background:#285049;border-color:#77b89c}.installer-screen .check-box{color:var(--it-text);border-color:var(--it-border)}.installer-screen .check-item.checked .check-box{background:var(--it-success);color:#15352d;border-color:var(--it-success)}.checklist-progress{margin:0 0 24px;color:var(--it-muted)}.installer-screen .evidence-field{border-color:var(--it-border);min-height:88px;background:var(--it-plane)}.installer-screen .evidence-field.attached{background:var(--it-surface)}.installer-screen .evidence-field small{color:var(--it-muted);font-size:.875rem}.installer-screen .camera-icon{color:var(--it-action-ink);background:var(--it-action)}.installer-screen .sync-summary{border:0;border-radius:16px;background:var(--it-surface)}.installer-screen .sync-summary small,.installer-screen .completed-view p{color:var(--it-muted)}.installer-screen .complete-mark{color:#15352d;background:var(--it-success)}.installer-screen .bottom-nav{position:fixed;z-index:var(--it-z-dock);bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(720px,calc(100% - 32px));padding:8px;border:1px solid rgb(223 240 255 / 30%)}.installer-screen .bottom-nav button{min-height:56px;padding:10px;color:var(--it-muted);font-size:.875rem;border-radius:14px}.installer-screen .bottom-nav button.active{color:var(--it-text);background:#426585}.installer-screen .bottom-nav button:disabled{opacity:.65;cursor:not-allowed}.installer-screen .field-link{color:var(--it-muted);min-height:44px;padding:12px 0;font-size:.875rem}body:has(.installer-screen) .install-button{bottom:calc(108px + env(safe-area-inset-bottom))}@media(max-width:600px){.installer-screen{padding:16px 16px 148px}.installer-header{padding:12px}.installer-screen .agenda-title,.installer-screen .flow-heading h1,.installer-screen .completed-view h1{font-size:1.75rem}.field-page-heading{align-items:start;flex-direction:column}}
