@font-face{font-family:MMApp;src:url('/app/font') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:MMApp;src:url('/app/font-bold') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--app-navy:#06183a;--app-navy-2:#10284f;--app-green:#309b0b;--app-green-dark:#247d08;--brand-green-soft:#eff8f1;--brand-green-border:#b8dcc2;--app-orange:#ff3b12;--app-red:#df1825;--app-ink:#071630;--app-muted:#607087;--app-line:#dfe5eb;--app-wash:#f4f7f4;--app-card:#fff;--app-shadow:0 13px 35px rgba(6,24,58,.09);font-family:MMApp,Montserrat,Arial,sans-serif;font-weight:600}
*{box-sizing:border-box}
html{min-height:100%;background:#e9eeea}
body{min-height:100%;margin:0;background:linear-gradient(140deg,#e9eeea,#f7f8f7);color:var(--app-ink);font-family:inherit;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.operator-app{padding:0}
.app-frame{position:relative;width:min(100%,620px);min-height:100vh;margin:0 auto;padding-bottom:calc(86px + env(safe-area-inset-bottom));overflow:hidden;background:var(--app-wash);box-shadow:0 0 45px rgba(6,24,58,.12)}
.app-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:13px 19px;border-bottom:1px solid rgba(223,229,235,.8);background:rgba(255,255,255,.94);backdrop-filter:blur(15px)}
.app-brand img{display:block;width:148px;height:auto}
.app-user{display:flex;align-items:center;gap:10px;text-align:right}
.app-user span{display:grid;gap:1px}.app-user strong{font-size:12px}.app-user small{color:var(--app-muted);font-size:10px}.app-user>b{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#eef8f0;color:var(--app-green-dark);font-size:14px}
.preview-ribbon{padding:7px 16px;background:#fff8e7;color:#765b16;font-size:10px;font-weight:800;letter-spacing:.02em;text-align:center}
.app-connectivity{display:flex;align-items:center;gap:8px;min-height:35px;padding:7px 18px;border-bottom:1px solid #dfe9e1;background:#f5fbf6;color:#254a31;font-size:10px}
.app-connectivity strong{font-size:10px}.app-connectivity small{margin-left:auto;color:#61766a;font-size:9px}.connectivity-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#e4a11b;box-shadow:0 0 0 3px rgba(228,161,27,.13)}
.app-connectivity.is-online .connectivity-dot{background:var(--app-green);box-shadow:0 0 0 3px rgba(0,166,60,.13)}
.app-connectivity.is-offline{border-color:#f1d8d5;background:#fff5f4;color:#8b2a22}.app-connectivity.is-offline .connectivity-dot{background:var(--app-red);box-shadow:0 0 0 3px rgba(217,46,46,.13)}
.app-main{padding:26px 17px 34px}
.screen-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:21px}
.screen-heading h1{margin:3px 0 5px;font-size:29px;font-weight:800;line-height:1.08;letter-spacing:-.045em}.screen-heading>div>p:last-child{margin:0;color:var(--app-muted);font-size:13px}.eyebrow,.panel-label{margin:0;color:var(--app-green-dark);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.role-chip{margin-top:5px;padding:7px 10px;border:1px solid #cae6d2;border-radius:999px;background:var(--brand-green-soft);color:var(--app-green-dark);font-size:10px;font-weight:800;white-space:nowrap}
.today-card{position:relative;display:grid;grid-template-columns:1fr 112px;align-items:center;min-height:205px;padding:27px 23px;overflow:hidden;border-radius:12px;background:linear-gradient(135deg,var(--app-navy),#102e5d);color:#fff;box-shadow:0 14px 28px rgba(6,24,58,.17)}
.today-card:before{position:absolute;right:-62px;bottom:-90px;width:235px;height:235px;border-radius:50%;background:radial-gradient(circle,rgba(0,166,60,.36),rgba(0,166,60,0) 68%);content:''}
.today-card-copy{position:relative;z-index:1}.today-card .panel-label{color:#6ee398}.today-card h2{margin:10px 0 5px;font-size:41px;font-weight:800;letter-spacing:-.06em}.today-card-copy>p:not(.panel-label){margin:0;color:#cad4e5;font-size:12px}.today-card-copy>p strong{color:#fff}.today-card-copy>span{display:inline-flex;align-items:center;gap:13px;margin-top:25px;padding:10px 14px;border-radius:6px;background:var(--app-orange);font-size:12px;font-weight:800}.today-card-copy>span b{font-size:20px;line-height:.6}
.progress-ring{--angle:calc(var(--progress) * 3.6deg);position:relative;z-index:1;display:grid;place-content:center;width:98px;height:98px;margin-left:auto;border-radius:50%;background:radial-gradient(circle at center,var(--app-navy-2) 59%,transparent 60%),conic-gradient(#55dc84 var(--angle),rgba(255,255,255,.14) 0);text-align:center}.progress-ring strong{font-size:21px}.progress-ring small{margin-top:2px;color:#aebbd0;font-size:9px}
.dashboard-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 20px}.dashboard-stats article{min-width:0;padding:15px 14px;border:1px solid var(--app-line);border-radius:9px;background:#fff}.dashboard-stats article:first-child{grid-column:span 2}.dashboard-stats span,.dashboard-stats small{display:block;color:var(--app-muted);font-size:10px}.dashboard-stats strong{display:block;margin:4px 0 1px;font-size:24px;font-weight:800;letter-spacing:-.04em}
.next-job-panel{padding:19px;border:1px solid var(--brand-green-border);border-top:3px solid var(--app-green);border-radius:10px;background:linear-gradient(135deg,#fff,#f8fcf8)}
.next-job-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.next-job-panel h2{margin:5px 0 0;font-size:21px;letter-spacing:-.03em}.job-number-pill{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--app-green);color:#fff;font-size:13px;font-weight:800}.next-job-address{margin:15px 0 10px;color:#41526c;font-size:13px;line-height:1.45}.next-job-meta{display:flex;align-items:center;gap:8px}.next-job-meta span,.next-job-meta strong{padding:5px 8px;border-radius:5px;background:#edf2f5;color:#44536b;font-size:9px;text-transform:uppercase}.next-job-meta strong{background:#fff0ed;color:#c92f12}.text-link{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-top:14px;border-top:1px solid var(--app-line);color:var(--app-green-dark);font-size:11px;font-weight:800}.text-link b{font-size:20px}
.quick-section{margin-top:28px}.section-title{margin-bottom:12px}.section-title h2{margin:4px 0 0;font-size:21px;letter-spacing:-.035em}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid :is(button,a){position:relative;display:grid;grid-template-columns:39px 1fr;grid-template-rows:auto auto;gap:1px 10px;min-height:77px;padding:12px;border:1px solid var(--app-line);border-radius:9px;background:#fff;color:var(--app-ink);text-align:left}.quick-grid :is(button,a):active{transform:translateY(1px)}.quick-mark{grid-row:1/3;display:grid;place-items:center;width:39px;height:39px;border-radius:8px;background:var(--brand-green-soft);color:var(--app-green-dark);font-size:13px;font-weight:800}.quick-grid strong{align-self:end;font-size:12px}.quick-grid small{align-self:start;color:var(--app-muted);font-size:9px}.count-badge{position:absolute;top:8px;right:8px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--app-orange);color:#fff;font-size:9px}
.app-bottom-nav{position:fixed;z-index:40;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,620px);min-height:70px;margin:auto;padding:8px 12px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--app-line);background:rgba(255,255,255,.97);box-shadow:0 -9px 24px rgba(6,24,58,.06);backdrop-filter:blur(16px)}
.app-bottom-nav a,.app-bottom-nav button{display:grid;place-items:center;align-content:center;gap:4px;padding:3px;border:0;background:transparent;color:#718096;font-size:9px}.app-bottom-nav .app-icon{width:21px;height:21px}.app-bottom-nav .active{color:var(--app-green-dark);font-weight:800}.app-bottom-nav .active:after{position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--app-green);content:''}.app-bottom-nav a,.app-bottom-nav button{position:relative}
.route-total{display:grid;place-items:center;min-width:43px;height:43px;padding:0 12px;border-radius:50%;background:var(--app-navy);color:#fff;font-size:16px;font-weight:800}
.operator-picker{display:grid;gap:7px;margin-bottom:12px;padding:14px 15px;border:1px solid var(--app-line);border-radius:9px;background:#fff}.operator-picker label{color:var(--app-muted);font-size:10px;font-weight:800;text-transform:uppercase}.operator-picker select{width:100%;height:42px;padding:0 11px;border:1px solid #c9d3df;border-radius:6px;background:#fff;color:var(--app-ink);font-size:13px;font-weight:700}
.route-progress-card{margin-bottom:20px;padding:14px 15px;border-radius:9px;background:var(--app-navy);color:#fff}.route-progress-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}.route-progress-card strong{font-size:13px}.progress-track{height:6px;margin-top:11px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.15)}.progress-track span{display:block;height:100%;border-radius:inherit;background:#55dc84}
.job-route-list{margin:0;padding:0;list-style:none}.job-route-list>li{position:relative;display:grid;grid-template-columns:37px 1fr;gap:10px;padding-bottom:12px}.job-route-list>li:not(:last-child):before{position:absolute;top:34px;bottom:-4px;left:17px;width:2px;background:#cbd6df;content:''}.route-node{position:relative;z-index:1;display:grid;place-items:center;width:35px;height:35px;border:3px solid var(--app-wash);border-radius:50%;background:var(--app-orange);color:#fff;font-size:11px;font-weight:800}.is-done .route-node{background:var(--app-green)}.job-list-card{display:block;padding:15px 15px 12px;border:1px solid var(--app-line);border-radius:10px;background:#fff;box-shadow:0 5px 14px rgba(6,24,58,.035)}.job-list-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.job-list-card h2{margin:0;font-size:17px;letter-spacing:-.025em}.job-list-card header p{margin:3px 0 0;color:var(--app-muted);font-size:10px;text-transform:uppercase}.job-list-card header>b{color:#9aa7b6;font-size:22px}.job-address{margin:13px 0;color:#263650;font-size:12px;font-weight:700;line-height:1.42}.job-address span{color:var(--app-muted);font-weight:400}.job-list-card footer{display:flex;align-items:center;gap:6px;padding-top:10px;border-top:1px solid #edf0f3}.job-list-card footer>strong{margin-left:auto;font-size:12px}.status-chip,.priority-chip{padding:4px 7px;border-radius:4px;background:#eef2f5;color:#536178;font-size:8px;font-weight:800;text-transform:uppercase}.status-complete{background:#eaf8ed;color:var(--app-green-dark)}.status-incomplete{background:#fff0ef;color:#b92b21}.priority-chip{background:#fff0ed;color:#c92f12}
.app-job-lozenges{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px}.app-job-lozenge{display:inline-flex;align-items:center;width:max-content;padding:2px 6px;border-radius:999px;background:#ecefed;color:#424a44;font-size:9px;font-weight:750;letter-spacing:.35px;line-height:1.2;text-transform:uppercase;white-space:nowrap}.app-job-type-ffc,.app-job-type-quote,.app-job-type-one-off{background:#1b4fb8;color:#fff}.app-job-type-extra{background:#f08a24;color:#1b1b1b}.app-job-type-zero{background:#d83b3b;color:#fff}.app-job-type-last{background:#6f42c1;color:#fff}.app-job-type-catchup{background:#3b47d7;color:#fff}.app-job-type-priority{background:#111;color:#fff}.job-detail-lozenges{margin:7px 0 0}
.empty-state{display:grid;justify-items:center;padding:42px 25px;border:1px dashed #cbd5df;border-radius:10px;background:#fff;text-align:center}.empty-state>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#edf8ef;color:var(--app-green);font-size:21px}.empty-state h2{margin:15px 0 5px;font-size:18px}.empty-state p{margin:0;color:var(--app-muted);font-size:12px}
.back-link{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;color:var(--app-green-dark);font-size:11px;font-weight:800}.back-link span{font-size:25px;line-height:.6}
.job-hero{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:19px 17px;border-radius:11px;background:linear-gradient(135deg,var(--app-navy),#112e5d);color:#fff}.job-hero-number{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--app-orange);font-size:15px;font-weight:800}.job-kicker{display:flex;align-items:center;gap:7px}.job-kicker span,.job-kicker strong{padding:4px 7px;border-radius:4px;background:rgba(255,255,255,.12);color:#dce4ef;font-size:8px;text-transform:uppercase}.job-kicker strong{background:var(--app-orange);color:#fff}.job-hero h1{margin:8px 0 5px;font-size:25px;line-height:1.05;letter-spacing:-.04em}.job-hero p{margin:0;color:#c5d0df;font-size:11px;line-height:1.5}
.job-contact-row{display:grid;grid-template-columns:1fr auto;gap:9px;margin:10px 0}.job-contact-row>a,.job-contact-row>span{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--app-line);border-radius:8px;background:#fff}.job-contact-row span>small,.job-contact-row a>span{color:var(--app-muted);font-size:9px}.job-contact-row strong{font-size:12px}.job-contact-row a strong{color:var(--app-green-dark)}
.navigation-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 12px}.navigation-actions a{display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto auto;gap:0 9px;min-height:64px;padding:11px;border:1px solid var(--app-line);border-radius:8px;background:#fff}.nav-action-mark{grid-row:1/3;display:grid;place-items:center;width:35px;height:35px;border-radius:8px;background:#eef3ff;color:#2858bd;font-size:13px;font-weight:800}.nav-action-mark.w3w{background:#fff0ef;color:#d72727;font-size:10px}.navigation-actions strong{align-self:end;font-size:11px}.navigation-actions small{align-self:start;overflow:hidden;color:var(--app-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.detail-card{margin-top:10px;padding:16px;border:1px solid var(--app-line);border-radius:9px;background:#fff}.detail-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.detail-card header>span{font-size:11px;font-weight:800;text-transform:uppercase}.detail-card header button{padding:4px 7px;border:0;background:transparent;color:var(--app-green-dark);font-size:10px;font-weight:800}.detail-card p{margin:0;color:#2f4059;font-size:12px;line-height:1.55}.highlight-card{border-color:var(--brand-green-border);border-left:4px solid var(--app-green);background:#fbfefb}
.job-primary-actions{position:sticky;bottom:69px;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px -17px 0;padding:12px 17px;border-top:1px solid var(--app-line);background:rgba(244,247,244,.96);backdrop-filter:blur(12px)}.job-primary-actions button{min-height:47px;border-radius:7px;font-size:12px;font-weight:800}.quote-job-action{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:47px;border:1px solid #1744b7;border-radius:7px;background:#2858bd;color:#fff;font-size:12px;font-weight:800;text-align:center}.primary-job-action{border:1px solid var(--app-green-dark);background:var(--app-green);color:#fff}.secondary-job-action{border:1px solid #aebbc9;background:#fff;color:var(--app-navy)}.job-primary-actions p{grid-column:1/-1;margin:1px 0 0;color:var(--app-muted);font-size:9px;text-align:center}.job-day-footer{display:flex;justify-content:space-between;padding:13px 2px 0;color:var(--app-muted);font-size:10px}.job-day-footer strong{color:var(--app-ink)}
.job-primary-actions .finish-job-action{border-color:var(--app-red);background:var(--app-red);color:#fff}
.job-options-dialog{width:min(100% - 18px,602px);max-height:86vh;margin:auto auto 0;padding:11px 17px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:18px 18px 0 0;background:#fff;color:var(--app-ink);box-shadow:0 -20px 45px rgba(6,24,58,.2)}.job-options-dialog::backdrop{background:rgba(3,13,32,.55);backdrop-filter:blur(2px)}.dialog-handle{width:42px;height:4px;margin:0 auto 14px;border-radius:999px;background:#d7dde4}.job-options-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:13px}.job-options-dialog h2{margin:3px 0 0;font-size:23px}.job-options-dialog>header button{width:35px;height:35px;border:0;border-radius:50%;background:#eef1f4;color:var(--app-navy);font-size:21px}.option-group{display:grid;gap:7px}.option-group>button{display:grid;grid-template-columns:37px 1fr;grid-template-rows:auto auto;gap:1px 10px;min-height:61px;padding:10px 11px;border:1px solid var(--app-line);border-radius:8px;background:#fff;color:var(--app-ink);text-align:left}.option-group>button>span{grid-row:1/3;display:grid;place-items:center;width:37px;height:37px;border-radius:8px;background:#eef8f1;color:var(--app-green-dark);font-size:11px;font-weight:800}.option-group strong{align-self:end;font-size:11px}.option-group small{align-self:start;color:var(--app-muted);font-size:9px}.danger-option-group{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:15px;padding-top:14px;border-top:1px solid var(--app-line)}.danger-option-group p{grid-column:1/-1;margin:0 0 2px;color:#9b2d25;font-size:10px;font-weight:800}.danger-option-group button{min-height:37px;padding:5px;border:1px solid #efc7c2;border-radius:6px;background:#fff7f6;color:#a52b22;font-size:9px;font-weight:800}
.app-toast{position:fixed;z-index:100;right:17px;bottom:calc(83px + env(safe-area-inset-bottom));left:17px;width:min(calc(100% - 34px),586px);margin:auto;padding:12px 15px;border-radius:8px;background:var(--app-navy);color:#fff;box-shadow:var(--app-shadow);font-size:11px;font-weight:700;text-align:center}.app-toast[hidden]{display:none}
@media(min-width:621px){.app-frame{margin:18px auto;min-height:calc(100vh - 36px);border-radius:15px}.app-bottom-nav{bottom:18px;border-radius:0 0 15px 15px}.job-options-dialog{bottom:18px;border-radius:18px}.app-topbar{border-radius:15px 15px 0 0}}
@media(max-width:430px){.app-connectivity small{display:none}.app-main{padding-right:13px;padding-left:13px}.today-card{grid-template-columns:1fr 88px;padding:23px 17px}.today-card h2{font-size:35px}.progress-ring{width:82px;height:82px}.progress-ring strong{font-size:18px}.screen-heading h1{font-size:26px}.dashboard-stats{grid-template-columns:1fr 1fr}.quick-grid{gap:8px}.quick-grid button{grid-template-columns:34px 1fr;padding:10px}.quick-mark{width:34px;height:34px}.job-primary-actions{margin-right:-13px;margin-left:-13px;padding-right:13px;padding-left:13px}}
@media(prefers-reduced-motion:no-preference){.today-card,.job-list-card,.quick-grid :is(button,a),.navigation-actions a{transition:transform .16s ease,box-shadow .16s ease}.today-card:hover,.job-list-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(6,24,58,.11)}}

.app-auth-page{display:block;min-height:100vh;padding:0;background:var(--app-navy)}
.app-auth-shell{display:grid;grid-template-rows:minmax(205px,32vh) 1fr;min-height:100vh;background:linear-gradient(145deg,var(--app-navy),#102d59 33%,var(--app-wash) 33.2%)}
.app-auth-brand{display:grid;place-content:center;justify-items:center;padding:38px 20px 26px;color:#fff}.app-auth-brand img{width:min(225px,64vw);filter:brightness(0) invert(1)}.app-auth-brand p{margin:13px 0 0;color:#b9c8dd;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.app-auth-card{align-self:start;width:min(calc(100% - 28px),430px);margin:0 auto 40px;padding:29px 25px;border:1px solid var(--app-line);border-radius:13px;background:#fff;box-shadow:0 18px 42px rgba(6,24,58,.16)}.app-auth-card h1{margin:7px 0 7px;font-size:28px;line-height:1.08;letter-spacing:-.045em}.auth-intro{margin:0;color:var(--app-muted);font-size:12px;line-height:1.5}.app-auth-card form{display:grid;gap:16px;margin-top:24px}.app-auth-card label{display:grid;gap:7px;font-size:11px;font-weight:800}.app-auth-card label small{color:var(--app-muted);font-size:9px;font-weight:400}.app-auth-card input{width:100%;height:48px;padding:0 13px;border:1px solid #becbd8;border-radius:6px;background:#fff;color:var(--app-ink);font-size:15px;outline:0}.app-auth-card input:focus{border-color:var(--app-green);box-shadow:0 0 0 3px rgba(0,166,60,.13)}.app-auth-card form>button{min-height:49px;margin-top:2px;border:1px solid #008b32;border-radius:7px;background:linear-gradient(#04af41,#009a36);color:#fff;font-size:13px;font-weight:800}.app-auth-card>small{display:block;margin-top:19px;color:var(--app-muted);font-size:9px;line-height:1.5;text-align:center}.auth-error{margin-top:16px;padding:10px 12px;border:1px solid #f0c9c5;border-radius:6px;background:#fff5f4;color:#9f2d24;font-size:11px;font-weight:700}
@media(min-width:700px){.app-auth-shell{grid-template-rows:1fr;grid-template-columns:minmax(290px,42%) 1fr;place-items:center;background:linear-gradient(105deg,var(--app-navy) 0 42%,var(--app-wash) 42.2%)}.app-auth-brand{justify-self:stretch}.app-auth-card{margin:40px}}
.app-account-menu{position:relative}.app-account-menu summary{list-style:none;cursor:pointer}.app-account-menu summary::-webkit-details-marker{display:none}.app-account-menu>div{position:absolute;top:48px;right:0;z-index:60;width:225px;padding:15px;border:1px solid var(--app-line);border-radius:9px;background:#fff;box-shadow:0 16px 35px rgba(6,24,58,.18)}.app-account-menu p{display:grid;gap:2px;margin:0 0 12px}.app-account-menu p strong{font-size:12px}.app-account-menu p small{color:var(--app-muted);font-size:9px}.app-account-menu form button{width:100%;min-height:37px;border:1px solid #cbd5df;border-radius:6px;background:#f7f9fa;color:var(--app-navy);font-size:10px;font-weight:800}
.offline-nav-icon{font-size:20px;font-weight:800;line-height:1}.offline-feature-note{display:grid;gap:4px;margin-top:20px;padding:16px;border:1px solid #d8e2ea;border-radius:9px;background:#fff}.offline-feature-note strong{font-size:12px}.offline-feature-note p{margin:0;color:var(--app-muted);font-size:10px;line-height:1.5}.page-offline .empty-state h1{margin:15px 0 5px;font-size:19px}.page-offline .app-connectivity small{display:block}.page-offline .operator-picker select{background:#fff}.page-offline .job-primary-actions{position:static;margin-top:16px}.page-offline .job-primary-actions button{opacity:.72}.page-offline .app-topbar{position:sticky}
.danger-option-group[hidden]{display:none}.job-primary-actions button:disabled{border-color:#cbd4dc;background:#dfe5e9;color:#68778a;cursor:not-allowed}.app-confirm-dialog{width:min(calc(100% - 28px),430px);margin:auto;padding:0;border:0;border-radius:12px;background:#fff;color:var(--app-ink);box-shadow:0 24px 60px rgba(6,24,58,.28)}.app-confirm-dialog::backdrop{background:rgba(3,13,32,.62);backdrop-filter:blur(3px)}.app-confirm-dialog>div{padding:24px}.app-confirm-dialog h2{margin:6px 0 8px;font-size:23px;line-height:1.12;letter-spacing:-.035em}.app-confirm-dialog>div>p:not(.panel-label){margin:0;color:var(--app-muted);font-size:11px;line-height:1.5}.app-confirm-dialog>div>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.app-confirm-dialog button{min-height:44px;border:1px solid #cbd5df;border-radius:7px;background:#f6f8f9;color:var(--app-navy);font-size:11px;font-weight:800}.app-confirm-dialog button.confirm{border-color:#008b32;background:var(--app-green);color:#fff}.app-confirm-dialog button.danger{border-color:#c7352b;background:#d94135;color:#fff}
.app-confirm-dialog .app-safety-confirm{align-items:flex-start;background:#f2f7f3;border:1px solid #d2e2d5;border-radius:8px;display:flex;gap:10px;margin-top:16px;padding:12px;color:var(--app-ink);font-size:12px;font-weight:750;line-height:1.4}.app-confirm-dialog .app-safety-confirm input{flex:0 0 auto;height:19px;margin:0;width:19px}.app-confirm-dialog button:disabled,.app-confirm-dialog button.confirm:disabled{border-color:#cbd4dc;background:#dfe5e9;color:#68778a;cursor:not-allowed}
.app-quote-dialog{width:min(calc(100% - 20px),520px);max-height:calc(100vh - 24px);margin:auto;padding:0;border:0;border-radius:14px;background:#fff;color:var(--app-ink);box-shadow:0 24px 60px rgba(6,24,58,.3)}.app-quote-dialog::backdrop{background:rgba(3,13,32,.7);backdrop-filter:blur(3px)}.app-quote-dialog form{max-height:calc(100vh - 24px);padding:20px;overflow:auto}.app-quote-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-quote-dialog h2{margin:4px 0 7px;font-size:24px}.app-quote-dialog header p:not(.panel-label){margin:0;color:var(--app-muted);font-size:11px;line-height:1.45}.quote-dialog-close{flex:0 0 36px;width:36px;height:36px;border:0;border-radius:50%;background:#eef1f4;color:var(--app-navy);font-size:22px}.quote-dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.quote-dialog-fields>label,.quote-location-field{display:grid;gap:6px;color:var(--app-navy);font-size:11px;font-weight:800}.quote-dialog-fields input,.quote-dialog-fields select{width:100%;min-height:45px;padding:9px 10px;border:1px solid #bdc9d3;border-radius:7px;background:#fff;color:var(--app-ink);font-size:16px}.quote-photo-field,.quote-location-field{grid-column:1/-1}.quote-photo-field small,.quote-location-field small{color:var(--app-muted);font-size:10px;font-weight:600}.quote-location-field{grid-template-columns:1fr auto;padding:12px;border:1px solid #d6dee5;border-radius:8px;background:#f6f8f9}.quote-location-field strong,.quote-location-field small{grid-column:1}.quote-location-field button{grid-column:2;grid-row:1/3;min-height:40px;padding:0 12px;border:0;border-radius:7px;background:var(--app-navy);color:#fff;font-size:10px;font-weight:800}.quote-location-field.is-complete{border-color:#92c9a4;background:#eef8f1}.quote-form-status{min-height:18px;margin:12px 0 0;color:#a52b22;font-size:10px;font-weight:700}.quote-dialog-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}.quote-dialog-actions button{min-height:46px;border:1px solid #cbd5df;border-radius:7px;background:#f6f8f9;color:var(--app-navy);font-size:10px;font-weight:800}.quote-dialog-actions button.danger{border-color:#b8131b;background:var(--app-red);color:#fff}.quote-dialog-actions button:disabled{border-color:#cbd4dc;background:#dfe5e9;color:#68778a}@media(max-width:430px){.quote-dialog-fields{grid-template-columns:1fr}.quote-photo-field,.quote-location-field{grid-column:1}.app-quote-dialog form{padding:17px}}
.job-audit-card dl{display:grid;gap:8px;margin:0}.job-audit-card dl>div{align-items:center;border-top:1px solid #e3e9ed;display:flex;justify-content:space-between;gap:12px;padding-top:8px}.job-audit-card dl>div:first-child{border-top:0;padding-top:0}.job-audit-card dt{color:var(--app-muted);font-size:11px;font-weight:700}.job-audit-card dd{margin:0;text-align:right;font-size:11px;font-weight:800}.job-audit-card a{color:var(--app-green-dark)}
.app-reallocate-dialog label{display:grid;gap:7px;margin-top:18px;color:var(--app-ink);font-size:10px;font-weight:800}.app-reallocate-dialog select{width:100%;height:45px;padding:0 11px;border:1px solid #c3ced9;border-radius:6px;background:#fff;color:var(--app-ink);font-size:12px;font-weight:700}
.diagnostics-screen{display:grid;gap:13px}.diagnostics-screen>.screen-heading{margin-bottom:5px}.diagnostic-card{padding:18px;border:1px solid var(--app-line);border-radius:10px;background:#fff;box-shadow:0 5px 14px rgba(6,24,58,.035)}.diagnostic-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #edf1f4}.diagnostic-card h2{margin:4px 0 0;font-size:17px;letter-spacing:-.025em}.diagnostic-state{padding:5px 8px;border-radius:5px;background:var(--brand-green-soft);color:var(--app-green-dark);font-size:9px;font-weight:800}.diagnostic-card dl{display:grid;gap:0;margin:8px 0 0}.diagnostic-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #edf1f4}.diagnostic-card dt{color:var(--app-muted);font-size:10px}.diagnostic-card dd{margin:0;color:var(--app-ink);font-size:10px;font-weight:800;text-align:right}.diagnostic-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.diagnostic-actions button{min-height:41px;border:1px solid #aebbc9;border-radius:6px;background:#fff;color:var(--app-navy);font-size:10px;font-weight:800}.diagnostic-actions button:first-child{border-color:#0d7940;background:#eff9f2;color:#08712d}.diagnostic-card.compact{display:grid;gap:7px}.diagnostic-card.compact p{margin:0;color:var(--app-muted);font-size:10px}.diagnostic-card.compact strong{color:var(--app-ink)}
.online-only-note{display:grid;gap:3px;margin:-5px 0 14px;padding:12px 14px;border:1px solid #d9e4ec;border-radius:8px;background:#f9fbfc}.online-only-note strong{font-size:10px}.online-only-note span{color:var(--app-muted);font-size:9px}.training-app-list{display:grid;gap:10px}.training-app-list article{display:grid;grid-template-columns:45px 1fr auto;align-items:start;gap:12px;padding:16px;border:1px solid var(--app-line);border-radius:9px;background:#fff}.training-type-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:9px;background:var(--brand-green-soft);color:var(--app-green-dark);font-size:16px;font-weight:800}.training-app-list h2{margin:4px 0 4px;font-size:16px;letter-spacing:-.02em}.training-app-list article div>p:not(.panel-label){margin:0 0 7px;color:var(--app-muted);font-size:10px;line-height:1.45}.training-app-list small{color:#8794a5;font-size:8px}.training-app-list article>a{align-self:center;padding:8px 9px;border-radius:6px;background:var(--app-navy);color:#fff;font-size:9px;font-weight:800}
.sales-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sales-summary-grid article{padding:16px;border:1px solid var(--app-line);border-radius:9px;background:#fff}.sales-summary-grid span,.sales-summary-grid small{display:block;color:var(--app-muted);font-size:9px}.sales-summary-grid strong{display:block;margin:4px 0 1px;font-size:27px;letter-spacing:-.045em}.sales-orders{margin-top:24px}.sales-orders .section-title h2{margin:4px 0 0;font-size:20px}.sales-orders>a{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:14px 15px;border:1px solid var(--app-line);border-radius:8px;background:#fff}.sales-orders h3{margin:0;font-size:13px}.sales-orders p{margin:4px 0 0;color:var(--app-muted);font-size:9px}.sales-orders>a>span{display:grid;gap:2px;text-align:right}.sales-orders>a>span strong{font-size:12px}.sales-orders>a>span small{color:var(--app-muted);font-size:8px;white-space:nowrap}
.app-success,.app-error{margin:-5px 0 15px;padding:12px 14px;border:1px solid var(--brand-green-border);border-radius:8px;background:var(--brand-green-soft);color:var(--app-green-dark);font-size:10px;font-weight:800}.app-error{border-color:#efc7c2;background:#fff5f4;color:#9f2d24}
.document-upload-list{display:grid;gap:10px}.document-upload-list>article{padding:16px;border:1px solid var(--app-line);border-radius:10px;background:#fff}.document-upload-list header{display:grid;grid-template-columns:44px 1fr;gap:11px;align-items:center}.document-type-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;background:var(--brand-green-soft);color:var(--app-green-dark);font-size:11px;font-weight:800}.document-upload-list h2{margin:0 0 3px;font-size:16px}.document-upload-list header p{margin:0;color:var(--app-muted);font-size:9px;line-height:1.4}.document-upload-list form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;padding-top:13px;border-top:1px solid #edf1f4}.file-picker,.expiry-field{display:grid;gap:5px;color:var(--app-muted);font-size:9px;font-weight:800}.file-picker{grid-column:1/-1}.file-picker input,.expiry-field input{width:100%;min-width:0;min-height:41px;padding:8px;border:1px solid #c8d3de;border-radius:6px;background:#fff;color:var(--app-ink);font-size:10px}.expiry-field small{font-weight:400}.document-upload-list form button{align-self:end;min-height:41px;border:1px solid #008b32;border-radius:6px;background:var(--app-green);color:#fff;font-size:10px;font-weight:800}.document-history{margin-top:25px}.document-history>article{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;margin-top:8px;padding:13px 14px;border:1px solid var(--app-line);border-radius:8px;background:#fff}.document-status{width:8px;height:8px;border-radius:50%;background:#e4a11b}.document-status.approved{background:var(--app-green)}.document-status.rejected,.document-status.expired{background:var(--app-red)}.document-history h3{margin:0;font-size:12px}.document-history p{margin:2px 0;color:var(--app-muted);font-size:9px;word-break:break-word}.document-history small{color:var(--app-muted);font-size:8px}.document-history>article>strong{color:#526078;font-size:8px;text-align:right}.empty-state.compact{padding:25px 18px}
.push-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;padding:17px;border-radius:10px;background:linear-gradient(135deg,var(--app-navy),#102e5d);color:#fff}.push-card .panel-label{color:#6ee398}.push-card h2{margin:4px 0 3px;font-size:17px}.push-card div>p:last-child{margin:0;color:#bcc9db;font-size:9px;line-height:1.4}.push-card button{flex:0 0 auto;min-height:38px;padding:0 12px;border:0;border-radius:6px;background:var(--app-orange);color:#fff;font-size:9px;font-weight:800}.push-card button:disabled{background:#405472;color:#dce3ec}.notification-list{display:grid;gap:9px}.notification-list>article{padding:16px;border:1px solid var(--app-line);border-radius:10px;background:#fff}.notification-list>article.unread{border-left:4px solid var(--app-orange)}.notification-list header{display:grid;grid-template-columns:39px 1fr auto;gap:10px;align-items:center}.notification-kind{display:grid;place-items:center;width:39px;height:39px;border-radius:9px;background:var(--brand-green-soft);color:var(--app-green-dark);font-size:12px;font-weight:800}.notification-list h2{margin:3px 0 0;font-size:15px;letter-spacing:-.02em}.notification-list header>b{padding:4px 7px;border-radius:999px;background:#fff0ed;color:#c92f12;font-size:8px}.notification-list>article>p{margin:13px 0;color:#31415a;font-size:11px;line-height:1.55}.notification-list footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #edf1f4}.notification-list time{color:var(--app-muted);font-size:8px}.notification-list footer a,.notification-list footer button{padding:6px 9px;border:0;border-radius:5px;background:var(--brand-green-soft);color:var(--app-green-dark);font-size:9px;font-weight:800}.notification-list footer form{margin:0}
.report-summary-card{padding:18px;border-radius:10px;background:var(--app-navy);color:#fff}.report-summary-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.13)}.report-summary-card .panel-label{color:#6ee398}.report-summary-card h2{margin:4px 0 0;font-size:18px}.report-summary-card header>span{padding:5px 8px;border-radius:5px;background:#fff0ed;color:#c92f12;font-size:8px;font-weight:800}.report-summary-card header>span.ready{background:#e8f8ed;color:#08712d}.report-summary-card dl{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin:16px 0 0}.report-summary-card dl>div{display:flex;align-items:center;justify-content:space-between}.report-summary-card dt{color:#afbdd1;font-size:9px}.report-summary-card dd{margin:0;font-size:14px;font-weight:800}.submitted-report{display:flex;align-items:center;gap:10px;margin-top:11px;padding:13px;border:1px solid var(--brand-green-border);border-radius:8px;background:var(--brand-green-soft)}.submitted-report>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--app-green);color:#fff;font-weight:800}.submitted-report div{display:grid;gap:2px}.submitted-report strong{font-size:10px}.submitted-report small{color:var(--app-muted);font-size:8px}.report-form{display:grid;gap:12px;margin-top:12px;padding:17px;border:1px solid var(--app-line);border-radius:10px;background:#fff}.report-form label{display:grid;gap:7px;color:var(--app-ink);font-size:10px;font-weight:800}.report-form label small{color:var(--app-muted);font-weight:400}.report-form textarea{width:100%;padding:11px;border:1px solid #c8d3de;border-radius:7px;resize:vertical;color:var(--app-ink);font-size:11px}.report-form button{min-height:45px;border:1px solid #008b32;border-radius:7px;background:var(--app-green);color:#fff;font-size:11px;font-weight:800}.report-form button:disabled{border-color:#cbd4dc;background:#dfe5e9;color:#68778a}.report-form>p{margin:0;color:var(--app-muted);font-size:9px;line-height:1.45;text-align:center}
@media(max-width:430px){.document-upload-list form{grid-template-columns:1fr}.expiry-field{grid-column:1}.push-card{align-items:flex-start;flex-direction:column}.push-card button{width:100%}}

/* Route service glance and inline lawn-quote capture. */
.job-lawn-size{margin:-5px 0 11px;color:#263650;font-size:11px;font-weight:800;text-transform:capitalize}
.job-service-icons{display:flex;align-items:center;gap:4px;min-height:29px;margin:-5px 0 11px}
.job-lawn-size+.job-service-icons{margin-top:-12px}
.job-service-icons img{display:block;width:29px;height:25px;object-fit:contain}
.job-service-icons.service-lawn-cutting img{width:50px}
.job-service-icons.service-waste-collection img{width:31px;height:31px}
.job-route-list>li.type-quote .route-node{background:#003ee8}
.job-route-list>li.type-quote .job-list-card{border-color:#9bb5ee;box-shadow:0 5px 14px rgba(39,89,199,.08)}
.job-route-list>li.type-quote .job-list-card h2{color:#003ee8}
.job-identity.type-quote .job-hero{background:transparent;color:var(--app-ink)}
.job-identity.type-quote .job-hero h1{color:#003ee8}
.job-identity.type-quote .job-hero p{color:var(--app-ink)}
.job-identity.type-quote .job-hero-number{background:#003ee8}
.job-route-list>li.type-quote.status-complete .route-node,.job-identity.type-quote.status-complete .job-hero-number{background:var(--app-green)}
.job-route-list>li.type-quote.status-complete .job-list-card h2,.job-identity.type-quote.status-complete .job-hero h1{color:var(--app-green-dark)}
.inline-quote-card{margin-top:14px;padding:0;border:0;border-radius:0;background:transparent;color:var(--app-ink)}
.inline-quote-card form{display:block}
.inline-quote-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.inline-quote-card h2{margin:4px 0 7px;font-size:22px;line-height:1.12}
.inline-quote-card header p:not(.panel-label){margin:0;color:var(--app-muted);font-size:11px;line-height:1.45}
.inline-quote-card .panel-label{color:#003ee8}
.inline-quote-card .quote-dialog-fields{grid-template-columns:1fr;margin-top:0}
.inline-quote-card .quote-photo-field,.inline-quote-card .quote-location-field{grid-column:1}
.quote-risk-confirm{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;color:var(--app-ink);font-size:13px;font-weight:750;line-height:1.4}.quote-risk-confirm input{flex:0 0 auto;width:20px;height:20px;margin:0}
.inline-quote-card .quote-form-status:empty{display:none}
.quote-dialog-actions button.quote-submit{min-height:58px;border-color:#003ee8;background:#003ee8;color:#fff;font-size:19px;font-weight:700;text-transform:uppercase}
.quote-dialog-actions button.quote-submit:disabled{border-color:#cbd4dc;background:#dfe5e9;color:#68778a}
.inline-quote-saved{margin:0;color:#003ee8;font-size:14px;font-weight:800;text-align:center}
.quote-readonly-summary{margin-top:14px;color:var(--app-ink)}.quote-readonly-summary h2{margin:0 0 7px;font-size:17px}.quote-readonly-summary dl{margin:0}.quote-readonly-summary dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--app-line)}.quote-readonly-summary dt{color:var(--app-muted);font-size:11px;font-weight:700}.quote-readonly-summary dd{margin:0;font-size:12px;font-weight:800;text-align:right}
@media(max-width:430px){.inline-quote-card .quote-dialog-fields{grid-template-columns:1fr}.inline-quote-card .quote-photo-field,.inline-quote-card .quote-location-field{grid-column:1}}

.job-type-leaf-tidy,.app-job-type-leaf-tidy{background:#fff0d5;color:#815313;border:1px solid #eed5a5}

/* Visit evidence and internal-note forms share the existing mobile quote dialog. */
.app-evidence-dialog>div{padding:20px;max-height:85dvh;overflow:auto}
.app-evidence-dialog label{display:block;font-weight:700;margin-top:12px}
.app-evidence-dialog textarea,.quote-dialog-fields textarea{display:block;width:100%;min-height:90px;margin-top:6px;padding:10px;border:1px solid #bdc9d3;border-radius:7px;font:inherit;font-size:16px}
.app-evidence-dialog p{white-space:pre-wrap;line-height:1.45}
.app-evidence-dialog section{padding:12px 0;border-bottom:1px solid #d6dee5}
.app-evidence-dialog section button{min-height:42px;margin-top:8px}
.app-evidence-dialog .quote-dialog-actions button{font-size:14px}
.job-options-dialog{max-height:90dvh;overflow:auto}
[data-note-copy]{white-space:pre-line}

/* Mobile visit tools. */
.app-lc-customer {background:#e0f3df;color:#185c2b;border:1px solid #97ca99;margin:4px 0;display:inline-block;border-radius:999px;padding:4px 10px;font-weight:700;font-size:.8rem;}
.app-lc-customer[hidden] {display:none;}
.app-visit-history {width:100%;border-collapse:collapse;font-size:.9rem;margin:16px 0;}
.app-visit-history th,.app-visit-history td {padding:10px 5px;text-align:left;border-bottom:1px solid #cad3d5;vertical-align:top;}
.app-evidence-dialog label {display:block;margin:12px 0;}
.app-evidence-dialog textarea,.app-evidence-dialog input:not([type=radio]):not([type=checkbox]):not([type=file]) {width:100%;box-sizing:border-box;min-height:44px;}
.app-evidence-dialog .app-safety-confirm {display:flex;align-items:center;gap:10px;}

.app-evidence-dialog [hidden] {display:none !important;}

.app-evidence-dialog .quote-dialog-actions button.confirm {background:var(--app-green);color:#fff;border-color:#008b32;}
.app-evidence-dialog .quote-dialog-actions button.confirm:disabled {background:#dfe5e9;color:#68778a;border-color:#cbd4dc;}
.app-evidence-dialog .app-tool-button {min-height:46px;padding:10px 14px;border:1px solid #bdc9d3;border-radius:7px;background:var(--app-navy);color:#fff;font-size:14px;font-weight:700;}
.app-evidence-dialog>div>form {padding:0;max-height:none;overflow:visible;}
