@font-face{font-family:Source Sans Variable;src:url(/fonts/source-sans-variable.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:Oswald;src:url(/fonts/oswald-variable.ttf) format("truetype");font-weight:200 700;font-style:normal;font-display:swap}:root{color-scheme:light;--bg: #f4f3f1;--surface: #ffffff;--surface-2: #f7f6f4;--surface-3: #ebe9e5;--ink: #181716;--muted: #625f5b;--faint: #7c7771;--line: #dfddda;--line-strong: #b8b4ae;--brand: #c21f17;--brand-hover: #a91a15;--brand-soft: #fbe9e8;--brand-ink: #9e1712;--ok: #157a3b;--ok-soft: #e4f4ea;--warn: #b45309;--warn-soft: #fdf1e1;--danger: #b91c1c;--danger-strong: #b91c1c;--danger-soft: #fdecec;--info: #1d4ed8;--info-soft: #e7eefd;--violet: #7c3aed;--violet-soft: #efe7fd;--wt-r: #c2410c;--wt-r-soft: #fdeee5;--wt-e: #157a3b;--wt-e-soft: #e4f4ea;--wt-c: #1d4ed8;--wt-c-soft: #e7eefd;--shadow-1: 0 1px 2px rgba(20, 24, 28, .06), 0 1px 1px rgba(20, 24, 28, .04);--shadow-2: 0 10px 30px rgba(20, 24, 28, .12), 0 2px 6px rgba(20, 24, 28, .06);--shadow-3: 0 24px 60px rgba(20, 24, 28, .22);--focus: 0 0 0 3px rgba(200, 32, 26, .28);--r-panel: 14px;--r-control: 10px;--r-badge: 7px;--font: "Source Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--appbar-h: 64px;--bottomnav-h: 64px}:root[data-theme=dark]{color-scheme:dark;--bg: #11100f;--surface: #1c1b1a;--surface-2: #252321;--surface-3: #302d2a;--ink: #f5f4f2;--muted: #aaa6a1;--faint: #737c86;--line: #363330;--line-strong: #4a4540;--brand: #d42c22;--brand-hover: #e2372d;--brand-soft: #3a1715;--brand-ink: #ff8a82;--ok: #4ade80;--ok-soft: #12301f;--warn: #f5a524;--warn-soft: #36270f;--danger: #f87171;--danger-strong: #c62828;--danger-soft: #3a1818;--info: #7aa2ff;--info-soft: #172442;--violet: #a78bfa;--violet-soft: #231a33;--wt-r: #fb8a4c;--wt-r-soft: #3a2012;--wt-e: #4ade80;--wt-e-soft: #12301f;--wt-c: #7aa2ff;--wt-c-soft: #172442;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 12px 32px rgba(0, 0, 0, .45);--shadow-3: 0 24px 60px rgba(0, 0, 0, .6);--focus: 0 0 0 3px rgba(226, 55, 45, .45)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--brand-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}h1,h2,h3,h4{font-stretch:112%;letter-spacing:-.01em;line-height:1.15}.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pop-in{0%{transform:translateY(6px) scale(.985);opacity:0}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.app{min-height:100vh;background:var(--bg);color:var(--ink)}.appbar{position:sticky;top:0;z-index:900;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.appbar-inner{max-width:1440px;margin:0 auto;height:var(--appbar-h);padding:0 24px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:14px;min-width:0;flex-shrink:0}.brand-logo{height:40px;width:auto;display:block}.brand-divider{width:2px;height:30px;background:var(--brand);border-radius:2px}.brand-name{font-size:19px;font-weight:800;font-stretch:125%;letter-spacing:.02em;line-height:1}.brand-sub{font-size:12px;color:var(--muted);margin-top:3px}.nav{display:flex;align-items:center;gap:2px;flex:1;min-width:0;height:100%}.nav-tab{position:relative;display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 14px;border:none;background:transparent;color:var(--muted);font-size:14.5px;font-weight:560;cursor:pointer;white-space:nowrap;transition:color .15s ease}.nav-tab:hover{color:var(--ink)}.nav-tab[aria-selected=true]{color:var(--ink);font-weight:680}.nav-tab[aria-selected=true]:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--brand)}.nav-tab[aria-selected=true] svg{color:var(--brand)}.nav-tab:focus-visible{outline-offset:-4px}.appbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:900;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-top:1px solid var(--line)}.bottomnav .nav-tab{flex-direction:column;justify-content:center;gap:3px;padding:0 2px;font-size:11.5px;min-width:0}.bottomnav .nav-tab[aria-selected=true]:after{top:-1px;bottom:auto;left:28%;right:28%;border-radius:0 0 3px 3px}.main{max-width:1440px;margin:0 auto;padding:24px 24px 64px}.main.has-bottomnav{padding:14px 12px calc(var(--bottomnav-h) + 28px + env(safe-area-inset-bottom,0px))}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-title{margin:0;font-size:26px;font-weight:760;font-stretch:118%}.page-sub{margin:4px 0 0;color:var(--muted);font-size:14px}.btn{--btn-bg: var(--surface);--btn-fg: var(--ink);--btn-bd: var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--r-control);border:1px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);font-size:14px;font-weight:620;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--faint)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.48}.btn svg{flex-shrink:0}.btn-primary{--btn-bg: var(--brand);--btn-fg: #fff;--btn-bd: var(--brand);box-shadow:0 1px #ffffff2e inset,0 1px 2px #780c0840}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn-dark{--btn-bg: var(--ink);--btn-fg: var(--surface);--btn-bd: var(--ink)}.btn-dark:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 86%,var(--surface));border-color:transparent}.btn-ghost{--btn-bg: transparent;--btn-bd: transparent;--btn-fg: var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:transparent;color:var(--ink)}.btn-danger{--btn-bg: var(--danger-strong);--btn-fg: #fff;--btn-bd: var(--danger-strong)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger-strong) 88%,#000);border-color:transparent}.btn-wa{--btn-bg: #147a3c;--btn-fg: #fff;--btn-bd: #147a3c}.btn-wa:hover:not(:disabled){background:#106a33;border-color:#106a33}.btn-soft-danger{--btn-bg: transparent;--btn-bd: transparent;--btn-fg: var(--muted)}.btn-soft-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn-sm{min-height:32px;padding:0 11px;font-size:13px;gap:6px;border-radius:8px}.btn-lg{min-height:48px;padding:0 22px;font-size:15.5px;font-weight:680}.btn-block{width:100%}.icon-btn{padding:0;width:40px;min-width:40px}.btn-sm.icon-btn{width:32px;min-width:32px}.btn-group{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.btn-group .btn{min-height:34px;border-color:transparent;background:transparent}.btn-group .btn:hover:not(:disabled){background:var(--surface);border-color:transparent;box-shadow:var(--shadow-1)}.toolbar-sep{width:1px;align-self:stretch;background:var(--line);margin:4px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-1)}.panel-pad{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line)}.panel-title{margin:0;font-size:17px;font-weight:740;display:flex;align-items:center;gap:10px}.panel-sub{margin:2px 0 0;font-size:13px;color:var(--muted)}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.label{display:block;font-size:12.5px;font-weight:650;color:var(--muted);margin-bottom:7px}.input,.select,.textarea{width:100%;min-height:42px;padding:0 12px;border-radius:var(--r-control);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:15px;transition:border-color .15s ease,box-shadow .15s ease}.textarea{padding:10px 12px;min-height:120px;resize:vertical;line-height:1.5}.input:hover,.select:hover,.textarea:hover{border-color:var(--faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.input-sm{min-height:32px;font-size:14px;padding:0 8px;border-radius:8px}.segmented{display:inline-flex;gap:3px;padding:3px;border-radius:12px;background:var(--surface-3);max-width:100%}.segment{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:none;border-radius:9px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;min-width:0;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.segment:hover{color:var(--ink)}.segment[aria-selected=true],.segment[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1),0 0 0 1px var(--line)}.segment-meta{font-size:12px;font-weight:560;color:var(--faint)}.segmented.full{display:flex;width:100%}.segmented.full .segment{flex:1}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:650;white-space:nowrap;background:var(--surface-3);color:var(--muted)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-brand{background:var(--brand-soft);color:var(--brand-ink)}.badge-violet{background:var(--violet-soft);color:var(--violet)}.wt-R{--wt: var(--wt-r);--wt-soft: var(--wt-r-soft)}.wt-E{--wt: var(--wt-e);--wt-soft: var(--wt-e-soft)}.wt-C{--wt: var(--wt-c);--wt-soft: var(--wt-c-soft)}.badge-wt{background:var(--wt-soft, var(--surface-3));color:var(--wt, var(--muted))}.dot{width:8px;height:8px;border-radius:50%;background:var(--wt, var(--faint));flex-shrink:0}.callout{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);font-size:14px}.callout>svg{flex-shrink:0;margin-top:1px}.callout-body{flex:1;min-width:0}.callout-title{font-weight:700;margin:0 0 2px}.callout-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.callout-warn>svg{color:var(--warn)}.callout-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.callout-danger>svg{color:var(--danger)}.callout-ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.callout-ok>svg{color:var(--ok)}.callout-info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.callout-info>svg{color:var(--info)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:40px 20px;color:var(--muted)}.empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--surface-3);color:var(--muted);margin-bottom:6px}.empty-title{margin:0;font-size:16px;font-weight:720;color:var(--ink)}.empty-text{margin:0;font-size:14px;max-width:44ch}.skeleton{border-radius:10px;background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.toasts{position:fixed;right:20px;bottom:20px;z-index:1200;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none;max-width:min(420px,calc(100vw - 24px))}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border-radius:12px;background:var(--ink);color:var(--surface);box-shadow:var(--shadow-2);font-size:14px;line-height:1.4;animation:toast-in .2s ease-out;width:100%}.toast-icon{flex-shrink:0;margin-top:1px}.toast-success .toast-icon{color:#4ade80}.toast-warning .toast-icon{color:#fbbf24}.toast-error .toast-icon{color:#f87171}:root[data-theme=dark] .toast{background:#f1f3f5;color:#181716}:root[data-theme=dark] .toast-success .toast-icon{color:#15803d}:root[data-theme=dark] .toast-warning .toast-icon{color:#b45309}:root[data-theme=dark] .toast-error .toast-icon{color:#b91c1c}.toast-msg{flex:1;min-width:0;padding-top:1px}.toast-action{flex-shrink:0;align-self:center;min-height:28px;padding:0 10px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:8px;background:transparent;color:inherit;font-size:13px;font-weight:700;cursor:pointer}.toast-action:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.toast-close{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:inherit;opacity:.6;cursor:pointer}.toast-close:hover{opacity:1;background:color-mix(in srgb,currentColor 14%,transparent)}.has-bottomnav-toasts{left:12px;right:12px;bottom:calc(var(--bottomnav-h) + 12px + env(safe-area-inset-bottom,0px));align-items:stretch;max-width:none}.busy-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:1300;overflow:hidden;background:color-mix(in srgb,var(--brand) 18%,transparent)}.busy-bar:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:var(--brand);animation:busy-slide 1.1s ease-in-out infinite}@keyframes busy-slide{0%{left:-40%}to{left:100%}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:16px;background:#0a0c0e6b;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fade-in .15s ease-out}.busy-card{display:flex;align-items:center;gap:14px;padding:16px 22px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-3);font-weight:620}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--brand);animation:spin .8s linear infinite;flex-shrink:0}.spinner-sm{width:16px;height:16px;border-width:2px}.dialog{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:18px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-3);animation:pop-in .18s ease-out}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 0}.dialog-title{margin:0;font-size:20px;font-weight:760}.dialog-body{padding:14px 22px 4px}.dialog-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:16px 22px 20px}.menu{min-width:220px;padding:6px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-2);z-index:1000;animation:pop-in .12s ease-out}.menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 10px;border:none;border-radius:8px;background:transparent;color:var(--ink);font-size:14px;text-align:left;text-decoration:none;cursor:pointer}.menu-item svg{color:var(--muted);flex-shrink:0}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2);outline:none}.menu-item.danger{color:var(--danger)}.menu-item.danger svg{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.kbd{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:7px;border:1px solid var(--line-strong);border-bottom-width:2px;background:var(--surface-2);color:var(--ink);font:650 12.5px/1 var(--font)}.menu-label{padding:8px 10px 4px;font-size:12px;font-weight:650;color:var(--faint)}.menu-sep{height:1px;background:var(--line);margin:6px 4px}.planner{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr) auto;align-items:start;gap:18px;padding:18px 20px}.planner-cta{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding-top:25px;min-width:220px}.planner-hint{font-size:12px;color:var(--muted);text-align:center}.date-field{position:relative}.date-field .input{padding-left:40px}.date-field>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.date-caption{margin-top:6px;font-size:12.5px;color:var(--muted);min-height:18px}.date-caption strong{color:var(--ink);font-weight:650}.clients-field{display:flex;align-items:stretch;gap:8px}.drop-zone{flex:1;display:flex;align-items:center;gap:12px;min-height:42px;padding:0 14px;border-radius:var(--r-control);border:1.5px dashed var(--line-strong);background:var(--surface-2);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background-color .15s ease;min-width:0}.drop-zone:hover,.drop-zone.is-over{border-color:var(--brand);background:var(--brand-soft)}.drop-zone:focus-within{border-color:var(--brand);box-shadow:var(--focus)}.drop-zone.is-loaded{border-style:solid;border-color:var(--line);background:var(--surface)}.drop-zone svg{color:var(--muted);flex-shrink:0}.drop-zone .count{font-size:18px;font-weight:780;font-stretch:118%}.drop-zone .meta{color:var(--muted);font-weight:500;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-cell{padding:14px 20px;border-left:1px solid var(--line);min-width:0}.summary-cell:first-child{border-left:none}.summary-label{font-size:12.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}.summary-value{margin-top:2px;font-size:28px;font-weight:780;font-stretch:122%;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.summary-unit{font-size:14px;font-weight:600;color:var(--muted);margin-left:3px;font-stretch:100%}.meter{margin-top:8px;height:6px;border-radius:6px;background:var(--surface-3);overflow:hidden;display:flex}.meter>span{display:block;height:100%}.route-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}@media (min-width: 1180px){.route-layout{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.route-layout .map-col{position:sticky;top:calc(var(--appbar-h) + 16px)}}.map-frame{overflow:hidden;border-radius:var(--r-panel);border:1px solid var(--line);background:var(--surface-3);box-shadow:var(--shadow-1)}.tiles-light{filter:saturate(.5) contrast(1.02) brightness(1.02)}.tiles-dark{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.88) saturate(.35)}.leaflet-container{font-family:var(--font);background:var(--surface-3)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2)}.leaflet-popup-content-wrapper{border-radius:12px}.leaflet-popup-content{font-size:13.5px;line-height:1.5}.leaflet-bar a,.leaflet-bar a:hover{background:var(--surface);color:var(--ink);border-color:var(--line)}.map-frame .leaflet-container{font-family:var(--font)}.legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:12px;height:12px;border-radius:4px}.stops-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.stops{padding:10px 12px 12px}.stop{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 10px 10px 8px;margin-bottom:6px;border-radius:12px;border:1px solid var(--line);background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.stop:hover{border-color:var(--line-strong)}.stop.is-dragging{box-shadow:var(--shadow-3);border-color:var(--brand);background:var(--surface)}.stop.is-highlighted{border-color:var(--wt, var(--brand));box-shadow:0 0 0 3px color-mix(in srgb,var(--wt, var(--brand)) 22%,transparent)}.stop.is-flashing{animation:stop-flash 1.2s ease-out}@keyframes stop-flash{0%,30%{box-shadow:0 0 0 5px color-mix(in srgb,var(--wt, var(--brand)) 45%,transparent)}to{box-shadow:0 0 0 0 transparent}}.stop.warn-yellow{background:linear-gradient(90deg,var(--warn-soft),var(--surface) 55%);border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.stop.warn-red{background:linear-gradient(90deg,var(--danger-soft),var(--surface) 55%);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.stop-handle{display:flex;align-items:center;gap:8px;cursor:grab;border-radius:8px;padding:2px;color:var(--faint)}.stop-handle:active{cursor:grabbing}.stop-plate{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--wt, var(--ink));color:#fff;font-size:16px;font-weight:800;font-stretch:120%;font-variant-numeric:tabular-nums;box-shadow:inset 0 -2px #0000002e}:root[data-theme=dark] .stop-plate{color:#11100f}.stop-time{font-size:12px;font-weight:650;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.1;text-align:center;min-width:34px}.stop-main{min-width:0}.stop-address{font-size:15px;font-weight:640;line-height:1.3;overflow-wrap:anywhere}.stop-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:4px;font-size:12.5px;color:var(--muted)}.stop-meta .sep{width:3px;height:3px;border-radius:50%;background:var(--faint)}.stop-actions{display:flex;align-items:center;gap:4px}.qty{display:inline-flex;align-items:center;height:32px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);overflow:hidden}.qty input{width:42px;height:100%;border:none;background:transparent;text-align:center;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty input:focus{outline:none}.qty:focus-within{border-color:var(--brand);box-shadow:var(--focus)}.qty-unit{padding-right:9px;font-size:12px;color:var(--muted)}.stop-empty{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:6px 10px 6px 8px;margin-bottom:6px;border-radius:12px;border:1.5px dashed var(--line-strong);background:transparent;color:var(--faint);font-size:13px}.stop-empty .stop-time{color:var(--faint)}.chip{--chip-active: var(--ink);display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font-size:12.5px;font-weight:580;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.chip:hover:not(:disabled){border-color:var(--faint);color:var(--ink)}.chip[aria-pressed=true]{background:var(--chip-active);border-color:transparent;color:var(--surface);font-weight:700}.chip:disabled{cursor:default;opacity:.6}.segment-count{height:20px;padding:0 7px}.orders{gap:16px}.orders-panel{overflow:hidden}.orders-visits-head{display:flex;flex-wrap:wrap;gap:20px;padding:16px 20px;border-bottom:1px solid var(--line)}.orders-visits-side{flex:1;min-width:200px;gap:12px}.orders-visits{list-style:none;margin:0;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.visit-card{padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--wt, var(--line));transition:opacity .15s ease,border-color .15s ease}.visit-card.is-partial{border-color:var(--warn);border-left-color:var(--wt, var(--warn))}.visit-card.is-failed{opacity:.6}.visit-card.is-failed .visit-address{text-decoration:line-through}.visit-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.visit-address{font-size:15px;font-weight:640;overflow-wrap:anywhere}.visit-phone{font-size:12.5px;margin-top:3px}.visit-qty{display:flex;align-items:baseline;gap:5px;flex-shrink:0}.visit-qty-value{font-size:22px;font-weight:780;font-stretch:118%;line-height:1}.visit-card-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.visit-notes{font-size:13px;font-style:italic;color:var(--muted)}.visit-notes.is-warn{color:var(--warn)}.orders-kpi{color:var(--ink);font-size:18px}.th-sort{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.th-sort:hover{color:var(--ink)}.row-accent td:first-child{box-shadow:inset 4px 0 0 var(--row-accent)}.row-accent-warn{--row-accent: var(--warn)}.row-accent-info{--row-accent: var(--info)}.row-accent-violet{--row-accent: var(--violet)}.t-center{text-align:center}.nowrap{white-space:nowrap}.strong{font-weight:650}.cell-address{max-width:280px}.cell-sub{font-size:12.5px;margin-top:2px}.cell-note{font-size:13px;font-style:italic}.cell-empty{padding:30px!important}.table input.num{text-align:center}.days-warn{color:var(--warn);font-weight:750;font-size:16px}.table-wrap{position:relative;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12.5px;font-weight:650;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:hover td{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:none}.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--bg)}.auth-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:44px;background:#181716;color:#f1f3f5}.auth-art-grid{position:absolute;left:0;right:0;top:0;height:62%;width:100%;opacity:.75;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}.auth-art h1{position:relative;margin:0;max-width:13ch;font-size:clamp(34px,4.2vw,56px);font-weight:800;font-stretch:125%;line-height:1.02;letter-spacing:-.02em}.auth-art p{position:relative;max-width:40ch;margin:14px 0 0;font-size:15px;color:#b7bec6}.auth-panel{display:grid;place-items:center;padding:32px 20px}.auth-form{width:min(380px,100%)}@media (max-width: 860px){.auth-screen{grid-template-columns:1fr}.auth-art{display:none}}@media (max-width: 1180px){.planner{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-cta{grid-column:1 / -1;padding-top:0}}@media (max-width: 1080px){.nav-tab{padding:0 10px}.brand-text,.brand-divider{display:none}}@media (max-width: 639px){html,body{font-size:15px}.appbar-inner{padding:0 12px;height:56px;gap:10px}.brand-logo{height:34px}.page-title{font-size:22px}.planner{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px}.panel-pad{padding:14px}.panel-head{padding:12px 14px}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-cell{padding:12px 14px}.summary-cell:nth-child(3){border-left:none}.summary-cell:nth-child(n+3){border-top:1px solid var(--line)}.summary-value{font-size:23px}.stops{padding:8px}.stop{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:10px 6px}.stop-empty{grid-template-columns:44px minmax(0,1fr) auto;gap:10px}.stop-handle{flex-direction:column;gap:3px}.stop-handle .grip{display:none}.stop-address{font-size:14px}.dialog{border-radius:18px 18px 0 0;width:100%;align-self:end;max-height:90vh}.overlay.sheet{place-items:end stretch;padding:0}.btn{min-height:42px}.btn-sm{min-height:34px}}@media screen{h1,h2,h3,h4,.page-title,.dialog-title{font-family:Oswald,sans-serif;font-weight:500!important;font-stretch:normal;letter-spacing:0}.route-sheet-paper :focus-visible{outline-color:#a91a15}}@media screen and (max-width: 768px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}.btn,.menu-item,.nav-tab{min-height:44px!important}.icon-btn{min-width:44px}}:root{--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--motion-press: .12s;--motion-control: .18s;--motion-surface: .22s}@media screen{body,.app{min-height:100dvh}h1,h2,h3,h4{font-family:Oswald,var(--font);font-weight:500;font-stretch:normal;text-wrap:balance}.appbar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.appbar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:88px;padding:20px 28px 18px;gap:20px;max-width:1376px}.brand{grid-column:1;grid-row:1;gap:24px}.brand-logo{height:52px;max-width:180px;object-fit:contain;object-position:left center}.brand-divider{height:44px;width:1px;background:var(--line)}.brand-name{font-family:Oswald,var(--font);font-weight:500;font-size:29px;line-height:1.1;letter-spacing:-.01em}.brand-sub{font-size:12px;margin-top:4px}.appbar-actions{grid-column:2;grid-row:1;gap:8px}.nav{grid-column:1 / -1;grid-row:2;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:620px;max-width:100%;height:46px;padding:4px;gap:0;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.nav:before{content:"";position:absolute;inset:4px auto 4px 4px;width:calc((100% - 8px)/5);background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 1px 3px #00000008;z-index:-1;transform:translate(calc(var(--active-section) * 100%));transition:transform var(--motion-surface) var(--ease-out)}.nav-tab{justify-content:center;font-size:14px;padding:0 12px;gap:8px;border-radius:8px}.nav-tab[aria-selected=true]:after{display:none}.nav-tab[aria-selected=true] svg{color:var(--brand-ink)}.nav-tab[aria-selected=true]{font-weight:650}.main{max-width:1376px;padding:30px 28px 64px}.page-head{align-items:center;gap:20px;margin-bottom:22px}.page-title{font-size:36px;line-height:1.15;letter-spacing:-.02em}.page-sub{margin-top:8px;max-width:68ch;font-size:15px}.panel{border-radius:16px;box-shadow:0 1px 3px #00000003}.panel-head{padding:18px 22px}.panel-title{font-size:22px;letter-spacing:-.01em}.panel-pad{padding:22px}.btn{transition:background-color var(--motion-control) var(--ease-out),border-color var(--motion-control) var(--ease-out),color var(--motion-control) var(--ease-out),box-shadow var(--motion-control) var(--ease-out),transform var(--motion-press) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{box-shadow:0 1px 2px #00000010,inset 0 1px #ffffff16}.btn,.input,.select,.textarea{border-radius:10px}.input,.select,.textarea{transition:border-color var(--motion-control) var(--ease-out),box-shadow var(--motion-control) var(--ease-out)}.segmented{padding:4px;border-radius:12px}.segment{border-radius:8px;transition:background-color var(--motion-control) var(--ease-out),color var(--motion-control) var(--ease-out)}.planner{overflow:visible;border-radius:16px}.drop-zone{border-radius:10px;transition:border-color var(--motion-control) var(--ease-out),background-color var(--motion-control) var(--ease-out)}.stops-toolbar{padding:16px 20px}.empty-title{font-family:Oswald,var(--font);font-size:24px;font-weight:500}.empty-text{max-width:48ch;text-wrap:pretty}.map-frame{border-radius:13px}.num,table,input[type=number]{font-variant-numeric:tabular-nums}.main>.stack{animation:beui-surface var(--motion-control) var(--ease-out)}.local-preview-notice{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;text-align:center}.local-preview-notice strong{color:var(--brand-ink);font-weight:650}@keyframes beui-surface{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.appbar-inner,.main{padding-inline:24px}}@media (max-width: 767px){.appbar-inner{display:flex;padding:12px 16px;min-height:74px;gap:12px}.brand-logo{height:46px;max-width:160px}.appbar-actions{margin-left:auto}.main.has-bottomnav{padding:24px 16px calc(var(--bottomnav-h) + 32px + env(safe-area-inset-bottom,0px))}.page-title{font-size:30px}.page-sub{font-size:14px;line-height:1.45}.page-head{gap:14px}.panel-head,.panel-pad{padding:16px}.panel-title{font-size:21px}.stops-toolbar{padding:14px}.bottomnav{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.bottomnav .nav-tab{border-radius:0;font-size:11px;gap:4px}.bottomnav .nav-tab[aria-selected=true]{background:var(--brand-soft);color:var(--brand-ink);box-shadow:inset 0 2px 0 var(--brand)}.bottomnav .nav-tab[aria-selected=true] svg{color:var(--brand-ink)}.local-preview-notice{font-size:11px;gap:3px;padding:7px 12px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.btn:active:not(:disabled){transform:none}}}@media screen and (max-width: 767px){.main.has-bottomnav [aria-label="Crear borrador"]{bottom:calc(var(--bottomnav-h) + 12px + env(safe-area-inset-bottom,0px))!important}}
