/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}.text-justify{text-align:justify}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#101820;--panel:#17212be0;--panel-solid:#17212b;--line:#e8edf21a;--text:#e8edf2;--muted:#8a98a6;--accent:#f5b82e;--warn:#ff6b6b;--radius:10px;--radius-sm:6px;--shadow:0 12px 40px #00000073;--font-sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif}.view--light{--bg:#eef1f4;--panel:#ffffffe6;--panel-solid:#fff;--line:#1018201a;--text:#101820;--muted:#5b6875;--shadow:0 12px 40px #1018202e}body,html{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map{position:absolute;inset:0}.view{inset:0 0 var(--bar-h,0) 0;background:var(--bg);color:var(--text);position:fixed;inset-inline-start:var(--rail-w,0);overflow:hidden}.topbar{z-index:5;top:12px;align-items:center;gap:8px;display:flex;position:absolute;inset-inline-end:52px}.topbar__note{border-radius:var(--radius-sm);color:var(--muted);padding:6px 10px}.btn,.topbar__note{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn{border:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:7px 12px;transition:background .12s,border-color .12s}.btn:hover{border-color:#f5b82e99}.btn--primary{background:var(--accent);color:#1a1200;border-color:#0000;font-weight:600}.btn--primary:disabled{opacity:.6;cursor:progress}.btn--ghost{background:var(--panel)}.btn--ghost.is-active{border-color:var(--accent);color:var(--accent)}.btn--icon{place-items:center;width:36px;height:36px;padding:0;font-size:13px;display:grid}.panel{top:12px;overscroll-behavior:contain;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);width:360px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:4;inset-inline-start:12px;flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute;bottom:168px;overflow-y:auto}.panel__back{color:var(--muted);text-decoration:none}.panel__back:hover{color:var(--text)}.panel__title{letter-spacing:-.01em;margin:4px 0 0;font-size:20px;font-weight:700}.panel__meta{color:var(--muted);align-items:center;gap:10px;margin:4px 0 0;display:flex}.chip{border:1px solid var(--line);color:var(--text);border-radius:999px;padding:2px 8px;font-size:12px}.chip--published,.chip--solved,.chip--stop-delivered{color:#3ddc97;border-color:#3ddc9780}.chip--failed,.chip--stop-failed{color:var(--warn);border-color:#ff6b6b80}.chip--solving,.chip--stop-arrived{color:var(--accent);border-color:#f5b82e80}.chip--stop-skipped{color:var(--muted)}.kpis{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:10px 12px;margin:0;padding:12px 0;display:grid}.kpis dt{color:var(--muted);font-size:12px}.kpis dd{margin:0;font-size:18px;font-weight:700}.kpis dd small{color:var(--muted);font-size:12px;font-weight:500}.kpis dd.is-warn{color:var(--warn)}.empty{color:var(--muted);gap:12px;padding:12px 0;display:grid}.empty p{margin:0}.empty__error{color:var(--warn)}.tours{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tour{border-radius:var(--radius-sm);border:1px solid #0000;transition:border-color .12s,background .12s}.tour.is-selected{border-color:var(--tour)}@supports (color:color-mix(in lab,red,red)){.tour.is-selected{border-color:color-mix(in srgb,var(--tour) 55%,transparent)}}.tour.is-selected{background:var(--tour)}@supports (color:color-mix(in lab,red,red)){.tour.is-selected{background:color-mix(in srgb,var(--tour) 8%,transparent)}}.tour.is-hidden .tour__main{opacity:.4}.tour__row{align-items:stretch;display:flex}.tour__main{text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:1;grid-template-rows:auto auto;grid-template-columns:12px 1fr;align-items:center;column-gap:10px;padding:8px 10px;display:grid}.tour__main:hover{background:var(--tour)}@supports (color:color-mix(in lab,red,red)){.tour__main:hover{background:color-mix(in srgb,var(--tour) 10%,transparent)}}.tour__swatch{background:var(--tour);width:12px;height:12px;box-shadow:0 0 0 3px var(--tour);border-radius:50%;grid-row:1/3}@supports (color:color-mix(in lab,red,red)){.tour__swatch{box-shadow:0 0 0 3px color-mix(in srgb,var(--tour) 25%,transparent)}}.tour__label{font-weight:600}.tour__stats{color:var(--muted);gap:12px;font-size:12px;display:flex}.tour__eye{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:0 10px}.tour__eye:hover{color:var(--text)}.stops{gap:2px;margin:0 0 6px;padding:0 6px 0 32px;list-style:none;display:grid}.stop{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:24px 1fr auto auto;align-items:center;gap:8px;width:100%;padding:4px 6px;display:grid}.stop.is-selected,.stop:hover{background:var(--tour)}@supports (color:color-mix(in lab,red,red)){.stop.is-selected,.stop:hover{background:color-mix(in srgb,var(--tour) 14%,transparent)}}.stop.is-done{color:var(--muted)}.stop__seq{border:1.5px solid var(--tour);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.stop.is-done .stop__seq{background:var(--tour);color:#0b1016}.stop__time,.stop__what small{color:var(--muted)}.unassigned h2{color:var(--warn);margin:0 0 6px;font-size:14px}.unassigned ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.unassigned li{color:var(--muted);grid-template-columns:auto 1fr;gap:10px;display:grid}.unassigned li span:first-child{color:var(--text);font-weight:600}.stop-badge{border:2px solid var(--tour);background:var(--panel-solid);width:22px;height:22px;color:var(--text);font:700 11px/1 var(--font-sans);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:transform .12s,opacity .12s;display:grid;box-shadow:0 2px 8px #00000080}.stop-badge.is-selected,.stop-badge:hover{z-index:2;transform:scale(1.35)}.stop-badge.is-done{background:var(--tour);color:#0b1016}.stop-badge.is-dim{opacity:.25}.stop-badge.is-hidden{display:none}.stop-badge--depot{background:var(--tour);color:#0b1016;border-radius:6px;width:28px;height:28px;font-size:12px}.vehicle-dot{background:var(--tour);width:16px;height:16px;box-shadow:0 0 0 6px var(--tour),0 2px 8px #0009;border:2px solid #fff;border-radius:50%;position:relative}@supports (color:color-mix(in lab,red,red)){.vehicle-dot{box-shadow:0 0 0 6px color-mix(in srgb,var(--tour) 30%,transparent),0 2px 8px #0009}}.vehicle-dot.is-live{animation:vehicle-pulse 2s ease-out infinite}.vehicle-dot__label{white-space:nowrap;color:#fff;pointer-events:none;background:#0b1016d9;border-radius:999px;padding:3px 6px;font-size:11px;line-height:1;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.vehicle-dot__label:empty{display:none}@keyframes vehicle-pulse{0%{box-shadow:0 0 0 6px color-mix(in srgb,var(--tour) 30%,transparent),0 2px 8px #0009}70%{box-shadow:0 0 0 14px color-mix(in srgb,var(--tour) 0%,transparent),0 2px 8px #0009}to{box-shadow:0 0 0 6px color-mix(in srgb,var(--tour) 30%,transparent),0 2px 8px #0009}}.stopcard{border-radius:var(--radius);background:var(--panel);border:1px solid var(--tour);inset-inline-end:12px;width:280px;padding:14px 16px;position:absolute;top:64px}@supports (color:color-mix(in lab,red,red)){.stopcard{border:1px solid color-mix(in srgb,var(--tour) 50%,transparent)}}.stopcard{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:6}.stopcard__close{color:var(--muted);cursor:pointer;top:8px;background:0 0;border:0;font-size:18px;position:absolute;inset-inline-end:10px}.stopcard__kicker{color:var(--tour);margin:0;font-size:12px;font-weight:600}.stopcard__title{margin:2px 0 10px;font-size:18px;font-weight:700}.stopcard__facts{grid-template-columns:1fr 1fr;gap:8px 12px;margin:0 0 12px;display:grid}.stopcard__facts dt{color:var(--muted);font-size:12px}.stopcard__facts dd{margin:0;font-weight:600}.stopcard__nav{color:var(--accent);text-decoration:none}.stopcard__nav:hover{text-decoration:underline}.timeline{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:4;inset-inline:12px;grid-template-columns:auto 1fr;gap:14px;padding:12px 14px;display:grid;position:absolute;bottom:12px}.timeline__controls{flex-direction:column;align-items:flex-start;gap:8px;min-width:120px;display:flex}.timeline__clock{letter-spacing:-.01em;font-size:22px;font-weight:700}.timeline__speeds{gap:4px;display:flex}.timeline__speeds .btn{padding:3px 8px;font-size:12px}.timeline__body{gap:4px;display:grid;position:relative}.timeline__hours{height:14px;color:var(--muted);margin-left:96px;font-size:11px;position:relative}.timeline__hours span{position:absolute;transform:translate(-50%)}.timeline__bands{gap:4px;padding-left:96px;display:grid;position:relative}.band{cursor:pointer;text-align:left;background:0 0;border:0;height:16px;padding:0;transition:opacity .12s;position:relative}.band.is-dim{opacity:.3}.band__label{width:88px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;position:absolute;top:0;left:-96px;overflow:hidden}.band__bar{background:var(--tour);border-radius:3px;height:12px;position:absolute;top:2px}@supports (color:color-mix(in lab,red,red)){.band__bar{background:color-mix(in srgb,var(--tour) 28%,transparent)}}.band__bar{overflow:hidden}.band__done{background:var(--tour);opacity:.85;inset-inline-start:0}.band__done,.band__tick{height:100%;position:absolute;top:0}.band__tick{background:#1018208c;width:1.5px}.view--light .band__tick{background:#ffffffbf}.timeline__head{pointer-events:none;width:2px;margin-left:96px;top:-18px;bottom:0;transform:translate(-1px)}.timeline__head,.timeline__head:before{background:var(--accent);position:absolute}.timeline__head:before{content:"";border-radius:50%;width:10px;height:10px;top:0;left:-4px}.timeline__range{opacity:0;cursor:ew-resize;width:calc(100% - 96px);margin:0;position:absolute;inset:14px 0 -4px 96px}.timeline__range:focus-visible{opacity:1}.home{max-width:720px;margin:0 auto;padding:48px 20px}.home h1{letter-spacing:-.02em;margin:0 0 4px;font-size:28px;font-weight:800}.home__lead{color:var(--muted);margin:0 0 24px}.home ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.home a{border-radius:var(--radius);background:var(--panel-solid);border:1px solid var(--line);color:var(--text);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:grid}.home a:hover{border-color:#f5b82e99}.home a small{color:var(--muted);display:block}.home .empty{border-radius:var(--radius);border:1px dashed var(--line);padding:24px}.shell{--rail-w:224px;--bar-h:0px;min-height:100%}.shell__main{min-height:100vh;padding-inline-start:var(--rail-w);padding-bottom:var(--bar-h)}.rail{width:var(--rail-w);background:var(--panel-solid);border-inline-end:1px solid var(--line);z-index:10;top:0;bottom:0;flex-direction:column;gap:18px;padding:22px 14px 16px;display:flex;position:fixed;inset-inline-start:0}.rail__brand{gap:6px;padding:0 8px;display:grid}.wordmark{letter-spacing:-.03em;color:var(--text);font-size:22px;font-weight:800;line-height:1;text-decoration:none}.wordmark:after{content:"";border-top:2px dashed var(--accent);width:44px;margin-top:6px;display:block}.rail__org{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rail__nav{gap:2px;margin:0;padding:0;list-style:none;display:grid}.rail__link{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:10px;padding:9px 10px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex}.rail__link:hover{color:var(--text);background:#e8edf20d}.rail__link.is-active{color:var(--text);box-shadow:inset 3px 0 0 var(--accent);background:#f5b82e1f}[dir=rtl] .rail__link.is-active{box-shadow:inset -3px 0 0 var(--accent)}.rail__user{border-top:1px solid var(--line);gap:10px;margin-top:auto;padding:12px 8px 0}.rail__user,.rail__who{display:grid}.rail__who strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rail__who span{color:var(--muted);font-size:12px}.rail__actions{justify-items:start;gap:8px;display:grid}.lang{border:1px solid var(--line);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.lang button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:5px 9px;font-size:12px;font-weight:700}.lang button.is-active{color:var(--accent);background:#f5b82e24}.rail__logout{white-space:nowrap;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.page{max-width:880px;margin:0 auto;padding:48px 20px}.page h1{letter-spacing:-.02em;margin:0 0 4px;font-size:28px;font-weight:800}.page__lead{color:var(--muted);margin:0 0 24px}.page .empty{border-radius:var(--radius);border:1px dashed var(--line);padding:24px}.card{border-radius:var(--radius);background:var(--panel-solid);border:1px solid var(--line);min-width:0;padding:20px}.card h2{margin:0 0 14px;font-size:16px;font-weight:700}.form{gap:14px;display:grid}.form h1{letter-spacing:-.01em;margin:0 0 4px;font-size:20px;font-weight:700}.field{gap:5px;display:grid}.field>span{font-weight:600}.field small,.field>span{color:var(--muted);font-size:12px}.field input,.select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;padding:9px 11px;transition:border-color .12s}.field input:focus,.select:focus{border-color:var(--accent);outline:none}.field input::placeholder{color:#8a98a699}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a98a6' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;padding-inline-end:28px}[dir=rtl] .select{background-position:8px}.select:disabled{opacity:.6;cursor:not-allowed}.form .btn--primary{padding:10px 14px}.form__error{border-radius:var(--radius-sm);color:var(--warn);background:#ff6b6b1a;border:1px solid #ff6b6b59;margin:0;padding:9px 11px}.form__ok{color:var(--muted);margin:0}.form__links{justify-content:space-between;gap:12px;margin:4px 0 0;font-size:13px;display:flex}.form__links a{color:var(--muted)}.form__links a:hover{color:var(--accent)}.btn--danger:hover{color:var(--warn);border-color:#ff6b6b99}.auth{align-content:center;justify-items:stretch;gap:28px;max-width:400px;min-height:100vh;margin:0 auto;padding:48px 20px;display:grid}.auth__brand{gap:10px;display:grid}.auth__brand .wordmark{font-size:30px}.auth__brand p{color:var(--muted);margin:0;font-size:15px}.members{gap:16px;display:grid}.table{border-collapse:collapse;width:100%}.table th{text-align:start;color:var(--muted);padding:6px 8px;font-size:12px;font-weight:600}.table td,.table th{border-bottom:1px solid var(--line)}.table td{vertical-align:middle;padding:8px}.table tr:last-child td{border-bottom:0}.table__actions{text-align:end;white-space:nowrap}.table__actions .btn{margin-inline-start:6px;padding:5px 10px;font-size:12px}.invite{grid-template-columns:1fr 160px auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}@media (max-width:760px){.shell{--rail-w:0px;--bar-h:60px}.rail{width:auto;height:var(--bar-h);border-inline-end:0;border-top:1px solid var(--line);top:auto;flex-direction:row;gap:0;padding:0;inset-inline:0}.lang,.rail__brand,.rail__logout span,.rail__who{display:none}.rail__logout{padding:8px}.rail__nav{flex:1;display:flex}.rail__nav li{flex:1;min-width:0}.rail__link{text-align:center;border-radius:0;flex-direction:column;gap:3px;padding:8px 2px;font-size:10px;font-weight:600}.rail__link span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.rail__link.is-active{box-shadow:inset 0 3px 0 var(--accent)}.rail__user{border:0;align-items:center;margin:0;padding:0 8px}.rail__actions,.rail__user{display:flex}.home,.page{padding:28px 16px}.invite{grid-template-columns:1fr}.table{display:block;overflow-x:auto}.panel{top:auto;inset-inline:8px;width:auto;max-height:46vh;bottom:8px}.timeline{display:none}.topbar{inset-inline-end:48px}.stopcard{width:auto;inset-inline:8px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.page--wide{max-width:1180px}.page--wide .card{margin-bottom:16px}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}.cell--wrap{white-space:normal;max-width:320px}.crumbs{margin:0 0 8px;font-size:13px}.crumbs,.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent)}.page a:not(.btn){color:var(--text);text-underline-offset:2px;-webkit-text-decoration:underline #e8edf24d;text-decoration:underline #e8edf24d}.page a:not(.btn):hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.toolbar{justify-content:space-between;gap:12px;margin-bottom:14px}.toolbar,.toolbar__filters{flex-wrap:wrap;align-items:center;display:flex}.toolbar__filters{gap:10px}.toolbar__actions{gap:8px;display:flex}.toolbar__date,.toolbar__search input{font:inherit;color:var(--text);background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius-sm);color-scheme:dark;padding:7px 10px}.toolbar__search input{min-width:240px}.toolbar__date:focus,.toolbar__search input:focus{border-color:var(--accent);outline:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip--link{background:var(--panel-solid);padding:5px 10px;transition:border-color .12s,color .12s;color:var(--muted)!important;text-decoration:none!important}.chip--link:hover{border-color:#f5b82e99}.chip--link.is-active{border-color:var(--accent);color:var(--accent)!important}.chip--warn.is-active{border-color:#ff6b6b99;color:var(--warn)!important}.chip--new{color:var(--accent);border-color:#f5b82e80}.chip--dispatched{color:#3ddc97;border-color:#3ddc9780}.chip--cancelled{color:var(--muted)}.table-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-solid);overflow-x:auto}.table-scroll .table td,.table-scroll .table th{padding-inline:12px}.table-scroll--tall{max-height:46vh;overflow-y:auto}.table--compact td,.table--compact th{white-space:nowrap;padding:5px 8px;font-size:12px}.table tr.is-warn td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.table tr.is-error td,.table__foot{color:var(--muted)}.table__foot{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:13px;display:flex}.table__foot .btn:disabled{opacity:.5;cursor:not-allowed}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row>.field{flex:1;min-width:120px}.row--between{justify-content:space-between}.field--inline{grid-template-columns:90px auto;align-items:center;gap:6px}.field--inline input{padding:6px 8px}.field input[type=date],.field input[type=time]{color-scheme:dark}.typeahead{position:relative}.typeahead__list{z-index:5;background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);inset-inline:0;max-height:220px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;overflow-y:auto}.typeahead__list button{border-radius:var(--radius-sm);text-align:start;cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:8px;width:100%;padding:7px 9px;display:flex}.typeahead__list button:hover{background:#f5b82e1f}.typeahead__list small{color:var(--muted)}.drawer,.modal{z-index:50;display:flex;position:fixed;inset:0}.drawer__scrim{cursor:default;background:#0000008c;border:0;position:absolute;inset:0}.drawer__panel{background:var(--panel-solid);border-inline-start:1px solid var(--line);width:min(520px,100%);height:100%;box-shadow:var(--shadow);align-content:start;margin-inline-start:auto;padding:20px;position:relative;overflow-y:auto}.drawer__head{justify-content:space-between;align-items:start;gap:12px;margin-bottom:4px;display:flex}.drawer__head h2{margin:0;font-size:18px;font-weight:700}.drawer__head h2 small{color:var(--muted);font-size:12px;font-weight:500;display:block}.drawer__foot{justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.modal{justify-content:center;align-items:center;padding:16px}.modal__panel{background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);width:min(860px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);align-content:start;gap:14px;padding:20px;display:grid;position:relative;overflow-y:auto}.modal__panel--map{width:min(720px,100%)}.modal__panel--narrow{width:min(420px,100%)}.modal__note{color:var(--muted);margin:0}.pair,.stack{gap:8px;display:grid}.pair{text-align:center;justify-items:center}.pair__code{letter-spacing:.2em;margin:0;font-size:40px;font-weight:800}.steps{counter-reset:step;color:var(--muted);gap:18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.steps li:before{counter-increment:step;content:counter(step);border:1px solid var(--line);border-radius:50%;place-items:center;width:20px;height:20px;margin-inline-end:6px;font-size:11px;display:inline-grid}.steps li.is-active{color:var(--text)}.steps li.is-active:before{background:var(--accent);color:#1a1200;border-color:#0000}.steps li.is-done:before{color:#3ddc97;border-color:#3ddc97}.dropzone{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);justify-items:center;gap:12px;padding:40px 20px;transition:border-color .12s;display:grid}.dropzone.is-over{border-color:var(--accent)}.dropzone p{color:var(--text);margin:0;font-size:15px}.mapping{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 12px;display:grid}.sample summary{cursor:pointer;color:var(--muted);font-size:13px}.sample .table-scroll{margin-top:8px}.errors{color:var(--warn);margin:0;padding-inline-start:18px}.pin{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);position:relative;overflow:hidden}.pin__map{height:min(52vh,440px)}.pin__cross{pointer-events:none;width:24px;height:24px;position:absolute;top:calc(50% - 22px);left:50%;transform:translate(-50%)}.pin__cross:before{content:"";background:var(--accent);border:2px solid #1a1200;border-radius:50% 50% 50% 0;position:absolute;inset:0;transform:rotate(-45deg);box-shadow:0 6px 14px #00000080}.pin__cross:after{content:"";background:#00000080;border-radius:50%;width:8px;height:3px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.pin__bar{border-top:1px solid var(--line);background:var(--panel-solid);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.pin__coords{color:var(--muted);font-size:12px}@media (max-width:760px){.toolbar__search input{width:100%;min-width:0}.toolbar__search{flex:100%}.drawer__panel{width:100%}.modal{padding:0}.modal__panel{border-radius:0;max-height:100vh}}.weekdays{gap:3px;display:inline-flex}.weekday{border:1px solid var(--line);width:22px;height:22px;color:var(--muted);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:11px;font-weight:600;display:inline-grid}.weekday.is-on{background:var(--accent);color:#1a1200;border-color:#0000}.weekdays--edit .weekday{cursor:pointer;width:34px;height:34px;font-size:13px;transition:border-color .12s}.weekdays--edit .weekday:hover:not(:disabled){border-color:var(--accent)}.check{cursor:pointer;align-items:center;gap:8px;display:flex}.check input{accent-color:var(--accent);width:16px;height:16px}.toast{border-radius:var(--radius-sm);color:#3ddc97;border:1px solid #3ddc9780;padding:6px 10px;font-size:13px}.toast--error{color:var(--warn);border-color:#ff6b6b80}.stops-edit input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);color-scheme:dark;width:100%;min-width:0;padding:5px 7px}.stops-edit input:focus{border-color:var(--accent);outline:none}.stops-edit input[type=time]{width:96px}.stops-edit__seq{color:var(--muted);cursor:grab;font-weight:700}.stops-edit tr.is-dragging{opacity:.4}.field--tiny{grid-template-columns:64px auto}.row--nowrap{flex-wrap:nowrap}.stop-picker{gap:10px;margin-top:14px;display:grid}.panel__actions{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.panel__hint{color:var(--muted);flex-basis:100%;font-size:12px}.tour.is-over>.tour__row{outline:2px dashed var(--tour);outline-offset:2px;border-radius:var(--radius-sm)}.stop-row{align-items:center;gap:4px;display:flex}.stop-row>.stop{flex:1;min-width:0}.stop-row[draggable=true]{cursor:grab}.stop-row.is-dragging{opacity:.4}.stop-row.is-over{box-shadow:inset 0 2px 0 var(--tour)}.stop__lock{border-radius:var(--radius-sm);cursor:pointer;opacity:.55;filter:grayscale();background:0 0;border:1px solid #0000;padding:4px 6px;font-size:13px;line-height:1}.stop__lock:hover:not(:disabled){opacity:1;border-color:var(--line)}.stop__lock.is-on{opacity:1;filter:none}.stop__lock:disabled{cursor:default}.stop-badge.is-locked{box-shadow:0 0 0 3px var(--text),0 2px 8px #00000080}.checks{gap:6px;display:grid}.table tr.is-muted td{color:var(--muted)}td.warn{color:var(--warn);font-weight:700}.page__lead a{color:var(--muted)}.rail__install{width:100%;color:var(--accent);border-color:#f5b82e80;margin:0 0 8px}[dir=rtl] .map,[dir=rtl] .maplibregl-map,[dir=rtl] .stop__seq,[dir=rtl] .stops-edit__seq,[dir=rtl] .timeline__hours span{direction:ltr}@media (max-width:760px){.rail__install{display:none}}[dir=rtl] :is(td,.kpis dd,.tour__stats span,.stop__time,.timeline__clock,.chip,.panel__meta span,.pin__coords,.mono){unicode-bidi:plaintext}.basemap{border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.basemap .btn{border-radius:0}.basemap .btn+.btn{border-inline-start:0}.view--satellite .panel,.view--satellite .stopcard,.view--satellite .timeline{background:#101820eb}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}