:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Avenir Next", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Avenir Next", "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-numeric:var(--font-sans);--text-xs:.8125rem;--text-sm:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--leading-tight:1.2;--leading-normal:1.5;--weight-regular:400;--weight-medium:550;--weight-bold:700;--tracking-tight:-.01em;--tracking-caps:.06em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--size-touch:44px;--size-touch-lg:56px;--size-tick:64px;--size-icon:1.5rem;--size-icon-sm:1.25rem;--size-art:4.5rem;--size-badge:1.75rem;--size-tab-bar:4rem;--size-content:46rem;--size-text:34ch;--size-dialog:32rem;--border-width:1px;--border-width-strong:2px;--focus-width:3px;--focus-offset:2px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--color-bg:#f4f1ea;--color-surface:#fbf9f4;--color-surface-raised:#fff;--color-surface-sunken:#ebe6db;--color-text:#1d1f1a;--color-text-muted:#55584f;--color-border:#d6d0c3;--color-border-strong:#a59e8f;--color-accent:#2f7a34;--color-accent-hover:#256429;--color-accent-soft:#dcebd6;--color-accent-text:#fff;--color-success:#2f7a34;--color-success-soft:#dcebd6;--color-warning:#8a5a00;--color-warning-soft:#f7e7c4;--color-danger:#b3261e;--color-danger-hover:#93201a;--color-danger-soft:#f8dcd8;--color-danger-text:#fff;--color-focus-ring:#1a5fb4;--color-backdrop:#1d1f1a73;--shadow-sm:0 1px 2px #29251c14;--shadow-md:0 2px 6px #29251c14, 0 8px 24px #29251c0f;--shadow-lg:0 12px 32px #29251c2e, 0 2px 8px #29251c14;--shadow-bar:0 -1px 0 var(--color-border), 0 -6px 20px #29251c0f;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#121410;--color-surface:#181b16;--color-surface-raised:#22261f;--color-surface-sunken:#0e100c;--color-text:#f1efe8;--color-text-muted:#b5b3a8;--color-border:#393d33;--color-border-strong:#5d6255;--color-accent:#7fd17a;--color-accent-hover:#9be095;--color-accent-soft:#23361f;--color-accent-text:#0b1a09;--color-success:#7fd17a;--color-success-soft:#23361f;--color-warning:#f2c063;--color-warning-soft:#3a2e14;--color-danger:#ff8a7f;--color-danger-hover:#ffa79e;--color-danger-soft:#3f1d19;--color-danger-text:#2a0905;--color-focus-ring:#8ab8ff;--color-backdrop:#0009;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 6px #00000059, 0 8px 24px #0000004d;--shadow-lg:0 12px 32px #00000080, 0 2px 8px #0000004d;--shadow-bar:0 -1px 0 var(--color-border), 0 -6px 20px #00000059}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s;--duration-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:var(--focus-width) solid var(--color-focus-ring);outline-offset:var(--focus-offset)}[hidden]{display:none!important}.muted{color:var(--color-text-muted)}.stack{gap:var(--space-4);display:grid}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{align-items:center;gap:var(--space-3);padding:var(--space-4);padding-top:max(var(--space-4), env(safe-area-inset-top));background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);display:flex}.app-mark{width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-text);flex:none;place-items:center;display:grid}.app-mark svg{width:var(--size-icon);height:var(--size-icon);fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round}.app-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.tab-bar{z-index:10;background:var(--color-surface-raised);box-shadow:var(--shadow-bar);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:auto 0 0}.tab-list{max-width:var(--size-content);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid}.tab{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--size-tab-bar);padding:var(--space-2) var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex-direction:column;display:flex;position:relative}.tab:before{content:"";height:var(--focus-width);border-radius:0 0 var(--radius-pill) var(--radius-pill);background:var(--color-accent);transition:transform var(--duration-normal) var(--ease-out);position:absolute;top:0;left:25%;right:25%;transform:scaleX(0)}.tab:hover{color:var(--color-text)}.tab[aria-selected=true]{color:var(--color-accent)}.tab[aria-selected=true]:before{transform:scaleX(1)}.tab .chip{top:var(--space-1);left:calc(50% + var(--space-2));padding:0 var(--space-2);background:var(--color-accent);color:var(--color-accent-text);position:absolute}.tab:active{background:var(--color-surface-sunken)}.tab:focus-visible{outline-offset:calc(var(--focus-width) * -1);border-radius:var(--radius-md)}.tab-icon{width:var(--size-icon);height:var(--size-icon);fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.app-main{width:100%;max-width:var(--size-content);padding:var(--space-5) var(--space-4);padding-bottom:calc(var(--size-tab-bar) + env(safe-area-inset-bottom) + var(--space-6));flex:1;margin:0 auto}.tab-panel:focus-visible{outline-offset:var(--space-2);border-radius:var(--radius-md)}@media (width>=900px){.app-header{padding:var(--space-4) var(--space-6)}.app-title{font-size:var(--text-lg)}.tab-bar{padding:0 var(--space-6);box-shadow:0 var(--border-width) 0 var(--color-border);background:var(--color-surface);position:sticky;inset:0 auto auto}.tab-list{gap:var(--space-2);max-width:none;margin:0;display:flex}.tab{gap:var(--space-2);min-height:var(--size-touch-lg);padding:0 var(--space-4);font-size:var(--text-sm);flex-direction:row}.tab:before{top:auto;bottom:0;left:var(--space-3);right:var(--space-3);border-radius:var(--radius-pill) var(--radius-pill) 0 0}.tab .chip{position:static}.tab-icon{width:var(--size-icon-sm);height:var(--size-icon-sm)}.app-main{padding:var(--space-6)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--size-touch);min-width:var(--size-touch);padding:var(--space-2) var(--space-5);border:var(--border-width-strong) solid transparent;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-tight);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-accent);color:var(--color-accent-text);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface-raised);border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-text)}.btn-quiet{color:var(--color-accent);padding-inline:var(--space-3);background:0 0}.btn-quiet:hover:not(:disabled){background:var(--color-accent-soft)}.btn-danger{background:var(--color-danger);color:var(--color-danger-text)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.tick-btn{width:var(--size-tick);height:var(--size-tick);border:var(--border-width-strong) solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--color-accent);font-size:var(--text-xl);font-weight:var(--weight-bold);cursor:pointer;transition:background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-spring);flex:none;place-items:center;padding:0;line-height:1;display:inline-grid}button.tick-btn:hover{background:var(--color-accent-soft);box-shadow:var(--shadow-md)}button.tick-btn:active{transform:scale(.92)}.tick-btn-done{background:var(--color-success);border-color:var(--color-success);color:var(--color-accent-text);animation:tick-pop var(--duration-slow) var(--ease-spring)}@keyframes tick-pop{0%{transform:scale(.6)}}.field{gap:var(--space-1);display:grid}.field-label{font-size:var(--text-sm);font-weight:var(--weight-bold)}.field-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.field-error{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-danger)}.input,.select{width:100%;min-height:var(--size-touch);padding:var(--space-2) var(--space-3);border:var(--border-width-strong) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);font-size:var(--text-md);transition:border-color var(--duration-fast) var(--ease-standard)}.input:hover,.select:hover{border-color:var(--color-text-muted)}.input[aria-invalid=true]{border-color:var(--color-danger)}textarea.input{min-height:calc(var(--size-touch) * 2);resize:vertical}.select{cursor:pointer}.chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-tight);white-space:nowrap;display:inline-flex}.chip-accent{background:var(--color-accent-soft);color:var(--color-text)}.chip-warning{background:var(--color-warning-soft);color:var(--color-warning)}.chip-danger{background:var(--color-danger-soft);color:var(--color-danger)}.card{gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-sm);display:grid}.section-heading{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.eyebrow{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.dialog{width:min(100% - var(--space-5), var(--size-dialog));max-height:calc(100dvh - var(--space-6));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-lg);padding:0}.dialog[open]{animation:dialog-in var(--duration-slow) var(--ease-out)}.dialog::backdrop{background:var(--color-backdrop)}.dialog-body{gap:var(--space-4);padding:var(--space-5);display:grid}.dialog-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.dialog-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap-reverse;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(var(--space-3)) scale(.98)}}.empty-state{justify-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);border:var(--border-width-strong) dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;display:grid}.empty-state-art{width:var(--size-art);height:var(--size-art);fill:none;stroke:var(--color-accent);stroke-width:2.5px;stroke-linecap:round}.empty-state-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.empty-state-text{max-width:var(--size-text);color:var(--color-text-muted);text-wrap:pretty}.empty-state-action{margin-top:var(--space-3)}.stack-lg{gap:var(--space-6)}.list{margin:0;padding:0;list-style:none}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-actions{justify-content:flex-end;display:flex}.tab-panel:not([hidden]){animation:panel-in var(--duration-slow) var(--ease-out)}@keyframes panel-in{0%{opacity:0;transform:translateY(var(--space-2))}}.card{transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard)}li.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card-title{min-width:0;font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-tight);overflow-wrap:anywhere}.card-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.card-action{justify-self:start}.card-paused{background:var(--color-surface-sunken);color:var(--color-text-muted);box-shadow:none;border-style:dashed}.amount{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.amount-lg{font-size:var(--text-lg);font-weight:var(--weight-bold)}.stop-badge{width:var(--size-badge);height:var(--size-badge);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;flex:none;place-items:center;display:inline-grid}.notice{padding:var(--space-3) var(--space-4);border-left:var(--focus-width) solid currentColor;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium)}.notice-danger{background:var(--color-danger-soft);color:var(--color-danger)}.notice-success{background:var(--color-success-soft);color:var(--color-success)}.confirm-panel{gap:var(--space-3);padding:var(--space-4);border:var(--border-width-strong) solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft);animation:dialog-in var(--duration-slow) var(--ease-out);display:grid}.week-header{align-items:center;gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.week-header .btn{padding-inline:var(--space-2);font-size:var(--text-sm)}.week-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);order:-1;grid-column:1/-1}.week-summary{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;justify-self:start}.week-day{gap:var(--space-3);padding:var(--space-3);margin-inline:calc(var(--space-3) * -1);border:var(--border-width-strong) solid transparent;border-radius:var(--radius-lg);display:grid}.week-day-today{background:var(--color-accent-soft);border-color:var(--color-accent)}.week-day .section-heading{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.day-progress{color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:normal;font-variant-numeric:tabular-nums;margin-left:auto}.day-empty{padding:var(--space-3) var(--space-4);border:var(--border-width) dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm)}.route-row{align-items:center;gap:var(--space-3);display:flex}.route-move{gap:var(--space-1);margin-left:auto;display:flex}.visit-row{align-items:center;gap:var(--space-3);display:flex}.visit-info{gap:var(--space-1);flex:auto;min-width:0;display:grid}.visit-pos{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.visit-notes{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.visit-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.summary-card{gap:var(--space-1);padding:var(--space-5);background:var(--color-accent);color:var(--color-accent-text);box-shadow:var(--shadow-md);border-color:#0000}.summary-total{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.summary-detail{font-size:var(--text-sm);font-weight:var(--weight-medium)}.invoice-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.invoice-card .card-action{margin-top:var(--space-2)}@media (width<=480px){.invoice-card .card-action,.page-actions .btn{width:100%}}@media (width>=900px){.week-header{grid-template-columns:auto 1fr auto auto}.week-title{text-align:center;order:0;grid-column:2}}
