@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-greek-400-normal-CM4qok81.woff2)format("woff2"),url(/assets/manrope-greek-400-normal-DuX9RsAR.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-greek-500-normal-GeMIHyWm.woff2)format("woff2"),url(/assets/manrope-greek-500-normal-DyxYGEtJ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-greek-600-normal-BoRV6lzK.woff2)format("woff2"),url(/assets/manrope-greek-600-normal-CF2i9ZRY.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-greek-700-normal-CHUG9PD8.woff2)format("woff2"),url(/assets/manrope-greek-700-normal-DyfsrCpP.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-greek-800-normal-CDvU698_.woff2)format("woff2"),url(/assets/manrope-greek-800-normal-Bw-67qu9.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}:root{--ink:#1c1c1e;--ink-2:#3a3a3e;--muted:#5e5e62;--line:#e2e1dc;--line-strong:#c9c8c2;--bg:#f5f5f2;--surface:#fff;--surface-2:#fafaf7;--hover:#f5f5f2;--track:#e8e7e2;--accent:#1c1c1e;--accent-strong:#000;--accent-soft:#fdf0cf;--signal:#f5b529;--signal-strong:#e0a100;--on-signal:#1c1c1e;--strong-bg:#1c1c1e;--strong-fg:#fff;--ok-solid:#1e7a45;--err-solid:#b42d24;--warn-solid:#a85507;--ok:#17643a;--ok-soft:#e2f3e8;--warn:#8f4a05;--warn-soft:#fcead6;--err:#a3271e;--err-soft:#fbe4e1;--info:#1d47b5;--info-soft:#e2eafd;--radius:12px;--shadow:0 1px 2px #1c1c1e0f, 0 1px 3px #1c1c1e14;--font:"Manrope", system-ui, -apple-system, "Segoe UI", "Noto Sans", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--ink:#f2f2ee;--ink-2:#d4d4d0;--muted:#a3a3a8;--line:#34343a;--line-strong:#4a4a52;--bg:#111113;--surface:#1c1c1f;--surface-2:#232327;--hover:#26262b;--track:#2a2a2f;--accent:#f5b529;--accent-strong:#f5b529;--accent-soft:#3a2e10;--strong-bg:#f5b529;--strong-fg:#1c1c1e;--ok:#6edc9a;--ok-soft:#143523;--warn:#f7b267;--warn-soft:#3d2a12;--err:#ff8a80;--err-soft:#3d1715;--info:#9db8ff;--info-soft:#18254a;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font);color:var(--ink);background:var(--bg);margin:0;font-size:16px;line-height:1.45;overflow-x:hidden}body.no-scroll{overflow:hidden}h1,h2,h3,p{margin:0}.h2{letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.h3{font-size:1.1rem;font-weight:700}.muted{color:var(--muted)}.mono,.mono-chip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.mono-chip{background:var(--bg);overflow-wrap:break-word;border-radius:8px;max-width:100%;padding:6px 10px;display:inline-block}.pad{padding:16px 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.field{min-width:0;color:var(--ink-2);flex-direction:column;gap:6px;font-size:.875rem;font-weight:600;display:flex}.field small{font-weight:400}input,textarea{width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;min-height:44px;padding:10px 12px;font-size:16px;font-weight:400}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn{min-height:44px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{color:var(--on-signal);background:var(--signal);border-color:var(--signal)}.btn-primary:hover:not(:disabled){background:var(--signal-strong);border-color:var(--signal-strong)}.btn-dark{color:#e8e8e4;background:0 0;border-color:#334155;min-height:38px;padding:0 12px;font-size:.875rem}.btn-dark:hover:not(:disabled){background:#2c2c30}.btn-ghost{background:0 0}.btn-icon{width:44px;padding:0;font-size:1.4rem;line-height:1}.btn-block{width:100%}.link{font:inherit;color:var(--accent-strong);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-size:.9rem;text-decoration:underline}.alert{overflow-wrap:break-word;border-radius:10px;padding:10px 12px;font-size:.9rem}.alert-error{color:var(--err);background:var(--err-soft)}.alert-info{color:var(--accent-strong);background:var(--accent-soft)}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.logo{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.logo-word{font-family:"Space Grotesk", var(--font);letter-spacing:-.03em;color:var(--ink);white-space:nowrap;font-size:1.2rem;font-weight:700;line-height:1}.logo-core{color:#a36f00}.logo-inverted .logo-word{color:#f8f8f6}.logo-inverted .logo-core,html[data-theme=dark] .logo-core{color:#f5b529}.centered{place-items:center;min-height:100dvh;padding:16px;display:grid}.centered-card{flex-direction:column;gap:16px;width:100%;max-width:400px;padding:24px 20px;display:flex}.topbar{z-index:10;color:#f8f8f6;padding-top:env(safe-area-inset-top);background:#1c1c1e;position:sticky;top:0}.topbar-inner{align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding:10px 16px;display:flex}.topbar-org{text-align:right;flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.org-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;overflow:hidden}.org-user{color:#b4b4b8;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.page{max-width:1200px;padding:16px 16px calc(32px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.toolbar{flex-direction:column;gap:12px;display:flex}.daynav{align-items:center;gap:8px;display:flex}.daynav-label{text-align:center;flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.daynav-label strong{text-transform:capitalize;font-size:1.05rem}.toolbar-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.toolbar-actions .btn{white-space:normal;text-align:center;min-width:0;padding:6px 12px;line-height:1.2}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat{flex-direction:column;gap:2px;min-width:0;padding:12px 14px;display:flex}.stat-value{letter-spacing:-.02em;overflow-wrap:break-word;font-size:1.35rem;font-weight:800}.stat-label{color:var(--muted);font-size:.8rem}.stat-warn .stat-value{color:var(--warn)}.shipments{gap:10px;margin:0;padding:0;list-style:none;display:grid}.shipment{gap:12px;min-width:0;padding:14px;display:flex}.shipment-index{width:30px;height:30px;color:var(--accent-strong);background:var(--accent-soft);border-radius:50%;flex-shrink:0;place-items:center;font-size:.85rem;font-weight:700;display:grid}.shipment-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.shipment-address{overflow-wrap:break-word;font-weight:700}.shipment-meta{color:var(--ink-2);overflow-wrap:break-word;flex-wrap:wrap;gap:4px 12px;font-size:.875rem;display:flex}.shipment-notes{color:var(--muted);overflow-wrap:break-word;font-size:.85rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{max-width:100%;color:var(--ink-2);background:var(--bg);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.chip-err,.chip-warn{white-space:normal;overflow-wrap:break-word;border-radius:10px}.chip-ok{color:var(--ok);background:var(--ok-soft)}.chip-warn{color:var(--warn);background:var(--warn-soft)}.chip-cod{color:var(--accent-strong);background:var(--accent-soft)}.empty{text-align:center;flex-direction:column;gap:6px;padding:28px 20px;display:flex}.footnote{text-align:center;font-size:.8rem}.sheet-backdrop{z-index:50;background:#0f172a73;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-height:100dvh;display:flex;box-shadow:0 -8px 30px #0f172a33}.sheet-head,.sheet-foot{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.sheet-head{border-bottom:1px solid var(--line)}.sheet-foot{border-top:1px solid var(--line);padding-bottom:calc(12px + env(safe-area-inset-bottom));justify-content:flex-end}.sheet-body{overscroll-behavior:contain;flex-direction:column;gap:14px;padding:16px;display:flex;overflow-y:auto}.suggest{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;margin:-8px 0 0;padding:4px;list-style:none}.suggest button{width:100%;min-height:44px;font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.9rem;display:flex}.suggest button:hover{background:var(--accent-soft)}.suggest-text{overflow-wrap:break-word;flex:12em;min-width:0}.suggest button{flex-wrap:wrap}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;color:#f8f8f6;background:#1c1c1e;border-radius:10px;width:max-content;max-width:calc(100vw - 32px);padding:12px 16px;font-size:.9rem;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000040}@media (width<=360px){.grid-2{grid-template-columns:1fr}.topbar-org{display:none}.topbar-inner{justify-content:space-between}}@media (width>=640px){.page{padding:24px 24px 40px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.sheet-backdrop{justify-content:center;align-items:center;padding:24px}.sheet{border-radius:16px;max-width:560px;max-height:calc(100dvh - 48px)}.centered-card{padding:32px 28px}}@media (width>=900px){.toolbar{flex-direction:row;justify-content:space-between;align-items:center}.daynav{flex:1;max-width:420px}.toolbar-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;min-width:0;display:flex}.toolbar-actions .btn{white-space:nowrap}}@media (width>=1024px){.shipments{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-backdrop{justify-content:flex-end;align-items:stretch;padding:0}.sheet{border-radius:0;max-width:480px;height:100dvh;max-height:none}}.small{font-size:.85rem}.stack{flex-direction:column;gap:12px;display:flex}.min0{min-width:0}.wrap{overflow-wrap:break-word}select{width:100%;min-width:0;min-height:44px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:8px 12px;font-size:16px;font-weight:400}select:focus{outline:2px solid var(--accent);outline-offset:1px}.btn-small{min-height:36px;padding:0 12px;font-size:.85rem}.chip-err{color:var(--err);background:var(--err-soft)}.chip-time{color:var(--ink-2)}.mainnav{border-top:1px solid #2c2c30}.mainnav-inner{scrollbar-width:none;gap:4px;max-width:1200px;margin:0 auto;padding:0 12px;display:flex;overflow-x:auto}.mainnav-link{min-height:44px;font:inherit;color:#b4b4b8;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex-shrink:0;padding:0 14px;font-size:.9rem;font-weight:600}.mainnav-link[aria-current=page]{color:#f8f8f6;border-bottom-color:var(--signal)}.tabs{background:var(--track);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.tab{min-height:40px;font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.tab[aria-selected=true]{color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}.tab-count{background:var(--bg);border-radius:999px;min-width:22px;padding:0 6px;font-size:.75rem}.day-grid{flex-direction:column-reverse;gap:16px;display:flex}.day-list{flex-direction:column;gap:10px;min-width:0;display:flex}.day-map{flex-direction:column;gap:6px;min-width:0;display:flex;position:relative}.map-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#e8e7e2;height:clamp(300px,50dvh,460px);position:relative;overflow:hidden}.map-wrap .map{width:100%;height:100%;position:absolute;inset:0}.map-loading,.map-fallback{text-align:center;color:var(--muted);place-items:center;padding:16px;display:grid}.map-fallback{background:var(--surface-2);position:absolute;inset:0}.map-picking{outline:3px solid var(--accent);outline-offset:2px}.map-modal{height:min(60dvh,460px)}.map-note{text-align:center}.map-wrap .maplibregl-ctrl-attrib{font-size:11px}.pick-banner{z-index:5;color:#f8f8f6;background:var(--accent-strong);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.9rem;display:flex;position:absolute;top:8px;left:8px;right:56px;box-shadow:0 4px 14px #0f172a4d}.pick-banner span{overflow-wrap:break-word;min-width:0}.pick-banner .btn{background:#fff}.map-pin{min-width:28px;height:28px;font:700 12px/1 var(--font);color:#fff;background:var(--pin,var(--accent));cursor:pointer;border:2px solid #fff;border-radius:999px;place-items:center;padding:0 6px;display:grid;box-shadow:0 1px 4px #0f172a66}.map-pin-depot{border-radius:8px;min-width:32px;height:32px;font-size:15px}.shipment-actions{gap:8px;display:flex}.shipment-focus{outline:2px solid var(--accent);outline-offset:1px}.routes{flex-direction:column;gap:12px;display:flex}.route{border-top:4px solid var(--route,var(--accent));flex-direction:column;gap:12px;padding:14px;display:flex}.route-head{align-items:center;gap:10px;display:flex}.route-swatch{background:var(--route);border-radius:4px;flex-shrink:0;width:14px;height:14px}.route-title{min-width:0}.route-title .h3{overflow-wrap:break-word}.route-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.route-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.route-stats div{background:var(--bg);border-radius:10px;min-width:0;padding:8px 10px}.route-stats dt{color:var(--muted);font-size:.75rem}.route-stats dd{overflow-wrap:break-word;margin:0;font-weight:700}.route-stops{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.route-stop{gap:10px;padding:0 0 12px;display:flex;position:relative}.route-stop:not(:last-child):before{content:"";background:var(--line);width:2px;position:absolute;top:26px;bottom:0;left:12px}.stop-dot{z-index:1;color:#fff;background:var(--route,var(--accent));border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:grid}.route-depot .stop-dot{background:var(--ink)}.stop-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.stop-line{gap:8px;min-width:0;display:flex}.stop-eta{color:var(--ink-2);flex-shrink:0;font-weight:700}.stop-addr{overflow-wrap:break-word;min-width:0;font-weight:600}.stop-meta,.stop-notes{color:var(--ink-2);overflow-wrap:break-word;font-size:.85rem}.stop-notes{color:var(--muted)}.route-cod{overflow-wrap:break-word;font-size:.9rem}.route-actions{grid-template-columns:1fr;gap:8px;display:grid}.route-actions .btn{white-space:normal;text-align:center}.copy-fallback{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.unassigned{flex-direction:column;gap:10px;padding:14px;display:flex}.unassigned ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.unassigned-text{overflow-wrap:break-word;min-width:0}.checklist{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.checklist legend{margin-bottom:8px;font-weight:700}.check{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:52px;padding:8px 12px;display:flex}.check input{width:22px;height:22px;min-height:22px;accent-color:var(--accent);flex-shrink:0}.check-text{overflow-wrap:break-word;flex-direction:column;min-width:0;display:flex}.panel{flex-direction:column;gap:12px;padding:16px;display:flex}.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:12px 0;display:flex}.list-row:first-child{border-top:0}.list-actions{flex-wrap:wrap;gap:8px;max-width:100%;display:flex}.invite-form{grid-template-columns:1fr;align-items:end;gap:12px;display:grid}@media (width>=640px){.map-wrap{height:clamp(380px,55dvh,640px)}.route-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.route-actions{flex-wrap:wrap;display:flex}.invite-form{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto}}@media (width>=1024px){body.wide .page,body.wide .topbar-inner,body.wide .mainnav-inner{max-width:none}body.wide .page,body.wide .topbar-inner{padding-inline:24px}body.wide .mainnav-inner{padding-inline:20px}.day-grid{grid-template-columns:minmax(380px,5fr) minmax(0,7fr);align-items:start;display:grid}.day-map{position:sticky;top:112px}.day-map .map-wrap{height:var(--map-h,calc(100dvh - 136px));min-height:420px}.day-list .shipments{grid-template-columns:1fr}}.print-only{display:none}@media print{.print-only{display:block}.route-print-date{text-transform:capitalize;font-weight:700}.route-depot .stop-dot{color:#fff;background:#000}body{background:#fff}.no-print,.topbar,.toolbar,.stats,.tabs,.day-map,.shipments,.unassigned,.alert,.toast,.footnote{display:none!important}.page{padding:0}.route{box-shadow:none;break-inside:auto;border:1px solid #94a3b8;border-top:4px solid #000}.route-stop{break-inside:avoid}.stop-dot{color:#000;background:#fff;border:2px solid #000}}.btn-accent-soft{color:var(--accent-strong);background:var(--accent-soft);border-color:#f2dc85}.btn-accent-soft:hover:not(:disabled){background:#bae6fd}.toolbar-actions .btn-span{grid-column:1/-1}.btn-big{white-space:normal;text-align:center;min-height:52px;font-size:1rem}.date-field{max-width:260px}.tabs-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tabs-3 .tab{min-width:0;padding:0 4px}@media (width<=360px){.tabs-3{gap:2px;padding:3px}.tabs-3 .tab{padding:0 2px;font-size:.76rem}}.busy{color:var(--accent-strong);align-items:center;gap:10px;font-weight:600;display:flex}.spinner{border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.warn-list{margin:0;padding-left:28px}.review-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.review{flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.review-off{opacity:.55}.review-error{border-color:var(--err)}.review-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.check-inline{cursor:pointer;align-items:center;gap:10px;min-width:0;font-size:.9rem;display:flex}.check-inline input{width:22px;height:22px;min-height:22px;accent-color:var(--accent);flex-shrink:0}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-uncertain input,.field-uncertain textarea{background:#fffbeb;border-color:#f59e0b}.uncertain-tag{color:var(--warn);background:var(--warn-soft);border-radius:999px;margin-left:6px;padding:0 6px;font-size:.7rem;font-style:normal;font-weight:700}.save-bar{z-index:5;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);position:sticky;bottom:0}.save-bar .btn{width:100%}@media (width<=360px){.grid-4{grid-template-columns:1fr}}@media (width>=640px){.toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.save-bar .btn{width:auto;min-width:320px}}@media (width>=900px){.toolbar-actions .btn-span{grid-column:auto}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1024px){.review-list,.review .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.grid-2,.grid-4{align-items:end}.busy-hint{font-weight:400;display:block}.mem-chip{white-space:normal;align-self:flex-start;margin-top:-6px}.mem-suggest{background:var(--warn-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:-4px;padding:8px 10px;font-size:.875rem;display:flex}.mem-text{overflow-wrap:break-word;min-width:0}.drv{background:var(--bg);min-height:100dvh;font-size:1rem}.drv-top{z-index:20;color:#f8f8f6;background:#1c1c1e;position:sticky;top:0;box-shadow:0 2px 8px #00000040}.drv-top-inner,.drv-body{width:100%;max-width:680px;margin:0 auto;padding:12px 16px}.drv-org{color:#b4b4b8;overflow-wrap:break-word;font-size:.8rem}.drv-title{overflow-wrap:break-word;font-size:1.15rem;font-weight:700;line-height:1.3}.drv-date{color:#d4d4d0;font-weight:500}.drv-progress{background:#3a3a3e;border-radius:99px;height:8px;margin:10px 0 6px;overflow:hidden}.drv-progress span{background:var(--signal);border-radius:99px;height:100%;transition:width .3s;display:block}.drv-counts{color:#d4d4d0;overflow-wrap:break-word;font-size:.85rem}.drv-counts strong{color:#fff}.drv-banner{text-align:center;color:var(--warn);background:var(--warn-soft);overflow-wrap:break-word;padding:8px 16px;font-size:.875rem;font-weight:600}.drv-banner.is-off{color:#fff;background:var(--warn-solid)}.drv-body{flex-direction:column;gap:12px;padding-bottom:32px;display:flex}.drv-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.drv-stop{flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex;position:relative}.drv-stop.is-next{border:2px solid var(--accent);box-shadow:0 4px 14px #1c1c1e24}.drv-next{letter-spacing:.02em;text-transform:uppercase;color:var(--on-signal);background:var(--signal);border-radius:99px;align-self:flex-start;padding:2px 10px;font-size:.75rem;font-weight:700}.drv-stop-head{align-items:flex-start;gap:12px;min-width:0;display:flex}.drv-num{width:34px;height:34px;color:var(--strong-fg);background:var(--strong-bg);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.drv-stop-title{flex:1;min-width:0}.drv-addr{overflow-wrap:break-word;font-size:1.1rem;font-weight:700;line-height:1.3}.drv-who{color:var(--ink-2);overflow-wrap:break-word;margin-top:2px}.drv-chips{gap:6px}.drv-notes{color:var(--warn);background:var(--warn-soft);overflow-wrap:break-word;border-radius:10px;padding:8px 10px;font-size:.95rem;font-weight:600}.drv-cod{color:var(--accent-strong);background:var(--accent-soft);overflow-wrap:break-word;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.drv-cod strong{font-size:1.1rem}.drv-cod-hint{font-size:.8rem}.drv-warn{color:var(--err)}.drv-links,.drv-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drv-links>:only-child{grid-column:1/-1}.drv-btn{white-space:normal;text-align:center;min-height:52px;padding:0 10px;font-size:1rem;line-height:1.2;text-decoration:none}.drv-ok{color:#fff;background:var(--ok-solid);border-color:var(--ok-solid)}.drv-ok:hover:not(:disabled){background:#155c33}.drv-fail{color:var(--err);background:var(--surface);border-color:#fca5a5}.drv-fail:hover:not(:disabled){background:var(--err-soft)}.drv-fail-solid{color:#fff;background:var(--err-solid);border-color:var(--err-solid)}.drv-fail-solid:hover:not(:disabled){background:#991b1b}.drv-done{opacity:.95;gap:8px;padding:12px 14px}.drv-done .drv-num{width:30px;height:30px}.drv-done.is-ok .drv-num{color:#fff;background:var(--ok-solid)}.drv-done.is-fail .drv-num{color:#fff;background:var(--err-solid)}.drv-done .drv-addr{font-size:1rem}.drv-note-text{color:var(--ink-2);overflow-wrap:break-word;font-size:.9rem}.drv-undo-row{justify-content:flex-end;display:flex}.drv-finish{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;display:flex}.drv-finish .btn{width:100%;max-width:360px;margin-top:8px}.drv-finish-icon{color:#fff;background:var(--ok-solid);border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.8rem;font-weight:700;display:grid}.drv-foot{text-align:center;overflow-wrap:break-word;flex-direction:column;gap:4px;padding-top:8px;display:flex}.drv-brand{letter-spacing:.04em;font-weight:700}.drv-sheet-back{z-index:50;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.drv-sheet{width:100%;max-width:560px;max-height:92dvh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;gap:12px;display:flex;overflow-y:auto}.drv-sheet .h3{overflow-wrap:break-word}.drv-sheet-amount{color:var(--accent-strong);font-size:1.6rem;font-weight:700}.drv-sheet-actions{flex-direction:column;gap:8px;display:flex}.drv-reasons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drv-reason{min-height:48px;font:inherit;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;overflow-wrap:break-word;border-radius:10px;padding:6px 8px;font-size:.95rem;font-weight:600}.drv-reason.is-on{color:var(--strong-fg);background:var(--strong-bg);border-color:var(--strong-bg)}@media (width<=360px){.drv-top-inner,.drv-body{padding-left:12px;padding-right:12px}.drv-btn{font-size:.95rem}}@media (width>=640px){.drv-sheet-back{align-items:center}.drv-sheet{border-radius:16px}}.route-progress{flex-direction:column;gap:6px;display:flex}.route-progress-bar{background:var(--bg);border-radius:99px;height:6px;overflow:hidden}.route-progress-bar span{background:var(--ok);height:100%;display:block}.route-progress p{color:var(--ink-2);overflow-wrap:break-word;font-size:.85rem}.route-stop.is-ok .stop-dot{background:var(--ok)}.route-stop.is-fail .stop-dot{background:var(--err)}.route-link{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.route-link a{color:var(--accent-strong);overflow-wrap:break-word;font-weight:600}.route-actions-secondary{flex-wrap:wrap;gap:4px 12px;display:flex}.route-qr{display:none}@media print{.route-qr{align-items:center;gap:12px;font-size:.85rem;display:flex}.route-qr svg{width:110px;height:110px}.route-progress,.route-link{display:none!important}}.drv-chips .chip{white-space:normal;overflow-wrap:break-word;max-width:100%}.drv-toggle{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.drv-toggle input{width:24px;height:24px;min-height:24px;accent-color:var(--ok);flex-shrink:0;margin:2px 0 0}.drv-toggle span{overflow-wrap:break-word;flex-direction:column;gap:2px;min-width:0;display:flex}.drv-toggle small{color:var(--muted);font-size:.8rem}.svc-now{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.svc-big{color:var(--accent-strong);font-size:2rem;font-weight:700;line-height:1}.svc-learn{background:var(--bg);overflow-wrap:break-word;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.svc-bar{background:var(--line);border-radius:99px;height:6px;overflow:hidden}.svc-bar span{background:var(--accent);height:100%;display:block}.svc-mode{border:0;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin:0;padding:0;display:grid}.svc-option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.svc-option.is-on{border-color:var(--accent);background:var(--accent-soft)}.svc-option input{width:20px;height:20px;min-height:20px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.svc-option span{overflow-wrap:break-word;flex-direction:column;gap:2px;min-width:0;display:flex}.svc-option small{color:var(--ink-2);font-size:.8rem;font-weight:400}.svc-min{max-width:260px}.svc-min small{font-weight:400}@media (width>=640px){.svc-mode{grid-template-columns:repeat(2,minmax(0,1fr))}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=640px){.svc-save{align-self:flex-start;min-width:200px}}.drv-mapapp{color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-top:-4px;padding:0 4px;display:flex}.drv-mapapp .link{font-size:inherit;padding:0}.kind-tag{overflow-wrap:break-word;vertical-align:middle;border-radius:99px;align-self:flex-start;align-items:center;gap:4px;max-width:100%;padding:2px 8px;font-size:.78rem;font-weight:700;line-height:1.5;display:inline-flex}.kind-pickup{color:#6d28d9;background:#ede9fe}.kind-visit{color:#b45309;background:#fef3c7}.kind-service{color:#0f766e;background:#ccfbf1}.drv-stop-title .kind-tag{margin-bottom:4px}.kind-pick{border:0;min-width:0;margin:0;padding:0}.kind-pick legend{color:var(--ink-2);margin-bottom:6px;font-size:.875rem;font-weight:600}.kind-pick-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.kind-opt{border:1px solid var(--line-strong);cursor:pointer;overflow-wrap:break-word;border-radius:10px;align-items:center;gap:8px;min-width:0;min-height:44px;padding:6px 10px;font-size:.9rem;font-weight:600;display:flex}.kind-opt input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0;margin:0}.kind-opt.is-on{border-color:var(--accent);background:var(--accent-soft)}.setup-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.tpl-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.tpl{font:inherit;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;overflow-wrap:break-word;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:12px 14px;display:flex}.tpl small{color:var(--ink-2);font-size:.82rem}.tpl.is-on{border:2px solid var(--accent);background:var(--accent-soft)}.tpl:disabled{cursor:default}.mod-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mod{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.mod.is-on{border-color:var(--ok);background:var(--ok-soft)}.mod.is-soon{cursor:default;opacity:.75}.mod input{width:20px;height:20px;min-height:20px;accent-color:var(--ok);flex-shrink:0;margin:2px 0 0}.mod-text{overflow-wrap:break-word;flex-direction:column;gap:2px;min-width:0;display:flex}.mod-text strong{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mod-text small{color:var(--ink-2);font-size:.82rem}@media (width>=640px){.tpl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.mainnav-inner{gap:0;padding:0 4px}.mainnav-link{flex:auto;min-width:0;padding:0 6px;font-size:.82rem}}.alert-warn-soft{color:var(--warn);background:var(--warn-soft);border-radius:10px;padding:10px 12px}.wrap-row{flex-wrap:wrap;gap:8px}.check-row{cursor:pointer;align-items:center;gap:10px;font-size:.9rem;display:flex}.check-row input{width:20px;height:20px;min-height:20px;accent-color:var(--accent);flex-shrink:0;margin:0}.shipment-actions{flex-wrap:wrap;gap:6px;display:flex}.shipment-actions .btn{white-space:normal;text-align:center}.undated{padding:10px 14px}.undated summary{cursor:pointer;overflow-wrap:break-word}.undated-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.undated-list li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding-top:8px;font-size:.9rem;display:flex}.undated-list .wrap{flex:200px;min-width:0}.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.proof{min-width:0;margin:0}.proof img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;display:block}.proof-signature img{object-fit:contain}.report{flex-direction:column;gap:14px;display:flex}.report section{flex-direction:column;gap:6px;display:flex}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.report-stats div{background:var(--bg);border-radius:10px;padding:8px 10px}.report-stats dt{color:var(--muted);font-size:.75rem}.report-stats dd{margin:0;font-size:1.3rem;font-weight:700}.report-stats .is-ok dd{color:var(--ok)}.report-stats .is-err dd{color:var(--err)}.report-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.report-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;padding:6px 0;font-size:.9rem;display:flex}.report-list li>span:first-child{flex:180px;min-width:0}.report-head{font-size:1.1rem}@media (width>=640px){.report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{body.printing-report *{visibility:hidden!important}body.printing-report .report,body.printing-report .report *{visibility:visible!important}body.printing-report .report{width:100%;position:absolute;top:0;left:0}body.printing-report .sheet,body.printing-report .sheet-body,body.printing-report .sheet-backdrop{max-height:none!important;box-shadow:none!important;background:0 0!important;position:static!important;overflow:visible!important;transform:none!important}}.drv-proofs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drv-proof-btn{min-height:46px;font-size:.95rem;position:relative;overflow:hidden}.drv-proof-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.drv-proof-btn.is-busy{opacity:.6}.drv-proof-count{color:var(--ok);grid-column:1/-1;font-weight:600}.drv-notice{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;text-align:center;color:#fff;background:var(--ok-solid);overflow-wrap:break-word;border-radius:12px;width:calc(100% - 32px);max-width:480px;padding:12px 14px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0f172a40}.drv-notice.is-err{background:var(--err-solid)}.sign-pad{touch-action:none;background:#fff;border:2px dashed #a3a3a8;border-radius:12px;width:100%;height:200px;display:block}.cust{background:var(--bg);min-height:100dvh}.cust-inner{flex-direction:column;gap:14px;width:100%;max-width:520px;margin:0 auto;padding:24px 16px 32px;display:flex}.cust-org{color:var(--accent-strong);overflow-wrap:break-word;font-weight:700}.cust-title{overflow-wrap:break-word}.cust-card{flex-direction:column;gap:12px;padding:16px;display:flex}.cust-row{overflow-wrap:break-word;flex-direction:column;gap:2px;min-width:0;display:flex}.cust-row strong{font-size:1.1rem}.cust-actions{flex-direction:column;gap:10px;display:flex}.cust-prefs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cust-answer{overflow-wrap:break-word;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;display:flex}.cust-answer.is-ok{border-color:var(--ok);background:var(--ok-soft)}.cust-answer.is-warn{background:var(--warn-soft);border-color:#fcd34d}.cust-foot{text-align:center}.report-list .chip{white-space:nowrap;flex-shrink:0;align-self:flex-start}.drv-top-inner{position:relative}.drv-top-inner .drv-org,.drv-top-inner .drv-title{padding-right:52px}.drv-theme{color:#f8f8f6;cursor:pointer;background:0 0;border:1px solid #4a4a52;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:8px;right:8px}.drv-theme:hover{background:#2c2c30}html[data-theme=dark] .drv-stop.is-next{box-shadow:0 4px 14px #00000080}html[data-theme=dark] .drv-fail{border-color:#7a2a24}html[data-theme=dark] .kind-tag{filter:brightness(.92)}.logo-set{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.logo-preview{background:var(--surface-2);border:1px dashed var(--line-strong);text-align:center;border-radius:12px;place-items:center;width:160px;max-width:100%;height:96px;padding:10px;display:grid}.logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.logo-actions{flex-wrap:wrap;gap:8px;display:flex}.logo-actions label.btn{cursor:pointer}.logo-actions label.btn:focus-within{outline:2px solid var(--accent);outline-offset:2px}.logo-actions .is-disabled{opacity:.6;pointer-events:none}.drv-org{align-items:center;gap:8px;min-width:0;display:flex}.drv-org span{overflow-wrap:break-word;min-width:0}.drv-logo{object-fit:contain;background:#fff;border-radius:6px;flex-shrink:0;max-width:96px;height:28px;padding:3px 6px}.cust-logo{object-fit:contain;max-width:min(200px,60%);max-height:64px;margin-bottom:8px;display:block}.drag-handle{width:40px;height:44px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;place-items:center;padding:0;display:grid}.drag-handle:hover{color:var(--ink);background:var(--hover);border-color:var(--line)}.drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}body.is-dragging,body.is-dragging *{cursor:grabbing!important}.route-stop .drag-handle{z-index:2;position:absolute;top:-9px;right:-6px}.route-stop:has(.drag-handle) .stop-main{padding-right:34px}.route-stop.is-dragged,.unassigned li.is-dragged{opacity:.35}.route-stop.drop-before:after,.route-stop.drop-after:after{content:"";background:var(--signal);height:4px;box-shadow:0 0 0 1px var(--ink);border-radius:4px;position:absolute;left:0;right:0}.route-stop.drop-before:after{top:-8px}.route-stop.drop-after:after{bottom:2px}.route.drop-into,.unassigned.drop-into{outline:3px dashed var(--ink);outline-offset:2px;background:var(--accent-soft)}.route.is-busy{opacity:.6;pointer-events:none}.unassigned li{align-items:center;gap:6px}.unassigned li .unassigned-text{flex:1}.drop-out-hint{text-align:center;border:2px dashed var(--line-strong);border-radius:10px;padding:10px 12px;font-size:.9rem;font-weight:600}.drag-ghost{z-index:200;max-width:min(320px,70vw);color:var(--on-signal);background:var(--signal);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;border-radius:10px;padding:8px 12px;font-size:.9rem;font-weight:600;position:fixed;overflow:hidden;box-shadow:0 8px 24px #00000040}@media print{.drag-handle,.drop-out-hint{display:none!important}}.fieldset{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;min-width:0;margin:0;padding:12px;display:flex}.fieldset legend{color:var(--ink-2);padding:0 6px;font-size:.875rem;font-weight:600}.needs-row{align-items:end}.needs-row .check-row{min-height:44px}.route-crew{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.route-crew .field select{min-width:0}.route-crew-text{color:var(--ink-2);overflow-wrap:break-word}@media (width<=360px){.route-crew{grid-template-columns:minmax(0,1fr)}}.mapping{flex-direction:column;gap:12px;padding:14px;display:flex}.mapping-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px 14px;display:grid}.mapping-grid select{min-width:0}.mapping-sample{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row-wrap{flex-wrap:wrap;gap:8px;display:flex}.load-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.load-item{border:1px solid var(--line);border-radius:12px;gap:10px;min-width:0;padding:10px;display:flex}.load-item.is-on{background:var(--ok-soft);border-color:#0000}.load-check{cursor:pointer;flex-direction:column;align-items:center;gap:6px;min-width:44px;display:flex}.load-check input{width:26px;height:26px;accent-color:var(--ok-solid)}.load-order{width:28px;height:28px;color:var(--on-signal);background:var(--signal);border-radius:50%;place-items:center;font-size:.85rem;font-weight:700;display:grid}.load-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}@media print{body.printing-load *{visibility:hidden!important}body.printing-load .load-print,body.printing-load .load-print *{visibility:visible!important}body.printing-load .load-print{width:100%;position:absolute;top:0;left:0}body.printing-load .sheet,body.printing-load .sheet-body,body.printing-load .sheet-backdrop{max-height:none!important;box-shadow:none!important;background:0 0!important;position:static!important;overflow:visible!important;transform:none!important}body.printing-load .load-item{break-inside:avoid}}body.no-scroll .toast{bottom:calc(96px + env(safe-area-inset-bottom))}.danger-zone{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:8px;padding-top:12px;display:flex}.danger-actions{flex-wrap:wrap;gap:8px;display:flex}.danger-actions .btn{flex:140px}.btn-danger{color:#fff;background:var(--err-solid);border-color:var(--err-solid)}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-danger-ghost{color:var(--err);border-color:var(--err-soft);background:0 0;align-self:flex-start}.btn-danger-ghost:hover:not(:disabled){background:var(--err-soft)}.map-fit-btn{color:#1c1c1e;place-items:center;display:grid}.field.is-hidden{display:none}.editor-block{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:0;margin:0;padding:12px;display:flex}.editor-block>legend{padding:0 6px;font-weight:700}.editor-block>.btn-small{align-self:flex-start}.item-edit{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.item-edit .field{min-width:0}.item-edit-top{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.item-edit-bottom{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:6px;display:grid}.item-f-dims{grid-column:1/-1}.item-remove{grid-column:1/-1;justify-self:end}@media (width>=480px){.item-edit-top{grid-template-columns:minmax(90px,1fr) minmax(0,3fr)}.item-edit-bottom{grid-template-columns:minmax(56px,.7fr) minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr) auto}.item-f-dims,.item-remove{grid-column:auto}}.svc-pick{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:6px;display:grid}.svc-opt{border:1px solid var(--line-strong);cursor:pointer;overflow-wrap:break-word;border-radius:10px;align-items:center;gap:8px;min-width:0;min-height:44px;padding:6px 10px;font-size:.9rem;font-weight:600;display:flex}.svc-opt input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0;margin:0}.svc-opt.is-on{border-color:var(--accent);background:var(--accent-soft)}.items-view{flex-direction:column;gap:4px;min-width:0;display:flex}.items-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.item-line{align-items:baseline;gap:8px;min-width:0;display:flex}.item-qty{font-variant-numeric:tabular-nums;flex-shrink:0;min-width:2.2em;font-weight:800}.item-main{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.item-desc{overflow-wrap:break-word;min-width:0;font-weight:600}.item-code{color:var(--muted);font-size:.78rem}.item-meta{color:var(--muted);overflow-wrap:break-word;font-size:.82rem}.items-view.is-compact .item-line{font-size:.88rem}.svc-chips{flex-wrap:wrap;gap:6px;display:flex}.svc-chip{background:var(--accent-soft);max-width:100%;color:var(--ink);overflow-wrap:break-word;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.svc-chip.is-done{background:var(--ok-soft,#e2f3e8);color:var(--ok,#17643a)}.svc-check{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;min-width:0;margin:0;padding:10px 12px;display:flex}.svc-check>legend{padding:0 6px;font-weight:700}.svc-check-row{cursor:pointer;align-items:center;gap:10px;min-width:0;min-height:48px;font-size:1rem;font-weight:600;display:flex}.svc-check-row input{width:26px;height:26px;accent-color:var(--ok-solid,#1e8a4c);flex-shrink:0;margin:0}.svc-check-row.is-done .svc-check-text{opacity:.7;text-decoration:line-through}.svc-check-text{overflow-wrap:break-word;min-width:0}.wx-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.wx-now{color:var(--ink-2);font-variant-numeric:tabular-nums;overflow-wrap:break-word;min-width:0;font-size:.82rem;font-weight:600}.wx-banner{background:var(--warn-soft,#fcead6);color:var(--ink);border:1px solid var(--warn-solid,#c26a06);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.wx-banner-title{margin:0;font-weight:800}.wx-banner-list{overflow-wrap:break-word;margin:0;padding-left:18px}.wx-advice{overflow-wrap:break-word;margin:0}input.upper{text-transform:uppercase}input.upper::placeholder{text-transform:none}.cust-note{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:6px;margin:0;padding:6px 10px;font-size:.88rem}.cust-link{font:inherit;text-align:left;overflow-wrap:break-word;font-weight:600}.cust-known{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.cust-known p{margin:0}.cust-head{margin:0;font-size:1rem}.cust-hist{flex-direction:column;gap:8px;display:flex}.cust-hist-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cust-hist-item{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.cust-hist-item p{margin:0}.cust-visits{overflow-wrap:break-word;margin:0;padding-left:16px}.cust-visits .is-fail{color:var(--err)}.cust-visits .is-ok{color:var(--ok)}.apikeys .mono{font-size:.92em}.apikey-fresh{border:1px solid var(--line);border-left:4px solid var(--signal);background:var(--accent-soft);border-radius:10px;flex-direction:column;gap:8px;margin:8px 0 12px;padding:12px;display:flex}.apikey-value{border:1px solid var(--line-strong);background:var(--surface);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5;display:block}.apikey-actions{flex-wrap:wrap;gap:8px;display:flex}.apikey-actions .btn{flex:140px}.apikey-new{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:8px 0 12px;display:flex}.apikey-new .field{flex:200px;margin:0}.apikey-new .btn{flex:0 auto}.apikey-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.apikey-row{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.apikey-row.is-revoked{opacity:.65}.apikey-row p{margin:0}.apikey-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.apikey-head strong{min-width:0}.apikey-row .btn-danger-ghost{margin-top:4px}.apikey-how{margin-top:12px}.apikey-how summary{cursor:pointer;font-weight:600}.apikey-eps{flex-direction:column;gap:6px;margin:6px 0;padding-left:0;list-style:none;display:flex}.apikey-eps li{overflow-wrap:break-word}.nowrap{white-space:nowrap}.cal-page{max-width:1440px}.cal-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;display:flex}.cal-cap{text-align:center;flex-basis:100%}.cal-dot{background:var(--ok-solid);border-radius:50%;width:10px;height:10px;margin-left:4px;display:inline-block}.cal-dot.lvl-busy{background:var(--signal-strong)}.cal-dot.lvl-full{background:var(--err-solid)}.cal-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.cal-grid{display:none}.cal-list{flex-direction:column;gap:12px;display:flex}.cal-day{flex-direction:column;gap:8px;padding:14px;display:flex}.cal-day.cal-over,.cal-day[data-over="1"]{outline:2px dashed var(--signal-strong)}.cal-day-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.cal-day-title{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:0;display:flex}.cal-day-title strong{text-transform:capitalize}.cal-hol{color:var(--err);overflow-wrap:break-word;max-width:100%;font-size:.75rem;font-weight:600;line-height:1.2}.cal-count{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.8rem;font-weight:700}.cal-bar{background:var(--track);border-radius:3px;height:6px;overflow:hidden}.cal-bar span{background:var(--ok-solid);border-radius:3px;height:100%;display:block}.lvl-busy .cal-bar span{background:var(--signal-strong)}.lvl-full .cal-bar span,.lvl-closed .cal-bar span{background:var(--err-solid)}.cal-warns{flex-wrap:wrap;gap:4px;display:flex}.cal-warn-dot{color:var(--warn);cursor:help;font-size:.8rem}.cal-jobs{flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.cal-job{border:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--surface);width:100%;min-width:0;min-height:36px;color:var(--ink);font:inherit;text-align:left;cursor:grab;border-radius:8px;flex-wrap:wrap;align-items:center;gap:2px 6px;padding:6px 8px;font-size:.85rem;display:flex}.cal-job:hover{background:var(--hover)}.cal-job.is-confirmed{border-left-color:var(--ok-solid)}.cal-job-name{overflow-wrap:break-word;flex:1 1 0;min-width:0;font-weight:600;line-height:1.25}.cal-job-area{color:var(--muted);flex:none;margin-left:auto;font-size:.72rem;font-weight:600;line-height:1.2}.cal-crane{flex-shrink:0}.cal-undated{flex-direction:column;order:-1;gap:10px;min-width:0;padding:14px;display:flex}.cal-undated-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cal-undated-item{flex-direction:column;gap:6px;min-width:0;display:flex}.cal-sugs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-sugs .btn{white-space:normal;text-align:left;max-width:100%}@media (width>=1180px){.cal-list{display:none}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-wd{color:var(--muted);text-transform:uppercase;padding:0 4px;font-size:.75rem;font-weight:700}.cal-cell{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;gap:6px;min-width:0;min-height:132px;padding:8px;display:flex}.cal-cell.lvl-closed{background:var(--surface-2)}.cal-cell.cal-out{opacity:.55}.cal-cell.cal-today{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.cal-cell.cal-over{outline:2px dashed var(--signal-strong);outline-offset:1px}.cal-cell-head{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding:0;display:flex}.cal-num{font-weight:800}.cal-cell-head .cal-count{margin-left:auto}.cal-cell-head .cal-hol{flex-basis:100%;order:3}.cal-cell .cal-job{gap:2px 4px;min-height:30px;padding:4px 5px;font-size:.74rem}.cal-cell .cal-job-area{display:none}.cal-undated-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.cal-more{align-self:flex-start}}@media (width>=1400px){.cal-layout{grid-template-columns:minmax(0,1fr) 300px}.cal-undated-list{display:flex}.cal-undated{order:0;max-height:calc(100dvh - 24px);position:sticky;top:12px;overflow-y:auto}}.menu-toggle,.mobile-menu,.mobile-menu-backdrop{display:none}@media (width<=759px){.mainnav,.topbar-org,.topbar-logout{display:none}.topbar-inner{justify-content:space-between}.menu-toggle{justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.mobile-menu{max-height:calc(100dvh - 64px - env(safe-area-inset-top));background:#1c1c1e;border-top:1px solid #2c2c30;flex-direction:column;padding:4px 0 12px;display:flex;overflow-y:auto}.mobile-menu-link{color:#d4d4d0;min-height:52px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:4px solid #0000;align-items:center;padding:0 20px;font-size:1.05rem;font-weight:600;display:flex}.mobile-menu-link[aria-current=page]{color:#f8f8f6;border-left-color:var(--signal);background:#26262b}.mobile-menu-foot{border-top:1px solid #2c2c30;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:14px 20px 0;display:flex}.mobile-menu-org{flex-direction:column;flex:160px;min-width:0;line-height:1.3;display:flex}.mobile-menu-org .org-name,.mobile-menu-org .org-user{white-space:normal;overflow-wrap:anywhere}.mobile-menu-backdrop{z-index:9;background:#00000059;display:block;position:fixed;inset:0}}.cal-sync-btn{flex-basis:100%;order:-1;max-width:100%}@media (width>=640px){.cal-sync-btn{flex-basis:auto;order:0}}.sync-new,.sync-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.sync-new input[readonly]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem}.sync-actions{flex-wrap:wrap;gap:8px;display:flex}.sync-actions .btn{text-align:center;white-space:normal;flex:160px;justify-content:center}.sync-help ol{flex-direction:column;gap:6px;margin:8px 0;padding-left:20px;display:flex}.sync-help summary{cursor:pointer;font-weight:600}.sync-list ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sync-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.sync-row .chip{margin-left:6px}.icon{vertical-align:-.18em;flex-shrink:0;display:inline-block}.stop-dot .icon,.cal-warn-dot .icon,.cal-crane .icon{vertical-align:middle}.map-pin svg{margin:auto;display:block}.chip>.icon,.cal-warns .chip>.icon{margin-inline-end:.3em}.pill-tabs{background:var(--track);border-radius:12px;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding:4px;display:flex}.pill-tab{min-height:36px;font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;font-weight:600;display:inline-flex}.pill-tab[aria-selected=true]{color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}.fleet-alerts{flex-direction:column;gap:6px;margin:8px 0 12px;padding:0;list-style:none;display:flex}.fleet-alert{overflow-wrap:break-word;border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:.88rem;line-height:1.35;display:flex}.fleet-alert>.icon{margin-top:.15em}.fleet-alert.is-red{background:var(--err-soft,#fde8e6);color:var(--err,#a3261b)}.fleet-alert.is-amber{background:var(--warn-soft,#fdf0cf);color:var(--warn,#7a5300)}.fleet-alert .link{color:inherit;text-align:left;white-space:normal;padding:0;font-weight:700;display:inline}.fleet-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 8px;display:grid}@media (width>=640px){.fleet-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.fleet-stat{background:var(--bg);border-radius:10px;min-width:0;padding:10px 12px}.fleet-stat dt{color:var(--ink-2);font-size:.75rem}.fleet-stat dd{overflow-wrap:break-word;margin:2px 0 0;font-weight:700}.kv{gap:4px;margin:12px 0 0;display:grid}.kv-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:6px 0;font-size:.9rem;display:flex}.kv-row dt{color:var(--ink-2)}.kv-row dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.fleet-toolbar{justify-content:flex-end;margin-bottom:8px;display:flex}.fleet-form{flex-direction:column;gap:10px;margin-bottom:12px;padding:12px;display:flex}.fleet-form-actions,.fleet-record-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fleet-form-actions{justify-content:flex-end}.fleet-record-actions{margin-top:6px}.fleet-record .chip{margin:4px 0}.photo-pick{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.photo-pick-preview{display:inline-block;position:relative}.photo-pick-preview img{object-fit:cover;border-radius:8px;width:72px;height:72px;display:block}.photo-pick-preview .btn-icon{position:absolute;top:-8px;right:-8px}.photo-overlay{z-index:200;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.photo-overlay img{border-radius:8px;max-width:100%;max-height:100%}.photo-overlay .btn-icon{position:absolute;top:12px;right:12px}.chip-btn{cursor:pointer;font:inherit;border:0;font-size:.75rem;font-weight:600}.drv-fleet{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.drv-fleet .h3{overflow-wrap:break-word}.drv-fleet-status{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.92rem;list-style:none;display:flex}.drv-fleet-status .is-ok{color:var(--ok);font-weight:600}.drv-fleet-status .is-todo{color:var(--warn);font-weight:600}.drv-fleet-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drv-fleet-actions .drv-btn{white-space:normal;text-align:center;min-width:0}.drv-check{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.drv-check li{justify-content:space-between;align-items:center;gap:10px;display:flex}.drv-check-btns{flex:none;grid-template-columns:repeat(2,auto);gap:6px;display:grid}.drv-check-btns .drv-reason{white-space:nowrap;min-height:40px;padding:4px 10px;font-size:.85rem}@media (width<=340px){.drv-check-btns .drv-reason{padding:4px 7px;font-size:.8rem}}.drv-reason.is-bad.is-on{color:#fff;background:var(--err);border-color:var(--err)}.drv-proof-btn,.drv-fleet-actions .drv-btn{gap:6px;padding-left:8px;padding-right:8px}@media (width<=340px){.drv-proof-btn,.drv-fleet-actions .drv-btn{gap:4px;padding-left:6px;padding-right:6px;font-size:.88rem}}.h4{overflow-wrap:break-word;font-size:1rem;font-weight:700}.text-err{color:var(--err)}.page-tabs{margin-bottom:4px}.field-inline{margin:0}.field-inline input{min-width:0;max-width:180px}.checklist-inline{flex-flow:wrap}.checklist-inline legend{width:100%}.checklist-inline .check{min-height:44px;padding:6px 12px}.news-body{white-space:pre-line;overflow-wrap:break-word}.seg{background:var(--track);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.seg-btn{min-height:44px;font:inherit;color:var(--ink-2);cursor:pointer;overflow-wrap:break-word;background:0 0;border:0;border-radius:9px;padding:0 8px;font-weight:600}.seg-btn.is-on{color:var(--strong-fg);background:var(--strong-bg)}.staff-link{flex-direction:column;gap:8px;margin-top:14px;padding:14px;display:flex}.staff-link-ready{background:var(--accent-soft);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.staff-link-url{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.sched-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sched-nav{align-items:center;gap:8px;min-width:0;display:flex}.sched-title{text-align:center;min-width:0}.sched-actions .btn{flex:auto}.sched-table-wrap{display:none}.sched-table{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%}.sched-table th{text-align:left;vertical-align:bottom;padding:4px;font-size:.8rem;font-weight:600}.sched-table thead th.is-closed{color:var(--muted)}.sched-name-col{width:170px}.sched-dh,.sched-dj,.sched-pn,.sched-pr{overflow-wrap:break-word;display:block}.sched-dj,.sched-pr{color:var(--muted);font-size:.75rem;font-weight:500}.sched-table tbody th{vertical-align:middle}.sched-table td{vertical-align:top;padding:0}.sched-cell{width:100%;min-height:52px;font:inherit;text-align:left;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;overflow-wrap:anywhere;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;font-size:.8rem;display:flex}.sched-cell:hover{border-color:var(--line-strong)}.sched-main{font-weight:700;line-height:1.25}.sched-sub{color:var(--muted);font-size:.72rem;line-height:1.25}.sched-warn{color:var(--warn);font-weight:600}.sched-cell.is-vehicle{background:var(--accent-soft);border-color:var(--signal)}.sched-cell.is-off{color:var(--muted);background:var(--track)}.sched-cell.is-leave{color:var(--info);background:var(--info-soft);border-color:#0000}.sched-cell.is-none{color:var(--muted);border-style:dashed}.sched-day-tabs{background:var(--track);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:4px;display:grid}.sched-day-tab{min-width:0;min-height:48px;font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;flex-direction:column;align-items:center;padding:4px 0;font-size:.78rem;font-weight:700;display:flex}.sched-day-tab.is-closed{color:var(--muted)}.sched-day-tab[aria-selected=true]{color:var(--strong-fg);background:var(--strong-bg)}.sched-day-date{font-size:.7rem;font-weight:500}.sched-day-info{margin:10px 0 2px}.sched-row{align-items:center}.sched-row .sched-cell{flex:none;width:min(48%,220px)}@media (width<=340px){.sched-day-tab{font-size:.7rem}.sched-day-date{font-size:.62rem}}@media (width>=1100px){.sched-table-wrap{display:block}.sched-days{display:none}}.staff-self .card{padding:14px}.staff-clock{flex-direction:column;gap:8px;display:flex}.staff-clock-state{color:var(--muted);font-size:1.15rem;font-weight:700}.staff-clock-state.is-on{color:var(--ok)}.staff-clock .drv-btn{min-height:60px;font-size:1.1rem;font-weight:700}.staff-sec{flex-direction:column;gap:10px;display:flex}.staff-news,.staff-sched,.staff-leaves,.staff-hours{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.staff-news-item{border:1px solid var(--line);overflow-wrap:break-word;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.staff-news-item.is-new{background:var(--accent-soft);border-color:var(--signal)}.staff-sched-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(84px,auto) minmax(0,1fr);align-items:start;gap:10px;padding:8px 10px;display:grid}.staff-sched-row.is-today{border-color:var(--signal);background:var(--accent-soft)}.staff-sched-row.is-off,.staff-sched-row.is-leave{color:var(--muted)}.staff-sched-day{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.staff-sched-what{overflow-wrap:break-word;flex-direction:column;min-width:0;display:flex}.staff-leave{border:1px solid var(--line);overflow-wrap:break-word;border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.staff-leave-form{flex-direction:column;gap:10px;display:flex}.staff-hours li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:6px 0;display:flex}.staff-hours li>:first-child{flex:auto;min-width:0}
