@import "https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700&family=Public+Sans:wght@400;500;600&display=swap";:root{--ground:#f3f4ef;--surface:#fff;--sunk:#eceee6;--ink:#262923;--muted:#686d62;--line:#d9dcd1;--accent:#376116;--accent-ink:#fff;--accent-soft:#e9f1dc;--warn:#8a5a12;--warn-soft:#f6e8cf;--bad:#a23a2e;--bad-soft:#f5dcd8;--ok:#2f7a4a;--ok-soft:#dcefe2;--info:#3d5a80;--info-soft:#dde6f1;--display:"Archivo", "Helvetica Neue", Arial, sans-serif;--body:"Public Sans", "Segoe UI", Roboto, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#141612;--surface:#1c1f19;--sunk:#232720;--ink:#e5e8df;--muted:#9ca295;--line:#33382e;--accent:#8db649;--accent-ink:#1a1d14;--accent-soft:#263319;--warn:#e2b56b;--warn-soft:#3a2f1c;--bad:#ec8a7d;--bad-soft:#3d2320;--ok:#7fc79a;--ok-soft:#1f3328;--info:#93b3dd;--info-soft:#1f2a3a}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#141612;--surface:#1c1f19;--sunk:#232720;--ink:#e5e8df;--muted:#9ca295;--line:#33382e;--accent:#8db649;--accent-ink:#1a1d14;--accent-soft:#263319;--warn:#e2b56b;--warn-soft:#3a2f1c;--bad:#ec8a7d;--bad-soft:#3d2320;--ok:#7fc79a;--ok-soft:#1f3328;--info:#93b3dd;--info-soft:#1f2a3a}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font:15px/1.5 var(--body);margin:0;padding:0 16px 48px}h1,h2{font-family:var(--display);text-wrap:balance;margin:0}h1{font-size:24px}h2{font-size:17px}a{color:var(--accent)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.err{color:var(--bad);margin:6px 0 0;font-size:13.5px}.hint{color:var(--muted);margin:4px 0 0;font-size:13px}.loading{text-align:center;color:var(--muted);margin-top:20vh}.wrap{max-width:1180px;margin:0 auto}.brand-logo{width:auto;height:36px;display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo{box-sizing:content-box;background:#fff;border-radius:6px;padding:4px 8px}}:root[data-theme=dark] .brand-logo{box-sizing:content-box;background:#fff;border-radius:6px;padding:4px 8px}header.top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:24px;padding:20px 0 16px;display:flex}.brand{margin-right:auto}nav.tabs{background:var(--sunk);border-radius:10px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}nav.tabs a{color:var(--muted);font:600 14px var(--body);border-radius:7px;padding:8px 11px;text-decoration:none}nav.tabs a.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f}.who{color:var(--muted);align-items:center;gap:8px;font-size:13.5px;display:flex}button,.btn{font:600 14px var(--body);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:9px 14px;line-height:1.3;text-decoration:none;display:inline-block}button:hover,.btn:hover{border-color:var(--muted)}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.primary:hover{filter:brightness(1.07)}.ghost{color:var(--muted);background:0 0;border-color:#0000}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:600;display:block}input,select,textarea{width:100%;font:15px var(--body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:8px 10px}input[aria-invalid]{border-color:var(--bad)}textarea{resize:vertical;min-height:72px}label.check{color:var(--ink);letter-spacing:0;text-transform:none;cursor:pointer;align-items:center;gap:8px;margin:0;font-size:14.5px;font-weight:500;display:flex}label.check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0}fieldset{border:0;min-width:0;margin:0;padding:0}.login{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;max-width:360px;margin:12vh auto 0;padding:24px;display:flex}.login h1{font-size:20px}.login .brand-logo{align-self:flex-start;height:40px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.page-head p{color:var(--muted);max-width:70ch;margin:6px 0 0}.back{margin-bottom:6px;font-size:13.5px;text-decoration:none;display:inline-block}section.panel,form.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.grid .wide{grid-column:1/-1}.actions{gap:10px;margin-top:20px;display:flex}.ticks{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 16px;padding:12px;display:grid}.ticks .muted{white-space:nowrap;margin-left:auto;font-size:12.5px}.flush{margin:0}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:18px;text-decoration:none;display:block}.card:hover{border-color:var(--accent)}.card p{color:var(--muted);margin:6px 0 0;font-size:14px}.table-wrap{margin:-4px;overflow-x:auto}table.list{border-collapse:collapse;width:100%;min-width:560px}table.list th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:4px 8px 8px;font-size:11px;font-weight:600}table.list td{border-bottom:1px solid var(--line);padding:10px 8px}table.list tbody tr{cursor:pointer}table.list tbody tr:hover{background:var(--sunk)}table.list tr.off td{color:var(--muted)}.badge{letter-spacing:.05em;text-transform:uppercase;background:var(--sunk);color:var(--muted);border-radius:4px;margin-left:8px;padding:1px 6px;font-size:10.5px;font-weight:600;display:inline-block}.badge.warn{background:var(--warn-soft);color:var(--warn);margin-left:0}.toggle{margin-top:14px}@media (width<=640px){.who span{display:none}}.panel.child{margin-top:20px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}table.list tr.group td{cursor:default;background:var(--sunk);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:6px 8px;font-size:11.5px;font-weight:600}table.list tbody tr.group:hover{background:var(--sunk)}table.list th.r,table.list td.r{text-align:right}.money{align-items:center;gap:6px;display:flex}.money span{color:var(--muted)}select:disabled{opacity:.6}.list-tools{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.list-tools input[type=search]{flex:260px;width:auto}.list-tools select{flex:0 200px;width:auto}.stats{color:var(--muted);flex-wrap:wrap;gap:6px 22px;margin-bottom:14px;font-size:13.5px;display:flex}.stats b{color:var(--ink)}.sub{color:var(--muted);font-size:12.5px;display:block}.pill{background:var(--sunk);color:var(--muted);white-space:nowrap;border-radius:99px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.pill.Sent{background:var(--info-soft);color:var(--info)}.pill.Accepted{background:var(--ok-soft);color:var(--ok)}.pill.Declined{background:var(--bad-soft);color:var(--bad)}.editor{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}@media (width<=900px){.editor{grid-template-columns:minmax(0,1fr)}}.editor section.panel+section.panel{margin-top:20px}.editor .panel-head p{color:var(--muted);margin:0;font-size:13px}.lines-wrap{margin-inline:-4px;overflow-x:auto}table.lines{border-collapse:collapse;width:100%;min-width:620px}table.lines th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:0 6px 8px;font-size:11px;font-weight:600}table.lines td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 6px}table.lines td:first-child{min-width:300px}table.lines th.r,table.lines td.r{text-align:right}table.lines input{padding:6px 8px}table.lines input.qty{text-align:right;width:84px}table.lines input.rate{text-align:right;width:100px}.unit{color:var(--muted);white-space:nowrap;font-size:12px}.src{white-space:nowrap;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;margin-top:4px;padding:1px 6px;font-size:10.5px;font-weight:600;display:inline-block}.src.rate{background:var(--accent-soft);color:var(--accent)}.src.custom{background:var(--info-soft);color:var(--info)}label.var-check{color:var(--muted);letter-spacing:0;text-transform:none;cursor:pointer;vertical-align:middle;align-items:center;gap:5px;margin:4px 0 0 8px;font-size:12px;font-weight:600;display:inline-flex}label.var-check input{width:15px;height:15px;accent-color:var(--accent);margin:0}.var-total{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.empty-lines{color:var(--muted);text-align:center;padding:20px 6px}.add-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.add-row select{flex:280px;width:auto}.add-row+.add-row{margin-top:10px}aside.summary{top:calc(env(safe-area-inset-top,0px) + 16px);background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;padding:20px;display:flex;position:sticky}.summary .ref{color:var(--muted);font-size:13px}.summary .ref b{color:var(--ink);font-weight:600}.total-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.total{font-family:var(--display);font-size:34px;font-weight:700;line-height:1.1}.breakdown{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding-top:12px;font-size:13px;display:flex}.breakdown>div{justify-content:space-between;gap:12px;display:flex}.breakdown>div span:first-child{color:var(--muted)}.breakdown .var-head{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding-top:6px;font-size:11.5px;font-weight:600}.summary .actions{flex-direction:column;gap:8px;margin:0;display:flex}.summary .row{gap:8px;display:flex}.summary .row>button{flex:1}.dirty{color:var(--warn);font-size:12px;font-weight:600}.danger{color:var(--bad)}.confirm{background:var(--bad-soft);border-radius:8px;flex-direction:column;gap:8px;padding:10px;font-size:13.5px;display:flex}.note{color:var(--muted);margin:0;font-size:12px}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);background:var(--ink);color:var(--ground);z-index:10;border-radius:8px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:500;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0003}.panel.job-group+.panel.job-group{margin-top:20px}.pill.job-on_hold{background:var(--warn-soft);color:var(--warn)}.pill.job-done{background:var(--ok-soft);color:var(--ok)}.pill.job-confirmed{background:var(--info-soft);color:var(--info)}.sub.late{color:var(--bad);font-weight:600}.status-pick{flex-direction:column;gap:8px;margin-top:8px;display:flex}.hold{margin-top:10px}.confirm-box{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:14px;display:flex}.confirm-box .hint{margin:0}.summary .actions .btn{text-align:center}.plan-page .wrap,.plan-page{max-width:none}.week-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-total{color:var(--muted);margin-left:8px;font-size:14px}.week-total b{color:var(--ink);font-size:18px}.plan-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px;display:grid}@media (width<=1000px){.plan-layout{grid-template-columns:minmax(0,1fr)}.to-plan{order:-1}}.plan-grid-wrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;overflow-x:auto}table.plan-grid{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%;min-width:900px}table.plan-grid th{text-align:left;color:var(--muted);vertical-align:top;padding:4px 6px;font-size:12px;font-weight:600}table.plan-grid thead th{color:var(--ink);font-size:13px}table.plan-grid .day-col{width:130px}table.plan-grid td{vertical-align:top;padding:0}table.plan-grid tr.today .day-col{color:var(--accent)}.day-btn{font:600 13.5px var(--body);color:inherit;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.day-note{color:var(--warn);margin-top:4px;font-size:12px;font-weight:500}.day-off{color:var(--bad);margin-top:4px;font-size:11.5px}.run{border:1px dashed var(--line);background:var(--surface);border-radius:8px;flex-direction:column;gap:4px;height:100%;min-height:96px;padding:6px;display:flex}.run.crew-1{background:#fff7d1;border-style:solid;border-color:#e9d77a}.run.crew-2{background:#ffe6cc;border-style:solid;border-color:#efb37a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .run.crew-1{background:#3a3415;border-color:#6b5f22}:root:not([data-theme=light]) .run.crew-2{background:#3d2a17;border-color:#6e4a26}}:root[data-theme=dark] .run.crew-1{background:#3a3415;border-color:#6b5f22}:root[data-theme=dark] .run.crew-2{background:#3d2a17;border-color:#6e4a26}.run-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.run-crew{text-align:left;font:600 12.5px var(--body);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0}.run-notes{color:var(--warn);white-space:pre-wrap;font-size:12px;font-weight:500}ol.stops{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}ol.stops li{background:var(--surface);border:1px solid var(--line);cursor:grab;border-radius:6px;justify-content:space-between;gap:4px;padding:4px 6px;font-size:12.5px;display:flex}ol.stops li.done{opacity:.55}ol.stops li.done .stop-job{text-decoration:line-through}.stop-main{flex-direction:column;min-width:0;display:flex}.stop-job{color:var(--ink);overflow-wrap:anywhere;text-decoration:none}.stop-note{color:var(--info);font-size:11.5px;font-weight:600}.stop-tools{flex-flow:column wrap;align-items:flex-end;max-height:64px;display:flex}.stop-tools button{min-width:0;padding:0 4px;font-size:12px;line-height:1.4}.put-here{color:var(--accent);border-style:dashed;padding:4px 6px;font-size:12px}.run-value{text-align:right;margin-top:auto;font-size:12px;font-weight:600}td.subs>div+div{margin-top:4px}.small{font-size:12px}.to-plan{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;max-height:calc(100vh - 32px);padding:14px;display:flex;position:sticky;top:16px;overflow:auto}.to-plan ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.to-plan li{border:1px solid var(--line);cursor:grab;border-radius:8px;padding:8px;font-size:13px}.to-plan li:hover{border-color:var(--muted)}.to-plan li.picked{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.dialog-backdrop{z-index:20;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;width:min(520px,100%);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow:auto}.dialog .actions{margin-top:4px}.dialog .ticks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.wrap:has(.plan-page){max-width:none}.driver{max-width:760px;margin:0 auto}.driver .panel+.panel{margin-top:16px}.run-card.is-today{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.offline{color:var(--warn);font-weight:600}.run-notes.big{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:15px}.driver .day-note{margin:0 0 10px;font-size:14px}ol.driver-stops{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}ol.driver-stops li{border:1px solid var(--line);border-radius:10px;padding:12px;font-size:15px}ol.driver-stops li p{margin:6px 0 0}ol.driver-stops li.done{opacity:.6}.stop-head{align-items:flex-start;gap:10px;display:flex}.stop-n{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.access{background:var(--sunk);border-radius:6px;padding:6px 8px}.collect .stream{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:99px;padding:8px 12px;font-size:14px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}ul.note-plan{flex-direction:column;gap:4px;margin:0 0 10px;padding-left:18px;display:flex}details.panel summary{cursor:pointer;font-size:15px}details.panel[open] summary{margin-bottom:12px}.driver details.panel{margin-top:16px}.sig{margin:8px 0 14px}.sig-head{justify-content:space-between;align-items:center;display:flex}.sig canvas{aspect-ratio:600/160;border:1px dashed var(--muted);touch-action:none;background:#fff;border-radius:8px;width:100%;height:auto}.panel.waiting{background:var(--info-soft);border-color:var(--info)}.panel.problem{background:var(--bad-soft);border-color:var(--bad)}.after-job{margin-top:20px}.collection+.collection{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}button.linkish{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.photo-buttons{flex-wrap:wrap;gap:10px;display:flex}.photo-buttons .btn{cursor:pointer}.thumbs{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:12px;display:grid}.thumbs figure{border:1px solid var(--line);background:var(--sunk);border-radius:8px;margin:0;overflow:hidden}.thumbs img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.thumbs figcaption{text-transform:capitalize;justify-content:space-between;align-items:center;padding:2px 6px;font-size:12px;display:flex}.row-tools{flex-wrap:wrap;gap:8px;display:flex}.warning-panel{background:var(--warn-soft);border-color:var(--warn);margin-bottom:16px}ul.drop-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}ul.drop-list li{border:1px solid var(--line);border-radius:10px;padding:10px}ul.drop-list li.blocked{opacity:.6}ul.drop-list label.check{align-items:flex-start}.drop-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}table.list tr.overdue td{background:var(--warn-soft)}table.vqr{min-width:1000px;font-size:13.5px}.figures{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px;display:grid}.figure{border:1px solid var(--line);border-radius:10px;padding:14px}.bar{background:var(--sunk);border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.bar span{background:var(--accent);height:100%;display:block}.grid.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.month-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:12px;display:grid}.import-box{border:1px dashed var(--line);border-radius:10px;flex-direction:column;gap:12px;margin:12px 0;padding:14px;display:flex}table.preview td{padding:4px 6px;font-size:12.5px}.pill.sb-matched{background:var(--ok-soft);color:var(--ok)}.pill.sb-difference{background:var(--warn-soft);color:var(--warn)}.pill.sb-unmatched{background:var(--bad-soft);color:var(--bad)}.line-note{margin-top:4px;padding:4px 6px;font-size:13px}.suggestion{background:var(--sunk);border-radius:8px;padding:10px;font-size:14px}.btn.disabled{opacity:.5;pointer-events:none}.late{color:var(--bad)}.update-bar{background:var(--info-soft);color:var(--info);border:1px solid var(--info);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:16px;padding:10px 14px;font-size:14px;display:flex}
