@font-face{font-family:alexandria;src:url(../media/Alexandria_Regular-s.p.0zwe4jjper_1f.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:alexandria;src:url(../media/Alexandria_Medium-s.p.3n881yya0siue.ttf)format("truetype");font-display:swap;font-weight:500}@font-face{font-family:alexandria;src:url(../media/Alexandria_Bold-s.p.41_j-s0sqan-u.ttf)format("truetype");font-display:swap;font-weight:700}@font-face{font-family:alexandria Fallback;src:local(Arial);ascent-override:85.29%;descent-override:22.12%;line-gap-override:0.0%;size-adjust:113.5%}._00ythW_className{font-family:alexandria,alexandria Fallback}._00ythW_variable{--font-alexandria:"alexandria", "alexandria Fallback"}
@font-face{size-adjust:110%;font-family:heebo;src:url(../media/Heebo_SemiBold-s.p.3g8na---9wuhx.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{size-adjust:110%;font-family:heebo;src:url(../media/Heebo_Bold-s.p.3d6_tokwd3e0v.ttf)format("truetype");font-display:swap;font-weight:500}@font-face{size-adjust:110%;font-family:heebo;src:url(../media/Heebo_ExtraBold-s.p.193e07_vhtpp-.ttf)format("truetype");font-display:swap;font-weight:700}@font-face{font-family:heebo Fallback;src:local(Arial);ascent-override:103.18%;descent-override:41.45%;line-gap-override:0.0%;size-adjust:101.56%}.Lrk77G_className{font-family:heebo,heebo Fallback}.Lrk77G_variable{--font-heebo:"heebo", "heebo Fallback"}
:root{--primary:#02422c;--primary-light:#0b6b47;--primary-dark:#012e1f;--primary-surface:#e8f2ec;--accent:#fdb913;--accent-surface:#fff6dd;--accent-text:#8a5a00;--success:#16a34a;--success-surface:#f0fdf4;--warning:#f59e0b;--warning-surface:#fffbeb;--error:#ef4444;--error-surface:#fef2f2;--info:#3b82f6;--info-surface:#eff6ff;--background:#f6f8f7;--surface:#fff;--surface-alt:#f1f4f2;--border:#dce5e0;--border-light:#edf2ef;--text:#0f1923;--text-2:#4b6358;--text-3:#8aa49a;--text-inverse:#fff;--overlay:#0f192373;--radius:10px;--sidebar:248px;--topbar:60px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--background);color:var(--text);font-family:var(--font-alexandria), var(--font-heebo), system-ui, sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary-light);text-decoration:none}h1,h2,h3,h4{margin:0;line-height:1.5}h1{font-size:20px;font-weight:700}h2{font-size:16px;font-weight:700}h3{font-size:15px;font-weight:500}svg.tabler-icon{flex-shrink:0}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);background:var(--surface);border-inline-end:1px solid var(--border);z-index:20;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.brand{height:var(--topbar);border-bottom:1px solid var(--border-light);align-items:center;gap:10px;padding:0 20px;display:flex}.brand-mark{background:var(--primary);width:32px;height:32px;color:var(--text-inverse);border-radius:8px;place-items:center;font-weight:700;display:grid;position:relative}.brand-mark:after{content:"";background:var(--accent);bottom:5px;border-radius:50%;width:7px;height:7px;position:absolute;inset-inline-start:5px}.brand-name{font-size:16px;font-weight:700;line-height:1.2}.brand-sub{color:var(--text-3);font-size:12px}.nav{flex:1;padding:12px 10px;overflow-y:auto}.nav-group{margin-bottom:14px}.nav-label{color:var(--text-3);letter-spacing:.02em;padding:0 10px 4px;font-size:11px;font-weight:500}.nav a{color:var(--text-2);border-radius:8px;align-items:center;gap:10px;margin-bottom:1px;padding:7px 10px;display:flex;position:relative}.nav a:hover{background:var(--surface-alt);color:var(--text)}.nav a.active{background:var(--primary-surface);color:var(--primary);font-weight:500}.nav a.active:before{content:"";inset-inline-start:-10px;background:var(--primary);border-radius:3px;width:3px;position:absolute;top:6px;bottom:6px}.nav .count{background:var(--accent);color:var(--primary);text-align:center;border-radius:999px;min-width:20px;margin-inline-start:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.sidebar-foot{border-top:1px solid var(--border-light);align-items:center;gap:10px;padding:12px;display:flex}.avatar{background:var(--primary-surface);width:34px;height:34px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.who{flex:1;min-width:0;line-height:1.3}.who div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.who small{color:var(--text-3);font-size:12px}.content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--topbar);background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:12px;padding:0 28px;display:flex;position:sticky;top:0}.crumbs{color:var(--text-3);align-items:center;gap:6px;font-size:13px;display:flex}.crumbs a{color:var(--text-2)}.crumbs strong{color:var(--text);font-weight:500}.topbar .live{color:var(--text-2);align-items:center;gap:6px;margin-inline-start:auto;font-size:12px;display:flex}.dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 3px var(--success-surface);border-radius:50%}.page{width:100%;padding:24px 32px 56px}.town-switch{border:1px solid var(--border);background:var(--surface-alt);height:40px;color:var(--primary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 4px 0 10px;display:inline-flex}.town-switch select{color:var(--text);cursor:pointer;background:0 0;border:none;height:34px;padding-inline-end:4px;font-weight:500}.town-switch select:focus{outline:none}.town-note{color:var(--text-2);background:var(--surface-alt);border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.btn.menu-btn{display:none}@media (max-width:960px){.sidebar{transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(100%);box-shadow:0 0 40px #00000026}.sidebar.open{transform:none}.btn.menu-btn{display:inline-flex}.topbar{padding:0 16px}.page{padding:16px 16px 48px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{color:var(--text-2);max-width:720px;margin:4px 0 0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-head{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-head h2{font-size:15px}.card-head p{color:var(--text-3);margin:2px 0 0;font-size:12px}.card-body{padding:18px}.card-foot{border-top:1px solid var(--border-light);background:var(--surface-alt);border-radius:0 0 var(--radius) var(--radius);justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.stack.tight{gap:8px}.grid{gap:16px;display:grid}.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.grid-main{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}@media (max-width:1100px){.grid-main{grid-template-columns:1fr}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.row.nowrap{flex-wrap:nowrap}.spacer{flex:1}.muted{color:var(--text-2)}.faint{color:var(--text-3);font-size:12px}.strong{font-weight:500}.ltr{direction:ltr;unicode-bidi:isolate}.num{white-space:nowrap;font-variant-numeric:tabular-nums}.neg{color:var(--error)}.pos{color:var(--success)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}a.kpi:hover{border-color:var(--primary-light)}.kpi-icon{background:var(--primary-surface);width:40px;height:40px;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.kpi.warn .kpi-icon{background:var(--accent-surface);color:var(--accent-text)}.kpi-label{color:var(--text-2);font-size:13px}.kpi-value{margin-top:2px;font-size:22px;font-weight:700;line-height:1.3}.kpi-hint{color:var(--text-3);font-size:12px}.task{border-bottom:1px solid var(--border-light);color:inherit;align-items:center;gap:12px;padding:12px 18px;display:flex}.task:last-child{border-bottom:none}a.task:hover{background:var(--surface-alt)}.task-icon{background:var(--surface-alt);width:34px;height:34px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.task.on .task-icon{background:var(--accent-surface);color:var(--accent-text)}.task-count{font-size:16px;font-weight:700}.btn{cursor:pointer;background:var(--primary);height:40px;color:var(--text-inverse);white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:500;display:inline-flex}.btn:hover{background:var(--primary-light)}.btn:disabled{opacity:.45;cursor:default}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.secondary:hover{background:var(--surface-alt)}.btn.accent{background:var(--accent);color:var(--primary)}.btn.accent:hover{background:#f2ae0a}.btn.danger{background:var(--error)}.btn.danger-outline{background:var(--surface);color:var(--error);border-color:#f7c6c6}.btn.danger-outline:hover{background:var(--error-surface)}.btn.ghost{color:var(--text-2);background:0 0}.btn.ghost:hover{background:var(--surface-alt);color:var(--text)}.btn.small{height:34px;padding:0 12px;font-size:14px}.btn.icon{width:40px;padding:0}.btn.small.icon{width:34px}.btn.block{width:100%}.btn.lg{height:44px;padding:0 22px;font-size:15px}.input,select.input,textarea.input{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;min-width:0;height:40px;padding:0 12px}textarea.input{resize:vertical;height:auto;min-height:72px;padding:8px 12px}.input:focus{outline:3px solid var(--primary-surface);border-color:var(--primary-light)}.input.lg{height:48px;font-size:18px}.field{flex-direction:column;gap:6px;display:flex}.field>.label{color:var(--text);font-size:13px;font-weight:500}.field>.hint{color:var(--text-3);font-size:12px}.fields{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.search{position:relative}.search svg{top:50%;color:var(--text-3);position:absolute;inset-inline-start:10px;transform:translateY(-50%)}.search .input{padding-inline-start:34px}.adorned{position:relative}.adorned .unit{color:var(--text-3);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.adorned .input{padding-right:34px}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{accent-color:var(--primary);width:16px;height:16px}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex;position:relative}.switch input{opacity:0;pointer-events:none;position:absolute}.switch .track{background:#b9c8c0;border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .15s;position:relative}.switch .track:after{content:"";top:2px;background:var(--surface);border-radius:50%;width:16px;height:16px;transition:inset-inline-start .15s;position:absolute;inset-inline-start:2px;box-shadow:0 1px 2px #0003}.switch input:checked+.track{background:var(--primary-light)}.switch input:checked+.track:after{inset-inline-start:18px}.switch input:disabled+.track{opacity:.45}.switch input:focus-visible+.track{outline:3px solid var(--primary-surface)}.segmented{background:var(--surface-alt);border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;height:28px;color:var(--text-2);white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.segmented button.active{background:var(--surface);color:var(--text);font-weight:500;box-shadow:0 1px 2px #00000014}.segmented .n{background:var(--border-light);color:var(--text-2);border-radius:999px;padding:0 6px;font-size:11px}.segmented button.active .n{background:var(--primary-surface);color:var(--primary)}.subnav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.subnav a,.subnav button{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;display:inline-flex}.subnav a.active,.subnav button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.badge{background:var(--surface-alt);color:var(--text-2);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:500;line-height:22px;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge.green{background:var(--success-surface);color:#15803d}.badge.yellow{background:var(--accent-surface);color:var(--accent-text)}.badge.red{background:var(--error-surface);color:#dc2626}.badge.blue{background:var(--info-surface);color:#2563eb}.badge.dark{background:var(--primary-surface);color:var(--primary)}.toolbar{border-bottom:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:start;border-bottom:1px solid var(--border-light);vertical-align:middle;padding:13px 16px}th{color:var(--text-2);background:var(--surface-alt);white-space:nowrap;font-size:12px;font-weight:500}tbody tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#fafcfb}tr.selected td{background:var(--primary-surface)!important}td .sub{color:var(--text-3);font-size:12px}.table-foot{border-top:1px solid var(--border-light);color:var(--text-3);padding:10px 14px;font-size:12px}.kv{grid-template-columns:140px 1fr;gap:8px 16px;display:grid}.kv dt{color:var(--text-2)}.kv dd{margin:0}.overlay{background:var(--overlay);z-index:2000;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-radius:14px;flex-direction:column;width:min(820px,100%);max-height:calc(100vh - 48px);animation:.16s ease-out pop;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000040}.drawer.wide{width:min(1100px,100%);height:calc(100vh - 48px)}@keyframes pop{0%{opacity:.4;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes slide{0%{opacity:.6;transform:translate(-24px)}to{opacity:1;transform:none}}.drawer-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:18px 24px;display:flex}.drawer-head .t{flex:1;min-width:0}.drawer-head p{color:var(--text-3);margin:2px 0 0;font-size:13px}.drawer-body{background:var(--background);flex:1;padding:24px;overflow-y:auto}.drawer-foot{border-top:1px solid var(--border);background:var(--surface-alt);justify-content:flex-end;gap:8px;padding:14px 24px;display:flex}.dialog{background:var(--surface);border-radius:12px;width:calc(100% - 32px);max-width:460px;margin:auto;box-shadow:0 20px 60px #0003}.dialog-body{padding:22px 22px 8px}.dialog-body h2{margin-bottom:6px}.dialog-body p{color:var(--text-2);margin:0 0 12px}.dialog-foot{justify-content:flex-end;gap:8px;padding:14px 22px 18px;display:flex}.toast{bottom:24px;z-index:3000;color:var(--text-inverse);background:var(--text);border-radius:10px;align-items:center;gap:8px;max-width:90vw;padding:10px 16px;display:flex;position:fixed;inset-inline-start:50%;transform:translate(50%);box-shadow:0 8px 30px #0003}.toast.error{background:#b91c1c}.notice{background:var(--info-surface);color:var(--text);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.notice.warn{background:var(--accent-surface);color:var(--accent-text)}.notice.error{background:var(--error-surface);color:#b91c1c}.empty{text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty .ico{background:var(--surface-alt);width:48px;height:48px;color:var(--text-3);border-radius:12px;place-items:center;display:grid}.empty strong{color:var(--text);font-weight:500}.loading{color:var(--text-3);text-align:center;padding:40px}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-side{background:var(--primary);color:var(--text-inverse);flex-direction:column;justify-content:space-between;padding:48px;display:flex}.login-side h2{margin-top:auto;font-size:28px}.login-side p{opacity:.8;max-width:420px}.login-main{background:var(--surface);justify-content:center;align-items:center;padding:24px;display:flex}.login-card{width:100%;max-width:360px}.login-card h1{font-size:22px}@media (max-width:860px){.login-page{grid-template-columns:1fr}.login-side{display:none}}.wizard{max-width:760px;margin:0 auto}.progress{background:var(--border-light);border-radius:4px;height:4px;margin-bottom:8px;overflow:hidden}.progress div{background:var(--primary);height:100%;transition:width .2s}.wizard-q{margin:18px 0 4px;font-size:22px;font-weight:700}.wizard-sub{color:var(--text-2);margin-bottom:20px}.options{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;display:grid}.option{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:start;border-radius:10px;align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex}.option:hover{border-color:var(--primary-light)}.option.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:#fbfdfc}.option .oi{background:var(--primary-surface);width:42px;height:42px;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.option .ol{font-weight:500}.option .oh{color:var(--text-3);font-size:12px}.option .tick{color:var(--primary);margin-inline-start:auto}.wizard-nav{border-top:1px solid var(--border);justify-content:space-between;gap:8px;margin-top:28px;padding-top:18px;display:flex}.pick-list{border:1px solid var(--border);background:var(--surface);border-radius:10px;max-height:380px;overflow-y:auto}.pick-list label{border-bottom:1px solid var(--border-light);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex}.pick-list label:last-child{border-bottom:none}.pick-list label:hover{background:var(--surface-alt)}.review{border:1px solid var(--border);background:var(--surface);border-radius:10px}.review-row{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:12px 16px;display:flex}.review-row:last-child{border-bottom:none}.review-row .k{width:150px;color:var(--text-2);flex-shrink:0}.review-row .v{flex:1}.map{background:var(--surface-alt);width:100%;height:480px;overflow:hidden}.map.tall{height:600px}.map.rounded{border-radius:var(--radius);border:1px solid var(--border)}.leaflet-container{font-family:inherit}.pin{color:var(--text-inverse);border:2px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;box-shadow:0 1px 4px #00000059;display:flex!important}.pin.store{background:var(--primary)}.pin.customer{background:var(--accent);color:var(--primary)}.pin.driver{background:var(--info)}.pin.driver.off{background:var(--text-3)}.pin.vertex{background:var(--surface);border-color:var(--primary);color:var(--primary);cursor:grab}.legend{color:var(--text-2);border-top:1px solid var(--border-light);flex-wrap:wrap;gap:16px;padding:10px 14px;font-size:12px;display:flex}.legend i{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-inline-end:6px;display:inline-block}.list-item{border-bottom:1px solid var(--border-light);cursor:pointer;padding:12px 16px}.list-item:hover{background:#fafcfb}.list-item.selected{background:var(--primary-surface)}.list-item:last-child{border-bottom:none}.scroll{max-height:600px;overflow-y:auto}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.wizard-layout{grid-template-columns:250px minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.wizard-steps,.wizard-summary{top:calc(var(--topbar) + 16px);position:sticky}.wizard-steps ol{margin:0;padding:10px;list-style:none}.wizard-steps li button,.wizard-steps li.more{width:100%;color:var(--text-3);text-align:start;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.wizard-steps li button:disabled{cursor:default}.wizard-steps li button:not(:disabled):hover{background:var(--surface-alt)}.wizard-steps li.done button{color:var(--text)}.wizard-steps li.current button{background:var(--primary-surface);color:var(--primary);font-weight:500}.dot-n{border:1px solid var(--border);background:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.wizard-steps li.done .dot-n{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.wizard-steps li.current .dot-n{border-color:var(--primary);color:var(--primary);font-weight:700}.wizard-main{min-height:520px;overflow:hidden}.wizard-main .options{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sum-row{border-bottom:1px solid var(--border-light);flex-direction:column;gap:2px;padding:8px 0;display:flex}.sum-row:last-child{border-bottom:none}@media (max-width:1280px){.wizard-layout{grid-template-columns:220px minmax(0,1fr)}.wizard-summary{display:none}}@media (max-width:860px){.wizard-layout{grid-template-columns:1fr}.wizard-steps{display:none}}.row-open{color:var(--primary-light);white-space:nowrap;align-items:center;gap:4px;font-size:14px;font-weight:500;display:inline-flex}tr.clickable:hover .row-open{text-decoration:underline}.upload{grid-template-columns:220px 1fr;align-items:start;gap:16px;display:grid}.upload-preview{border:1px dashed var(--border);background:var(--surface-alt);color:var(--text-3);cursor:pointer;border-radius:10px;place-items:center;display:grid;overflow:hidden}.upload-preview img{object-fit:cover;width:100%;height:100%;display:block}.upload-preview:hover{border-color:var(--primary-light)}.size-guide{color:var(--text-2);background:var(--info-surface);border-radius:8px;padding:8px 12px;font-size:13px}@media (max-width:700px){.upload{grid-template-columns:1fr}}.hours{grid-template-columns:110px 1fr 1fr auto;align-items:center;gap:10px 14px;display:grid}
