:root{--bg:#f4f6f8;--panel:#fff;--ink:#18212b;--muted:#5d6b7a;--line:#dfe5ea;--line2:#eef1f4;--accent:#1769e0;--accent-ink:#fff;--danger:#c62828;--warn:#b26a00;--ok:#2e7d32;--planned:#cdeff0;--planned-bd:#5ab9bd;--dispatched:#e2d9fb;--dispatched-bd:#8a72d6;--progress:#bfe8c4;--progress-bd:#3f9f4f;--done:#dcdfe3;--done-bd:#9aa3ad;--cancelled:#eee;--overdue:#ffd4dc;--overdue-bd:#e0405f;--tail:repeating-linear-gradient(45deg, #9aa3ad33 0 4px, transparent 4px 8px);--now:#1769e0;--lock:#f5e6c8;--row-h:28px;--shadow:0 6px 24px #0a141e38;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f151b;--panel:#172029;--ink:#e8eef4;--muted:#9aa8b6;--line:#2a3744;--line2:#1f2a35;--accent:#5b9bff;--accent-ink:#06121f;--danger:#ff7a7a;--warn:#f0b04a;--ok:#6fcf7f;--planned:#1d4a4d;--planned-bd:#4fb0b4;--dispatched:#3a2f66;--dispatched-bd:#9a85e6;--progress:#1f4a29;--progress-bd:#55b568;--done:#2c333b;--done-bd:#7c8794;--cancelled:#262c33;--overdue:#5a1d2a;--overdue-bd:#ff6b86;--lock:#4a3d20;--now:#5b9bff;--shadow:0 6px 24px #0009}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font:13px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.muted{color:var(--muted)}.small{font-size:12px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.warn{color:var(--warn);font-style:normal}.err{color:var(--danger);margin:2px 0 0;font-size:12px}.app{background:var(--bg);flex-direction:column;height:100dvh;min-height:0;display:flex}.app.expanded .demo,.app.expanded .waitbar{display:none}.app.expanded{z-index:30;position:fixed;inset:0}.demo{color:#5c4400;background:#fff3cd;border-bottom:1px solid #e6cf85;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 10px;font-size:12px;display:flex}@media (prefers-color-scheme:dark){.demo{color:#ffdf8a;background:#3b3010;border-color:#6b5920}}.demo .btn{margin-left:auto}.btn{border:1px solid var(--line);background:var(--panel);border-radius:6px;min-height:30px;padding:5px 10px}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.sm{min-height:26px;padding:2px 8px;font-size:12px}.btn.icon{width:30px;padding:0;font-size:18px;line-height:1}.btn:disabled{opacity:.55;cursor:not-allowed}.x{color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:16px}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 10px;display:flex}.toolbar select,.toolbar input[type=date],.dates input,.filters select,.filters input{border:1px solid var(--line);background:var(--panel);border-radius:6px;min-height:30px;padding:4px 6px}.seg{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{border:0;border-right:1px solid var(--line);background:0 0;min-height:30px;padding:5px 12px}.seg button:last-child{border-right:0}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.nav{align-items:center;gap:4px;display:inline-flex}.ttl{text-align:center;min-width:150px}.waitbar{background:var(--panel);border-bottom:1px solid var(--line)}.waithead{text-align:left;background:0 0;border:0;width:100%;padding:5px 10px}.waitlist{max-height:180px;margin:0;padding:0 10px 8px;list-style:none;overflow:auto}.waitlist li{border-top:1px solid var(--line2);flex-wrap:wrap;align-items:center;gap:6px;padding:3px 0;display:flex}.waitlist li span{flex:320px}.main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.view{flex-direction:column;flex:1;min-height:0;display:flex}.view[hidden]{display:none}.swap{flex:1;min-height:0;animation:.2s ease-out fade;display:flex}@keyframes fade{0%{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){.swap{animation:none}*{scroll-behavior:auto!important;transition:none!important}}.grid-wrap{background:var(--panel);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;position:relative;overflow:auto}.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content}.grid col.c-veh{width:96px}.grid col.c-cap{width:54px}.grid col.c-drv{width:82px}.grid col.c-tot{width:38px}.grid col.c-ds{width:60px}.grid th,.grid td{height:var(--row-h);border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);white-space:nowrap;padding:0 4px;font-size:12px;overflow:hidden}.grid thead th{z-index:3;background:var(--panel);border-bottom:1px solid var(--line);height:38px;position:sticky;top:0}.grid .s{background:var(--panel)}.grid .s-veh{z-index:4;text-align:left;border-right:1px solid var(--line);font-weight:600;position:sticky;left:0}.grid thead .s-veh{z-index:6}.grid .s-cap,.grid .s-drv,.grid .s-tot,.grid .s-ds{text-align:center}.grid .s-drv{text-align:left}@media (width>=1100px){.grid .s-cap{z-index:4;position:sticky;left:96px}.grid .s-drv{z-index:4;position:sticky;left:150px}.grid .s-kh{z-index:4;position:sticky;left:232px}.grid .s-ht{z-index:4;position:sticky;left:270px}.grid .s-ds{z-index:4;border-right:1px solid var(--line);position:sticky;left:308px}.grid thead .s-cap,.grid thead .s-drv,.grid thead .s-tot,.grid thead .s-ds{z-index:6}.grid.no-totals .s-drv{border-right:1px solid var(--line)}}.grid tbody tr.sel>.s{background:var(--lock)}.vcode{margin-right:4px}.tag.ext{color:#6b3d00;background:#ffe0b2;border-radius:3px;padding:0 3px;font-size:9px;font-weight:700}.nodrv{color:var(--danger);font-size:11px}.dayflag{color:var(--accent);font-style:normal}.h{text-align:center;padding:0}.hbtn{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;line-height:1.1;display:flex}.hbtn small{color:var(--muted);font-size:10px}.hbtn:hover{background:var(--line2)}.h.cur{box-shadow:inset 0 -3px 0 var(--now)}.hh{justify-content:center;align-items:center;height:100%;font-weight:600;display:flex;position:relative}.grid thead th.cur{z-index:4;overflow:visible}.nowlbl{color:var(--accent-ink);background:var(--now);z-index:5;white-space:nowrap;border-radius:3px;padding:0 4px;font-size:10px;font-style:normal;font-weight:600;position:absolute;top:1px;left:50%;transform:translate(-50%)}.cell{text-align:center;padding:0!important}.cbtn{width:100%;height:100%;min-height:var(--row-h);background:0 0;border:0;padding:0 2px;font-weight:600}.cbtn.has{background:color-mix(in srgb, var(--planned) 70%, transparent)}.cbtn.lock{box-shadow:inset 0 -3px #d9a441}.cbtn:hover{outline:2px solid var(--accent);outline-offset:-2px}.lk{margin-right:2px;font-size:10px}.lane{position:relative;padding:0!important}.lane-in{height:var(--row-h);background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(var(--hw) - 1px), var(--line2) calc(var(--hw) - 1px), var(--line2) var(--hw));touch-action:pan-x pan-y;cursor:crosshair;position:relative}.blk{background:var(--planned);border:1px solid;border-color:var(--planned-bd);color:var(--ink);z-index:2;white-space:nowrap;border-radius:4px;align-items:center;gap:3px;padding:0 3px;font-size:11px;line-height:1;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.blk .bl{text-overflow:ellipsis;font-weight:600;overflow:hidden}.blk .od{color:var(--overdue-bd);font-weight:700}.blk .arr{opacity:.7;font-size:8px}.blk.picked{outline:2px solid var(--accent);outline-offset:1px;z-index:3}.blk.cont-l{border-top-left-radius:0;border-bottom-left-radius:0}.blk.cont-r{border-top-right-radius:0;border-bottom-right-radius:0}.st-planned{background:var(--planned);border-color:var(--planned-bd)}.st-dispatched,.st-accepted{background:var(--dispatched);border-color:var(--dispatched-bd)}.st-in_progress{background:var(--progress);border-color:var(--progress-bd)}.st-completed,.st-closed{background:var(--done);border-color:var(--done-bd)}.st-cancelled,.st-waiting_assignment,.st-draft{background:var(--cancelled)}.blk.ty-repair,.blk.ty-maintenance,.blk.ty-inspection{background-image:repeating-linear-gradient(135deg,#00000014 0 5px,#0000 5px 10px);border-style:dashed}.blk.ty-lease_out{background-image:repeating-linear-gradient(90deg,#00000010 0 3px,#0000 3px 6px);border-width:2px}.blk.ty-reposition{border-style:dotted;border-width:2px}.blk.overdue{background:var(--overdue);border-color:var(--overdue-bd);border-width:2px}.tail{background:var(--tail);border-top:1px dashed var(--done-bd);border-bottom:1px dashed var(--done-bd);z-index:1;position:absolute;top:9px;bottom:9px}.nowline{background:var(--now);z-index:4;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.dragsel{border:1px dashed var(--accent);z-index:1;pointer-events:none;background:#1769e033;position:absolute;top:2px;bottom:2px}.mkbtn{border:1px dashed var(--line);background:var(--panel);z-index:1;opacity:.35;border-radius:4px;width:22px;padding:0;font-size:13px;position:absolute;top:2px;bottom:2px;right:2px}.mkbtn:hover,.mkbtn:focus-visible{opacity:1}.empty{text-align:center;color:var(--muted);padding:24px}.legend{color:var(--muted);background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:4px 10px;font-size:11px;display:flex}.sw{vertical-align:-1px;border:1px solid;border-radius:2px;width:12px;height:10px;margin-right:4px;display:inline-block}.sw.overdue{background:var(--overdue);border-color:var(--overdue-bd)}.sw.tail{background:var(--tail);border-color:var(--done-bd);position:static}.sw.nowsw{background:var(--now);border-color:var(--now);width:3px}.panel{background:var(--panel);border-left:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow);z-index:40;outline:none;padding:12px 14px 24px;position:fixed;top:0;bottom:0;right:0;overflow:auto}.panel.item{z-index:45}.panel header,.modal header{justify-content:space-between;align-items:start;gap:8px;display:flex}.panel h2,.modal h2{margin:0;font-size:16px}.panel h3{margin:14px 0 6px;font-size:13px}.panel p{margin:2px 0}.stats{grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0;display:grid}.stat{border:1px solid var(--line);border-radius:8px;padding:6px 8px}.stat small{color:var(--muted);display:block}.stat b{font-size:18px}.stat em{color:var(--warn);font-size:11px;font-style:normal;display:block}.kv{grid-template-columns:150px 1fr;gap:3px 10px;margin:8px 0;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.actions{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.ilist{margin:0;padding:0;list-style:none}.ilist li{border-top:1px solid var(--line2)}.ilist button{text-align:left;background:0 0;border:0;width:100%;min-height:44px;padding:6px 2px;display:block}.ilist button:hover{background:var(--line2)}.ilist .sub{color:var(--muted);font-size:12px;display:block}.badge{border:1px solid;border-radius:10px;margin-right:4px;padding:0 7px;font-size:11px;font-weight:600;display:inline-block}.alert{border:1px solid var(--line);background:var(--line2);border-radius:6px;margin:8px 0;padding:6px 8px}.alert.od{background:var(--overdue);border-color:var(--overdue-bd)}.alert.lock{background:var(--lock);border-color:#d9a441}.alert.err{background:color-mix(in srgb, var(--danger) 12%, var(--panel));border-color:var(--danger)}.alert ul{margin:4px 0 4px 16px;padding:0}.confirm{border:1px solid var(--danger);border-radius:6px;padding:8px}.audit{margin:0;padding-left:16px;font-size:12px}.chip{background:var(--line2);border-radius:12px;align-items:center;gap:2px;margin-left:8px;padding:0 4px 0 8px;display:inline-flex}.chip button{background:0 0;border:0}.detail{flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px 10px;display:flex;overflow:hidden}.scopebar{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.dates{gap:8px;display:flex}.dates label{align-items:center;gap:4px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chips{flex-wrap:wrap;gap:4px;display:flex}.chipbtn{border:1px solid var(--line);background:var(--panel);border-radius:14px;min-height:28px;padding:2px 9px}.chipbtn.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.sumbar{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:4px 16px;padding:4px 8px;display:flex}.tablewrap{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex:1;overflow:auto}.dt{border-collapse:collapse;width:100%;min-width:1180px}.dt th{background:var(--panel);text-align:left;border-bottom:1px solid var(--line);z-index:1;padding:5px 6px;position:sticky;top:0}.dt td{border-bottom:1px solid var(--line2);vertical-align:top;padding:4px 6px}.dt tr.sel td{background:var(--lock)}.dt .rowact{white-space:nowrap}.link{color:var(--accent);background:0 0;border:0;min-height:24px;padding:0;font-weight:600;text-decoration:underline}.pager{justify-content:center;align-items:center;gap:8px;display:flex}.modal-back{z-index:60;background:#0a141e80;justify-content:center;align-items:center;padding:10px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);width:min(760px,100%);max-height:94dvh;box-shadow:var(--shadow);border-radius:10px;outline:none;flex-direction:column;display:flex;position:relative}.modal header{border-bottom:1px solid var(--line);padding:12px 16px}.modal .body{flex:1;padding:8px 16px 12px;overflow:auto}.modal footer{border-top:1px solid var(--line);background:var(--panel);border-radius:0 0 10px 10px;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.modal fieldset{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.modal fieldset.sub{border:1px solid var(--line);border-radius:8px;margin-top:4px;padding:8px}.modal legend{padding:0 4px;font-weight:600}.modal label,.field{flex-direction:column;gap:3px;display:flex}.lbl{font-weight:500}.modal label.chk{flex-direction:row;align-items:center;gap:6px}.modal input:not([type=checkbox]),.modal select,.modal textarea{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:100%;min-height:34px;padding:5px 8px}.modal [aria-invalid=true]{border-color:var(--danger)}.row{align-items:stretch;gap:6px;display:flex}.row>:first-child{flex:1;min-width:0}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid3{grid-template-columns:1.3fr 1fr 1fr;gap:8px;display:grid}.lockmsg{color:#7a5200}@media (prefers-color-scheme:dark){.lockmsg{color:#f0c36a}}.price{margin:0}.combo{flex:1;position:relative}.combo-list{z-index:20;background:var(--panel);border:1px solid var(--line);max-height:220px;box-shadow:var(--shadow);border-radius:6px;margin:2px 0 0;padding:2px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.combo-list li{cursor:pointer;border-radius:4px;padding:6px 8px}.combo-list li.hi{background:var(--accent);color:var(--accent-ink)}.combo-list li.dis{opacity:.5}.mini{z-index:30;background:var(--panel);border:1px solid var(--accent);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:8px;max-height:80%;padding:12px;display:flex;position:absolute;top:56px;left:12px;right:12px;overflow:auto}.toast{color:#e5f7ea;z-index:80;max-width:min(640px,94vw);box-shadow:var(--shadow);background:#1d3b2a;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.toast.warn{color:#fff1c2;background:#5b4300}.toast.err{color:#ffe0e0;background:#6b1b1b}.toast .x{color:inherit}@media (pointer:coarse){.btn,.seg button{min-height:40px}}@media (pointer:coarse) and (width<=900px){:root{--row-h:44px}}.loginwrap,.loading{flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100dvh;padding:16px;display:flex}.login{background:var(--panel);border:1px solid var(--line);width:min(380px,100%);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:10px;padding:18px;display:flex}.login h1{margin:0;font-size:20px}.login label{flex-direction:column;gap:3px;display:flex}.login input{border:1px solid var(--line);background:var(--panel);border-radius:6px;min-height:36px;padding:7px 8px}.who{margin-left:auto;font-weight:600}.who+.btn{margin-left:8px!important}.modal.narrow{width:min(520px,100%)}.grid4{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.beforeafter{grid-template-columns:1fr 1fr;gap:8px;display:grid}.beforeafter>div{border:1px solid var(--line);border-radius:6px;padding:6px 8px}.cnt{background:var(--danger);color:#fff;border-radius:9px;margin-left:5px;padding:0 6px;font-size:11px}.rolesel{align-items:center;gap:4px;display:inline-flex}.rolesel select{color:inherit;background:0 0;border:1px solid #c7ad5a;border-radius:4px}.okc{color:var(--progress-bd);font-weight:600}.alert.ok{background:color-mix(in srgb, var(--progress-bd) 16%, var(--panel));border-color:var(--progress-bd)}.dt tr.bad td{background:color-mix(in srgb, var(--danger) 8%, var(--panel))}.tablewrap.short{flex:none;max-height:46vh}.exc p{margin:2px 0}.actions.copy{align-items:center;margin-top:0}.more{display:contents}.only-mobile{display:none}.vcap{color:var(--muted);font-weight:400;display:none}@media (width<=760px){.only-mobile{align-items:center;display:inline-flex}.hide-mobile{display:none!important}.more{display:none}.more.open{flex-wrap:wrap;gap:6px;width:100%;display:flex}.grid col.c-cap,.grid col.c-drv,.grid col.c-tot,.grid col.c-ds,.grid .s-cap,.grid .s-drv,.grid .s-tot,.grid .s-ds{display:none}.grid col.c-veh{width:92px}.grid .s-veh{white-space:normal;line-height:1.1}.vcap{font-size:11px;display:block}.demo{padding:3px 8px;font-size:11px}.demo .btn{display:none}.waitlist li span{flex-basis:100%}.panel{border-left:0;border-top:1px solid var(--line);border-radius:12px 12px 0 0;width:100%;height:86dvh;top:auto}.grid-wrap{font-size:12px}.grid1{display:block}.grid2,.grid3,.kv{grid-template-columns:1fr}.kv dt{margin-top:4px}.grid4,.beforeafter{grid-template-columns:1fr 1fr}.modal-back{align-items:flex-end;padding:0}.modal{border-radius:12px 12px 0 0;max-height:96dvh}.toolbar{gap:6px}.ttl{flex:1;min-width:0}.demo .btn{margin-left:0}}.stale{border-radius:0;margin:0}.driverapp{background:var(--bg);min-height:100dvh}.driverapp main{max-width:640px;margin:0 auto;padding:12px 14px 40px}.driverapp h1{margin:4px 0 8px;font-size:20px}.driverapp h2{margin:18px 0 6px;font-size:15px}.cnt0{background:var(--line2);border-radius:10px;padding:0 8px;font-size:12px}.dlist{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dcard{border:1px solid var(--line);background:var(--panel);border-left-width:6px;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.dcard.st-dispatched{border-left-color:var(--dispatched-bd)}.dcard.st-accepted{border-left-color:var(--planned-bd)}.dcard.st-in_progress{border-left-color:var(--progress-bd)}.dcard.st-completed,.dcard.st-closed{border-left-color:var(--done-bd)}.dtop{font-size:15px}.dwhen{font-weight:600}.dact{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.dsum{margin:0 0 8px;font-size:17px;font-weight:600}.dtag{letter-spacing:.03em;border-radius:6px;margin-right:8px;padding:2px 8px;font-size:12px;font-weight:800}.dcode{color:var(--muted);font-size:12px}.tag-need{color:#6b4a00;background:#ffe9b8}.tag-ready{background:var(--planned);color:var(--ink)}.tag-run{background:var(--progress);color:var(--ink)}.tag-done{background:var(--done)}.tag-plan{background:var(--line2)}.dcard.tag-need{border-left-color:#e0a100}.dcard.tag-ready{border-left-color:var(--planned-bd)}.dcard.tag-run{border-left-color:var(--progress-bd)}.dwhen{font-size:18px}.dwhat,.dveh{font-size:16px}.late{color:var(--danger);font-style:normal;font-weight:700}.dmore{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin-top:16px;padding:8px 12px}.dmore summary{cursor:pointer;align-items:center;min-height:36px;font-weight:600;display:flex}.dsmall{flex-direction:column;gap:6px;margin:6px 0 0;padding-left:18px;display:flex}.btn.big{flex:140px;min-height:48px;padding:8px 18px;font-size:16px}.alert.ok{margin:8px 14px}.pod{margin:.4rem 0}.podlist{gap:.5rem;margin:.3rem 0;padding:0;list-style:none;display:grid}.podlist li{border:1px solid var(--line,#d0d5dd);border-radius:8px;align-items:flex-start;gap:.6rem;padding:.4rem;display:flex}.podlist li.pod-approved{border-color:#12b76a}.podlist li.pod-rejected{border-color:#f04438}.podlist li.pod-pending_review{border-color:#f79009}.podthumb{object-fit:cover;background:#f2f4f7;border-radius:6px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;text-decoration:none;display:flex}.podinfo{flex:1;min-width:0}.podact,.podrej,.podbtns{flex-wrap:wrap;gap:.4rem;margin-top:.3rem;display:flex}.podrej input{flex:1;min-width:8rem}.podadd label{display:block}.podadd input:not([type=file]){width:100%}.filebtn{cursor:pointer;justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.dpod{margin-top:.6rem}.dpod summary{cursor:pointer;padding:.4rem 0;font-weight:600}.dretake{background:#f044381f;border:2px solid #f04438;border-radius:8px;margin:.5rem 0;padding:.6rem}.badge.pod-overdue,.badge.pod-retake{color:#b42318;background:#fee4e2}.badge.pod-pending{color:#b54708;background:#fef0c7}.badge.pod-approved{color:#05603a;background:#d1fadf}.badge.pod-waived{color:#2d4ba0;background:#e0eaff}.badge.pod-missing{color:#475467;background:#f2f4f7}.podwaive{border:1px dashed var(--line,#d0d5dd);border-radius:8px;margin:.4rem 0;padding:.4rem}.podwaive label{display:block}.podwaive input{width:100%}.catalog{padding:.5rem 0}.cat-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0;display:flex}.cat-head input[type=search]{min-width:14rem}.catalog tr.inactive td{opacity:.55}.catalog .chk{align-items:center;gap:.3rem;display:inline-flex}.modal .body label{margin:.5rem 0;display:block}.modal .body label.bad input,.modal .body label.bad select{border-color:#f04438}.modal .body input:not([type=checkbox]),.modal .body select{width:100%}.modal .body .row{gap:.4rem;display:flex}.modal .body .stops{gap:.4rem;display:grid}.modal .body .chips{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.modal footer{align-items:center;gap:.5rem;display:flex}.regionbox{border:1px dashed var(--line,#d0d5dd);border-radius:8px;margin:.5rem 0;padding:.4rem}.regionhist{margin:.3rem 0 0;padding-left:1rem}.modal .body .row>input,.modal .body .row>select{flex:1 1 0!important;width:auto!important;min-width:0!important}.vplate{opacity:.7;font-size:10px;font-weight:400;display:block}.surbox{margin:.6rem 0}.surlist{gap:.3rem;margin:.3rem 0;padding:0;list-style:none;display:grid}.surlist li{border:1px solid var(--line,#d0d5dd);border-radius:6px;justify-content:space-between;gap:.6rem;padding:.3rem .4rem;display:flex}.surrow{border:1px solid var(--line,#d0d5dd);border-radius:8px;gap:.3rem;margin:.3rem 0;padding:.4rem;display:grid}.surrow.off{opacity:.55}.surrow .row input{flex:1 1 0}.acct{margin-left:auto;position:relative}.acct-btn{white-space:nowrap}.acct-pop{z-index:50;background:var(--bg,#fff);min-width:190px;color:inherit;border:1px solid #bbb;border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 14px #0003}.demo .acct{margin-left:0}.demo .acct-btn{display:inline-flex!important}.demo .acct-pop .btn{justify-content:center;min-height:40px;font-size:14px;margin-left:0!important;display:inline-flex!important}.demo .acct-pop{font-size:14px}.exp{flex-direction:column;gap:8px;display:flex}.explist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.explist li{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.explist li.exp-approved{border-color:#2e7d6b}.explist li.exp-rejected,.explist li.exp-revoked,.explist li.exp-withdrawn{opacity:.7}.expadd,.exprev{flex-direction:column;gap:8px;display:flex}.expadd label,.exprev label{flex-direction:column;gap:3px;display:flex}.exptr{border:1px solid var(--line);border-radius:8px;padding:6px 8px}.exptr .chk{flex-direction:row;align-items:center;gap:6px}.podlist.rcpts{flex-wrap:wrap;gap:.4rem;display:flex}.exp .podbtns{margin:.3rem 0}.dtabs{z-index:15;background:var(--panel);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.dtabs button{min-height:54px;color:var(--muted);background:0 0;border:0;border-bottom:4px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;font-size:16px;font-weight:600;display:flex}.dtabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.dbadge{background:var(--line2);color:var(--ink);text-align:center;border-radius:12px;min-width:22px;padding:0 8px;font-size:13px}.dbadge.hot{color:#1b1300;background:#e0a100}.dbody{cursor:pointer;flex-direction:column;gap:3px;display:flex}.dline{font-size:15px}.dwhere{font-size:14px}.driverapp .dwhen{font-size:17px}.btn.act{flex:140px;min-height:48px;padding:8px 14px;font-size:16px}.dlinks{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.dlinks .btn{flex:auto;min-height:40px;font-size:14px}.pchip{border-radius:12px;align-self:flex-start;margin-top:2px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.pc-ok{color:#0b7a47;background:#12b76a2e}.pc-wait{color:#8a5200;background:#f7900933}.pc-warn,.pc-bad{color:#b42318;background:#f0443826}@media (prefers-color-scheme:dark){.pc-ok{color:#6ce9a6}.pc-wait{color:#fec84b}.pc-warn,.pc-bad{color:#fda29b}}.drows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.drow{text-align:left;border:1px solid var(--line);background:var(--panel);width:100%;min-height:60px;color:inherit;font:inherit;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.drow-time{min-width:46px;font-size:16px;font-weight:700}.drow-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drow-title{overflow-wrap:anywhere;font-size:15px;font-weight:600}.drow-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.drow-tags .dtag{margin-right:0}.drow-go{color:var(--muted);font-size:22px}.dsearch{border:1px solid var(--line);background:var(--panel);width:100%;min-height:44px;color:inherit;border-radius:10px;margin-bottom:8px;padding:6px 12px;font-size:16px}.dfilters{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.dchip{border:1px solid var(--line);background:var(--panel);min-height:38px;color:inherit;border-radius:19px;padding:4px 14px;font-size:14px}.dchip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.dchip.warn:not(.on){border-color:#e0a100}.dempty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.dempty p{margin:0}.btn.wide{width:100%;min-height:44px;margin-top:8px}.dnotes{margin-bottom:8px}.dnotes summary{cursor:pointer;align-items:center;min-height:36px;font-weight:600;display:flex}.linkbtn{color:var(--accent);font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.dsheet-back{z-index:40;background:#0a141e80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dsheet{background:var(--bg);color:var(--ink);width:min(640px,100%);max-height:96dvh;box-shadow:var(--shadow);border-radius:14px 14px 0 0;flex-direction:column;display:flex}.dsheet header{border-bottom:1px solid var(--line);background:var(--panel);border-radius:14px 14px 0 0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.dsheet header .btn{min-height:40px}.dsbody{flex-direction:column;gap:10px;padding:12px 14px 28px;display:flex;overflow:auto}.dinfos{gap:6px;margin:0;display:grid}.dinfo{gap:10px;font-size:15px;display:flex}.dinfo dt{width:40%;max-width:150px;color:var(--muted)}.dinfo dd{overflow-wrap:anywhere;flex:1;margin:0;font-weight:600}.dsec{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:2px 12px 10px}.dsec>summary{cursor:pointer;align-items:center;min-height:48px;font-size:15px;font-weight:700;display:flex}@media (width>=700px){.dsheet-back{align-items:center}.dsheet{border-radius:14px;max-height:90dvh}}.dcard.tag-need,.dcard.tag-ready,.dcard.tag-run,.dcard.tag-done,.dcard.tag-plan{background:var(--panel);color:var(--ink)}.dcard.tag-need{border-color:#e0a100}.ddate{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px;display:flex}.ddate label{align-items:center;gap:6px;font-size:15px;display:flex}.ddate input[type=date]{border:1px solid var(--line);background:var(--panel);min-height:44px;color:inherit;border-radius:8px;padding:4px 8px;font-size:16px}.dchips{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.dchips .pchip{border:1px solid var(--line);cursor:pointer;min-height:32px;margin-top:0;padding:4px 12px;font-family:inherit;font-size:13px}.pc-plain{background:var(--line2);color:var(--ink)}.linkbtn.danger{color:var(--danger);align-self:center;min-height:40px;font-size:15px}.dfilters select{border:1px solid var(--line);background:var(--panel);min-height:44px;color:inherit;border-radius:10px;flex:140px;padding:4px 10px;font-size:16px}.panel.item>header{z-index:5;background:var(--panel);border-bottom:1px solid var(--line);margin:-12px -14px 6px;padding:10px 14px 8px;position:sticky;top:-12px}.panel.item>header .x{min-width:36px;min-height:36px;font-size:18px}.rf .rf-req{color:var(--danger);font-size:12px;font-weight:400}.rf-chips{flex-wrap:wrap;gap:6px;margin:2px 0 4px;display:flex}.auditlist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.al{border-left:4px solid var(--line);background:var(--line2);border-radius:4px;padding:5px 8px}.al-info{border-left-color:var(--accent)}.al-ok{border-left-color:var(--ok)}.al-warn{border-left-color:var(--warn)}.al-bad{border-left-color:var(--danger)}.al-price{border-left-color:#8a72d6}.al-top{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.al-tag{font-size:12px;font-weight:700}.al-info .al-tag{color:var(--accent)}.al-ok .al-tag{color:var(--ok)}.al-warn .al-tag{color:var(--warn)}.al-bad .al-tag{color:var(--danger)}.al-price .al-tag{color:#8a72d6}.al-sum{flex:1;min-width:0;font-size:13px}.al-old{color:var(--muted)}.al-delta{border-radius:8px;margin-left:6px;padding:0 6px;font-size:12px;font-weight:700}.al-delta.up{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.al-delta.down{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.al-top time{white-space:nowrap;margin-left:auto}.al-sub{margin-top:1px}.al-why{color:var(--ink)}.dv-sticky{z-index:5;background:var(--panel);border-bottom:1px solid var(--line);margin:-12px -14px 8px;padding:10px 14px 0;position:sticky;top:-12px}.dv-sticky header .x{min-width:36px;min-height:36px;font-size:18px}.dv-tabs{gap:2px;margin-top:6px;display:flex;overflow-x:auto}.dv-tabs button{min-height:36px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:7px 10px;font-weight:600;position:relative}.dv-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.dv-dot{background:var(--danger);vertical-align:2px;border-radius:50%;width:8px;height:8px;margin-left:5px;display:inline-block}.dv-note{border:1px solid var(--line);background:var(--line2);border-radius:6px;margin:6px 0;padding:4px 9px;font-size:13px;font-weight:600}.dv-note.bad{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--panel));border-color:var(--danger)}.dv-note.warn,.dv-note.lock{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, var(--panel));border-color:color-mix(in srgb, var(--warn) 55%, var(--line))}.dv-hero{flex-direction:column;gap:1px;margin:8px 0;display:flex}.dv-hero b{font-size:15px}.dv-route{color:var(--accent);font-size:13px;font-weight:600}.dv-grid2{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.dv-card{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;flex-direction:column;gap:1px;min-width:0;padding:5px 9px;display:flex}.dv-card:nth-child(2){border-left-color:var(--ok)}.dv-card b{overflow-wrap:anywhere}.dv-k{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.dv-time,.dv-money{border:1px solid var(--line);border-radius:6px;flex-direction:column;margin:8px 0;padding:4px 9px;display:flex}.dv-row{border-left:4px solid #0000;align-items:baseline;gap:10px;margin-left:-7px;padding:3px 0 3px 7px;display:flex}.dv-row .dv-k{min-width:74px}.dv-v{flex:1;min-width:0}.dv-plan{border-left-color:var(--accent)}.dv-plan .dv-v{color:var(--accent)}.dv-act{border-left-color:var(--ok)}.dv-act .dv-v{color:var(--ok);font-weight:600}.dv-ok{border-left-color:var(--ok)}.dv-ok .dv-v b{color:var(--ok)}.dv-line{flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 0;display:flex}.dv-line+.dv-line,.dv-why+.dv-line{border-top:1px dashed var(--line)}.dv-line .dv-k{min-width:74px}.dv-amount{color:#8a72d6;font-size:16px}.dv-why{margin:-2px 0 2px 82px}.dv-tag{border:1px solid var(--line);border-radius:10px;margin-left:4px;padding:0 8px;font-size:12px;font-weight:700;display:inline-block}.dv-tag.rate{color:var(--accent);border-color:var(--accent)}.dv-tag.deal{color:#8a72d6;border-color:#8a72d6}.dv-tag.bad{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.dv-extra{margin:6px 0;font-size:13px}.dv-extra div{gap:8px;padding:1px 0;display:flex}.dv-extra dt{color:var(--muted);min-width:92px}.dv-extra dd{flex:1;margin:0}.dv-copy{margin:8px 0}.dv-copy summary{cursor:pointer;color:var(--muted);padding:4px 0;font-size:13px}.dv-h{margin:10px 0 6px}.dv-sys{margin-top:10px}.grid thead th{height:34px}.cbtn .cn{font-size:12px}.cbtn .cds{color:#8a72d6;margin-left:4px;font-size:11px;font-weight:600}.cbtn .lk{margin-right:3px}.legend-kh{flex-basis:100%}@media (width>=1100px){.grid col.c-veh{width:150px}.vplate{margin-left:4px;display:inline}.grid .s-cap{left:150px}.grid .s-drv{left:204px}.grid .s-kh{left:286px}.grid .s-ht{left:324px}.grid .s-ds{left:362px}}.cbtn{line-height:calc(var(--row-h) - 1px);padding-top:0;padding-bottom:0;display:block}.grid th.h.off{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--panel))}.grid th.h.off .hbtn small{color:var(--danger)}.grid td.cell.off{background:color-mix(in srgb, var(--danger) 8%, var(--panel))}.grid td.lane.off .lane-in{background-color:color-mix(in srgb, var(--danger) 7%, var(--panel))}.ttl.off{color:var(--danger)}.holtag{font-size:12px;font-weight:600}.holdot{color:var(--danger);font-size:10px;font-style:normal}.hbtn small{color:var(--ink);opacity:.78;font-size:11px}.vplate{opacity:.85;font-size:11px}.grid tbody tr:nth-child(2n)>td.cell:not(.off):not(.cur),.grid tbody tr:nth-child(2n)>td.lane:not(.off) .lane-in{background-color:color-mix(in srgb, var(--ink) 3.5%, transparent)}.grid tbody tr.grp>*{border-top:2px solid color-mix(in srgb, var(--ink) 22%, var(--line))}.cell.cur{background:color-mix(in srgb, var(--accent) 13%, transparent)}.h.cur{background:color-mix(in srgb, var(--accent) 12%, var(--panel))}.h.cur .hbtn b{color:var(--accent)}.cbtn.has{color:var(--ink)}.grid tbody tr:hover>*{background-image:linear-gradient(#1769e01a,#1769e01a)}.grid thead tr.nowrow th{background:var(--panel);z-index:7;border:0;height:20px;padding:0;position:sticky;top:0;overflow:visible}.grid.has-now thead tr:nth-child(2) th{top:20px}.grid thead tr.nowrow .nowlbl{top:2px}.pp{flex-direction:column;gap:6px;display:flex}.pp-panel{border:1px solid var(--line);border-left:4px solid var(--accent);background:color-mix(in srgb, var(--accent) 4%, var(--panel));border-radius:6px;flex-direction:column;gap:8px;padding:8px 10px;display:flex}.pp-panel .seg{flex-wrap:wrap;align-self:flex-start}.pp-name{color:var(--accent);margin:0}.stops{flex-direction:column;gap:10px;display:flex}.stop{flex-direction:column;gap:3px;display:flex}.dsect{z-index:8;background:var(--bg);grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px 0;display:grid;position:sticky;top:0}.dsect button{border:2px solid var(--line);background:var(--panel);min-height:56px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.dsect button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.fz{flex-direction:column;gap:12px;padding:10px 12px 28px;font-size:18px;display:flex}.fz-hello{margin:0;font-size:22px}.fz-muted{color:var(--muted);margin:0;font-size:16px}.fz-center{text-align:center}.fz-lead{margin:0;font-size:19px}.fz-h{margin:0;font-size:22px}.fz-odd{color:var(--warn);font-weight:600}.fz-serial{font-family:ui-monospace,Consolas,monospace;font-weight:700}.fz-main,.fz-ghost{text-align:center;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:64px;font-size:20px;font-weight:700;display:flex}.fz-main{background:var(--accent);color:var(--accent-ink);border:0}.fz-main:disabled{opacity:.5}.fz-ghost{border:2px solid var(--accent);min-height:56px;color:var(--accent);background:0 0;font-size:18px}.fz-file{cursor:pointer;position:relative}.fz-file input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.fz-file.off{opacity:.5;pointer-events:none}.fz-alert{border:2px solid var(--line);text-align:left;background:var(--line2);border-radius:12px;width:100%;padding:12px 14px;font-size:17px}.fz-alert p{margin:4px 0 0}.fz-alert .fz-ghost{margin-top:10px}.fz-alert.bad{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--panel))}.fz-alert.warn{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, var(--panel))}.fz-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fz-stat{border:2px solid var(--line);background:var(--panel);min-height:84px;color:var(--ink);text-align:left;border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 14px;font-size:16px;display:flex}.fz-stat b{font-size:32px;line-height:1.1}.fz-stat.bad{border-color:var(--danger)}.fz-stat.bad b{color:var(--danger)}.fz-tabs{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.fz-tabs button{border:2px solid var(--line);background:var(--panel);min-height:52px;color:var(--ink);border-radius:12px;flex:none;padding:0 16px;font-size:17px;font-weight:600}.fz-tabs button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.fz-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.fz-row{border:2px solid var(--line);background:var(--panel);width:100%;min-height:72px;color:var(--ink);text-align:left;border-radius:14px;flex-direction:column;gap:2px;padding:12px 40px 12px 14px;display:flex;position:relative}.fz-row .fz-serial{font-size:22px}.fz-sub{color:var(--muted);font-size:16px}.fz-why{color:var(--danger);font-size:16px;font-weight:600}.fz-chev{color:var(--muted);font-size:30px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.fz-empty{border:2px dashed var(--line);text-align:center;color:var(--muted);border-radius:14px;padding:24px 14px}.fz-steps{grid-template-columns:repeat(4,1fr);gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.fz-steps li{text-align:center;background:var(--line2);color:var(--muted);border-radius:10px;padding:8px 2px;font-weight:600}.fz-steps li.on{background:var(--accent);color:var(--accent-ink)}.fz-steps li.done{background:color-mix(in srgb, var(--ok) 20%, var(--panel));color:var(--ok)}.fz-form{flex-direction:column;gap:14px;display:flex}.fz-form label{flex-direction:column;gap:6px;font-size:18px;font-weight:600;display:flex}.fz-form input:not([type=file]),.fz-form select{border:2px solid var(--line);background:var(--panel);min-height:60px;color:var(--ink);border-radius:12px;width:100%;padding:0 14px;font-size:20px}.fz-form label.fz-file{flex-direction:row;font-weight:700}.fz-two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fz-photos{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.fz-photo{border:2px solid var(--line);aspect-ratio:4/3;background:var(--line2);border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.fz-photo img{object-fit:cover;width:100%;height:100%}.fz-del{background:var(--panel);width:48px;height:48px;color:var(--danger);border:0;border-radius:50%;font-size:22px;position:absolute;top:6px;right:6px}.fz-sum{border:2px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;gap:8px;margin:0;padding:10px 14px;display:flex}.fz-sum div{justify-content:space-between;gap:12px;display:flex}.fz-sum dt{color:var(--muted)}.fz-sum dd{text-align:right;margin:0}.fz-done{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:30px 6px;display:flex}.fz-done h2{margin:0;font-size:26px}.fz-done p{color:var(--muted);margin:0;font-size:19px}.fz-tick{background:color-mix(in srgb, var(--ok) 18%, var(--panel));width:84px;height:84px;color:var(--ok);border-radius:50%;place-items:center;font-size:46px;display:grid}.tag.doc{white-space:nowrap;border-radius:4px;margin-left:3px;padding:0 4px;font-size:.62rem;font-weight:700}.tag.doc.bad{color:#b42318;background:#fde8e8;border:1px solid #f4b4ae}.tag.doc.soon{color:#8a5a00;background:#fff4d6;border:1px solid #f1d28a}.docbox{border:1px dashed var(--line,#d0d5dd);border-radius:8px;margin:.5rem 0;padding:.5rem}.docbox .grid2{grid-template-columns:1fr 1fr;gap:.4rem .6rem;display:grid}.docalerts{margin:.3rem 0 0;padding-left:1rem}.docalerts .bad{color:#b42318}.docalerts .soon{color:#8a5a00}.docalerts .miss{color:#667085}
