@font-face{font-family:"Outfit";src:url(/fonts/outfit-bold.woff) format("woff");font-weight:700;font-display:swap}
:root{--green:#1d3d1d;--green-2:#254d25;--green-3:#2f5f2f;--orange:#f7941d;--orange-d:#d97a08;--ink:#17201a;--muted:#55605a;--line:#e3e7e2;--tint:#f5f6f2;--red:#c0392b;--ok:#2e7d32;--radius:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--tint);min-height:100vh}
h1,h2,h3{font-family:"Outfit",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;line-height:1.1;margin:0 0 .4em;letter-spacing:-.01em}
h1{font-size:1.7rem}h2{font-size:1.35rem}h3{font-size:1.08rem}
p{margin:0 0 .8em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:6px}
.topbar{position:sticky;top:0;z-index:30;background:var(--green);color:#fff;padding:env(safe-area-inset-top) 0 0}
.topbar-in{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 16px;max-width:1200px;margin:0 auto}
.topbar img{width:70px;height:auto;display:block}
.topbar .who{margin-left:auto;text-align:right;font-size:.9rem;line-height:1.2}
.topbar .who b{font-family:"Outfit",sans-serif;font-size:1.05rem;display:block;color:var(--orange)}
.topbar .sub{font-family:"Outfit",sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#dfe8dc;line-height:1.1}
.linkbtn{background:none;border:0;color:#dfe8dc;text-decoration:underline;cursor:pointer;padding:4px;font-size:.85rem}
main{max-width:640px;margin:0 auto;padding:16px 14px calc(40px + env(safe-area-inset-bottom))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:0 0 14px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.card.accent{border-top:5px solid var(--orange)}
.card.dark{background:linear-gradient(160deg,var(--green),var(--green-2));color:#fff;border:0}
.card.dark .muted{color:#cfdccb}
.muted{color:var(--muted);font-size:.92rem}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-weight:700;border-radius:14px;padding:16px 18px;font-size:1.08rem;border:2px solid transparent;cursor:pointer;min-height:56px;text-decoration:none;transition:filter .15s}
.btn:active{filter:brightness(.92)}
.btn-primary{background:var(--orange);color:#1a1205}
.btn-green{background:var(--green);color:#fff}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.btn-danger{background:#fff;border-color:#e8b4ae;color:var(--red)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn-sm{width:auto;min-height:40px;padding:8px 14px;font-size:.92rem;border-radius:10px;display:inline-flex}
.row{display:flex;gap:10px;align-items:center}
.grow{flex:1}
label.f{display:block;font-weight:600;font-size:.92rem;margin:12px 0 6px}
input.in,select.in,textarea.in{width:100%;border:1.5px solid #cdd5cc;border-radius:12px;padding:13px 14px;font-size:1.05rem;background:#fff;min-height:50px}
textarea.in{min-height:90px}
input.in:focus,select.in:focus,textarea.in:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px rgba(247,148,29,.25)}
.err{background:#fdecea;color:#8a1f12;border:1px solid #f3c2bb;border-radius:12px;padding:12px 14px;margin:10px 0;font-weight:600}
.okmsg{background:#e8f5e9;color:#1b5e20;border:1px solid #b9dfbc;border-radius:12px;padding:12px 14px;margin:10px 0;font-weight:600}
.steps{display:flex;gap:6px;margin:0 0 14px}
.steps span{flex:1;height:6px;border-radius:3px;background:#d7ddd6}
.steps span.done{background:var(--green-3)}.steps span.cur{background:var(--orange)}
.big-time{font-family:"Outfit",sans-serif;font-size:2.6rem;line-height:1;margin:6px 0;font-variant-numeric:tabular-nums}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;background:#eef2ed;color:var(--green)}
.pill.orange{background:#fff1df;color:#8a4b00}.pill.red{background:#fdecea;color:#8a1f12}.pill.green{background:#e3f1e4;color:#1b5e20}
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.list li:last-child{border-bottom:0}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.thumbs .t{position:relative}
.thumbs img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block;background:#eee}
.thumbs .x{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;border:0;background:var(--red);color:#fff;font-weight:700;cursor:pointer}
.upl{position:relative;overflow:hidden}
.upl input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.upl2{display:flex;gap:8px;flex-wrap:wrap}
.upl2 .upl{flex:1 1 140px}
/* inspection */
.sec h3{margin:18px 0 6px;color:var(--green);display:flex;justify-content:space-between;align-items:center}
.item{border-bottom:1px solid var(--line);padding:10px 0}
.item .lbl{font-weight:600;margin-bottom:8px}
.seg{display:flex;gap:6px}
.seg button{flex:1;min-height:44px;border-radius:10px;border:1.5px solid #cdd5cc;background:#fff;font-weight:700;cursor:pointer;font-size:.95rem}
.seg button.on.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.seg button.on.defect{background:var(--red);border-color:var(--red);color:#fff}
.seg button.on.na{background:#6b746e;border-color:#6b746e;color:#fff}
.seg button.na{flex:.55}
.item input{margin-top:8px}
.sigwrap{border:2px dashed #b9c4b8;border-radius:12px;background:#fff;position:relative;touch-action:none}
.sigwrap canvas{display:block;width:100%;height:180px;touch-action:none}
.sigwrap .hint{position:absolute;left:12px;bottom:8px;color:#9aa59c;font-size:.85rem;pointer-events:none}
.stepper{display:flex;align-items:center;justify-content:center;gap:18px;margin:14px 0}
.stepper button{width:64px;height:64px;border-radius:50%;border:0;background:var(--green);color:#fff;font-size:2rem;font-weight:700;cursor:pointer}
.stepper input{width:110px;text-align:center;font-family:"Outfit",sans-serif;font-size:2.6rem;border:2px solid #cdd5cc;border-radius:14px;padding:6px}
.modal{position:fixed;inset:0;background:rgba(10,20,12,.55);z-index:50;display:flex;align-items:flex-end;justify-content:center}
.modal .sheet{background:#fff;width:100%;max-width:640px;border-radius:20px 20px 0 0;padding:20px 18px calc(22px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto}
.install{background:#fff8ec;border:1px solid #f6d7a8;border-radius:12px;padding:12px 14px;font-size:.92rem;margin:0 0 14px}
.center{text-align:center}
.spin{display:none!important} /* v53 (Isreal Oct 25): no spinners anywhere; the words beside it say what is happening */
.skl{height:14px;background:#eceee9;border-radius:7px;margin:12px 0}
@keyframes sp{to{transform:rotate(360deg)}}
.hidden{display:none!important}
.login-hero{background:linear-gradient(160deg,var(--green) 0%,var(--green-2) 62%,var(--green-3) 100%);color:#fff;padding:36px 20px 70px;text-align:center}
.login-hero img{width:120px;margin:0 auto 14px;display:block}
.login-hero h1{color:#fff;font-size:1.6rem}
.login-hero h1::after{content:"";display:block;width:56px;height:5px;background:var(--orange);border-radius:3px;margin:12px auto 0}
.login-card{margin:-50px auto 0;max-width:440px}
.toast{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;max-width:616px;margin:0 auto;box-shadow:0 8px 24px rgba(0,0,0,.18)}

.docsbar{padding:12px 14px}.docsbar.warn{border:2px solid var(--red);background:#fdecea}.docwarn{color:#8a1f12;font-weight:800;margin-bottom:8px}.docbtn{text-decoration:none}

/* ---------- install app banner + sheets (install.js) ---------- */
.rinst{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff4e5;border:2px solid var(--orange);border-radius:14px;padding:12px 14px;margin:0 0 14px;color:var(--ink)}
.rinst-ico{width:44px;height:44px;border-radius:10px;flex:0 0 auto}
.rinst-txt{flex:1 1 170px;min-width:0;line-height:1.3}.rinst-txt b{display:block;font-size:1.02rem}.rinst-txt span{font-size:.88rem;color:var(--muted)}
.rinst-btn{appearance:none;border:0;background:var(--orange);color:#1a1205;font:inherit;font-weight:700;font-size:1rem;border-radius:12px;padding:12px 16px;min-height:46px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.rinst-btn:active{background:var(--orange-d)}
.rinst-wide{display:flex;width:100%;margin:12px 0 4px}
.rinst-no{appearance:none;border:0;background:none;color:var(--muted);font:inherit;font-size:.9rem;text-decoration:underline;padding:8px 4px;cursor:pointer}
@media (max-width:420px){.rinst-btn[data-rinst=go]{flex:1 1 auto}}
.rinst-modal{position:fixed;inset:0;background:rgba(10,20,12,.6);z-index:80;display:flex;align-items:flex-end;justify-content:center}
.rinst-sheet{position:relative;background:#fff;color:var(--ink);width:100%;max-width:560px;border-radius:20px 20px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto}
.rinst-sheet h2{margin:0 0 10px;font-size:1.3rem}
.rinst-lead{margin:0 0 12px}
.rinst-steps{list-style:none;margin:10px 0 6px;padding:0}
.rinst-step{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.rinst-step:first-child{border-top:0}
.rinst-n{flex:0 0 30px;height:30px;border-radius:50%;background:var(--orange);color:#1a1205;font-weight:800;display:flex;align-items:center;justify-content:center}
.rinst-sb{flex:1;min-width:0;line-height:1.4}.rinst-sb svg{vertical-align:-5px}
.rinst-small{font-size:.86rem;color:var(--muted)}
.rinst-pic{margin-top:8px}
.rinst-bar{display:flex;justify-content:space-around;align-items:center;background:#f2f2f7;border-radius:12px;padding:8px 6px;font-size:20px;color:#0a84ff}
.rinst-bar-top{justify-content:space-between;color:#333;font-size:15px;padding:8px 12px}.rinst-url{background:#fff;border-radius:16px;padding:4px 12px;color:#555}
.rinst-hl{outline:3px solid var(--orange);outline-offset:3px;border-radius:8px;padding:0 4px;font-weight:700;animation:rinstPulse 1.2s ease-in-out infinite}
.rinst-hl-t{color:#0a84ff;font-weight:700;outline:3px solid var(--orange);outline-offset:3px;border-radius:6px;padding:0 4px}
.rinst-mock{display:flex;align-items:center;gap:10px;background:#f2f2f7;border-radius:12px;padding:10px 12px;font-size:.98rem;border:2px solid var(--orange)}
.rinst-mock-add{justify-content:space-between;border-color:transparent;font-size:.9rem}.rinst-mock-add span:first-child{color:#0a84ff}
.rinst-key{display:inline-block;min-width:26px;text-align:center;background:#f2f2f7;border:1px solid #d0d4cf;border-radius:7px;padding:0 6px;font-weight:800}
.rinst-copy{display:flex;gap:8px;margin:6px 0 8px}.rinst-copy .in{flex:1;min-width:0;font-size:.9rem}
.rinst-close{display:block;width:100%;margin-top:12px;appearance:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;font:inherit;font-weight:600;cursor:pointer}
.rinst-arrow{position:fixed;left:50%;bottom:calc(4px + env(safe-area-inset-bottom));transform:translateX(-50%);font-size:34px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5);animation:rinstBounce 1s ease-in-out infinite;z-index:81;pointer-events:none}
.rinst-arrow.up{top:4px;bottom:auto}
.rinst-toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;background:#1d3d1d;color:#fff;border-radius:12px;padding:12px 16px;max-width:92vw;box-shadow:0 6px 24px rgba(0,0,0,.2)}
@keyframes rinstBounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
@keyframes rinstPulse{0%,100%{outline-color:var(--orange)}50%{outline-color:rgba(247,148,29,.25)}}
@media print{.rinst,.rinst-modal{display:none!important}}

/* ETA is up, "I'm here" not tapped yet */
#tripcard.etaup{border:3px solid var(--red)!important;box-shadow:0 0 0 4px rgba(192,57,43,.15)}
.etaupbox{margin:10px 0 6px;padding:12px;border-radius:12px;background:#fdecea;border:1px solid #f3b8b1}
.etaupline{font-family:"Outfit",-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:700;font-size:1.25rem;line-height:1.25;color:#8e1f14}
.etaupsub{font-size:14px;color:#6b2a22;margin:4px 0 10px}
.etaupbtn{width:100%;font-size:1.5rem;padding:20px 12px;min-height:72px;border-radius:14px;animation:herepulse 1.6s ease-in-out infinite}
@keyframes herepulse{0%,100%{box-shadow:0 0 0 0 rgba(46,125,50,.55)}50%{box-shadow:0 0 0 10px rgba(46,125,50,0)}}
@media (prefers-reduced-motion:reduce){.etaupbtn{animation:none}}

/* "Okay, let's get to work": full-screen truck-on-site picture step after I'm here / Clock in to job */
.getwork{position:fixed;inset:0;z-index:45;background:linear-gradient(160deg,var(--green) 0%,var(--green-2) 62%,var(--green-3) 100%);color:#fff;display:flex;align-items:center;justify-content:center;padding:calc(20px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));overflow:auto}
.getwork .gw-in{width:100%;max-width:520px;text-align:center}
.getwork .gw-emoji{font-size:64px;line-height:1;margin-bottom:6px}
.getwork h1{color:#fff;font-size:2rem;margin:0 0 10px}
.getwork h1::after{content:"";display:block;width:56px;height:5px;background:var(--orange);border-radius:3px;margin:12px auto 0}
.getwork .gw-addr{font-family:"Outfit",sans-serif;font-size:1.5rem;font-weight:700;color:var(--orange);margin:6px 0 6px}
.getwork .gw-sub{color:rgba(255,255,255,.85);margin:0 0 20px;font-size:1rem}
.getwork .gw-big{background:var(--orange);color:#1a1205;font-size:1.25rem;min-height:84px;border-radius:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.getwork .gw-alt{margin-top:12px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}
.getwork .gw-note{color:rgba(255,255,255,.7);font-size:.85rem;margin:16px 0 0}
.getwork .gw-busy{display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,.12);border-radius:12px;padding:12px;margin:0 0 12px;font-weight:700}
.getwork label.busy{opacity:.5;pointer-events:none}
.trpicks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.trpicks .btn{padding:12px 6px;line-height:1.2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.trpicks .btn small{display:block;font-size:12px;font-weight:500}
#tripmap{position:relative;z-index:0}
.trafficline{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#fff4e5;border:1px solid #f7c98c;font-weight:700}

/* language switch (i18n.js) */
.langsw{display:flex;margin-left:10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;overflow:hidden;flex:none}
.langsw button{background:transparent;color:#fff;border:0;font:700 .78rem/1 system-ui,-apple-system,sans-serif;padding:7px 9px;min-width:34px;cursor:pointer}
.langsw button.on{background:var(--orange,#f7941d);color:#111}
.langbig{display:flex;gap:8px;margin:0 0 14px}
.langbig button{flex:1;padding:12px 8px;border-radius:12px;border:2px solid #d9d9d9;background:#fff;font:700 1rem system-ui,-apple-system,sans-serif;cursor:pointer;color:#222}
.langbig button.on{border-color:var(--orange,#f7941d);background:#fff4e5}
.greetline{color:#fff;font-weight:700;font-size:1.02rem;margin:0 0 6px;line-height:1.3}

/* dump trips (Go to dump / Where are we heading today?) */
.dumpbtn{background:var(--green);color:#fff}
.btn.bigopt{flex-direction:column;gap:2px;min-height:72px}
.btn.bigopt span{font-size:1.15rem}
.btn.bigopt small{font-weight:500;font-size:.85rem;opacity:.85}
.yardlist{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.yardlist .yard{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:12px 14px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;min-height:64px;font:inherit}
.yardlist .yard.near{border-color:var(--ok);background:#f2f9f2}
.yardlist .yard .yn{display:flex;flex-direction:column;gap:2px;min-width:0}
.yardlist .yard .yn b{font-size:1.15rem;color:var(--green)}
.yardlist .yard .yn small{color:var(--muted);font-size:.82rem}
.yardlist .yard .yd{font-weight:800;white-space:nowrap;color:var(--green)}
.yardlist .yard.busy{opacity:.6}
.dumpcard{border:2px solid var(--green)}
#dumpcard.etaup{border:3px solid var(--red)!important;box-shadow:0 0 0 4px rgba(192,57,43,.15)}
.dumpmode{margin:8px 0 0;padding:8px 10px;border-radius:10px;font-size:.95rem;line-height:1.35}
.dumpmode.stop{background:#fdecea;color:#7a1d12}
.dumpmode.run{background:#e8f5e9;color:#1b5e20}
.dumpmode .dclock{font-family:"Outfit",sans-serif;font-weight:800;font-size:1.1rem;margin-left:4px}
.okline{margin:10px 0 4px;font-weight:800;color:var(--ok)}
.headcard{border-top:5px solid var(--green)}
.headcard h2{margin-bottom:10px}
.getwork .tags{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;text-align:left}
.getwork .tagrow{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);cursor:pointer}
.getwork .tagrow input{width:26px;height:26px;flex:0 0 26px;accent-color:var(--orange)}
.getwork .tagrow span{display:flex;flex-direction:column}
.getwork .tagrow b{font-size:1.05rem}
.getwork .tagrow small{color:rgba(255,255,255,.75);font-size:.8rem}
.getwork .tagrow:has(input:checked){background:rgba(247,148,29,.25);border-color:var(--orange)}
.yardlist .yard .yn .pill{align-self:flex-start;margin-top:2px}

/* "I'm here": how many guys (Isreal Oct 22) */
.getwork .gw-guys{background:rgba(255,255,255,.12);border-radius:16px;padding:12px 10px 2px;margin:0 0 16px}
.getwork .gw-q{font-family:"Outfit",sans-serif;font-size:1.3rem;font-weight:800;color:#fff}
.getwork .gw-guys .stepper{margin:10px 0}
.getwork .gw-guys .stepper button{background:var(--orange)}
.getwork .gw-guys .stepper input{background:#fff;color:#0b1f3a;border-color:#fff}
.backcard{border:2px solid #f7941d;background:#fff8ef}
.btn.btn-wa{background:#25D366;color:#fff;border:0}
/* My papers (Isreal Oct 22) */
.btn.papersbtn{background:#f7941d;color:#fff;border:0;margin-right:8px;padding:6px 10px;font-size:.85rem;min-height:0}
.papers{position:fixed;inset:0;z-index:90;background:#f4f6f2;overflow:auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom))}
.papers-in{max-width:560px;margin:0 auto}
.papers-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.papers-top h2{margin:0}
.paper{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #dfe5dc;border-radius:14px;padding:14px;margin:0 0 10px;font:inherit;color:inherit;cursor:pointer}
.paper .pi{font-size:1.6rem}.paper .pt{flex:1;display:flex;flex-direction:column}.paper .pt b{font-size:1.12rem}
.paper small{color:#5b6b58;font-size:.9rem}.paper small.bad{color:#c62828;font-weight:700}.paper .pgo{font-size:1.6rem;color:#9aa69a}
.paperview{position:fixed;inset:0;z-index:95;background:#111;display:flex;flex-direction:column}
.paperview .pv-top{display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:#fff}
.paperview .pv-body{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;-webkit-overflow-scrolling:touch}
.paperview .pv-body img{width:100%;height:auto;display:block}
.paperview .pv-body iframe{width:100%;height:100%;border:0;background:#fff}
.btn.docsnav{background:#fff;color:#1d3d1d;border:2px solid #f7941d;margin:0 0 12px;font-weight:800}

/* Go to parking (Oct 22) */
.btn.parkbtn{background:#1565c0;color:#fff;border-color:#1565c0}
.btn.parkbtn:disabled{opacity:.45}
.parkcard{border:2px solid #1565c0}
#parkcard.etaup{border:3px solid var(--red)!important;box-shadow:0 0 0 4px rgba(192,57,43,.15)}
.parkcard .linkbtn{color:#555}
.btn.otherbtn{background:#5d4037;color:#fff;border-color:#5d4037}

/* pictures sending in the background (speed, Oct 22) */
.thumbs .t.up img{opacity:.75}
.thumbs .upst{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.62);color:#fff;font-size:.66rem;font-weight:700;padding:3px 4px;border-radius:0 0 10px 10px;display:flex;align-items:center;gap:3px;justify-content:center;white-space:nowrap;overflow:hidden}
.thumbs .upst.wait{background:rgba(183,28,28,.8)}
.thumbs .upst .spin{width:10px;height:10px;border-width:2px}
.gw-up img{width:54px;height:54px;object-fit:cover;border-radius:8px;flex:none}
.gw-up>span{display:flex;align-items:center;gap:6px;text-align:left}
/* Oct 22: the 'No signal / Saving' line at the bottom; a message shows above it */
body.obx-on .toast{bottom:calc(62px + env(safe-area-inset-bottom))}
#obxbar{max-width:616px;margin:0 auto}

/* driver papers alert (Oct 25) */
.docalert{display:block;width:100%;text-align:left;border:0;border-radius:14px;padding:12px 14px;margin:0 0 12px;color:#fff;font:inherit;font-size:16px;line-height:1.35;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.docalert.red{background:#c62828}.docalert.orange{background:#ef6c00}
.docalert .dal-h{font-weight:800;font-size:17px;margin-bottom:4px}.docalert .dal-line{font-weight:700;margin:3px 0}
.docalert .dal-tell{margin-top:6px;font-weight:600}.docalert .dal-x{margin-top:6px;font-size:12px;opacity:.85}

/* v54 first job of the confirmed schedule */
.fscard{border:3px solid #2e7d32;background:#f3fbf2}
.fslabel{font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#2e7d32;margin-bottom:4px}
.fsaddr{margin:0 0 6px;font-size:1.45rem;line-height:1.25}
.fsbig{margin-top:12px;min-height:64px;font-size:1.2rem}
.fscard .btn-ghost{margin-top:10px}
.fswarn{color:#9a3412;font-weight:700;margin-top:6px}
.fsprev{border:2px dashed #2e7d32;background:#f7fcf6}

/* v54.3 ⛽ Gasolinera */
.gasbtn{margin-top:2px}
.gasst{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #e3e7e2}
.gasst.first{border-top:0;background:#f1f8ee;border-radius:12px;padding:12px;margin-bottom:4px}
.gasinfo{flex:1;min-width:0}.gasinfo small{display:block;color:#555;font-size:13px;margin-top:2px}
.gasmi{display:inline-block;font-weight:700;font-size:13px;color:#1d3d1d;margin-top:2px}
.gasgo{width:auto;flex:0 0 auto;padding-left:16px;padding-right:16px}
.gasmore{font-size:12px;margin:8px 0 0;text-transform:uppercase;letter-spacing:.04em}
.gaswarn{background:#fff4e5;border:2px solid #f7941d;border-radius:12px;padding:12px 14px;font-weight:700;color:#7a3e00;margin-bottom:12px;line-height:1.35}

/* v54.6 gas receipt card (driver) */
.card.gasrc{border:2px solid #f7941d;background:#fff8ef}.card.gasrc.due{border-color:#d9480f;background:#fff1e6}.card.gasrc .btn-green{width:100%}

/* 571.12 leave picture: camera OR gallery, two equal big buttons */
.dpgch{display:flex;flex-direction:column;gap:10px}
.dpgch .dpgbtn{min-height:64px;font-size:1.15rem;display:flex;align-items:center;justify-content:center;border-radius:16px}
/* 571.12 picture kinds: arrival = blue "📍 truck on site", leaving = orange "🗑️ garbage in the truck" */
.pkind{display:table;font-weight:800;border-radius:999px;padding:4px 12px;font-size:.92rem}
.pkind.arr{background:#e0edff;color:#1747a6}
.pkind.dmp{background:#fff1dc;color:#9a4a00}
.dpgsheet{border-top:6px solid #f7941d}
.getwork .gw-kind{display:inline-block;font-weight:800;border-radius:999px;padding:6px 14px;margin:0 0 8px;font-size:1.05rem}
.getwork .gw-kind.arr{background:#1a56db;color:#fff}
.getwork .gw-what{color:#fff;font-weight:600;margin:0 0 12px}
.getwork .gw-arrbtn{background:#1a56db;color:#fff}
