:root{--carbon:#181c1f;--carbon-soft:#272d31;--canvas:#f3f5f5;--surface:#fff;--line:#d9dfe0;--line-strong:#b8c1c2;--ink:#182023;--muted:#607074;--teal:#007a78;--teal-hover:#006663;--teal-soft:#e1f2f1;--green:#16794b;--green-soft:#e4f4eb;--amber:#9a5d00;--amber-soft:#fff1d6;--red:#b42318;--red-soft:#fee9e7;--gray-soft:#edf0f1;color:var(--ink);background:var(--canvas);font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;margin:0;overflow-x:hidden}body{min-width:320px}img{max-width:100%}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.portal{min-height:100dvh;padding-bottom:76px}.topbar{background:var(--carbon);color:#fff;z-index:20;justify-content:space-between;align-items:center;gap:12px;height:58px;padding:0 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{border:2px solid #51d0c8;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.brand-copy{min-width:0}.brand-copy strong,.brand-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.brand-copy strong{font-size:14px}.brand-copy span{color:#b9c2c4;margin-top:2px;font-size:11px}.icon-button{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.icon-button:hover{background:var(--carbon-soft)}.content{width:min(100%,980px);margin:0 auto;padding:18px 14px 28px}.bottom-nav{background:var(--carbon);color:#c5cdcf;z-index:30;border-top:1px solid #394247;justify-content:center;height:68px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{grid-template-columns:repeat(3,1fr);width:min(100%,560px);display:grid}.bottom-nav-inner.driver-nav{grid-template-columns:repeat(2,1fr)}.nav-link{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:58px;padding:7px 4px 5px;font-size:11px;text-decoration:none;display:flex}.nav-link:hover,.nav-link:focus-visible{color:#68d8d0;background:var(--carbon-soft)}.page-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.page-header h1{letter-spacing:0;margin:0;font-size:22px;line-height:1.2}.detail-back{width:fit-content;min-height:44px;color:var(--teal);text-transform:uppercase;border-radius:4px;align-items:center;gap:6px;margin:-8px 0 2px -8px;padding:8px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.detail-back:hover,.detail-back:focus-visible{background:var(--teal-soft)}.eyebrow{color:var(--teal);text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}.subtle{color:var(--muted);font-size:13px;line-height:1.45}.section{margin-top:22px}.section-heading{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;padding-bottom:8px;display:flex}.section-heading h2{margin:0;font-size:14px}.count{background:var(--gray-soft);min-width:24px;height:24px;color:var(--muted);border-radius:4px;place-items:center;padding:0 7px;font-size:11px;font-weight:700;display:grid}.job-list{gap:8px;display:grid}.job-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:6px;padding:13px 13px 12px;text-decoration:none;display:block;box-shadow:0 1px 2px #1820230d}.job-card:hover{border-color:#9ab7b6}.job-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.job-card h3{margin:8px 0 4px;font-size:15px;line-height:1.35}.job-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.job-meta{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin-top:10px;padding-top:9px;font-size:11px;display:flex}.meta-item{align-items:center;gap:5px;min-width:0;display:inline-flex}.status{text-transform:uppercase;white-space:nowrap;border-radius:4px;align-items:center;min-height:24px;padding:3px 7px;font-size:10px;font-weight:800;display:inline-flex}.status-assigned{color:#46565a;background:var(--gray-soft)}.status-en-route{color:var(--amber);background:var(--amber-soft)}.status-in-progress{color:var(--teal);background:var(--teal-soft)}.status-pending-parts{color:var(--red);background:var(--red-soft)}.status-completed{color:var(--green);background:var(--green-soft)}.status-picked-up{color:#765000;background:#fff2cc}.status-out-for-delivery{color:var(--teal);background:var(--teal-soft)}.status-delivered{color:var(--green);background:var(--green-soft)}.status-failed{color:var(--red);background:var(--red-soft)}.status-rescheduled{color:#765000;background:var(--amber-soft)}.metric-grid{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.metric{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:13px}.metric:nth-child(2n){border-right:0}.metric:nth-last-child(-n+2){border-bottom:0}.metric strong{font-size:22px;display:block}.metric span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.detail-grid{gap:12px;display:grid}.work-surface{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px}.work-surface h2{margin:0 0 12px;font-size:14px}.data-list{grid-template-columns:minmax(90px,.7fr) minmax(0,1.4fr);gap:9px 12px;margin:0;font-size:12px;display:grid}.data-list dt{color:var(--muted)}.data-list dd{overflow-wrap:anywhere;margin:0;font-weight:600}.contact-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.button,.button-secondary,.button-danger{cursor:pointer;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 13px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.button{background:var(--teal);color:#fff}.button:hover{background:var(--teal-hover)}.button-secondary{color:var(--ink);border-color:var(--line-strong);background:#fff}.button-secondary:hover{background:var(--gray-soft)}.button-danger{color:var(--red);background:#fff;border-color:#e6aaa5}.button:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.55;cursor:wait}.button>span,.button-secondary>span,.button-danger>span{overflow-wrap:anywhere;min-width:0}.button-full{width:100%}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.field{gap:6px;margin-top:10px;display:grid}.field label{font-size:12px;font-weight:700}.input,.select,.textarea{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:5px;padding:9px 10px}.textarea{resize:vertical;min-height:88px}.input:focus,.select:focus,.textarea:focus{outline-offset:1px;outline:2px solid #73cac5}.inline-error,.inline-success,.inline-note{border-radius:4px;margin-top:10px;padding:9px 10px;font-size:12px;line-height:1.4}.inline-error{background:var(--red-soft);color:var(--red)}.inline-success{background:var(--green-soft);color:var(--green)}.inline-note{background:var(--amber-soft);color:var(--amber)}.timeline{gap:0;display:grid}.timeline-item{padding:0 0 16px 22px;font-size:12px;position:relative}.timeline-item:before{content:"";background:var(--teal);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:5px}.timeline-item:after{content:"";border-left:1px solid var(--line-strong);position:absolute;top:12px;bottom:0;left:8px}.timeline-item:last-child:after{display:none}.timeline-item strong{display:block}.timeline-item span{color:var(--muted);margin-top:3px;line-height:1.4;display:block}.part-row,.history-row,.upload-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;font-size:12px;display:flex}.part-row:first-child,.history-row:first-child,.upload-row:first-child{border-top:0;padding-top:0}.part-row strong,.history-row strong,.upload-row strong{overflow-wrap:anywhere;display:block}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.photo-grid img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:5px;width:100%}.camera-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.camera-label{width:100%;min-height:48px}.empty,.error-panel{border:1px dashed var(--line-strong);text-align:center;background:#fff;border-radius:6px;padding:18px 14px}.empty strong,.error-panel strong{font-size:13px;display:block}.empty span,.error-panel span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.terminal{background:var(--green-soft);color:var(--green);border:1px solid #aad7bf;border-radius:6px;align-items:flex-start;gap:10px;padding:12px;font-size:12px;line-height:1.4;display:flex}.terminal-alert{background:var(--gray-soft);color:var(--ink);border-color:var(--line-strong)}.first-section{margin-top:0}.read-only{opacity:.82;cursor:default}.detail-header{align-items:center}.detail-header>div{min-width:0}.detail-header h1,.detail-header p{overflow-wrap:anywhere}.compact-heading{margin-bottom:12px;padding-bottom:9px}.compact-heading h2{margin:0}.action-stack{gap:10px;display:grid}.reason-action{border-top:1px solid var(--line);padding-top:10px}.reason-action .field{margin-top:0}.reason-action button{margin-top:8px}.otp-panel{background:var(--gray-soft);border:1px solid var(--line);border-radius:6px;gap:8px;padding:13px;display:grid}.otp-panel label{font-size:12px;font-weight:800}.otp-panel p{margin:0}.otp-input{border:1px solid var(--line-strong);width:100%;min-width:0;height:54px;color:var(--ink);text-align:center;letter-spacing:0;font-variant-numeric:tabular-nums;background:#fff;border-radius:5px;padding:8px 12px;font-size:25px;font-weight:800}.otp-input:focus{outline-offset:1px;outline:2px solid #73cac5}.tracking-strip{border:1px solid var(--line);border-left:3px solid var(--line-strong);background:#fff;border-radius:6px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:68px;margin-bottom:12px;padding:10px 12px;display:grid}.tracking-active{border-left-color:var(--teal);background:#f7fbfb}.tracking-icon{width:34px;height:34px;color:var(--teal);background:var(--teal-soft);border-radius:50%;place-items:center;display:grid}.tracking-copy{min-width:0}.tracking-copy strong,.tracking-copy span{display:block}.tracking-copy strong{font-size:12px}.tracking-copy span{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:11px;line-height:1.35}.tracking-wake{min-width:72px;color:var(--muted);white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;font-size:10px;display:flex}.proof-grid{margin-top:14px}.proof-grid figure{min-width:0;margin:0}.proof-grid figcaption{color:var(--muted);margin-top:3px;font-size:10px}.retry-button{color:var(--teal)}.route-summary{background:var(--gray-soft);border-radius:5px;align-items:flex-start;gap:10px;padding:10px;display:flex}.route-summary strong,.route-summary span{display:block}.route-summary strong{font-size:12px}.route-summary span{color:var(--muted);margin-top:3px;font-size:11px}.trail-list{margin-top:10px}.trail-row{border-top:1px solid var(--line);min-height:34px;color:var(--muted);grid-template-columns:18px minmax(90px,1fr) auto;align-items:center;gap:6px;font-size:10px;display:grid}.trail-row code{color:var(--ink);font-size:10px}.month-filter{border:1px solid var(--line);background:#fff;border-radius:6px;margin-bottom:16px;padding:12px}.month-filter label{margin-bottom:7px;font-size:12px;font-weight:800;display:block}.month-filter>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.summary-month{background:var(--carbon);color:#fff;border-radius:6px;align-items:center;gap:8px;min-height:48px;margin-bottom:10px;padding:10px 12px;display:flex}.summary-month strong{font-size:13px}.summary-month span{color:#b9c2c4;text-transform:uppercase;margin-left:auto;font-size:10px}.summary-grid .metric svg{color:var(--teal)}.header-icon{color:var(--teal);flex:none}.contact-wide{grid-column:1/-1}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{background:var(--canvas);grid-template-rows:74px 1fr;min-height:100dvh;display:grid}.auth-brand{background:var(--carbon);color:#fff;align-items:center;gap:10px;padding:0 18px;display:flex}.auth-main{width:min(100%,430px);margin:0 auto;padding:40px 18px}.auth-main h1{margin:0;font-size:24px}.auth-main>p{color:var(--muted);margin:8px 0 24px;font-size:13px;line-height:1.5}.auth-form{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:18px}.auth-form .field:first-child{margin-top:0}.auth-form .button{margin-top:16px}.loading-stack{gap:9px;display:grid}.skeleton{border:1px solid var(--line);background:#e5e9ea;border-radius:6px;height:96px}@media (min-width:760px){.content{padding:24px 24px 38px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid .wide{grid-column:1/-1}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{border-bottom:0}.metric:nth-child(2n){border-right:1px solid var(--line)}.metric:last-child{border-right:0}.job-list{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1000px){.portal{padding-bottom:0}.content{width:min(100% - 120px,980px);margin-left:max(96px,50% - 490px);margin-right:auto}.bottom-nav{border-top:0;border-right:1px solid #394247;align-items:flex-start;width:72px;height:auto;top:58px;right:auto}.bottom-nav-inner{flex-direction:column;width:100%;padding-top:10px;display:flex}.nav-link{min-height:66px;padding:8px 3px}}@media (max-width:390px){.content{padding-left:12px;padding-right:12px}.action-grid{grid-template-columns:1fr}.page-header h1{font-size:20px}.tracking-strip{grid-template-columns:32px minmax(0,1fr)}.tracking-wake{grid-column:2;justify-content:flex-start}.trail-row{grid-template-columns:18px minmax(0,1fr)}.trail-row code{grid-column:2}.otp-input{letter-spacing:0;font-size:22px}}
