html,body,#root{height:100%;min-height:100%}body{background:var(--ion-background-color);color:var(--ion-text-color);font-family:var(--app-body-font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}*{box-sizing:border-box}ion-app,ion-content{color:var(--ion-text-color)}ion-button,ion-input,ion-note,ion-label,ion-select,ion-textarea{font-family:var(--app-body-font)}h1,h2,h3,h4,h5,h6,ion-title,ion-card-title{font-family:var(--app-heading-font)}button,input,select,textarea{font-family:inherit}ion-button{--box-shadow:none;text-transform:none;letter-spacing:normal;font-weight:600}@font-face{font-family:Figtree;src:url(/fonts/figtree-variable.woff2)format("woff2");font-style:normal;font-weight:300 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-work-open:#326faa;--app-work-completed:#297653;--app-work-skipped:#8b640e;--app-work-closed:#66716d;--app-work-overdue:#b33434;--app-shadow-faint:#0000000a;--app-shadow-map:#00000054;--app-map-pin:#0f5d55;--app-map-pin-selected:#a9501e;--app-map-contrast:#fff;--app-map-text:#16211b;--app-shadow-sheet:#0f172a2e;--app-shadow-soft:#0000000d;--app-border-sync:#5a63582e;--app-balance-owed-surface:#ba7a1e17;--app-balance-owed-border:#ba7a1e40;--app-balance-owed-status:#ba7a1e2b;--app-map-control-border:#18211b24;--app-map-control-surface:#ffffffeb;--app-shadow-map-control:#18211b29;--app-border-danger:#bf22223d;--app-shadow-job-hover:#1c372e2e;--app-badge-active-border:#136f6333;--app-badge-active-surface:#136f631f;--app-badge-active-text:#0e6258;--app-badge-inactive-border:#8f1f1f2e;--app-badge-lead-border:#a668093d;--app-badge-lead-surface:#bf7f1b21;--app-badge-sync-text:#8a321c;--app-badge-sync-surface:#fff0e9;--app-badge-sync-border:#dba58f;--app-shadow-route:#0000001a;--app-shadow-allocation-control:#0000001a;--app-allocation-color:var(--app-map-pin);--app-shadow-allocation-pin:#0000004a;--app-shadow-allocation-selected:#00000052;--app-allocation-warning-text:#765414;--app-surface-warning:#f7e9c5;--app-allocation-warning-border:#d69a2d;--app-shadow-selection:#00000012;--app-tile-secondary-accent:#5466a0;--app-tile-secondary-surface:#eff1fa;--app-chart-completed:var(--app-work-completed);--app-chart-skipped:var(--app-work-skipped);--app-chart-not-done:var(--app-work-open);--app-body-font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--app-heading-font:"Figtree", var(--app-body-font);--app-text-xs:.75rem;--app-text-sm:.875rem;--app-text-md:1rem;--app-text-lg:1.25rem;--app-text-xl:1.75rem;--app-line-height-title:1.25;--app-line-height-body:1.5;--app-space-1:4px;--app-space-2:8px;--app-space-3:12px;--app-space-4:16px;--app-space-6:24px;--app-space-8:32px;--ion-font-family:var(--app-body-font);--app-surface-page:#fff;--app-surface-card:#fff;--app-surface-autofill:#e8f0fe;--app-surface-raised:#fff;--app-surface-overlay:#ffffff24;--app-surface-accent-soft:rgba(var(--ion-color-primary-rgb), .09);--app-surface-accent-soft-hover:rgba(var(--ion-color-primary-rgb), .14);--app-surface-accent-strong:rgba(var(--ion-color-primary-rgb), .13);--app-surface-danger-soft:#9f232314;--app-surface-warning-soft:#f8edd6;--app-text-warning:#76500f;--app-text-primary:#192323;--app-text-strong:#192323;--app-text-secondary:#566364;--app-text-secondary-strong:#465354;--app-text-muted:#637071;--app-text-muted-alt:#637071;--app-text-subtle:#577069;--app-text-subtle-alt:#577069;--app-text-accent:var(--ion-color-primary);--app-text-accent-strong:var(--ion-color-primary-shade);--app-text-success:#183028;--app-text-danger:#8f1f1f;--app-text-inverse:#f6f2e8;--app-text-inverse-muted:#f6f2e8cc;--app-border-subtle:#19232314;--app-border-control:#1923231a;--app-border-control-strong:#1923231f;--app-status-idle:#70897d;--app-status-online:#1b9669;--app-status-offline:#b36639;--app-shadow-card-strong:none;--app-shadow-card:none;--app-shadow-tile:none;--app-shadow-floating:0 3px 12px #00000024;--app-screen-glow-warm:none;--app-screen-glow-cool:none;--app-screen-gradient:var(--app-surface-page);--app-menu-gradient:var(--app-surface-page);--app-tile-gradient:var(--ion-color-primary);--app-radius-card:12px;--app-radius-sheet:16px;--app-radius-control:8px;--app-radius-pill:999px;--ion-background-color:var(--app-surface-page);--ion-background-color-rgb:255, 255, 255;--ion-text-color:var(--app-text-primary);--ion-text-color-rgb:25, 35, 35;--ion-color-primary:#0f5d55;--ion-color-primary-rgb:15, 93, 85;--ion-color-primary-contrast:#fff;--ion-color-primary-contrast-rgb:255, 255, 255;--ion-color-primary-shade:#0d524b;--ion-color-primary-tint:#276d66;--ion-color-success:#136f63;--ion-color-success-rgb:19, 111, 99;--ion-color-success-contrast:#fff;--ion-color-success-contrast-rgb:255, 255, 255;--ion-color-success-shade:#116257;--ion-color-success-tint:#2b7d72;--ion-color-danger:#8f1f1f;--ion-color-danger-rgb:143, 31, 31;--ion-color-danger-contrast:#fff;--ion-color-danger-contrast-rgb:255, 255, 255;--ion-color-danger-shade:#7e1b1b;--ion-color-danger-tint:#9a3535;--ion-color-dark:#192323;--ion-color-dark-rgb:25, 35, 35;--ion-color-dark-contrast:#fff;--ion-color-dark-contrast-rgb:255, 255, 255;--ion-color-dark-shade:#151d18;--ion-color-dark-tint:#2f3732;--ion-toolbar-background:var(--app-surface-page);--ion-toolbar-color:var(--app-text-primary);--ion-border-color:var(--app-border-subtle);--ion-card-background:var(--app-surface-card);--ion-item-background:transparent}:root[data-theme=dark],body.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-shadow-faint:#00000029;--app-shadow-map:#00000080;--app-map-pin:#0f5d55;--app-map-pin-selected:#a9501e;--app-map-contrast:#fff;--app-map-text:#eef2f2;--app-shadow-sheet:#0006;--app-shadow-soft:#0003;--app-border-sync:#eef2f22e;--app-balance-owed-surface:#f0b5531f;--app-balance-owed-border:#f0b5534d;--app-balance-owed-status:#f0b55338;--app-map-control-border:#eef2f22e;--app-map-control-surface:#2b3031f5;--app-shadow-map-control:#0006;--app-border-danger:#ffb4b44d;--app-shadow-job-hover:#0006;--app-badge-active-border:#2ecc8e47;--app-badge-active-surface:#2ecc8e29;--app-badge-active-text:#8de9c0;--app-badge-inactive-border:#ffb4b447;--app-badge-lead-border:#f0b5534d;--app-badge-lead-surface:#f0b55329;--app-badge-sync-text:#ffc5ae;--app-badge-sync-surface:#442c23;--app-badge-sync-border:#99634c;--app-shadow-route:#0000004d;--app-shadow-allocation-control:#0000004d;--app-allocation-color:var(--app-map-pin);--app-shadow-allocation-pin:#00000073;--app-shadow-allocation-selected:#00000080;--app-allocation-warning-text:#f2c778;--app-surface-warning:#3e3220;--app-allocation-warning-border:#dfbd70;--app-shadow-selection:#0000004d;--app-tile-secondary-accent:#b1bff2;--app-tile-secondary-surface:#2e3445;--app-chart-completed:var(--app-work-completed);--app-chart-skipped:var(--app-work-skipped);--app-chart-not-done:var(--app-work-open);--app-surface-page:#151819;--app-surface-card:#232728;--app-surface-autofill:#313b4a;--app-surface-raised:#2b3031;--app-surface-overlay:#ffffff14;--app-surface-accent-soft:rgba(var(--ion-color-primary-rgb), .12);--app-surface-accent-soft-hover:rgba(var(--ion-color-primary-rgb), .2);--app-surface-accent-strong:rgba(var(--ion-color-primary-rgb), .16);--app-surface-danger-soft:#bb4a4a2e;--app-surface-warning-soft:#3e3220;--app-text-warning:#f2c778;--app-text-primary:#eef2f2;--app-text-strong:#f7f9f9;--app-text-secondary:#bbc6c6;--app-text-secondary-strong:#d3dbdb;--app-text-muted:#a4b2b2;--app-text-muted-alt:#a4b2b2;--app-text-subtle:#91a9aa;--app-text-subtle-alt:#9cb0b2;--app-text-accent:var(--ion-color-primary);--app-text-accent-strong:var(--ion-color-primary-tint);--app-text-success:#d7f5e5;--app-text-danger:#ffb4b4;--app-work-open:#8cbae8;--app-work-completed:#86c9a5;--app-work-skipped:#dfbd70;--app-work-closed:#abb7b2;--app-work-overdue:#ef9b98;--app-text-inverse:#f6f2e8;--app-text-inverse-muted:#f6f2e8cc;--app-border-subtle:#eef2f214;--app-border-control:#eef2f21f;--app-border-control-strong:#eef2f22e;--app-status-idle:#8da79a;--app-status-online:#2ecc8e;--app-status-offline:#e09a63;--app-shadow-card-strong:none;--app-shadow-card:none;--app-shadow-tile:none;--app-screen-glow-warm:none;--app-screen-glow-cool:none;--app-menu-gradient:var(--app-surface-page);--app-tile-gradient:var(--ion-color-primary);--ion-background-color:var(--app-surface-page);--ion-background-color-rgb:21, 24, 25;--ion-text-color:var(--app-text-primary);--ion-text-color-rgb:238, 242, 242;--ion-color-primary:#7fd3c4;--ion-color-primary-rgb:127, 211, 196;--ion-color-primary-contrast:#161b22;--ion-color-primary-contrast-rgb:22, 27, 34;--ion-color-primary-shade:#70baac;--ion-color-primary-tint:#8cd7ca;--ion-color-danger:#ffb4b4;--ion-color-danger-rgb:255, 180, 180;--ion-color-danger-contrast:#461313;--ion-color-danger-contrast-rgb:70, 19, 19;--ion-color-danger-shade:#e09e9e;--ion-color-danger-tint:#ffbcbc;--ion-toolbar-background:var(--app-surface-page);--ion-toolbar-color:var(--app-text-primary);--ion-border-color:var(--app-border-subtle);--ion-card-background:var(--app-surface-card)}[data-work-status=open]{--work-status-color:var(--app-work-open)}[data-work-status=overdue]{--work-status-color:var(--app-work-overdue)}[data-work-status=completed]{--work-status-color:var(--app-work-completed)}[data-work-status=skipped]{--work-status-color:var(--app-work-skipped)}[data-work-status=closed],[data-work-status=unknown]{--work-status-color:var(--app-work-closed)}ion-modal,ion-popover,ion-alert,ion-action-sheet{--background:var(--app-surface-raised);--ion-background-color:var(--app-surface-raised)}.loading-shell{text-align:center;min-height:100%;padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 28px)}.loading-mark{color:var(--app-text-accent-strong);font-family:var(--app-heading-font);align-items:center;gap:12px;margin-top:20px;margin-bottom:0;font-weight:600;display:inline-flex}.loading-copy{color:var(--app-text-secondary);line-height:var(--app-line-height-body);margin:14px 0 0}.brand-logo{vertical-align:middle;width:128px;max-width:100%;color:var(--app-text-accent-strong);display:inline-block}.brand-logo svg{width:100%;height:auto;display:block}.ui-button{--background:var(--app-surface-card);--background-hover:var(--app-surface-raised);--background-activated:var(--app-surface-raised);--color:var(--app-text-accent-strong);--border-color:var(--app-border-control);--border-width:1px;--border-style:solid;--border-radius:var(--app-radius-control);--padding-start:var(--app-space-4);--ui-button-height:44px;min-height:var(--ui-button-height);font-family:inherit;font-size:var(--app-text-md);font-weight:500;line-height:var(--app-line-height-title);text-transform:none;letter-spacing:normal;white-space:normal;justify-content:center;align-items:center;gap:var(--app-space-2);padding:var(--app-space-2) var(--padding-start);border:var(--border-width) var(--border-style) var(--border-color);border-radius:var(--border-radius);background:var(--background);color:var(--color);cursor:pointer;margin:0;text-decoration:none;display:inline-flex}.ui-button--primary{--background:var(--ion-color-primary);--background-hover:var(--ion-color-primary-shade);--background-activated:var(--ion-color-primary-shade);--color:var(--ion-color-primary-contrast);--border-color:var(--ion-color-primary)}.ui-button--secondary[aria-pressed=true]{--background:var(--app-surface-accent-soft);--color:var(--app-text-accent-strong);--border-color:var(--app-text-accent)}.ui-button--ghost{--background:transparent;--border-color:transparent}.ui-button--destructive{--color:var(--app-text-danger);--border-color:var(--app-border-danger)}.ui-button--sm{--ui-button-height:36px;--padding-start:var(--app-space-3);font-size:var(--app-text-sm)}.ui-button--icon-only{--padding-start:var(--app-space-2);min-width:var(--ui-button-height)}.ui-button:hover:not(:disabled){background:var(--background-hover)}.ui-button:active:not(:disabled){background:var(--background-activated)}.ui-button:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.ui-button:disabled{opacity:.45;cursor:default}.ui-button--full-width{width:100%}.ui-button ion-spinner{width:18px;height:18px}.ui-button ion-icon{font-size:var(--app-text-lg);flex-shrink:0}.ui-field,.ui-field__labelled-control{gap:var(--app-space-2);min-width:0;display:grid}.ui-field__label{color:var(--app-text-secondary);font-size:var(--app-text-sm);font-weight:500;line-height:var(--app-line-height-body)}.ui-field__control,ion-input.ui-field__control[fill=outline],ion-textarea.ui-field__control[fill=outline]{--background:var(--app-surface-card);--border-color:var(--app-border-control);--border-radius:var(--app-radius-control);--border-style:solid;--border-width:1px;--box-shadow:none;--color:var(--app-text-strong);--highlight-color-focused:var(--app-text-accent);--placeholder-color:var(--app-text-muted);--padding-start:var(--app-space-4);--padding-end:var(--app-space-4);min-width:0;min-height:48px;font-size:var(--app-text-md)}ion-textarea.ui-field__control{--padding-top:var(--app-space-3);--padding-bottom:var(--app-space-3)}ion-input.ui-field__control[fill=outline].ios{box-sizing:border-box;border:var(--border-width) var(--border-style) var(--border-color);border-radius:var(--border-radius)}.ui-field:not([data-invalid=true]) ion-input.ui-field__control[fill=outline].ios:focus-within{--border-color:var(--highlight-color-focused);--border-width:2px}:is(input,textarea,select,button).ui-field__control{box-sizing:border-box;width:100%;padding:var(--app-space-3) var(--app-space-4);border:1px solid var(--border-color);border-radius:var(--app-radius-control);background:var(--app-surface-card);color:var(--app-text-strong);font-family:inherit;line-height:var(--app-line-height-body)}button.ui-field__control{text-align:left;overflow-wrap:anywhere;cursor:pointer}.ui-field__control:disabled{opacity:.5;cursor:default}.ui-field__control:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.ui-field[data-invalid=true] .ui-field__control{--border-color:var(--app-text-danger)}.ui-field__hint,.ui-field__error{font-size:var(--app-text-sm);line-height:var(--app-line-height-body);color:var(--app-text-secondary);margin:0}.ui-field__error{color:var(--app-text-danger)}ion-input.ui-field__control[fill=outline] input.native-input:-webkit-autofill{-webkit-text-fill-color:var(--app-text-strong);caret-color:var(--app-text-strong);box-shadow:0 0 0 1000px var(--app-surface-autofill) inset}input.ui-field__control:-webkit-autofill{-webkit-text-fill-color:var(--app-text-strong);caret-color:var(--app-text-strong);box-shadow:0 0 0 1000px var(--app-surface-autofill) inset}ion-input.ui-field__control[fill=outline]:has(input:-webkit-autofill){--background:var(--app-surface-autofill)}ion-input.ui-field__control[fill=outline] .input-outline-container{z-index:2;pointer-events:none}.ui-field__with-accessory{align-items:flex-end;gap:var(--app-space-2);display:flex}.ui-field__with-accessory>label{flex:1}.ui-field__accessory{align-items:center;min-height:48px;display:flex}.ui-field--inline .ui-field__labelled-control{grid-template-columns:1fr auto;align-items:center}.ui-field-group{border:0;margin:0;padding:0}.ui-field-group>legend{margin-bottom:var(--app-space-2);padding:0}.ui-segmented{gap:var(--app-space-1);padding:var(--app-space-1);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-control);background:var(--app-surface-card);display:flex}.ui-segmented>button{min-width:0;min-height:44px;padding:var(--app-space-2);border-radius:var(--app-radius-control);color:var(--app-text-secondary);font:inherit;font-size:var(--app-text-sm);overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;flex:1;font-weight:500}.ui-segmented>button:is([aria-selected=true],[aria-pressed=true]){background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong)}.ui-segmented>button:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.ui-segmented>button:disabled{opacity:.45;cursor:default}.ui-badge{align-items:center;gap:var(--app-space-1);padding:var(--app-space-1) var(--app-space-2);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-pill);background:var(--app-surface-card);color:var(--app-text-secondary);font-size:var(--app-text-xs);font-weight:500;line-height:var(--app-line-height-title);font-variant-numeric:tabular-nums;display:inline-flex}.ui-badge[data-work-status]{color:var(--work-status-color);border-color:currentColor}.ui-list-row{align-items:center;gap:var(--app-space-3);width:100%;min-height:64px;padding:var(--app-space-3) var(--app-space-4);border:0;border-bottom:1px solid var(--app-border-subtle);background:var(--app-surface-card);color:var(--app-text-primary);font:inherit;text-align:left;cursor:pointer;display:flex}.ui-list-row__copy{gap:var(--app-space-1);overflow-wrap:anywhere;flex:1;min-width:0;display:grid}.ui-list-row__title{min-width:0;font-size:var(--app-text-md);font-weight:500}.ui-list-row__secondary{font-size:var(--app-text-sm);color:var(--app-text-secondary);line-height:var(--app-line-height-body)}.ui-list-row__trailing{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;max-width:40%}.ui-list-row__leading,.ui-list-row>ion-icon{color:var(--app-text-secondary);flex-shrink:0}.ui-list-row:not(.ui-list-row--static):hover:not(:disabled),.ui-list-row[aria-current=true],.ui-list-row[aria-pressed=true],.ui-list-row[data-selected=true]{background:var(--app-surface-accent-soft)}.ui-list-row:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.ui-list-row:disabled{opacity:.45;cursor:default}@media (width>=1024px){.ui-list-row{min-height:56px}}.ui-list-row--title-trailing{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.ui-list-row--title-trailing .ui-list-row__copy{display:contents}.ui-list-row--title-trailing .ui-list-row__title{overflow-wrap:anywhere;grid-area:1/1}.ui-list-row--title-trailing .ui-list-row__secondary{overflow-wrap:anywhere;grid-area:2/1/auto/3}.ui-list-row--title-trailing .ui-list-row__trailing{grid-area:1/2;max-width:100%}.ui-list-row--title-trailing>ion-icon{grid-area:1/3/3}.ui-list-row--static{cursor:default}.ui-summary-line{color:var(--app-text-secondary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.ui-full-text{z-index:30000;width:max-content;max-width:min(20rem, calc(100vw - var(--app-space-4)));padding:var(--app-space-2) var(--app-space-3);border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-raised);color:var(--app-text-primary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);white-space:normal;overflow-wrap:anywhere;box-shadow:var(--app-shadow-floating);position:fixed}.pwa-update{z-index:1000;right:var(--app-space-4);bottom:calc(80px + env(safe-area-inset-bottom));left:var(--app-space-4);max-width:520px;padding:var(--app-space-4);border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-raised);color:var(--app-text-primary);box-shadow:var(--app-shadow-floating);margin-left:auto;position:fixed}.pwa-update p{font-size:var(--app-text-sm);line-height:var(--app-line-height-body);margin:0}.pwa-update__actions{justify-content:flex-end;gap:var(--app-space-2);margin-top:var(--app-space-3);flex-wrap:wrap;display:flex}@media (width>=1024px){.pwa-update{bottom:var(--app-space-4)}}.app-menu-content::part(background){background:var(--app-surface-raised)}.app-menu-group-title{padding:var(--app-space-4) var(--app-space-6) var(--app-space-2);color:var(--app-text-muted);font-size:var(--app-text-sm);margin:0;font-weight:500}ion-list.app-menu-list{padding:0 var(--app-space-3) var(--app-space-2);background:0 0}.app-menu-item{--background:transparent;--border-radius:var(--app-radius-control);--color:var(--app-text-primary);--min-height:44px;--inner-padding-bottom:0;--inner-padding-end:16px;--inner-padding-start:12px;--inner-padding-top:0;margin-bottom:3px}.app-menu-item.is-active{--background:var(--app-surface-accent-strong);--color:var(--app-text-accent-strong)}.app-menu-item ion-icon{color:var(--app-text-muted);font-size:var(--app-text-lg)}.app-menu-item ion-label{margin-block:var(--app-space-2)}.app-menu-item__label{font-size:var(--app-text-md);font-weight:500;display:block}@media (width>=1024px){ion-menu[menu-id=app-navigation]{--max-width:232px;--min-width:232px;--width:232px}}.sync-support-details{min-width:0;color:var(--app-text-secondary-strong)}.sync-support-details summary{cursor:pointer;padding:10px 0;font-weight:600}.sync-support-details pre{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;font-size:var(--app-text-xs);line-height:var(--app-line-height-body);border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);padding:12px}.detail-stack{align-content:start;gap:var(--app-space-4);width:100%;min-width:0;max-width:880px;display:grid}.detail-header,.detail-section{gap:var(--app-space-4);min-width:0;padding:var(--app-space-4);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);background:var(--app-surface-card);overflow-wrap:anywhere;display:grid}.detail-heading,.detail-actions{align-items:center;gap:var(--app-space-2);flex-wrap:wrap;display:flex}.detail-heading{justify-content:space-between}.detail-header h2,.detail-section h2{color:var(--app-text-strong);font-size:var(--app-text-lg);font-weight:600;line-height:var(--app-line-height-title);margin:0}.detail-section>p{line-height:var(--app-line-height-body);margin:0}.detail-fact{align-content:start;justify-items:start;gap:var(--app-space-1);font-variant-numeric:tabular-nums;min-width:0;display:grid}.detail-fact>span:not(.ui-badge),.detail-muted{color:var(--app-text-secondary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body)}.detail-fact>strong{color:var(--app-text-strong);font-size:var(--app-text-md);line-height:var(--app-line-height-title)}@media (width>=1024px){.detail-header,.detail-section{padding:20px}}.confirm-location-modal{--width:100%;--height:100%;--border-radius:0;--box-shadow:0 -16px 48px var(--app-shadow-sheet)}.confirm-location-modal::part(handle){border-radius:var(--app-radius-pill);background:var(--app-border-control-strong);width:52px;height:5px}.confirm-location-modal__content{--padding-top:0;--padding-bottom:16px;--padding-start:20px;--padding-end:20px}.confirm-location{gap:14px;max-width:760px;margin:0 auto;padding-top:20px;display:grid}.confirm-location__summary{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);min-width:0;padding:14px 16px}.confirm-location__summary p{color:var(--app-text-strong);font-size:var(--app-text-md);font-weight:600;line-height:var(--app-line-height-title);word-break:break-word;margin:0}.confirm-location__map-wrap{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-accent-soft);width:100%;height:min(58vh,440px);min-height:320px;position:relative;overflow:hidden}.confirm-location__map{width:100%;height:100%}.confirm-location__empty{text-align:center;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex}@media (width>=768px){.confirm-location-modal{--width:min(800px, calc(100vw - 48px));--height:min(760px, calc(100vh - 48px));--border-radius:var(--app-radius-sheet)}}.confirm-location__restore{z-index:2;--padding-start:0;--padding-end:0;--background:var(--app-surface-card);--color:var(--app-text-strong);--border-radius:var(--app-radius-control);width:48px;height:48px;margin:0;position:absolute;top:10px;left:10px}.confirm-location__footer{padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--app-surface-card)}.confirm-location__footer ion-button{max-width:760px;min-height:52px;margin:0 auto;font-weight:600}.address-search-modal{--border-radius:var(--app-radius-sheet) var(--app-radius-sheet) 0 0;--box-shadow:0 -16px 48px var(--app-shadow-sheet)}.address-search-modal::part(handle){border-radius:var(--app-radius-pill);background:var(--app-border-control-strong);width:52px;height:5px}.address-search-modal__content{--padding-top:0;--padding-bottom:calc(env(safe-area-inset-bottom) + 28px);--padding-start:20px;--padding-end:20px}.address-search{gap:16px;max-width:640px;margin:0 auto;padding-top:20px;display:grid}.address-search__field{gap:8px;display:grid}.address-search__label{color:var(--app-text-muted);font-size:var(--app-text-sm);font-weight:600}.address-search__status{min-height:24px;color:var(--app-text-muted);font-size:var(--app-text-sm)}.address-search__status-row{align-items:center;gap:8px;display:inline-flex}.address-search__results{gap:10px;display:grid}.address-search__suggestion,.address-search__manual{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);width:100%;color:var(--app-text-strong);text-align:left;cursor:pointer;gap:4px;padding:14px 16px;display:grid}.address-search__suggestion:focus-visible,.address-search__manual:focus-visible,.address-search__suggestion:hover,.address-search__manual:hover{border-color:var(--app-text-accent);outline:none}.address-search__suggestion-main,.address-search__manual-main{font-size:var(--app-text-md);font-weight:600;line-height:var(--app-line-height-title)}.address-search__suggestion-meta,.address-search__manual-meta{color:var(--app-text-muted);font-size:var(--app-text-sm)}@media (width>=768px){.address-search-modal{--width:min(680px, calc(100vw - 48px));--height:min(720px, calc(100vh - 48px));--border-radius:var(--app-radius-sheet)}}.customer-badge{border-radius:var(--app-radius-control);width:fit-content;min-height:24px;font-size:var(--app-text-xs);font-weight:500;line-height:var(--app-line-height-title);white-space:nowrap;border:1px solid #0000;align-items:center;padding:4px 7px;display:inline-flex}.customer-badge--status-active{border-color:var(--app-badge-active-border);background:var(--app-badge-active-surface);color:var(--app-badge-active-text)}.customer-badge--status-inactive{border-color:var(--app-badge-inactive-border);background:var(--app-surface-danger-soft);color:var(--app-text-danger)}.customer-badge--status-lead{border-color:var(--app-badge-lead-border);background:var(--app-badge-lead-surface);color:var(--app-text-warning)}.customer-badge--reference{color:var(--app-text-secondary-strong);font-variant-numeric:tabular-nums;background:0 0;border-color:#0000}.customer-badge--location-needed{background:var(--app-surface-warning-soft);color:var(--app-text-warning)}.customer-badge--round{background:var(--app-text-accent-strong);color:var(--ion-color-primary-contrast)}.customer-badge--sync-issue{color:var(--app-badge-sync-text);background:var(--app-badge-sync-surface);border:1px solid var(--app-badge-sync-border)}.customer-location-map{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-accent-soft);width:100%;height:180px;position:relative;overflow:hidden}.customer-location-map__image{object-fit:cover;width:100%;height:100%;display:block}.customer-location-map__link{border:1px solid var(--app-map-control-border);border-radius:var(--app-radius-pill);background:var(--app-map-control-surface);min-height:36px;box-shadow:0 10px 24px var(--app-shadow-map-control);color:var(--app-text-strong);font-size:var(--app-text-sm);font-weight:600;line-height:var(--app-line-height-title);justify-content:center;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex;position:absolute;bottom:12px;right:12px}.customer-location-map__link:focus-visible,.customer-location-map__link:hover{background:var(--app-surface-raised);color:var(--app-text-accent-strong);outline:none}.customer-location-map--empty{color:var(--app-text-muted);font-size:var(--app-text-sm);justify-content:center;align-items:center;font-weight:600;display:flex}@media (width>=720px){.customer-location-map{height:200px}}.customer-detail-modal__content{--padding-top:16px}.customer-detail,.customer-detail__tab-panel{gap:16px;display:grid}.customer-detail__compact-address{color:var(--app-text-muted);line-height:var(--app-line-height-body);margin:-6px 0 0}.customer-detail__metadata{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:5px;display:flex}.customer-detail__lead-source{color:var(--app-text-secondary-strong);font-size:var(--app-text-sm);align-items:baseline;gap:6px;font-weight:600;display:inline-flex}.customer-detail__lead-source>span{color:var(--app-text-muted);font-size:var(--app-text-xs)}.customer-detail__rows{gap:var(--app-space-3);display:grid}.customer-detail__label{color:var(--app-text-muted);font-size:var(--app-text-xs);font-weight:500}.customer-detail__value{color:var(--app-text-strong);font-family:var(--app-body-font);font-size:var(--app-text-md);line-height:var(--app-line-height-body);word-break:break-word;margin:0}.customer-detail__error{border:1px solid var(--app-border-danger);border-radius:var(--app-radius-card);background:var(--app-surface-danger-soft);margin-top:14px;padding:12px 14px}.customer-description{border-top:1px solid var(--app-border-subtle);gap:10px;margin-top:12px;padding-top:18px;display:grid}.customer-notes{gap:14px;display:grid}.customer-notes__heading,.customer-notes__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.customer-notes__form{gap:12px;display:grid}.customer-notes__note{border-top:1px solid var(--app-border-subtle);padding-top:14px}.customer-notes__meta{color:var(--app-text-muted);font-size:var(--app-text-xs);flex-wrap:wrap;gap:6px 12px;display:flex}.customer-notes__content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--app-line-height-body)}.customer-notes__empty{color:var(--app-text-muted);margin:0}@media (width>=768px) and (height>=600px){.customer-detail-modal{--width:min(680px, calc(100vw - 48px));--height:min(760px, calc(100vh - 48px));--border-radius:var(--app-radius-sheet)}}.customer-detail__sync-issue{border:1px solid var(--app-text-danger);border-radius:var(--app-radius-control);background:var(--app-surface-danger-soft);color:var(--app-text-secondary-strong);line-height:var(--app-line-height-body);padding:16px}.customer-detail__sync-issue p{margin:0 0 10px}.customer-detail__balance{color:var(--ion-text-color);cursor:pointer;text-align:right;background:0 0;border:0;flex-direction:column;align-items:flex-end;gap:.2rem;margin-left:auto;padding:.25rem 0;display:flex}.customer-detail__balance>span,.customer-detail__balance>small{color:var(--ion-color-medium);font-size:var(--app-text-xs)}.customer-detail__balance:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:4px}.list-detail__pane .customer-detail__title{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.customer-detail__header{border-bottom:1px solid var(--app-border-subtle)}.customer-finance{gap:18px;min-width:0;display:grid}.finance-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.finance-toolbar p{font-size:var(--app-text-sm);color:var(--app-text-secondary-strong);line-height:var(--app-line-height-body);margin:0}.finance-toolbar p>span{font-size:var(--app-text-xs);color:var(--app-text-muted);display:block}.finance-toolbar ion-spinner{vertical-align:middle;width:15px;height:15px;margin-right:5px}.finance-balance{border:1px solid var(--app-border-subtle);background:var(--app-surface-accent-soft);border-radius:var(--app-radius-card);justify-content:space-between;align-items:center;gap:16px;padding:22px;display:flex}.finance-balance>div{gap:5px;display:grid}.finance-balance>div>span{font-size:var(--app-text-xs);color:var(--app-text-secondary-strong)}.finance-balance strong{font-size:var(--app-text-xl);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--app-text-strong);overflow-wrap:anywhere}.finance-balance__status{border-radius:var(--app-radius-pill);font-size:var(--app-text-xs);color:var(--app-text-accent-strong);background:var(--app-surface-card);padding:6px 12px;font-weight:600}.finance-balance--owed{background:var(--app-balance-owed-surface);border-color:var(--app-balance-owed-border)}.finance-balance--owed .finance-balance__status{color:var(--app-text-strong);background:var(--app-balance-owed-status)}.finance-statement{min-width:0}.finance-statement__heading,.finance-statement__footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.finance-statement__heading h2{font-size:var(--app-text-md);margin:0}.finance-statement__heading>span,.finance-statement__footer>span{font-size:var(--app-text-xs);color:var(--app-text-muted)}.finance-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:16px;display:grid}.finance-filters label,.finance-account-select{font-size:var(--app-text-xs);gap:6px;font-weight:600;display:grid}.finance-filters input,.finance-account-select select{appearance:none;box-sizing:border-box;width:100%;min-width:0;font:inherit;border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);min-height:42px;color:var(--app-text-strong);background:var(--app-surface-card);padding:9px}.finance-filters__actions{grid-column:1/-1;gap:6px;display:flex}.finance-filters__actions ion-button{margin:0}.finance-period{border-bottom:1px solid var(--app-border-subtle);grid-template-columns:1fr 1fr;gap:12px;margin:8px 0;padding:14px 0;display:grid}.finance-period dt{font-size:var(--app-text-xs);color:var(--app-text-muted)}.finance-period dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-weight:600}.finance-period>div:last-child{text-align:right}.finance-entries{margin:0;padding:0;list-style:none}.finance-entry{border-bottom:1px solid var(--app-border-subtle);padding:17px 0}.finance-entry__top{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.finance-entry__kind{font-size:var(--app-text-sm);color:var(--app-text-strong);font-weight:600}.finance-entry time{color:var(--app-text-muted);font-size:var(--app-text-xs);white-space:nowrap}.finance-entry__body{grid-template-columns:minmax(0,1fr) auto;gap:14px;display:grid}.finance-entry__copy{overflow-wrap:anywhere;min-width:0;font-size:var(--app-text-xs);line-height:var(--app-line-height-body);color:var(--app-text-secondary-strong)}.finance-entry__copy p{white-space:pre-wrap;margin:0}.finance-entry__copy>strong{margin-bottom:3px;display:block}.finance-entry__amount{text-align:right;font-variant-numeric:tabular-nums;align-content:start;gap:6px;display:grid}.finance-entry__amount>strong{font-size:var(--app-text-md)}.finance-entry__amount>span{color:var(--app-text-muted);font-size:var(--app-text-xs)}.finance-entry__reversed{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);font-size:var(--app-text-xs);margin-top:5px;padding:2px 7px;display:inline-block}.finance-entry__document{min-height:40px;color:var(--app-text-accent-strong);font:inherit;font-size:var(--app-text-xs);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:8px 0 0;font-weight:600;display:flex}.finance-entry--reversal .finance-entry__kind{color:var(--app-text-muted)}.finance-statement__footer{flex-wrap:wrap;padding-top:14px}.finance-message,.finance-empty{font-size:var(--app-text-sm);line-height:var(--app-line-height-body);color:var(--app-text-secondary-strong);border-radius:var(--app-radius-card);background:var(--app-surface-accent-soft);margin:0;padding:16px}.finance-empty h2{font-size:var(--app-text-md);margin:0 0 6px}.finance-empty p{margin:0}.finance-error{color:var(--app-text-danger);font-size:var(--app-text-sm)}.customer-invoice-modal{--width:min(600px, 100vw);--height:min(840px, 95vh);--border-radius:var(--app-radius-sheet)}.finance-invoice{color:var(--app-text-strong);padding:10px}.finance-invoice h1{font-size:var(--app-text-xl);margin:6px 0 24px}.finance-invoice h2{font-size:var(--app-text-sm);color:var(--app-text-muted);margin:0 0 8px}.finance-invoice__dates{gap:36px;margin-bottom:24px;display:flex}.finance-invoice__dates>div{font-size:var(--app-text-sm);gap:5px;display:grid}.finance-invoice__dates span{color:var(--app-text-muted);font-size:var(--app-text-xs)}.finance-invoice__billto,.finance-invoice__notes{margin:24px 0}.finance-invoice p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--app-line-height-body)}.finance-invoice__item{border-top:1px solid var(--app-border-subtle);overflow-wrap:anywhere;gap:8px;padding:18px 0;display:grid}.finance-invoice__item p{margin:0}.finance-invoice__item>span{font-size:var(--app-text-sm);color:var(--app-text-muted)}.finance-invoice__totals{border-top:1px solid var(--app-border-subtle);font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:12px;padding-top:20px;display:grid}.finance-invoice__totals dd{text-align:right;margin:0}.finance-invoice__total{font-size:var(--app-text-lg);padding-top:8px;font-weight:600}.finance-message small{color:var(--app-text-muted);display:block}.finance-invoice__settlement{margin-bottom:16px}.service-address-field{gap:8px;min-width:0;display:grid}.service-address-field__label{color:var(--app-text-secondary);font-size:var(--app-text-sm);font-weight:500}.service-address-field__choices{gap:8px;min-width:0;display:grid}.service-address-field button{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);min-height:48px;color:var(--app-text-accent);font:inherit;text-align:left;overflow-wrap:anywhere;padding:12px}.service-address-field__choices button{color:var(--app-text-strong);gap:4px;display:grid}.service-address-field__choices button[aria-pressed=true]{border-color:var(--app-text-accent);background:var(--app-surface-raised)}.service-address-field__choices small{color:var(--app-text-secondary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body)}.service-address-field button:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.service-address-field :disabled{opacity:.5}.new-job-modal ion-content{--background:var(--app-surface-page)}@media (width>=1001px){ion-modal.new-job-modal--drawer{--width:560px;--height:100%;--border-radius:0;justify-content:flex-end}}.new-job-form{padding:20px 20px calc(24px + env(safe-area-inset-bottom));color:var(--app-text-strong)}.new-job-form__fields{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.new-job-form__section{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);gap:14px;min-width:0;padding:18px;display:grid}.new-job-form h2{font-size:var(--app-text-md);margin:0;font-weight:600}.new-job-form small{color:var(--app-text-secondary);font-size:var(--app-text-xs);font-weight:400}.new-job-form h2 small{margin-left:6px}.new-job-form label{min-width:0;font-size:var(--app-text-sm);gap:7px;font-weight:600;display:grid}.new-job-form label>span>small{margin-top:3px;display:block}.new-job-form input,.new-job-form select,.new-job-form textarea{box-sizing:border-box;border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);background:var(--app-surface-card);width:100%;min-width:0;min-height:46px;color:var(--app-text-strong);font:inherit;font-size:var(--app-text-md);padding:11px 12px}.new-job-form textarea{resize:vertical;min-height:90px}.new-job-form :is(input,select,textarea,button,summary):focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.new-job-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.new-job-form__hint{font-size:var(--app-text-sm);color:var(--app-text-secondary);line-height:var(--app-line-height-body);margin:0}.new-job-form__customer{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);padding:12px}.new-job-form__customer input{background:0 0;border:0;min-height:28px;padding:0;font-weight:600}.new-job-form__customer p{color:var(--app-text-secondary-strong);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);overflow-wrap:anywhere;margin:4px 0 0}.new-job-form__text-button{min-height:44px;color:var(--app-text-accent-strong);font:inherit;font-size:var(--app-text-sm);background:0 0;border:0;padding:8px 0 0;font-weight:600}.new-job-form__choices{overscroll-behavior:contain;max-height:240px;overflow-y:auto}.new-job-form__customer-option{border:0;border-bottom:1px solid var(--app-border-control);width:100%;min-height:64px;color:var(--app-text-strong);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;gap:4px;padding:12px 4px;display:grid}.new-job-form__customer-option:hover{background:var(--app-surface-accent-soft)}.new-job-form__customer-option>span{font-size:var(--app-text-sm);color:var(--app-text-secondary)}.new-job-form__optional{border-top:1px solid var(--app-border-control);min-width:0}.new-job-form__optional summary{cursor:pointer;font-size:var(--app-text-sm);padding:13px 0;font-weight:600}.new-job-form__optional summary>span{vertical-align:middle;gap:4px;max-width:calc(100% - 24px);display:inline-grid}.new-job-form__optional summary small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.new-job-form__optional-body{gap:14px;padding-bottom:12px;display:grid}.new-job-form label.new-job-form__check{border-bottom:1px solid var(--app-border-control);align-items:center;gap:12px;min-height:46px;padding:8px 2px;font-weight:400;display:flex}.new-job-form__check input{width:20px;height:20px;min-height:20px;accent-color:var(--app-text-accent);flex:0 0 20px;padding:0}.new-job-form__error{border:1px solid var(--ion-color-danger);border-radius:var(--app-radius-control);color:var(--ion-color-danger);padding:14px}@media (width>=720px){.new-job-modal{--width:640px;--height:min(900px, 92vh);--border-radius:var(--app-radius-sheet)}}@media (width<=380px){.new-job-form{padding-left:12px;padding-right:12px}.new-job-form__section{padding:14px}}.customer-jobs{gap:14px;display:grid}.customer-jobs__heading,.customer-job__heading,.customer-job__actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.customer-jobs__heading>span,.customer-jobs__muted,.customer-job__meta,.customer-job__label,.customer-job__heading>span{color:var(--app-text-muted)}.customer-job{border-radius:var(--app-radius-card);background:var(--app-surface-card);min-width:0;padding:18px}.customer-job__heading{flex-wrap:wrap;align-items:baseline}.customer-job__heading h3{font-size:var(--app-text-md);overflow-wrap:anywhere;margin:0}.customer-job__heading>span,.customer-job__meta{font-size:var(--app-text-xs)}.customer-job__meta{line-height:var(--app-line-height-body);margin:6px 0 0}.customer-job__note{border-left:2px solid var(--app-border-control-strong);margin:16px 0 4px;padding-left:12px}.customer-job__note p{color:var(--app-text-secondary-strong);white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--app-line-height-body);margin:0}.customer-job__note .is-clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.customer-job button{font:inherit;color:var(--app-text-accent-strong);cursor:pointer}.customer-job button:focus-visible,.customer-jobs summary:focus-visible{outline:2px solid var(--app-text-accent-strong);outline-offset:3px}.customer-job__note button,.customer-job__actions button{text-align:left;background:0 0;border:0;min-height:44px;padding:8px 0;font-weight:600}.customer-job__visits{grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;display:grid}.customer-job .customer-job__visit{text-align:left;border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-control);background:var(--app-surface-card);min-width:0;color:var(--app-text-strong);line-height:var(--app-line-height-body);flex-direction:column;gap:5px;padding:12px;display:flex}.customer-job .customer-job__visit:not(.is-empty):hover{background:var(--app-surface-accent-soft)}.customer-job__visit strong{color:var(--app-text-accent-strong);font-size:var(--app-text-sm)}.customer-job__label,.customer-job__visit small,.customer-job__payment{font-size:var(--app-text-xs)}.customer-job__payment{color:var(--app-text-secondary-strong)}.customer-job__overdue{color:var(--app-work-overdue)}.customer-job__actions{border-top:1px solid var(--app-border-subtle);flex-wrap:wrap}.customer-job__actions span{color:var(--app-text-muted);margin-left:4px;font-weight:400}.customer-job__history button{border:0;border-top:1px solid var(--app-border-subtle);text-align:left;width:100%;color:var(--app-text-strong);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.customer-job__history small{font-size:var(--app-text-xs);color:var(--app-text-muted);margin-top:4px;display:block}.customer-jobs summary{cursor:pointer;color:var(--app-text-muted);padding:10px 0}.customer-jobs__empty{color:var(--app-text-muted);padding:20px 0}@media (width<=420px){.customer-job{padding:14px}.customer-job__visits{gap:8px}.customer-job .customer-job__visit{padding:10px}}.customer-job [data-work-status]{color:var(--work-status-color)}.customer-card__balances{justify-content:flex-end;gap:var(--app-space-1) var(--app-space-3);flex-wrap:wrap;display:flex}.customer-card__balance{font-size:var(--app-text-xs);line-height:var(--app-line-height-body);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.customer-card__balance>strong{font-weight:500}.customer-card__balance>span{color:var(--app-text-secondary-strong)}.customer-card__balance--owed>strong{color:var(--app-text-danger)}.customer-card__balance--credit>strong{color:var(--app-text-accent-strong)}.list-page{gap:var(--app-space-3);min-width:0;display:grid}.list-page__controls{gap:var(--app-space-2);flex-wrap:wrap;align-items:center;display:flex}.list-page__controls>.ui-segmented{width:min(100%,24rem)}.list-page__search{flex:18rem;min-width:min(100%,16rem)}.list-page__actions{gap:var(--app-space-2);flex-wrap:wrap;display:flex}.list-page__group{border-radius:var(--app-radius-card);background:var(--app-surface-card);overflow:clip}.list-page__empty{padding:var(--app-space-6) var(--app-space-4);color:var(--app-text-secondary);margin:0}.list-page__table{border-collapse:collapse;table-layout:fixed;width:100%;color:var(--app-text-primary);font-size:var(--app-text-sm)}.list-page__table th,.list-page__table td{padding:var(--app-space-2);text-align:left;overflow-wrap:anywhere;border-bottom:1px solid var(--app-border-subtle)}.list-page__table th{color:var(--app-text-secondary);font-weight:500}.list-page__table td{height:56px}.list-page__table tbody tr{cursor:pointer}.list-page__table tbody tr:hover,.list-page__table tr[aria-selected=true]{background:var(--app-surface-accent-soft)}.list-page__table:focus-visible,.list-page__table:focus-visible tr[aria-selected=true]{outline:2px solid var(--app-text-accent);outline-offset:-2px}.list-page__table th .ui-button{flex-wrap:wrap;max-width:100%}.list-page__address{white-space:nowrap;display:flex}.list-page__street{text-overflow:ellipsis;min-width:0;overflow:hidden}.list-page__postcode{flex-shrink:0}.list-detail{min-width:0}.list-detail--open{gap:var(--app-space-4);grid-template-columns:minmax(0,1fr) minmax(380px,44%);align-items:start;display:grid}.list-detail__pane{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);background:var(--app-surface-card);min-width:0;height:calc(100dvh - 116px);position:sticky;top:0;overflow:hidden}.list-detail__pane[hidden]{display:none}.list-detail__host,.list-detail__content,.list-detail__modal-host{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.list-detail__content>ion-content{flex:1;min-height:0}.list-detail__pane ion-title{min-width:0;padding:0 var(--app-space-2);font-size:var(--app-text-lg);position:static}.list-detail__pane ion-toolbar{--min-height:max(46px, 2.875rem);--padding-top:0;--padding-bottom:0;--padding-start:var(--app-space-1);--padding-end:var(--app-space-1)}.list-detail__pane .app-content{--padding-start:var(--app-space-3);--padding-end:var(--app-space-3)}.list-page__table--compact td{height:auto;padding:0}.list-page__table--compact .ui-list-row{background:0 0;border-bottom:0}@media (width>=1024px){.list-page__sticky-controls{z-index:3;background:var(--app-surface-page);padding-bottom:var(--app-space-3);margin-bottom:calc(-1 * var(--app-space-3));position:sticky;top:0}.list-page__sticky-controls .list-page__filter-summary{max-height:20dvh;overflow-y:auto}.list-page__sticky-controls:before{content:"";inset-inline:0;height:var(--padding-top,0px);background:var(--app-surface-page);position:absolute;bottom:100%}.list-page--sticky .list-page__table thead{top:var(--list-controls-height,0px);z-index:2;background:var(--app-surface-card);position:sticky}.list-page--sticky .list-page__table tbody tr{scroll-margin-top:calc(var(--list-controls-height,0px) + var(--list-heading-height,0px))}}.list-page__selectable{align-items:center;gap:var(--app-space-2);min-width:0;display:flex}.list-page__selectable>input{width:20px;height:20px;accent-color:var(--ion-color-primary);flex:none;margin-inline-start:var(--app-space-3)}.list-page__selectable>.ui-list-row{min-width:0}.list-detail__title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-detail__header{border-bottom:1px solid var(--app-border-subtle)}.list-detail-modal{--width:100%;--height:100%;--border-radius:0}.list-form-modal{--border-radius:var(--app-radius-sheet) var(--app-radius-sheet) 0 0}.list-form-modal__content{--padding-top:var(--app-space-6)}.jobs-list{position:relative}.jobs-list__text-scale{visibility:hidden;pointer-events:none;width:1rem;height:1rem;position:absolute}.jobs-table th:first-child{width:20%}.jobs-table th:nth-child(2){width:8.5rem}.jobs-table th:nth-child(4){width:9rem}.jobs-table th:nth-child(5),.jobs-table th:nth-child(6){width:5rem}.jobs-table th:nth-child(7){width:12%}.jobs-table__round-name,.jobs-table__preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.jobs-table__timing{color:var(--app-text-secondary);display:block}.job-list-overdue .jobs-table__timing{color:inherit}.jobs-table .ui-button{white-space:normal;text-align:left;overflow-wrap:anywhere;min-width:0;padding-inline:var(--app-space-1)}@media (width>=1024px) and (width<=1279px){.jobs-table__duration{display:none}}@media (width>=768px){.list-form-modal{--width:min(520px, calc(100vw - 48px));--height:min(24rem, calc(100dvh - 48px));--border-radius:var(--app-radius-sheet)}}ion-alert.customer-discard-alert .alert-button,ion-alert.list-discard-alert .alert-button{text-transform:none;font-family:inherit;font-size:var(--app-text-md);color:var(--app-text-accent-strong);font-weight:500}ion-alert.customer-discard-alert button.alert-button-destructive,ion-alert.list-discard-alert button.alert-button-destructive{color:var(--ion-color-danger)}.jobs-list--compact .jobs-table__duration,.jobs-list--compact .jobs-table__round{display:none}.jobs-list--compact th:first-child{width:24%}.jobs-list--compact th:nth-child(2),.jobs-list--compact th:nth-child(4){width:20%}.jobs-list--compact th:nth-child(6){width:16%}.jobs-list--compact .list-page__address{flex-wrap:wrap}.jobs-list--compact .list-page__address-separator{display:none}.jobs-list--compact .list-page__postcode{flex-basis:100%}.jobs-list--compact .jobs-table__preview{display:block;overflow:visible}@media (hover:none){.jobs-table__preview{display:block;overflow:visible}}.customer-create-modal__content{--padding-top:0;--padding-bottom:calc(env(safe-area-inset-bottom) + 28px);--padding-start:20px;--padding-end:20px}.customer-create{gap:8px;max-width:560px;margin:0 auto;padding-top:20px;display:grid}.customer-create__section{border-radius:var(--app-radius-card);background:var(--app-surface-card);gap:16px;padding:20px;display:grid}.customer-create__error{border:1px solid var(--app-border-danger);border-radius:var(--app-radius-card);background:var(--app-surface-danger-soft);padding:12px 14px}.connection-status{box-sizing:border-box;border-radius:var(--app-radius-pill);width:100%;min-height:44px;color:var(--app-text-success);font-size:var(--app-text-xs);font-weight:600;line-height:var(--app-line-height-title);background:0 0;align-items:center;gap:6px;padding:6px 8px;text-decoration:none;display:inline-flex}.connection-dot{border-radius:var(--app-radius-pill);background:var(--app-status-idle);flex:0 0 7px;width:7px;height:7px}.connection-dot.is-online{background:var(--app-status-online)}.connection-dot.is-offline{background:var(--app-status-offline)}.connection-status__label{text-align:end;white-space:nowrap;min-width:0}.connection-status__sync-icon{font-size:var(--app-text-sm);flex:0 0 14px;animation:2s linear infinite connection-sync}@keyframes connection-sync{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.connection-status__sync-icon{animation:none}}.connection-status.is-attention{color:var(--app-text-danger)}.connection-status:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.mobile-navigation{background:var(--app-surface-card);padding-bottom:var(--ion-safe-area-bottom,env(safe-area-inset-bottom,0px))}.mobile-navigation nav{padding:5px max(8px, env(safe-area-inset-right)) 5px max(8px, env(safe-area-inset-left));grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.mobile-navigation a{border-radius:var(--app-radius-control);min-height:54px;color:var(--app-text-muted);font-size:var(--app-text-xs);line-height:var(--app-line-height-title);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:5px 2px;font-weight:500;text-decoration:none;display:flex}.mobile-navigation ion-icon{font-size:var(--app-text-lg)}.mobile-navigation a[aria-current=page]{color:var(--app-text-accent-strong);font-weight:600}.mobile-navigation a:active{background:var(--app-surface-accent-soft)}.mobile-navigation a:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.customers-content{--padding-top:var(--app-space-3);--padding-bottom:calc(env(safe-area-inset-bottom) + 88px)}.customer-card__badges{gap:var(--app-space-1);flex-wrap:wrap;align-items:center;display:flex}.customer-card__badges .customer-badge{white-space:normal;overflow-wrap:anywhere;max-width:100%}.customer-card__balance-slot{width:7.5rem;max-width:100%;min-height:calc(2 * var(--app-text-xs) * var(--app-line-height-body));display:block;container-type:inline-size}.customers-table__name{width:24%}.customers-table__address{width:20%}.customers-table__round{width:14%}.customers-table__balance{width:16%}.customers-table__phone{width:12%}.customers-table__visit{width:14%}.customer-next-visit{align-items:center;gap:var(--app-space-1);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:inline-flex}.customer-next-visit-line{margin-top:var(--app-space-1);display:block}.customers-table__balance-cell .customer-card__balance-slot{width:100%}.customers-fab{--background:var(--ion-color-primary);--box-shadow:var(--app-shadow-floating);--color:var(--ion-color-primary-contrast)}.customer-filters-modal{--height:min(88%, 660px);--width:100%;--border-radius:var(--app-radius-sheet)}.customer-filters-modal::part(content){border-radius:var(--app-radius-sheet) var(--app-radius-sheet) 0 0}.customer-filters-modal::part(handle){background:var(--app-border-control-strong);width:40px}.customer-filters-popover{--width:360px;--max-width:calc(100vw - 32px)}.customer-filters{background:var(--app-surface-card);height:100%;min-height:0;color:var(--app-text-strong);flex-direction:column;display:flex}.customer-filters-popover .customer-filters{max-height:min(720px,80dvh)}.customer-filters__header{flex:none;justify-content:space-between;align-items:center;padding:16px 16px 8px 20px;display:flex}.customer-filters__header h2{font-size:var(--app-text-lg);margin:0;font-weight:600}.customer-filters__body{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 20px 20px;overflow-y:auto}.customer-filters fieldset{border:0;min-width:0;margin:0;padding:0}.customer-filters fieldset+fieldset{margin-top:24px}.customer-filters legend{font-size:var(--app-text-sm);margin-bottom:8px;font-weight:600}.customer-filters__hint{font-size:var(--app-text-xs);color:var(--app-text-muted);margin:0 0 8px}.customer-filters__statuses{flex-wrap:wrap;gap:4px 16px;display:flex}.customer-filters__choice{cursor:pointer;min-height:44px;font-size:var(--app-text-sm);align-items:center;gap:10px;display:flex}.customer-filters__choice span{overflow-wrap:anywhere;min-width:0}.customer-filters__choice input{width:18px;height:18px;accent-color:var(--ion-color-primary);flex:none;margin:0}.customer-filters__footer{border-top:1px solid var(--app-border-subtle);padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.customer-sort-popover{--width:280px;--max-width:calc(100vw - 24px)}.customer-sort-menu h2{font-size:var(--app-text-xs);color:var(--app-text-muted);margin:8px 12px;font-weight:500}.customer-sort-menu ion-icon{font-size:var(--app-text-md);flex:none}.customer-filter-chips{flex-wrap:wrap;gap:6px;display:flex}.customer-filter-chips span{overflow-wrap:anywhere;min-width:0}.customer-filter-chips ion-icon{flex:none}.customer-sort-modal{--height:auto;--max-height:90dvh;--border-radius:var(--app-radius-sheet)}.customer-sort-menu{max-height:85dvh;padding:var(--app-space-2);background:var(--app-surface-card);gap:var(--app-space-1);display:grid;overflow-y:auto}.customer-sort-menu .ui-button{text-align:left;justify-content:space-between}.customer-sort-menu .ui-button[aria-pressed=true]{background:var(--app-surface-accent-soft)}.dashboard-tile{--tile-accent:var(--app-text-accent);--tile-tint:var(--app-surface-accent-soft);gap:var(--app-space-2);width:100%;min-width:0;padding:var(--app-space-4);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);background:var(--app-surface-card);color:var(--app-text-primary);font-family:var(--app-body-font);text-align:left;flex-direction:column;display:flex}.dashboard-tile--customers{--tile-accent:var(--app-tile-secondary-accent);--tile-tint:var(--app-tile-secondary-surface)}.dashboard-tile--planner{--tile-accent:var(--app-text-warning);--tile-tint:var(--app-surface-warning-soft)}.dashboard-tile__header,.dashboard-tile__body,.dashboard-tile__footer{align-items:center;display:flex}.dashboard-tile__header{gap:var(--app-space-2);flex-wrap:wrap}.dashboard-tile__title{font-size:var(--app-text-md);margin:0;font-weight:600}.dashboard-tile__context{color:var(--app-text-muted);font-size:var(--app-text-xs);margin-left:auto}.dashboard-tile__icon-wrap{width:calc(var(--app-text-md) * 2);height:calc(var(--app-text-md) * 2);border-radius:var(--app-radius-control);color:var(--tile-accent);background:var(--tile-tint);flex-shrink:0;place-items:center;display:grid}.dashboard-tile__icon{font-size:var(--app-text-lg)}.dashboard-tile__body{justify-content:space-between;gap:var(--app-space-3);flex-wrap:wrap;flex:1}.dashboard-tile__copy{gap:var(--app-space-1);min-width:0;display:grid}.dashboard-tile__value{font-size:var(--app-text-xl);font-weight:600;line-height:var(--app-line-height-title);font-variant-numeric:tabular-nums}.dashboard-tile__detail{color:var(--app-text-secondary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body)}.dashboard-tile__footer{justify-content:space-between;gap:var(--app-space-2);padding-top:var(--app-space-1);border-top:1px solid var(--app-border-subtle);font-size:var(--app-text-xs);flex-wrap:wrap}.dashboard-tile__badge{color:var(--app-text-secondary)}.dashboard-tile__badge:empty{display:none}.dashboard-tile__action{margin-left:auto}@media (width>=1024px){.dashboard-tile{gap:var(--app-space-4);padding:calc(var(--app-space-4) + var(--app-space-1))}}.week-jobs{gap:14px;width:100%;display:grid}.week-jobs__chart{font-size:var(--app-text-xs);grid-template-columns:repeat(7,minmax(3ch,1fr));gap:10px;display:grid;overflow-x:auto}.week-jobs__day{text-align:center;gap:6px;display:grid}.week-jobs__total{color:var(--app-text-secondary);font-size:var(--app-text-xs);font-variant-numeric:tabular-nums}.week-jobs__bar{border-bottom:1px solid var(--app-border-control-strong);flex-direction:column-reverse;align-items:stretch;height:70px;margin-inline:3px;display:flex}.week-jobs__segment{flex-shrink:0}.week-jobs__segment--completed{background:var(--app-chart-completed)}.week-jobs__segment--skipped{background:var(--app-chart-skipped)}.week-jobs__segment--notDone{background:var(--app-chart-not-done)}.week-jobs__label{color:var(--app-text-secondary);font-size:var(--app-text-xs);line-height:var(--app-line-height-body)}.week-jobs__day--today .week-jobs__label{color:var(--app-text-primary);text-underline-offset:4px;font-weight:600;text-decoration:underline}.week-jobs__legend{color:var(--app-text-secondary);font-size:var(--app-text-xs);flex-wrap:wrap;justify-content:center;gap:8px 14px;display:flex}.week-jobs__legend>span{align-items:center;gap:5px;display:inline-flex}.week-jobs__swatch{border-radius:var(--app-radius-control);width:7px;height:7px}.home-modules{gap:var(--app-space-3);grid-template-columns:minmax(0,1fr);max-width:1200px;display:grid}@media (width>=1024px){.home-modules{gap:var(--app-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}}.home-day-ring{width:4rem;height:4rem;color:var(--app-text-accent);flex:0 0 4rem;place-items:center;display:grid;position:relative}.home-day-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.home-day-ring circle{fill:none;stroke-width:7px}.home-day-ring__track{stroke:var(--app-surface-accent-soft)}.home-day-ring__fill{stroke:currentColor;stroke-linecap:round}.home-day-ring ion-icon{font-size:var(--app-text-xl)}.home-day-ring--empty{color:var(--app-text-muted)}.home-day-ring--empty .home-day-ring__track{stroke:var(--app-border-control);stroke-dasharray:3 6;stroke-width:3px}.initial-sync-artwork{aspect-ratio:320/216;width:100%;max-width:320px;color:var(--app-text-accent-strong);margin:0 auto;position:relative;overflow:hidden}.initial-sync-artwork .brand-logo{width:174px;position:absolute;top:26%;left:50%;transform:translate(-50%)}.initial-sync-artwork__bubbles{width:100%;height:100%;display:block}.initial-sync-artwork__bubbles circle{fill:currentColor;opacity:0;transform-box:fill-box;transform-origin:50%;animation:initial-sync-bubble var(--bubble-duration) ease-in-out infinite;animation-delay:var(--bubble-delay);animation-play-state:paused}.initial-sync-artwork.is-active circle{animation-play-state:running}@keyframes initial-sync-bubble{0%,8%{opacity:0;transform:translateY(15px)scale(.8)}22%{opacity:.17}68%{opacity:.13}92%,to{opacity:0;transform:translate(var(--bubble-drift), -104px) scale(1.06)}}@media (prefers-reduced-motion:reduce){.initial-sync-artwork__bubbles circle{animation:none}}.initial-sync-progress{align-items:center;gap:var(--app-space-4);margin-top:var(--app-space-6);flex-wrap:wrap;display:flex}.initial-sync-progress__text{flex:9rem;min-width:0}.initial-sync-progress__status{color:var(--app-text-accent-strong);font-size:var(--app-text-md);margin:0;font-weight:500}.initial-sync-ring{width:4.5rem;height:4.5rem;color:var(--app-text-accent-strong);flex:0 0 4.5rem;position:relative}.initial-sync-ring>svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.initial-sync-ring circle{fill:none;stroke-width:5px}.initial-sync-ring__track{stroke:var(--app-border-control)}.initial-sync-ring__value{stroke:currentColor;stroke-linecap:round;stroke-dasharray:100;transition:stroke-dashoffset .18s ease-out}.initial-sync-ring--indeterminate .initial-sync-ring__value{stroke-dasharray:24 76}.initial-sync-ring--indeterminate>svg{animation:3s linear infinite initial-sync-orbit}.initial-sync-ring--paused .initial-sync-ring__track{stroke:currentColor;stroke-dasharray:3 5;opacity:.55}.initial-sync-ring--paused .initial-sync-ring__value{visibility:hidden}.initial-sync-ring__label{font-size:var(--app-text-sm);font-variant-numeric:tabular-nums;place-items:center;display:grid;position:absolute;inset:0}.initial-sync-ring__label ion-icon{font-size:var(--app-text-xl)}.initial-sync-progress .initial-sync-progress__copy{margin:var(--app-space-2) 0 0;color:var(--app-text-secondary);line-height:var(--app-line-height-body)}.sync-actions{gap:var(--app-space-3);margin-top:var(--app-space-6);display:grid}@keyframes initial-sync-orbit{to{transform:rotate(270deg)}}@media (prefers-reduced-motion:reduce){.initial-sync-ring--indeterminate>svg{animation:none}.initial-sync-ring__value{transition:none}}.job-location-map{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-accent-soft);width:100%;height:210px;position:relative;overflow:hidden}.job-location-map__image{object-fit:cover;width:100%;height:100%;display:block}.job-location-map__link{border-radius:var(--app-radius-pill);background:var(--app-surface-card);min-height:44px;box-shadow:var(--app-shadow-floating);color:var(--app-text-strong);font-size:var(--app-text-sm);font-weight:600;line-height:var(--app-line-height-title);border:0;justify-content:center;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex;position:absolute;bottom:12px;right:12px}.job-location-map__link:hover{background:var(--app-surface-card);color:var(--app-text-accent-strong)}.job-location-map--empty{color:var(--app-text-muted);font-size:var(--app-text-sm);place-items:center;gap:12px;font-weight:600;display:grid}.job-location-map--empty .job-location-map__link{position:static}@media (width>=720px){.job-location-map{height:260px}}.job-location-map__link:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:3px}.job-compact-chips{flex-wrap:wrap;gap:7px;display:flex}.job-compact-empty{color:var(--app-text-secondary)}.job-compact-schedule>span{gap:7px;display:grid}.job-work-notes{color:var(--app-text-secondary-strong);line-height:var(--app-line-height-body);white-space:pre-wrap;margin:0}.job-schedule-warning{border-radius:var(--app-radius-control);background:var(--app-surface-warning);color:var(--app-text-strong);line-height:var(--app-line-height-body);margin:0;padding:12px}.job-command-message{color:var(--app-text-secondary-strong);margin:0}.job-picker,.job-picker__list,.job-editor-form{gap:14px;display:grid}.job-picker__option{border-bottom:1px solid var(--app-border-control);min-height:58px;color:var(--app-text-strong);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.job-picker__option>span:not(.job-picker__avatar){gap:3px;display:grid}.job-picker__option small{color:var(--app-text-secondary)}.job-picker__option input{width:22px;height:22px}.job-picker__avatar{border-radius:var(--app-radius-pill);background:var(--app-surface-accent-soft);width:42px;height:42px;color:var(--app-text-accent-strong);place-items:center;display:grid}.job-editor-form__grid{gap:var(--app-space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}@media (width>=720px){.job-editor-modal{--width:min(620px, 92vw);--height:min(760px, 90vh);--border-radius:var(--app-radius-sheet)}}.visit-lifecycle-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.visit-lifecycle-actions__confirmation{gap:var(--app-space-2);border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);flex-wrap:wrap;flex-basis:100%;padding:8px;display:flex}.visit-lifecycle-actions__confirmation p{flex-basis:100%}.visit-note{gap:var(--app-space-2);display:grid}.visit-note p{color:var(--app-text-secondary-strong);line-height:var(--app-line-height-body);white-space:pre-wrap;margin:0}.visit-lifecycle-wrap{gap:var(--app-space-2);display:grid}.visit-cancel{justify-self:start}.visit-compact-message,.visit-compact-locked{color:var(--app-text-secondary-strong);line-height:var(--app-line-height-body);margin:0}.visit-editor-form{gap:var(--app-space-4);display:grid}.visit-editor-form p{color:var(--app-text-secondary);line-height:var(--app-line-height-body);margin:0}.visit-editor-grid{gap:var(--app-space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}@media (width>=720px){.visit-editor-modal{--width:min(620px, 92vw);--height:min(620px, 88vh);--border-radius:var(--app-radius-sheet)}}.page-loading-surface{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);background:var(--app-surface-card);place-items:center;min-height:clamp(260px,48vh,520px);display:grid}.page-loading-surface__status{color:var(--app-text-muted);font-size:var(--app-text-sm);align-items:center;gap:10px;font-weight:600;display:inline-flex}.page-loading-surface__status ion-spinner{width:20px;height:20px;color:var(--app-status-idle)}.job-detail-content .app-layout{gap:0}.job-workspace-detail{gap:var(--app-space-4);min-width:0;display:grid;container:job-detail/inline-size}.job-detail-identity{gap:var(--app-space-2);min-width:0;display:grid}.job-detail-identity p{color:var(--app-text-secondary);line-height:var(--app-line-height-body);margin:0}.job-customer-link{text-align:left;max-width:100%}.job-customer-link span{overflow-wrap:anywhere;min-width:0}.job-detail-facts{gap:var(--app-space-4);padding-top:var(--app-space-3);border-top:1px solid var(--app-border-subtle);grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));display:grid}.job-detail-summary{display:contents}.job-detail-label{color:var(--app-text-secondary);font-size:var(--app-text-sm);font-weight:500;line-height:var(--app-line-height-body)}.job-visit-navigation{justify-content:space-between;gap:var(--app-space-2);flex-wrap:wrap;display:flex}.job-detail-columns{gap:var(--app-space-4);align-items:start;display:grid}.job-visits-sidebar{min-width:0}.job-all-visits{display:block}.job-all-visits summary{min-height:44px;color:var(--app-text-strong);font-size:var(--app-text-lg);cursor:pointer;font-weight:600}.job-all-visits summary:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.job-all-visits h3{color:var(--app-text-secondary);font-size:var(--app-text-md);font-weight:500}.job-detail-history__link .ui-list-row__secondary>span,.job-detail-history__link .ui-list-row__trailing>span{display:block}.job-detail-history__link{flex-wrap:wrap}.job-detail-history__link .ui-list-row__copy{flex-basis:8rem}.job-detail-history__link .ui-list-row__trailing{max-width:100%}.job-map-section .job-location-map{height:220px;margin:0}.job-map-section .job-location-map--empty{height:auto;min-height:72px}.job-source-list{display:none}@container job-detail (width<=35rem){.job-detail-facts>.detail-fact{grid-column:1/-1}}@container job-detail (width>=44rem){.job-detail-columns:not(.is-job){grid-template-columns:minmax(0,880px) minmax(240px,300px)}}@media (width>=1050px){.job-workspace.has-source{gap:var(--app-space-4);grid-template-columns:minmax(200px,22%) minmax(0,1fr);align-items:start;display:grid}.job-source-list{gap:0;max-height:75vh;display:grid;position:sticky;top:0;overflow-y:auto}.job-source-list h2{font-size:var(--app-text-lg)}}.job-list-panel{gap:18px;min-width:0;padding:22px;display:grid;container-type:inline-size}.job-list-panel__header{gap:8px;display:grid}.job-list-panel__header ion-note{color:var(--app-text-muted);font-size:var(--app-text-xs);font-weight:600}.job-list-panel__header h2{color:var(--app-text-strong);font-size:var(--app-text-xl);line-height:var(--app-line-height-title);margin:0}.job-list-panel__items{gap:12px;display:grid}.job-list-card{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);transition:border-color .14s,opacity .14s,transform .14s;display:grid;position:relative}.job-list-card__body{gap:14px;min-width:0;padding:16px;display:grid}.job-list-card:has(.job-list-card__drag-handle) .job-list-card__body{padding-right:68px}.job-list-card__body--button{cursor:pointer;transition:border-color .18s,transform .18s}:is(.job-list-card:has(.job-list-card__body--button:focus-visible),.job-list-card:has(.job-list-card__body--button:hover)){border-color:var(--app-text-accent);transform:translateY(-1px)}.job-list-card__body--button:focus-visible{border-radius:inherit;box-shadow:0 0 0 3px var(--app-surface-accent-soft);outline:none}.job-list-card--dragging{z-index:4;border-color:var(--app-text-accent);opacity:.94;box-shadow:0 18px 38px var(--app-shadow-job-hover);will-change:transform;transition:none}.job-list-card--drag-target{border-color:var(--app-text-accent);box-shadow:inset 0 0 0 2px var(--app-surface-accent-soft);transform:scale(.992)}.job-list-card__drag-handle{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-card);background:var(--app-surface-card);width:44px;height:44px;color:var(--app-text-secondary-strong);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.job-list-card__drag-handle:active{cursor:grabbing}.job-list-card--dragging .job-list-card__drag-handle{background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong);cursor:grabbing}.job-list-card__drag-handle:focus-visible{border-color:var(--app-text-accent);box-shadow:0 0 0 3px var(--app-surface-accent-soft);outline:none}.job-list-card__drag-handle:disabled{cursor:not-allowed;opacity:.48}.job-list-card__drag-handle ion-icon{font-size:var(--app-text-lg);pointer-events:none}.job-list-card__reorder-status{border-top:1px solid var(--app-border-control);color:var(--app-text-secondary-strong);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);gap:3px;padding:10px 16px;display:grid}.job-list-card__reorder-status strong{font-size:var(--app-text-xs)}.job-list-card__reorder-status--pending{background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong)}.job-list-card__reorder-status--failed,.job-list-card__reorder-status--conflict{background:var(--app-surface-danger-soft);color:var(--app-text-danger)}.job-list-card__title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.job-list-card__customer{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.job-list-card__customer-name{overflow-wrap:anywhere;color:var(--app-text-strong);font-weight:600;line-height:var(--app-line-height-title)}.job-list-card__tag,.job-list-card__round-tag,.job-list-card__status{border-radius:var(--app-radius-pill);min-height:28px;font-size:var(--app-text-xs);font-weight:600;line-height:var(--app-line-height-title);align-items:center;padding:6px 10px;display:inline-flex}.job-list-card__tag{background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong)}.job-list-card__round-tag{border:1px solid var(--app-border-control-strong);background:var(--app-surface-card);color:var(--app-text-secondary-strong)}.job-list-card__status{background:var(--app-surface-danger-soft);color:var(--app-text-danger)}.job-list-card__meta{gap:10px;display:grid}.job-list-card__meta-item{color:var(--app-text-secondary);font-size:var(--app-text-md);line-height:var(--app-line-height-body);grid-template-columns:1.125rem minmax(0,1fr);align-items:start;gap:9px;display:grid}.job-list-card__meta-item ion-icon{color:var(--app-text-accent);font-size:var(--app-text-md);margin-top:1px}@container (width>=660px){.job-list-card__meta{grid-template-columns:minmax(0,2fr) repeat(3,minmax(120px,1fr))}}.job-list-overdue{color:var(--app-work-overdue);font-weight:600}.route-location-settings:where(:not(.detail-section)),.route-options{padding:20px}.route-location-settings:where(:not(.detail-section)) h2{font-size:var(--app-text-md);margin:0 0 16px}.route-location-settings form,.route-endpoints{gap:16px;display:grid}.route-location-field{overflow-wrap:anywhere;gap:8px;min-width:0;display:grid}.route-options-actions{flex-wrap:wrap;gap:8px;display:flex}.route-options button:not(.ui-button,.ui-field__control),.route-options select{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);min-height:48px;color:var(--app-text-primary);font:inherit;cursor:pointer;padding:10px 14px}.route-options select{width:100%}.route-options .day-route button:not(.ui-button,.ui-field__control),.route-options .day-route select{min-height:48px;font:inherit;padding:10px 14px}.route-options label:not(.ui-field__labelled-control){gap:8px;display:grid}.route-options button:not(.ui-button,.ui-field__control):disabled{opacity:.5;cursor:default}.route-options button:not(.ui-button,.ui-field__control):focus-visible{outline:2px solid var(--app-text-accent-strong);outline-offset:2px}.route-options .route-primary{background:var(--app-text-accent-strong);color:var(--ion-color-primary-contrast)}.route-options .day-route__controls{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.route-options .day-route__controls label{flex:1}.route-options .day-route{border:0;padding:0}.route-options .day-route__status{margin-top:16px}ion-modal.route-options-modal{--width:620px;--height:min(850px, 95%)}@media (width<=600px){ion-modal.route-options-modal{--width:100%;--height:100%}}.route-options .day-route__controls>.route-primary{flex:1}.route-options .day-route .route-saved-order{border-color:#0000;flex:0 0 48px;place-items:center;width:48px;padding:0;display:grid}.route-saved-order ion-icon{font-size:var(--app-text-lg)}.route-work-surface{position:relative}.route-work-surface__overlay{z-index:2;border-radius:var(--app-radius-card);background:color-mix(in srgb, var(--app-surface-card) 65%, transparent);padding:24px 12px;position:absolute;inset:0}.route-work-surface__progress{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);width:fit-content;max-width:100%;color:var(--app-text-primary);box-shadow:0 4px 16px var(--app-shadow-route);justify-content:center;align-items:center;gap:12px;margin:0 auto;padding:16px 20px;display:flex;position:sticky;top:24px}.route-work-surface__progress ion-spinner{color:var(--app-text-accent-strong);flex:0 0 24px}.route-work-attribution{font-size:var(--app-text-xs);flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.planner-change-modal{--width:480px;--height:auto;--border-radius:var(--app-radius-sheet)}.planner-change-modal ion-toolbar{--background:var(--app-surface-card)}.planner-change-modal ion-title{font-size:var(--app-text-md);padding-inline:16px}.planner-change-modal .ion-page{contain:layout style;position:relative}.planner-dialog__surface{background:var(--app-surface-card);flex-direction:column;max-height:min(90dvh,720px);display:flex}.planner-dialog{min-height:0;color:var(--app-text-strong);padding:16px;overflow-y:auto}.planner-dialog__fields{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.planner-dialog__button,.planner-dialog__search,.planner-dialog__option input{font:inherit;color:var(--app-text-strong);accent-color:var(--app-text-accent)}.planner-dialog__button,.planner-dialog__search{background:var(--app-surface-card);border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);min-height:44px;padding:8px 12px}.planner-dialog__search{width:100%;min-width:0;min-height:48px}.planner-dialog__button,.planner-dialog__option{cursor:pointer;touch-action:manipulation}.planner-dialog__button:disabled,.planner-dialog__fields:disabled{opacity:.5;cursor:default}.planner-dialog__button:focus-visible,.planner-dialog__search:focus-visible,.planner-dialog__option input:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.planner-dialog__button[aria-pressed=true]{color:var(--app-text-accent);background:var(--app-surface-accent-soft);border-color:var(--app-text-accent)}.planner-dialog__segments{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.planner-dialog__segments>button:where(.planner-dialog__button){border:0;padding-inline:4px}.planner-dialog__muted{color:var(--app-text-muted);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);margin:0;display:block}.planner-dialog__segments+.planner-dialog__muted{margin-top:8px}.planner-dialog__option{border-bottom:1px solid var(--app-border-subtle);align-items:center;gap:12px;min-height:48px;padding-block:8px;display:flex}.planner-dialog__option input{flex:0 0 20px;width:20px;height:20px;margin:0}.planner-dialog__option-name{overflow-wrap:anywhere;flex:1;min-width:0}.planner-dialog__count{color:var(--app-text-muted);font-size:var(--app-text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.planner-dialog__round-color{border-radius:var(--app-radius-pill);flex:0 0 12px;width:12px;height:12px}.planner-dialog__footer{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));background:var(--app-surface-card);border-top:1px solid var(--app-border-subtle);text-align:right}.planner-dialog__save{background:var(--ion-color-primary);color:var(--ion-color-primary-contrast);border-color:var(--ion-color-primary)}.planner-dialog__error{color:var(--app-text-danger);text-align:left;margin:0 0 12px}.planner-calendar{gap:12px;display:grid}.planner-calendar__presets{flex-wrap:wrap;gap:8px;display:flex}.planner-calendar__month{justify-content:space-between;align-items:center;gap:8px;display:flex}.planner-calendar__month strong{font-weight:500}.planner-calendar__month>button:where(.planner-dialog__button){border:0}.planner-calendar__days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.planner-calendar__days>span{text-align:center;color:var(--app-text-muted);padding-block:8px}.planner-calendar__days>button:where(.planner-dialog__button){border:0;padding-inline:0}.planner-calendar__days>button:where(.planner-dialog__button)[aria-pressed=true]{background:var(--ion-color-primary);color:var(--ion-color-primary-contrast)}@media (width<=600px){.planner-dialog__surface{max-height:min(92dvh,720px)}.planner-change-modal{--width:100%;--height:auto;--border-radius:var(--app-radius-sheet) var(--app-radius-sheet) 0 0;align-items:flex-end}}.planner-action-menu{padding:8px 16px 16px;overflow-y:auto}.planner-action-menu>p{color:var(--app-text-muted);font-size:var(--app-text-sm);margin:0 0 8px}.planner-action-menu__action{width:100%;min-height:56px;font:inherit;text-align:left;color:var(--app-text-strong);border:0;border-bottom:1px solid var(--app-border-subtle);background:var(--app-surface-card);cursor:pointer;align-items:center;gap:12px;padding:12px 8px;display:flex}.planner-action-menu__action:last-child{border-bottom:0}.planner-action-menu__action:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.planner-action-menu ion-icon{font-size:var(--app-text-lg);flex-shrink:0}.planner-action-menu strong,.planner-action-menu small{display:block}.planner-action-menu strong{font-weight:500}.planner-action-menu small{font-size:var(--app-text-sm);color:var(--app-text-muted);margin-top:4px}.planner-schedule-job__results,.planner-schedule-job__selected{gap:8px;min-width:0;display:grid}.planner-schedule-job__results>button:where(.planner-dialog__button){text-align:left;gap:4px;display:grid}.planner-schedule-job__results strong,.planner-schedule-job__selected strong{overflow-wrap:anywhere;font-weight:500}.planner-schedule-job__results span,.planner-schedule-job__results small{color:var(--app-text-muted);overflow-wrap:anywhere}@media (width>=1001px){.planner-drawer-modal{--width:440px;--height:100%;--border-radius:0;justify-content:flex-end}.planner-drawer-modal .planner-dialog__surface{height:100%;max-height:100dvh}.planner-drawer-modal .planner-dialog{flex:1}}@media (width<=1000px){.planner-drawer-modal{--width:100%;--height:auto;--border-radius:var(--app-radius-sheet) var(--app-radius-sheet) 0 0;align-items:flex-end}}.work-week{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);box-shadow:var(--app-shadow-card);overflow:hidden}.work-week__controls{border-bottom:1px solid var(--app-border-subtle);grid-template-columns:42px minmax(170px,1fr) 42px auto auto;align-items:end;gap:7px;padding:10px 12px;display:grid}.work-week__controls strong{color:var(--app-text-strong);font-family:var(--app-heading-font);font-size:var(--app-text-lg);text-align:center;align-self:center}.work-week__days{grid-template-columns:repeat(7,minmax(70px,1fr));min-width:560px;padding:12px 12px 8px;display:grid}.work-week__day{font:inherit;color:var(--app-text-strong);cursor:pointer;border-radius:var(--app-radius-card);text-align:left;background:0 0;border:0;grid-template-rows:84px auto;grid-template-columns:1fr auto;gap:5px 8px;min-height:126px;padding:5px 8px 8px;display:grid}.work-week__day:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.work-week__day:hover{background:var(--app-surface-accent-soft-hover)}.work-week__day[aria-pressed=true]{background:var(--app-surface-accent-strong);box-shadow:inset 0 0 0 2px var(--app-text-accent)}.work-week__chart{grid-column:1/-1;align-items:end;height:84px;padding-inline:5px;display:flex}.work-week__stack{border-radius:var(--app-radius-control);background:var(--app-border-subtle);flex-direction:column-reverse;width:100%;min-height:3px;display:flex;overflow:hidden}.work-week__stack i,.work-week__legend i{background:var(--app-work-open);display:block}.work-week__stack .is-overdue,.work-week__legend .is-overdue{background:var(--app-work-overdue)}.work-week__stack .is-completed,.work-week__legend .is-completed{background:var(--app-work-completed)}.work-week__stack .is-skipped,.work-week__legend .is-skipped{background:var(--app-work-skipped)}.work-week__stack .is-closed,.work-week__legend .is-closed{background:var(--app-work-closed)}.work-week__day-label{line-height:var(--app-line-height-title);display:grid}.work-week__day-label b{font-size:var(--app-text-md)}.work-week__day-label span,.work-week__day small{color:var(--app-text-muted);font-size:var(--app-text-xs);font-weight:600}.work-week__day small{font-variant-numeric:tabular-nums;align-self:center}.work-week__legend{color:var(--app-text-muted);font-size:var(--app-text-xs);flex-wrap:wrap;gap:8px 16px;padding:0 16px 12px;font-weight:600;display:flex}.work-week__legend span{align-items:center;gap:5px;display:inline-flex}.work-week__legend i{border-radius:var(--app-radius-pill);width:9px;height:9px}@media (width<=720px){.work-week__controls{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px;min-width:0;padding:7px 8px}.work-week__controls strong{font-size:var(--app-text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.work-week__controls>.ui-field,.work-week__controls>button:last-child{display:none}.work-week__days{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;padding:7px 5px 5px}.work-week__day{text-align:center;grid-template-rows:52px auto auto;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;min-height:92px;padding:3px 2px 5px}.work-week__chart{height:52px;padding-inline:3px}.work-week__day-label{justify-items:center}.work-week__day-label b{font-size:var(--app-text-sm)}.work-week__day small{justify-self:center}.work-week__legend{grid-template-columns:repeat(4,auto);justify-content:space-between;gap:4px;min-width:0;padding:3px 8px 8px;display:grid}.work-week__legend span{gap:3px}.work-week__legend i{width:7px;height:7px}}.work-week--compact .work-week__controls{justify-content:space-between;align-items:center;gap:var(--app-space-1);padding:var(--app-space-1) var(--app-space-2);border:0;flex-wrap:wrap;display:flex}.work-week__navigation{align-items:center;gap:var(--app-space-1);flex-wrap:wrap;max-width:100%;display:flex}.work-week--compact .work-week__navigation strong{white-space:nowrap;min-width:52px;font-size:var(--app-text-sm);margin:0}.work-week--compact .work-week__date{cursor:pointer;align-items:center;min-width:0;min-height:44px;margin-right:auto;display:flex;position:relative}.work-week--compact .work-week__date span{font-size:var(--app-text-sm);color:var(--app-text-strong);font-weight:600}.work-week--compact .work-week__date input{opacity:0;cursor:pointer;width:100%;min-width:0;position:absolute;inset:0}.work-week--compact .work-week__date input::-webkit-calendar-picker-indicator{cursor:pointer;width:auto;height:auto;position:absolute;inset:0}.work-week--compact .work-week__date:focus-within{outline:2px solid var(--app-text-accent);outline-offset:2px}.work-week--compact .work-week__days{min-width:0;padding:var(--app-space-1) var(--app-space-2);grid-template-columns:repeat(7,minmax(0,1fr))}.work-week--compact .work-week__day{min-height:82px;padding:var(--app-space-1) var(--app-space-2);gap:var(--app-space-1);grid-template-rows:50px auto;grid-template-columns:1fr auto}.work-week--compact .work-week__chart{height:50px}.work-week--compact .work-week__legend span{gap:var(--app-space-1)}.work-week--compact .work-week__legend{justify-content:space-between;gap:var(--app-space-1);padding:var(--app-space-1) var(--app-space-2) var(--app-space-2);display:flex}@media (width<=600px){.work-week--compact .work-week__day{min-height:64px;padding:var(--app-space-1) 0;grid-template-rows:32px auto auto;grid-template-columns:minmax(0,1fr);gap:0}.work-week--compact .work-week__chart{height:32px;padding:0 var(--app-space-1)}.work-week--compact .work-week__day-label{justify-content:center;gap:var(--app-space-1);flex-wrap:wrap;align-items:baseline;display:flex}}.manual-planner{align-items:start;gap:var(--app-space-3) var(--app-space-4);grid-template-columns:250px minmax(0,1fr);width:100%;min-width:0;display:grid}.manual-planner-content .app-layout{max-width:1560px}.manual-planner-content.has-selection{--padding-bottom:calc(10rem + var(--app-space-6))}.manual-planner__body{gap:var(--app-space-2);min-width:0;display:grid}.manual-planner__people,.manual-planner__history{background:var(--app-surface-card);border:1px solid var(--app-border-control);border-radius:var(--app-radius-card)}.manual-planner__people{padding:var(--app-space-3);top:var(--app-space-2);position:sticky}.manual-planner__people h2,.manual-planner__list-heading h2{font-size:var(--app-text-md)}.manual-planner__people h2{margin:0 0 var(--app-space-3)}.manual-planner__history{padding:var(--app-space-3) var(--app-space-4)}.manual-planner__history>summary{cursor:pointer;min-height:48px;color:var(--work-status-color);align-content:center}.manual-planner__history>summary:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.planner-worker-trigger{display:none}.planner-worker-panel{padding:var(--app-space-1)}.manual-planner__worker-options{gap:var(--app-space-2);display:grid}.planner-worker-option{text-align:left;grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.planner-worker-option__name{overflow-wrap:anywhere}.planner-worker-option__bar{background:var(--app-border-subtle);border-radius:var(--app-radius-control);grid-column:1/-1;height:6px;display:flex;overflow:hidden}.planner-worker-option__bar i{background:var(--work-status-color);height:100%}.planner-worker-option__metrics{align-items:center;gap:var(--app-space-1);font-size:var(--app-text-xs);color:var(--app-text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.planner-worker-option>.planner-worker-option__metrics{justify-content:flex-end}.planner-worker-shortcuts{gap:var(--app-space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,5.5rem),1fr));display:grid}.planner-worker-shortcut{overflow-wrap:anywhere;flex-direction:column;min-width:0}.planner-worker-shortcut small{font-size:var(--app-text-xs);color:var(--app-text-muted)}.planner-worker-shortcut .planner-worker-option__metrics{justify-content:center}.planner-worker-modal{--width:100%;--max-width:520px;--height:min(85vh, 820px);--border-radius:var(--app-radius-sheet) var(--app-radius-sheet) 0 0;align-items:flex-end}.planner-worker-modal ion-content{--background:var(--app-surface-card)}.planner-worker-modal .planner-worker-panel{padding:var(--app-space-3) var(--app-space-4)}.planner-totals{align-items:center;gap:var(--app-space-2);flex-wrap:wrap;display:flex}.planner-totals i{font-style:normal}.manual-planner__incomplete,.manual-planner__billing-status{font-size:var(--app-text-xs);color:var(--app-text-muted);margin:var(--app-space-1) 0}.manual-planner__filters{gap:var(--app-space-2);flex-wrap:wrap;align-items:end;display:flex}.manual-planner__search{flex:160px;min-width:0}.planner-extra-filters{gap:var(--app-space-2);flex:240px;display:flex}.planner-extra-filters>.ui-field{flex:1}.planner-filter-toggle{display:none}.planner-sort-menu{gap:var(--app-space-1);padding:var(--app-space-2);display:grid}.manual-planner__list-heading{justify-content:space-between;gap:var(--app-space-3);flex-wrap:wrap;align-items:center;display:flex}.manual-planner__list-heading h2{overflow-wrap:anywhere;margin:0}.manual-planner__list-heading small{color:var(--app-text-muted);margin-left:var(--app-space-2)}.manual-planner__selection-controls{align-items:center;gap:var(--app-space-2);flex-wrap:wrap;margin-left:auto;display:flex}.planner-select-all{align-items:center;gap:var(--app-space-2);cursor:pointer;min-height:48px;font-size:var(--app-text-sm);margin-left:auto;display:flex}.planner-select-all input{width:20px;height:20px;accent-color:var(--app-text-accent-strong)}.manual-planner__routing{align-items:center;gap:var(--app-space-2);flex-wrap:wrap;display:flex}.manual-planner__routing p{color:var(--app-text-muted);flex-basis:100%;margin:0}.manual-planner__empty{text-align:center;border:1px dashed var(--app-border-control);border-radius:var(--app-radius-card);padding:var(--app-space-8) var(--app-space-4);color:var(--app-text-muted)}.manual-planner__error{padding:var(--app-space-3);border-radius:var(--app-radius-control);background:var(--app-surface-card);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);color:var(--app-text-danger);border:1px solid}.planner-visits{margin:var(--app-space-1) 0 0;padding:0;list-style:none}.planner-route-heading h3{margin:var(--app-space-3) 0 var(--app-space-2);font-size:var(--app-text-sm);color:var(--app-text-secondary);overflow-wrap:anywhere;font-weight:500}.planner-visit{background:var(--app-surface-card);border-bottom:1px solid var(--app-border-subtle);min-width:0}.planner-visit__main{flex-wrap:wrap}.planner-visit__main .ui-list-row__copy{flex-basis:8rem}.planner-visit__main .ui-list-row__trailing{margin-left:auto}.planner-visit.is-selected{background:var(--app-surface-accent-soft)}.planner-visit__select{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:48px;min-height:48px;display:flex}.planner-visit__select:has(:focus-visible){outline:2px solid var(--app-text-accent);outline-offset:-2px}.planner-visit__select:has(:disabled){opacity:.45;cursor:default}.planner-visit__select input{width:20px;height:20px;cursor:inherit;accent-color:var(--app-text-accent-strong);margin:0}.planner-visit__number{text-align:center;width:48px;display:block}.planner-visit__details{gap:var(--app-space-1);color:inherit;text-decoration:none;display:grid}.planner-visit__details>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-visit__details:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.planner-visit__value{gap:var(--app-space-1);font-size:var(--app-text-sm);display:grid}.planner-visit__value small{color:var(--app-text-muted);font-size:var(--app-text-xs)}.planner-visit__tags{gap:var(--app-space-1);padding:var(--app-space-2) var(--app-space-4);flex-wrap:wrap;display:flex}.planner-visit__tags i{border-radius:var(--app-radius-pill);flex-shrink:0;width:8px;height:8px}.planner-visit__balance.is-owed{color:var(--app-text-danger)}.planner-visit__balance.is-credit{color:var(--app-work-completed)}.planner-visit__status{font-size:var(--app-text-xs);color:var(--app-text-muted);margin:0 var(--app-space-4) var(--app-space-2)}.planner-visit__anchor{padding:0 var(--app-space-4) var(--app-space-2);color:var(--app-text-accent-strong);font-size:var(--app-text-xs);display:block}.planner-visit__range{width:calc(100% - 2 * var(--app-space-4));margin:0 var(--app-space-4) var(--app-space-2);justify-content:space-between;display:flex}.planner-travel{justify-content:center;align-items:center;gap:var(--app-space-1);font-size:var(--app-text-xs);min-height:24px;color:var(--app-text-muted);display:flex}.planner-visits[aria-busy=true] .planner-visit__range,.planner-visits[aria-busy=true] .planner-visit__anchor{visibility:hidden}.planner-selection{z-index:10;width:100%;padding:var(--app-space-2) var(--app-space-4);background:var(--app-surface-card);border-top:1px solid var(--app-border-control);position:absolute;bottom:0;left:0}.planner-selection__inner{justify-content:space-between;align-items:center;gap:var(--app-space-3);max-width:1160px;margin:auto;padding-right:44px;display:flex;position:relative}.planner-selection__summary{gap:var(--app-space-1);overflow-wrap:anywhere;min-width:0;display:grid}.planner-selection__summary strong{font-size:var(--app-text-sm)}.planner-selection small{color:var(--app-text-muted);font-size:var(--app-text-xs)}.planner-selection__actions{gap:var(--app-space-2);display:flex}.planner-selection__clear{position:absolute;top:0;right:0}.planner-add-fab{display:none}.manual-planner>.work-week{grid-column:1/-1;margin:0}@media (width<=1000px){.manual-planner{gap:var(--app-space-2);grid-template-columns:minmax(0,1fr)}.manual-planner__people{background:0 0;border:0;padding:0;position:static}.planner-workers-desktop{display:none}.planner-worker-trigger{text-align:left;justify-content:space-between;width:100%;display:flex}.planner-worker-trigger span{overflow-wrap:anywhere;min-width:0}.planner-worker-trigger small{font-size:var(--app-text-xs);color:var(--app-text-secondary)}.manual-planner__search{flex:100px}.planner-filter-toggle{display:inline-flex}.planner-extra-filters{flex-basis:100%;order:4;display:none}.planner-extra-filters.is-open{flex-wrap:wrap;display:flex}.planner-selection__inner{padding-right:0}.planner-selection__summary{padding-right:44px}}@media (width<=1023px){.planner-add-fab{right:var(--app-space-4);bottom:max(var(--app-space-4), env(safe-area-inset-bottom));z-index:10;display:block;position:absolute}.manual-planner-content.has-add{--padding-bottom:88px}}@media (width<=600px){.app-content.manual-planner-content{--padding-top:var(--app-space-2);--padding-start:var(--app-space-2);--padding-end:var(--app-space-2)}.manual-planner__body{gap:var(--app-space-1)}.manual-planner__list-heading>h2{display:none}.manual-planner__selection-controls{justify-content:space-between;width:100%}.planner-selection__inner{gap:var(--app-space-2);display:grid}.planner-selection__actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.planner-selection__actions>.ui-button{flex-direction:column}}.day-notes{min-width:0;margin-bottom:16px;padding:16px}.day-notes__heading,.day-notes__actions,.day-notes__meta{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.day-notes__heading{justify-content:space-between}.day-notes h2{font-size:var(--app-text-lg,18px);margin:0}.day-notes__note{border-bottom:1px solid var(--app-border-subtle);padding:12px 0}.day-notes__note:last-of-type{border-bottom:0}.day-notes__meta{font-size:var(--app-text-sm,13px);color:var(--app-text-muted)}.day-notes__content,.day-note-issue dd{white-space:pre-wrap;overflow-wrap:anywhere}.day-notes button{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);min-height:44px;color:var(--app-text-strong);padding:8px 12px}.day-notes button:disabled{opacity:.5}.day-notes button.day-notes__delete{color:var(--ion-color-danger)}.day-note-recipients{gap:4px;max-height:280px;display:grid;overflow:auto}.day-note-recipients label{align-items:center;gap:12px;min-height:44px;display:flex}.day-note-recipients input{width:20px;min-height:20px}.day-note-issue{border:1px solid var(--ion-color-warning);border-radius:var(--app-radius-control);margin-top:12px;padding:12px}.day-note-issue dd{margin:4px 0 12px}.day-notes__date-divider{border-top:1px solid var(--app-border-control);font-size:var(--app-text-md);margin:24px 0 0;padding:12px 0;font-weight:600}.day-notes-view{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.day-notes-view button,.day-notes-week button,.day-notes-week input{min-height:44px;font:inherit;color:var(--app-text-strong);border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);padding:8px 12px}.day-notes-view button{border-color:#0000;min-width:80px}.day-notes-view button[aria-pressed=true],.day-notes-week__days button[aria-pressed=true]{background:var(--app-surface-accent-soft);color:var(--app-text-accent);border-color:var(--app-text-accent)}.day-notes button:focus-visible,.day-notes-view button:focus-visible,.day-notes-week button:focus-visible,.day-notes-week input:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.day-notes-week{min-width:0;margin-bottom:16px;padding:16px}.day-notes-week__toolbar,.day-notes-week__navigation,.day-notes-week__jump{align-items:center;gap:8px;display:flex}.day-notes-week__toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:16px}.day-notes-week__navigation{min-width:0}.day-notes-week__navigation button{min-width:44px;font-size:var(--app-text-lg)}.day-notes-week__navigation strong{text-align:center;font-size:var(--app-text-sm);font-weight:600}.day-notes-week__jump input{min-width:0}.day-notes-week__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.day-notes-week__days button{min-width:0;font-size:var(--app-text-sm);flex-direction:column;align-items:center;gap:8px;padding:12px 4px;display:flex}.day-notes-week__days strong{font-size:var(--app-text-lg);font-variant-numeric:tabular-nums;font-weight:600}.day-notes-week__days button[aria-current=date] strong{text-underline-offset:4px;text-decoration:underline}.day-notes-week__count{min-width:24px;min-height:24px;color:var(--app-text-muted);font-size:var(--app-text-xs);border-radius:var(--app-radius-pill);justify-content:center;align-items:center;display:inline-flex}.day-notes-week__count[data-has-notes=true]{background:var(--app-surface-page);color:var(--app-text-strong);font-weight:600}@media (width<=480px){.day-notes-week{padding:12px 8px}.day-notes-week__days{gap:4px}.day-notes-week__navigation,.day-notes-week__jump{justify-content:space-between;width:100%}}.day-note-field{color:var(--app-text-muted);font-size:var(--app-text-sm,14px);gap:8px;display:grid}.day-note-field input,.day-note-field select,.day-note-field textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;font:inherit;color:var(--app-text-strong);background:var(--app-surface-card);border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);padding:12px}.day-note-field textarea{resize:vertical}.day-notes-strip{border-block:1px solid var(--app-border-subtle);grid-column:1/-1;min-width:0}.day-notes-strip__heading{align-items:center;min-width:0;display:flex}.day-notes-strip button{font:inherit;color:var(--app-text-strong);cursor:pointer}.manual-planner .day-notes-strip button{border-radius:var(--app-radius-control);background:0 0;border:0;min-height:44px;padding:8px}.manual-planner .day-notes-strip__toggle{text-align:left;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.day-notes-strip__toggle strong{white-space:nowrap;font-size:var(--app-text-sm);font-weight:500}.day-notes-strip ion-icon{font-size:var(--app-text-lg);flex-shrink:0}.day-notes-strip__toggle>ion-icon:last-child{margin-left:auto}.day-notes-strip__preview{white-space:nowrap;text-overflow:ellipsis;color:var(--app-text-muted);font-size:var(--app-text-sm);overflow:hidden}.day-notes-strip__add{flex:none;place-items:center;min-width:44px;display:grid}.day-notes-strip__list{padding-bottom:8px}.day-notes-strip__note{border-top:1px solid var(--app-border-subtle);flex-wrap:wrap;align-items:start;display:flex;position:relative}.manual-planner .day-notes-strip__content{text-align:left;flex:1;justify-content:space-between;align-items:baseline;gap:16px;min-width:0;display:flex}.day-notes-strip__content>span{white-space:pre-wrap;overflow-wrap:anywhere}.day-notes-strip__content small{color:var(--app-text-muted);font-size:var(--app-text-xs,12px);overflow-wrap:anywhere;flex:0 35%}.day-notes-strip__more summary{place-items:center;width:44px;min-height:44px;list-style:none;display:grid}.day-notes-strip__more summary::-webkit-details-marker{display:none}.day-notes-strip__more>div{z-index:2;border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);padding:4px;position:absolute;right:0}.day-notes-strip__delete{flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:8px;display:flex}.day-notes-strip__delete button:last-child,.day-notes-strip__more button{color:var(--app-text-danger)}.day-notes-strip .day-note-issue{margin-bottom:12px}@media (width<=600px){.day-notes-strip__preview{display:none}.manual-planner .day-notes-strip__content{gap:4px;display:grid}}.day-notes-strip button:focus-visible,.day-notes-strip summary:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.work-plan-heading,.work-plan-overview,.work-plan-column{border:1px solid var(--app-border-control);background:var(--app-surface-card);box-shadow:var(--app-shadow-card)}.work-plan-control{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);background:var(--app-surface-card);min-height:40px;color:var(--app-text-strong);font:inherit}.work-plan-heading button:where(.work-plan-control),.work-plan-column button:where(.work-plan-control){cursor:pointer}.work-plan-heading{border-radius:var(--app-radius-card);justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.work-plan-heading>div:first-child{gap:4px;display:grid}.work-plan-heading span,.work-plan-column__header span{color:var(--app-text-accent-strong);font-size:var(--app-text-xs);font-weight:600}.work-plan-heading h2,.work-plan-column h2,.work-round-card h3{color:var(--app-text-strong);margin:0}.work-plan-heading h2{font-size:var(--app-text-lg)}.work-plan-heading p,.work-plan-overview p{color:var(--app-text-muted);font-size:var(--app-text-xs);margin:0}.work-plan-heading__actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.work-plan-heading__actions button:where(.work-plan-control){align-items:center;gap:6px;padding-inline:14px;font-weight:600;display:inline-flex}.work-plan-heading__actions .is-primary{border-color:var(--app-text-accent-strong);background:var(--app-text-accent-strong);color:var(--ion-color-primary-contrast)}.work-plan-heading__actions button:where(.work-plan-control):disabled{cursor:not-allowed;opacity:.48}.work-plan-suggestion{border:1px solid var(--app-text-accent);border-radius:var(--app-radius-card);background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong);align-items:flex-start;gap:10px;padding:12px 15px;display:flex}.work-plan-suggestion>ion-icon{font-size:var(--app-text-lg);flex:none;margin-top:2px}.work-plan-suggestion div{gap:3px;display:grid}.work-plan-suggestion p{color:var(--app-text-secondary);font-size:var(--app-text-xs);margin:0}.work-plan-overview{border-radius:var(--app-radius-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding:12px 16px;display:flex}.work-plan-map-panel{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);box-shadow:var(--app-shadow-card);overflow:hidden}.work-plan-map-panel>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:11px 14px;display:grid}.work-plan-map-panel>header>div:first-child span{color:var(--app-text-accent-strong);font-size:var(--app-text-xs);font-weight:600}.work-plan-map-panel h2{font-size:var(--app-text-lg);margin:2px 0 0}.work-plan-map-panel>header>button:where(.work-plan-control){min-height:38px;color:var(--app-text-accent-strong);font-size:var(--app-text-xs);cursor:pointer;align-items:center;gap:6px;padding:6px 11px;font-weight:600;display:inline-flex}.work-plan-map-panel__legend{color:var(--app-text-muted);font-size:var(--app-text-xs);flex-wrap:wrap;justify-content:center;gap:5px 12px;font-weight:600;display:flex}.work-plan-map-panel__legend span,.work-plan-review-map__filters button:where(.work-plan-control){align-items:center;gap:5px;display:inline-flex}.work-plan-map-panel__legend i,.work-plan-review-map__filters i{border-radius:var(--app-radius-pill);flex:none;width:9px;height:9px;display:block}.work-plan-map-panel__body{border-top:1px solid var(--app-border-subtle);height:320px}.work-allocation-map{background:var(--app-surface-card);grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;min-height:180px;display:grid;position:relative;overflow:hidden}.work-allocation-map__canvas{width:100%;height:100%;min-height:0}.work-allocation-map__fit{z-index:2;border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);background:var(--app-surface-card);min-height:34px;color:var(--app-text-strong);font:inherit;font-size:var(--app-text-xs);box-shadow:0 2px 7px var(--app-shadow-allocation-control);padding:5px 9px;font-weight:600;position:absolute;top:9px;left:9px}.work-allocation-map__pin{border:3px solid var(--app-map-contrast);border-radius:var(--app-radius-pill) var(--app-radius-pill) var(--app-radius-pill) var(--app-radius-control);background:var(--allocation-color,var(--app-allocation-color));width:30px;height:30px;color:var(--app-map-contrast);font-size:var(--app-text-xs);box-shadow:0 2px 8px var(--app-shadow-allocation-pin);font-weight:600;line-height:var(--app-line-height-title);place-items:center;display:grid;transform:rotate(-45deg)}.work-allocation-map__pin.is-selected{box-shadow:0 0 0 4px var(--app-map-contrast), 0 0 0 7px var(--allocation-color,var(--app-allocation-color)), 0 3px 10px var(--app-shadow-allocation-selected);transform:rotate(-45deg)scale(1.14)}.work-allocation-map__pin>b{transform:rotate(45deg)}.work-allocation-map__fallback{min-height:180px;color:var(--app-text-muted);font-size:var(--app-text-xs);text-align:center;align-self:stretch;place-items:center;margin:0;padding:20px;display:grid}.work-allocation-map__missing{color:var(--app-allocation-warning-text);background:var(--app-surface-warning);font-size:var(--app-text-xs);margin:0;padding:7px 11px;font-weight:600}.work-plan-summary{color:var(--app-text-secondary);font-size:var(--app-text-xs);flex-wrap:wrap;gap:5px 12px;display:flex}.work-plan-summary span{white-space:nowrap}.work-plan-summary b{color:var(--app-text-strong);font-variant-numeric:tabular-nums}.work-plan-board{scroll-snap-type:x proximity;align-items:flex-start;gap:12px;padding:2px 2px 14px;display:flex;overflow-x:auto}.work-plan-crews{display:contents}.work-plan-column{border-radius:var(--app-radius-card);scroll-snap-align:start;flex:1 0 286px;min-width:286px;max-width:390px;overflow:hidden}.work-plan-column.is-unallocated{border-top:4px solid var(--app-allocation-warning-border);flex-basis:320px}.work-plan-column:not(.is-unallocated){border-top:4px solid var(--app-text-accent-strong)}.work-plan-column__header{border-bottom:1px solid var(--app-border-subtle);background:var(--app-surface-accent-soft);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:9px;padding:14px;display:grid}.work-plan-column__header h2{font-size:var(--app-text-lg);margin-top:2px}.work-plan-column .work-plan-column__remove{place-items:center;width:40px;padding:0;display:grid}.work-plan-column .work-crew-summary{width:100%;color:var(--app-text-accent-strong);text-align:left;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 9px;display:grid}.work-plan-column .work-crew-summary.is-incomplete{color:var(--app-allocation-warning-text);background:var(--app-surface-warning)}.work-crew-summary span{font-size:var(--app-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.work-crew-workers{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;display:grid}.work-crew-workers label{gap:3px;display:grid}.work-crew-workers label span{color:var(--app-text-muted);font-size:var(--app-text-xs)}.work-crew-workers select:where(.work-plan-control),.work-round-card select:where(.work-plan-control){width:100%;min-width:0;font-size:var(--app-text-xs);padding:6px 8px}.work-plan-column>.work-plan-summary{border-bottom:1px solid var(--app-border-subtle);padding:11px 14px}.work-plan-threshold,.work-plan-warnings{color:var(--app-allocation-warning-text);background:var(--app-surface-warning);font-size:var(--app-text-xs);align-items:center;gap:5px;margin:0;padding:8px 14px;font-weight:600;display:flex}.work-plan-warnings{color:var(--app-text-muted);background:var(--app-surface-card)}.work-plan-column__cards{background:var(--app-surface-card);gap:9px;min-height:130px;padding:10px;display:grid}.work-plan-column__round-controls{display:none}.work-plan-column__empty{border:1px dashed var(--app-border-control-strong);border-radius:var(--app-radius-control);min-height:105px;color:var(--app-text-muted);font-size:var(--app-text-xs);text-align:center;align-self:stretch;place-items:center;margin:0;display:grid}.work-round-card{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);box-shadow:0 2px 7px var(--app-shadow-faint);gap:9px;padding:12px;display:grid}.work-round-card[draggable=true]{cursor:grab}.work-round-card:active{cursor:grabbing}.work-round-card.is-selected{border-color:var(--app-text-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--app-text-accent) 18%, transparent)}.work-round-card.has-warning{border-color:var(--app-allocation-warning-border)}.work-round-card header{grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:9px;display:grid}.work-round-card__colour{border-radius:var(--app-radius-control);background:var(--app-text-accent-strong);width:8px;height:38px}.work-round-card h3{font-size:var(--app-text-md)}.work-round-card header p{color:var(--app-allocation-warning-text);font-size:var(--app-text-xs);line-height:var(--app-line-height-title);margin:3px 0 0}.work-round-card__drag{color:var(--app-text-muted);font-size:var(--app-text-lg)}.work-round-card__actions{border-top:1px solid var(--app-border-subtle);gap:8px;padding-top:8px;display:grid}.work-round-card__actions>button:where(.work-plan-control){width:100%;color:var(--app-text-accent-strong);font-size:var(--app-text-xs);font-weight:600}.work-round-card__move{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.work-round-card__move span{color:var(--app-text-muted);font-size:var(--app-text-xs);align-items:center;gap:4px;font-weight:600;display:inline-flex}.work-plan-review-modal{--height:min(780px, 92vh);--width:min(720px, 94vw);--border-radius:var(--app-radius-sheet)}.work-crew-modal{--height:100%;--width:min(520px, 100%);--border-radius:var(--app-radius-sheet) var(--app-radius-sheet) 0 0}.work-crew-modal__content::part(background){background:var(--app-screen-gradient)}.work-crew-modal__content section{gap:12px;display:grid}.work-crew-modal__content section>span{color:var(--app-text-accent-strong);font-size:var(--app-text-xs);font-weight:600}.work-crew-modal__content h2,.work-crew-modal__content p{margin:0}.work-crew-modal__content h2{font-size:var(--app-text-lg)}.work-crew-modal__content p{color:var(--app-text-secondary);font-size:var(--app-text-xs)}.work-crew-modal__content .work-crew-workers select:where(.work-plan-control),.work-crew-modal__actions button:where(.work-plan-control){min-height:42px;font:inherit}.work-crew-modal__actions{grid-template-columns:1fr 1fr;align-items:center;gap:8px;display:grid}.work-crew-modal__actions button:where(.work-plan-control):disabled{opacity:.45}.work-round-jobs-modal{--height:min(820px, 94vh);--width:min(780px, 96vw);--border-radius:var(--app-radius-sheet)}.work-round-jobs-modal__content::part(background){background:var(--app-screen-gradient)}.work-round-jobs-heading{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);gap:7px;margin-bottom:12px;padding:16px;display:grid}.work-round-jobs-heading>span{color:var(--app-text-accent-strong);font-size:var(--app-text-xs);font-weight:600}.work-round-jobs-heading h2,.work-round-job h3{color:var(--app-text-strong);margin:0}.work-round-jobs-heading p{color:var(--app-text-muted);font-size:var(--app-text-xs);margin:0}.work-round-jobs-list{gap:8px;display:grid}.work-round-job{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);grid-template-columns:auto minmax(0,1fr) minmax(145px,.55fr);align-items:center;gap:12px;padding:13px;display:grid}.work-round-job__number{border-radius:var(--app-radius-pill);background:var(--app-surface-accent-strong);width:32px;height:32px;color:var(--app-text-accent-strong);font-size:var(--app-text-xs);place-items:center;font-weight:600;display:grid}.work-round-job__copy{gap:2px;min-width:0;display:grid}.work-round-job h3{font-size:var(--app-text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.work-round-job__copy p,.work-round-job__copy address,.work-round-job__copy>span{color:var(--app-text-secondary);font-size:var(--app-text-xs);text-overflow:ellipsis;white-space:nowrap;margin:0;font-style:normal;overflow:hidden}.work-round-job>label{gap:4px;display:grid}.work-round-job>label>span{color:var(--app-text-muted);font-size:var(--app-text-xs);font-weight:600}.work-round-job select:where(.work-plan-control){width:100%;min-width:0;font-size:var(--app-text-xs);padding:6px 8px}.work-plan-review-modal__content::part(background){background:var(--app-screen-gradient)}.work-plan-review-modal__content>section,.work-plan-review-crews>section{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);margin-bottom:12px;padding:15px}.work-plan-review-map{gap:9px;display:grid}.work-plan-review-map>header{gap:8px;display:grid}.work-plan-review-map>header p{color:var(--app-text-secondary);font-size:var(--app-text-xs);margin:3px 0 0}.work-plan-review-map__filters{flex-wrap:wrap;gap:5px;display:flex}.work-plan-review-map__filters button:where(.work-plan-control){border-radius:var(--app-radius-pill);min-height:30px;color:var(--app-text-secondary);font-size:var(--app-text-xs);cursor:pointer;padding:4px 8px}.work-plan-review-map__filters button:where(.work-plan-control)[aria-pressed=true]{border-color:var(--app-text-accent);color:var(--app-text-accent-strong);background:var(--app-surface-accent-strong);font-weight:600}.work-plan-review-map .work-allocation-map{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);height:230px}.work-plan-review-modal__content .work-plan-review-map__note{color:var(--app-text-muted);font-size:var(--app-text-xs);margin:0}.work-plan-review-modal__content h2,.work-plan-review-modal__content h3,.work-plan-review-modal__content p{margin-top:0}.work-plan-review-modal__content .work-plan-demo-notice{border-color:var(--app-allocation-warning-border);background:var(--app-surface-warning)}.work-plan-demo-notice p,.work-plan-simulated p{margin:4px 0 0}.work-plan-review-modal__content .work-plan-simulated{border-color:var(--app-text-accent);color:var(--app-text-accent-strong)}.work-plan-review-modal__content .work-plan-review-warning{color:var(--app-allocation-warning-text);align-items:center;gap:6px;margin:12px 0 0;font-weight:600;display:flex}.work-plan-review-crews section>p{color:var(--app-text-secondary);align-items:center;gap:6px;display:flex}@media (width<=720px){.work-plan-heading{display:grid}.work-plan-heading__actions{justify-content:stretch}.work-plan-heading__actions button:where(.work-plan-control){flex:1;justify-content:center}.work-plan-map-panel>header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 10px}.work-plan-map-panel__legend{grid-area:2/1/auto/-1;justify-content:flex-start}.work-plan-map-panel:not(.is-expanded) .work-plan-map-panel__legend{display:none}.work-plan-map-panel__body{height:290px}.work-plan-board{scroll-snap-type:none;grid-template-columns:minmax(0,44fr) minmax(0,56fr);align-items:stretch;gap:7px;height:min(64vh,620px);min-height:470px;padding:2px 0 8px;display:grid;overflow:hidden}.work-plan-column{min-width:0;max-width:none}.work-plan-column.is-unallocated{flex-direction:column;flex-basis:auto;height:100%;display:flex}.work-plan-crews{overscroll-behavior:contain;scroll-snap-type:y proximity;flex-direction:column;gap:8px;min-width:0;display:flex;overflow-y:auto}.work-plan-crews>.work-plan-column{scroll-snap-align:start;flex:none}.work-plan-column__header{gap:6px;padding:9px}.work-plan-column__header h2{font-size:var(--app-text-md)}.work-plan-column .work-plan-column__remove{width:32px;min-height:32px}.work-plan-column .work-crew-summary{min-height:34px;padding:5px 7px}.work-crew-workers{gap:4px}.work-crew-workers select:where(.work-plan-control){min-height:34px;padding:4px 5px}.work-plan-column>.work-plan-summary{gap:3px 8px;padding:7px 8px}.work-plan-threshold,.work-plan-warnings{padding:6px 8px}.work-plan-column.is-unallocated .work-plan-column__cards{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.work-plan-crews .work-plan-column__cards{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:6px;min-height:116px;display:flex;overflow-x:auto}.work-plan-column__cards{gap:6px;padding:6px}.work-plan-column__round-controls{border-bottom:1px solid var(--app-border-subtle);color:var(--app-text-muted);font-size:var(--app-text-xs);text-align:center;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:4px;padding:4px 6px;display:grid}.work-plan-column__round-controls button:where(.work-plan-control){min-height:28px;padding:0}.work-round-card{border-radius:var(--app-radius-control);scroll-snap-align:start;gap:5px;padding:7px}.work-plan-crews .work-round-card{flex:0 0 min(84%,164px)}.work-round-card header{grid-template-columns:5px minmax(0,1fr) auto;gap:5px}.work-round-card__colour{width:5px;height:27px}.work-round-card h3{font-size:var(--app-text-xs);line-height:var(--app-line-height-title);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.work-round-card__drag{font-size:var(--app-text-md)}.work-round-card .work-plan-summary{gap:2px 6px}.work-round-card .work-plan-summary span:nth-child(4),.work-plan-crews .work-round-card .work-plan-summary span:nth-child(3){display:none}.work-round-card__actions{grid-template-columns:minmax(0,1fr) 32px;gap:5px;padding-top:5px;display:none}.work-round-card.is-selected .work-round-card__actions{display:grid}.work-round-card__actions>button:where(.work-plan-control){width:auto;min-height:30px;padding:4px 6px}.work-round-card__move{width:32px;display:block;position:relative}.work-round-card__move span{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);background:var(--app-surface-card);justify-content:center;place-items:center;width:30px;height:30px;font-size:0;display:grid}.work-round-card__move span ion-icon{font-size:var(--app-text-sm)}.work-round-card__move select:where(.work-plan-control){opacity:0;cursor:pointer;width:32px;min-height:30px;position:absolute;inset:0}.work-round-job{grid-template-columns:auto minmax(0,1fr)}.work-round-job>label{grid-column:2}}@media (width<=420px){.work-crew-workers{grid-template-columns:1fr}}.planner-intro p{max-width:680px;color:var(--app-text-secondary);margin-bottom:0}.planner-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.planner-summary>div{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:13px 15px;display:grid}.planner-summary ion-icon{color:var(--app-text-accent-strong);font-size:var(--app-text-lg);grid-row:span 2}.planner-summary span{color:var(--app-text-muted);font-size:var(--app-text-xs);font-weight:600}.planner-summary strong{color:var(--app-text-strong);font-family:var(--app-heading-font);font-size:var(--app-text-lg)}.planner-summary>.is-overdue ion-icon,.planner-summary>.is-overdue strong{color:var(--app-text-danger)}@media (width<=560px){.planner-summary{grid-template-columns:1fr}}.occurrence-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.occurrence-row{border:1px solid var(--app-border-control);border-left:3px solid var(--work-status-color);border-radius:var(--app-radius-card);background:var(--app-surface-card);scroll-margin-block:16px;overflow:hidden}.occurrence-row.is-selected{border-color:var(--app-text-accent);box-shadow:inset 3px 0 var(--app-text-accent)}.occurrence-row__summary{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:16px;display:flex}.occurrence-row__number{flex:none}.occurrence-row__body{min-width:0;color:inherit;text-align:left;overflow-wrap:anywhere;font:inherit;cursor:pointer;background:0 0;border:0;flex:8rem;gap:4px;padding:0;display:grid}.occurrence-row__address{font-size:var(--app-text-md);font-weight:600;line-height:var(--app-line-height-body)}.occurrence-row__customer{color:var(--app-text-secondary-strong)}.occurrence-row__service,.occurrence-row__muted{color:var(--app-text-muted);font-size:var(--app-text-sm)}.occurrence-row__rounds{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.occurrence-row__trailing{overflow-wrap:anywhere;max-width:100%;font-size:var(--app-text-sm);flex:none;justify-items:end;gap:12px;margin-left:auto;font-weight:600;display:grid}.occurrence-row__details{font-size:var(--app-text-sm);padding:0 16px 16px 72px}.occurrence-row__details p{line-height:var(--app-line-height-body);overflow-wrap:anywhere;margin:0 0 10px}.occurrence-row__details strong{font-size:var(--app-text-xs);color:var(--app-text-muted);display:block}.occurrence-row__note{white-space:pre-wrap}.occurrence-row__warning,.occurrence-row__sync{color:var(--app-text-secondary);font-size:var(--app-text-xs);margin:0;padding:0 16px 12px 72px}.occurrence-row__sync.is-error{color:var(--app-text-danger)}.occurrence-row__sync p{margin-bottom:0}.occurrence-row__actions{flex-wrap:wrap;gap:12px;display:flex}.occurrence-row__rounds .ui-badge{max-width:100%}.occurrence-row__body>.ui-badge{justify-self:start}.occurrence-row__body:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}@media (width<=420px){.occurrence-row__summary{padding:var(--app-space-3);gap:var(--app-space-2)}.occurrence-row__trailing{font-size:var(--app-text-xs)}.occurrence-row__details,.occurrence-row__warning,.occurrence-row__sync{padding-left:var(--app-space-3)}}.app-content.my-day-content{--padding-top:8px}.my-day-content .app-layout{gap:var(--app-space-1)}.day-heading{align-items:center;gap:var(--app-space-1);flex-wrap:wrap;display:flex}.day-person{overflow-wrap:anywhere;flex:1 1 0;min-width:4ch;max-width:max-content}.day-date{align-items:center;gap:var(--app-space-1);flex-wrap:wrap;display:flex}.day-date__picker{position:relative}.day-date__picker input{opacity:0;box-sizing:border-box;cursor:pointer;width:100%;min-width:0;height:100%;position:absolute;inset:0}.day-date__picker:focus-within{outline:2px solid var(--app-text-accent);outline-offset:2px;border-radius:var(--app-radius-control)}.day-person-sheet{--height:auto;--max-height:90dvh;--border-radius:var(--app-radius-sheet)}.day-person-popover{--width:320px;--max-width:calc(100vw - 24px)}.day-person-menu{padding:var(--app-space-3);background:var(--app-surface-raised);flex-direction:column;max-height:85dvh;display:flex}.day-person-menu header{justify-content:space-between;align-items:center;gap:var(--app-space-2);display:flex}.day-person-menu h2{font-size:var(--app-text-lg);margin:0}.day-person-menu__choices{gap:var(--app-space-1);min-height:0;display:grid;overflow-y:auto}.day-person-menu__choices .ui-button{text-align:left;justify-content:space-between}.day-person-menu__choices span{overflow-wrap:anywhere;min-width:0}.day-transition{min-width:0;position:relative}.day-transition-status{z-index:5;border-radius:var(--app-radius-control);background:var(--app-surface-card);color:var(--app-text-secondary);font-size:var(--app-text-xs);pointer-events:none;margin:0;padding:6px 10px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.day-workspace,.day-visits{gap:var(--app-space-1);align-content:start;min-width:0;display:grid}.day-map-panel{--day-map-height:max(120px, 5rem);background:var(--app-surface-card);border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);align-self:start;overflow:hidden;container-type:inline-size}.day-map-stage{min-height:90px;position:relative}.day-map__loading-space{height:var(--day-map-height);background:var(--app-surface-accent-soft)}.day-map__loading{z-index:3;color:var(--app-text-secondary);background:color-mix(in srgb, var(--app-surface-card) 38%, transparent);font-size:var(--app-text-sm);pointer-events:none;justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex;position:absolute;inset:0}.day-map__loading span{border:3px solid color-mix(in srgb, var(--app-text-accent) 25%, transparent);border-top-color:var(--app-text-accent);border-radius:var(--app-radius-pill);width:20px;height:20px;animation:.8s linear infinite day-map-spin}@keyframes day-map-spin{to{transform:rotate(360deg)}}.day-map,.day-map__surface{position:relative}.day-map__initializing{visibility:hidden}.day-map__updating{z-index:3;border-radius:var(--app-radius-control);background:var(--app-surface-card);color:var(--app-text-secondary);font-size:var(--app-text-xs);pointer-events:none;padding:4px 8px;position:absolute;bottom:24px;left:8px}.day-map__loading--initial{background:var(--app-surface-accent-soft)}.day-map__canvas{height:var(--day-map-height);width:100%}.day-map__fallback{background:var(--app-surface-accent-soft);min-height:90px;font-size:var(--app-text-sm);color:var(--app-text-secondary);text-align:center;justify-content:center;align-items:center;margin:0;padding:16px 24px;display:flex}.day-map__missing{font-size:var(--app-text-xs);color:var(--app-text-muted);margin:0;padding:8px 12px}.day-map-panel.is-expanded{--day-map-height:clamp(280px, 50vh, 480px)}.day-map__expand{top:var(--app-space-2);left:var(--app-space-2);z-index:4;position:absolute}.day-map-stage:has(.day-map__fallback)>.day-map__expand{display:none}.day-map__fit{top:var(--app-space-2);right:var(--app-space-2);z-index:2;position:absolute}.day-map__pin{border:2px solid var(--app-map-contrast);border-radius:var(--app-radius-pill);min-width:40px;height:40px;color:var(--app-map-contrast);background:var(--app-map-pin);box-shadow:0 2px 5px var(--app-shadow-map);font-size:var(--app-text-sm);place-items:center;font-weight:600;display:grid}.day-map__pin.is-selected{background:var(--app-map-pin-selected);transform:scale(1.15)}.day-map__pin small{background:var(--app-map-contrast);color:var(--app-map-pin);border-radius:var(--app-radius-control);padding:2px 4px;position:absolute;top:-7px;right:-12px}.day-map__chooser{gap:8px;display:grid}.day-map__chooser .ui-button{text-align:left;justify-content:flex-start}.day-navigation{border-top:1px solid var(--app-border-control);justify-content:space-between;align-items:center;gap:var(--app-space-2);padding:var(--app-space-2) var(--app-space-3);font-size:var(--app-text-xs);color:var(--app-text-secondary);flex-wrap:wrap;display:flex}.day-rounds{gap:var(--app-space-1);min-width:0;padding:var(--app-space-1);display:flex;overflow-x:auto}.day-rounds .ui-button{flex:none;max-width:100%}.day-summary{justify-content:space-between;align-items:center;gap:var(--app-space-1);color:var(--app-text-muted);font-size:var(--app-text-xs);flex-wrap:wrap;display:flex}.day-summary>span{flex:1;min-width:6rem}.day-summary>.ui-button{flex:0 auto}.day-route{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);padding:12px}.day-route__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.day-route button:not(.ui-button,.ui-field__control){min-height:44px;font:inherit;font-size:var(--app-text-xs);color:var(--app-text-primary);background:var(--app-surface-card);border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);cursor:pointer;padding:6px 8px}.day-route button:not(.ui-button,.ui-field__control)[aria-pressed=true]{background:var(--app-surface-accent-soft);color:var(--app-text-accent)}.day-route button:not(.ui-button,.ui-field__control):disabled{opacity:.5;cursor:default}.day-route__status{color:var(--app-text-muted);font-size:var(--app-text-xs);margin:5px 0 0}.day-route-feedback{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.day-route-feedback .day-route__status{margin:0}.day-route__settings{font-size:var(--app-text-xs);margin-block:8px}.day-route__settings summary{cursor:pointer;padding-block:10px}.day-route__point{flex-wrap:wrap;align-items:end;gap:8px;margin-block:12px;display:flex}.day-route__point label{flex:120px;gap:4px;min-width:0;display:grid}.day-route__point input{box-sizing:border-box;width:100%;min-width:0}.day-route__controls label{align-items:center;gap:6px;min-height:44px;display:inline-flex}.day-route input:not([type=checkbox]),.day-route select{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);max-width:100%;min-height:44px;color:var(--app-text-primary);padding:6px}.day-route__result{font-size:var(--app-text-xs);overflow-wrap:anywhere}.day-route__result a{margin-right:12px;padding-block:8px;display:inline-block}.occurrence-row__travel{font-size:var(--app-text-xs);color:var(--app-text-accent);background:var(--app-surface-accent-soft);margin:0;padding:8px 16px}.day-action-errors{border:1px solid var(--app-text-danger);border-radius:var(--app-radius-card);color:var(--app-text-danger);font-size:var(--app-text-sm);padding:12px}.day-action-errors p{overflow-wrap:anywhere;margin-block:6px}.day-action-errors a{min-height:44px;color:inherit;align-items:center;display:inline-flex}.day-secondary h2{font-size:var(--app-text-md);color:var(--app-text-secondary);gap:8px;display:flex}.day-empty{border:1px dashed var(--app-border-control-strong);border-radius:var(--app-radius-card);text-align:center;padding:20px}.day-empty h2{font-size:var(--app-text-md);margin-top:0}@media (width>=1100px){.day-workspace:has(.day-map-panel){grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr)}.day-map-panel{position:sticky;top:12px}.day-map-panel,.day-map-panel.is-expanded{--day-map-height:400px}.day-map__expand{display:none}}@media (prefers-reduced-motion:reduce){.my-day-content *,.occurrence-list *{scroll-behavior:auto;transition:none}.day-map__loading span{animation:none}}@container (width<=20rem){.day-map__expand{top:calc(var(--day-map-height) / 2)}}.more-content .app-layout{gap:24px}.more-workspace{color:var(--app-text-secondary);font-size:var(--app-text-sm);margin:0}.more-section h2{color:var(--app-text-secondary);font-size:var(--app-text-sm);margin:0 4px 10px;font-weight:500}.more-list{background:var(--app-surface-card);border-radius:var(--app-radius-card);overflow:hidden}.more-row{min-height:58px;color:var(--app-text-strong);font-size:var(--app-text-md);grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:grid}.more-row+.more-row{border-top:1px solid var(--app-border-subtle)}.more-row>ion-icon{color:var(--app-text-accent-strong);font-size:var(--app-text-lg)}.more-row>.more-row__chevron{color:var(--app-text-muted);font-size:var(--app-text-md)}.more-row:active{background:var(--app-surface-accent-soft)}.more-row:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-3px}.settings-content .app-layout{gap:28px;max-width:760px}.settings-section h2{color:var(--app-text-primary);font-size:var(--app-text-md);margin:0 0 12px;font-weight:600}.settings-card,.settings-account-link{background:var(--app-surface-card);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);margin:0;padding:20px}.settings-copy{color:var(--app-text-secondary);line-height:var(--app-line-height-body);margin:0 0 16px}.appearance-options{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;display:grid}.appearance-option{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);min-height:110px;color:var(--app-text-secondary);cursor:pointer;text-align:center;font-size:var(--app-text-sm);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px 8px;display:flex;position:relative}.appearance-option input{width:16px;height:16px;accent-color:var(--app-text-accent);margin:0;position:absolute;top:10px;right:10px}.appearance-option ion-icon{font-size:var(--app-text-xl)}.appearance-option:has(input:checked){border-color:var(--app-text-accent);background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong)}.settings-account-link:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:3px}.appearance-option:has(input:focus-visible){outline:2px solid var(--app-text-accent);outline-offset:3px}.settings-account-link{color:var(--app-text-primary);grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:16px;text-decoration:none;display:grid}.settings-account-link:hover{background:var(--app-surface-accent-soft)}.settings-account-link>ion-icon{font-size:var(--app-text-xl);color:var(--app-text-accent)}.settings-account-link>ion-icon:last-child{font-size:var(--app-text-md);color:var(--app-text-muted)}.settings-account-link span{overflow-wrap:anywhere;gap:5px;display:grid}.settings-account-link small{color:var(--app-text-secondary);font-size:var(--app-text-sm)}.account-profile{align-items:center;gap:16px;display:flex}.account-profile>ion-icon{font-size:var(--app-text-xl);color:var(--app-text-accent);flex-shrink:0}.account-profile h2{font-size:var(--app-text-lg);overflow-wrap:anywhere;margin:0 0 6px}.account-profile p{color:var(--app-text-secondary);overflow-wrap:anywhere;margin:0}.account-profile>div{min-width:0}.account-details>div{grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px 0;display:grid}.account-details>div:first-child{padding-top:0}.account-details>div:last-child{padding-bottom:0}.account-details>div+div{border-top:1px solid var(--app-border-subtle)}.account-details dt{color:var(--app-text-secondary)}.account-details dd{overflow-wrap:anywhere;margin:0}@media (width<=420px){.settings-card,.settings-account-link{padding:16px}.appearance-options{grid-template-columns:1fr}.appearance-option{flex-direction:row;justify-content:flex-start;min-height:56px;padding:12px 40px 12px 16px}.appearance-option input{top:calc(50% - 8px);right:16px}.account-details>div{grid-template-columns:1fr;gap:6px}}.password-settings{scroll-margin-top:16px}.password-settings>h2:focus{outline:none}.password-card-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.password-card-title{align-items:flex-start;gap:12px;display:flex}.password-card-title>ion-icon{font-size:var(--app-text-lg);color:var(--app-text-accent);flex-shrink:0;margin-top:2px}.password-card-title h3{color:var(--app-text-primary);font-size:var(--app-text-md);margin:0 0 6px;font-weight:600}.password-card-title p{color:var(--app-text-secondary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);margin:0}.password-form{border-top:1px solid var(--app-border-subtle);gap:20px;margin-top:22px;padding-top:20px;display:grid}.password-session-note{max-width:480px;color:var(--app-text-secondary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);margin:0}.password-field{width:100%;max-width:480px}.password-error{border-radius:var(--app-radius-control);background:var(--app-surface-danger-soft);max-width:480px;color:var(--app-text-danger);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);padding:12px}.password-form-actions{gap:10px;display:flex}.password-success{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);color:var(--app-text-success);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);align-items:flex-start;gap:10px;margin-top:20px;padding:14px;display:flex}.password-success ion-icon{font-size:var(--app-text-lg);flex-shrink:0;margin-top:1px}@media (width<=600px){.password-card-header{flex-direction:column;align-items:stretch;gap:16px}.password-field{max-width:none}.password-form-actions{flex-direction:column}}.round-locations-map{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-accent-soft);width:100%;height:220px;box-shadow:var(--app-shadow-card);overflow:hidden}.round-locations-map__image{object-fit:cover;width:100%;height:100%;display:block}.round-locations-map--empty{box-shadow:none;color:var(--app-text-muted);font-size:var(--app-text-sm);justify-content:center;align-items:center;font-weight:600;display:flex}@media (width>=720px){.round-locations-map{height:300px}}.service-form{gap:20px;display:grid}.service-form>ion-note{line-height:var(--app-line-height-body)}@media (width>=768px){.service-modal{--height:min(580px, calc(100vh - 48px))}}.sync-dev-tools{color:var(--app-text-secondary-strong);line-height:var(--app-line-height-body);padding:18px 20px}.sync-dev-tools summary{cursor:pointer;font-weight:600}.sync-dev-tools ion-button{white-space:normal;height:auto;min-height:42px}.sync-dev-tools p:last-child{margin-bottom:0}.sync-issues-actions{justify-content:flex-start;display:flex}.sync-issues-list{gap:14px;display:grid}.sync-issue-empty,.sync-issue-card{margin:0}.sync-issue-empty ion-card-content{justify-items:start;gap:10px;padding:24px;display:grid}.sync-issue-empty ion-icon{font-size:var(--app-text-xl);color:var(--app-text-muted)}.sync-issue-empty h2,.sync-issue-empty p,.sync-issue-card h2,.sync-issue-card h3,.sync-issue-card__field-values p,.sync-issue-card__field-values dl,.sync-issue-card__field-values dd{margin:0}.sync-issue-empty p{color:var(--app-text-secondary);line-height:var(--app-line-height-body)}.sync-issue-card ion-card-content{gap:18px;padding:20px;display:grid}.sync-issue-card__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sync-issue-card__header ion-note{font-size:var(--app-text-xs);font-weight:600}.sync-issue-card__header h2{color:var(--app-text-strong);font-size:var(--app-text-lg);line-height:var(--app-line-height-title);margin-top:4px}.sync-issue-card__summary,.sync-issue-card__field-values dl{grid-template-columns:minmax(88px,auto) minmax(0,1fr);gap:10px 16px;display:grid}.sync-issue-card__summary span,.sync-issue-card__field-values dt{color:var(--app-text-muted);font-size:var(--app-text-xs);font-weight:600}.sync-issue-card__summary strong,.sync-issue-card__field-values dd{color:var(--app-text-secondary-strong);font-size:var(--app-text-md);overflow-wrap:anywhere;font-weight:600}.sync-issue-card__field-values{border-top:1px solid var(--app-border-sync);gap:12px;padding-top:2px;display:grid}.sync-issue-card__field-values h3{color:var(--app-text-strong);font-size:var(--app-text-sm);font-weight:600}.sync-issue-card__field-values p{color:var(--app-text-secondary);font-size:var(--app-text-md);line-height:var(--app-line-height-body)}.sync-issue-card__resolution-actions{flex-wrap:wrap;gap:10px;display:flex}.sync-issue-card__retry-copy{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);color:var(--app-text-secondary-strong);line-height:var(--app-line-height-body);margin:0;padding:12px}.sync-issue-card__field-values dl>div{display:contents}@media (width<=520px){.sync-issue-card__header{display:grid}.sync-issue-card__summary,.sync-issue-card__field-values dl{grid-template-columns:1fr}}.sync-issue-card__message p{color:var(--app-text-secondary-strong);line-height:var(--app-line-height-body);margin:0 0 8px}.sync-issue-card__discard{border-top:1px solid var(--app-border-control-strong);padding-top:8px}.sync-issue-card__header p{color:var(--app-text-secondary-strong);margin:8px 0 0;font-weight:600}details.sync-issue-card__field-values{display:block}.sync-issue-card__field-values summary{cursor:pointer;color:var(--app-text-secondary-strong);padding:10px 0;font-weight:600}.user-placeholder-modal{--border-radius:var(--app-radius-sheet) var(--app-radius-sheet) 0 0}.user-placeholder-modal::part(content){background:var(--app-surface-page)}.user-placeholder-modal__content{--background:var(--app-surface-page);--padding-top:20px;--padding-bottom:calc(env(safe-area-inset-bottom) + 28px);--padding-start:20px;--padding-end:20px}.user-placeholder{border:1px solid var(--app-border-control);border-radius:var(--app-radius-card);background:var(--app-surface-card);max-width:520px;box-shadow:var(--app-shadow-card);gap:10px;margin:0 auto;padding:22px;display:grid}.user-placeholder ion-note{color:var(--app-text-muted);font-size:var(--app-text-xs);font-weight:600}.user-placeholder h2{color:var(--app-text-strong);font-size:var(--app-text-xl);line-height:var(--app-line-height-title);margin:0}.user-placeholder ion-icon{color:var(--app-text-accent-strong);font-size:var(--app-text-xl)}.user-placeholder p{color:var(--app-text-secondary);line-height:var(--app-line-height-body);margin:0}@media (width>=720px){.user-placeholder-modal{--width:min(560px, calc(100vw - 48px));--height:min(360px, calc(100vh - 48px));--border-radius:var(--app-radius-sheet)}}.user-detail{container:user-detail/inline-size}.user-detail-summary{gap:var(--app-space-4);grid-template-columns:minmax(0,1fr);display:grid}.user-detail-row{gap:var(--app-space-3);grid-template-columns:auto minmax(0,1fr);align-items:start;min-width:0;display:grid}.user-detail-row__icon{min-height:24px;color:var(--app-text-secondary);font-size:var(--app-text-md);align-items:center;display:inline-flex}.user-detail-row span{color:var(--app-text-secondary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body)}.user-detail-row strong{margin-top:var(--app-space-1);color:var(--app-text-strong);font-size:var(--app-text-md);font-weight:500;line-height:var(--app-line-height-body);overflow-wrap:anywhere;display:block}.user-access-controls,.user-permission-controls{gap:var(--app-space-3);grid-template-columns:minmax(0,1fr);display:grid}.user-access-toggle,.user-permission-control{--border-color:var(--app-border-control-strong);--border-color-checked:var(--app-text-accent-strong);--checkbox-background:var(--app-surface-card);--checkbox-background-checked:var(--app-text-accent-strong);--checkmark-color:var(--ion-color-primary-contrast);--handle-background-checked:var(--ion-color-primary-contrast);--track-background:var(--app-surface-card);--track-background-checked:var(--app-text-accent-strong);min-width:0;min-height:44px;padding:var(--app-space-3);border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);color:var(--app-text-strong);font-weight:500}.user-access-toggle::part(label),.user-permission-control::part(label){white-space:normal;overflow-wrap:anywhere}.user-detail-muted{color:var(--app-text-secondary);font-size:var(--app-text-sm);line-height:var(--app-line-height-body)}@container user-detail (width>=44rem){.user-detail-summary,.user-permission-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-shell{align-content:start;gap:18px;width:min(100%,420px);margin:24px auto 0;display:grid}.auth-card{border-radius:var(--app-radius-card);width:100%;box-shadow:var(--app-shadow-card-strong);margin:0}.auth-card ion-card-content{padding:28px}.auth-heading{font-size:var(--app-text-xl);line-height:var(--app-line-height-title);letter-spacing:-.04em;color:var(--app-text-strong);margin:0}.auth-copy{color:var(--app-text-secondary);line-height:var(--app-line-height-body);margin:8px 0 0}.auth-form{gap:16px;margin-top:26px;display:grid}.auth-error{border-radius:var(--app-radius-control);background:var(--app-surface-danger-soft);color:var(--app-text-danger);font-size:var(--app-text-sm);margin:2px 0 0;padding:12px 14px}.auth-forgot-password{color:var(--app-text-accent-strong);font-size:var(--app-text-sm);line-height:var(--app-line-height-body);text-underline-offset:var(--app-space-1);place-self:flex-start start;text-decoration:underline}.auth-forgot-password:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:2px}.auth-submit{margin-top:6px}@media (width<=767px){.login-layout,.login-layout .auth-shell,.auth-card--login,.auth-card--login ion-card-content,.auth-card--login .auth-form{flex-direction:column;flex:1;display:flex}.login-layout .auth-shell{width:100%;margin:0}.auth-card--login{box-shadow:none;background:0 0}.auth-card--login ion-card-content{padding:var(--app-space-6) var(--app-space-1) 0}.auth-card--login .auth-submit{min-height:48px;margin-top:auto}}@media (width>=768px){.auth-shell{margin-top:52px}}.auth-screen::part(background),.app-screen::part(background),.loading-screen::part(background){background:var(--app-screen-gradient)}.auth-layout,.app-layout,.loading-layout{min-height:100%}.app-content{--padding-top:20px;--padding-bottom:calc(env(safe-area-inset-bottom) + 24px);--padding-start:16px;--padding-end:16px}.auth-content{--padding-top:18px;--padding-bottom:calc(env(safe-area-inset-bottom) + 28px);--padding-start:16px;--padding-end:16px}.auth-content--without-header{--padding-top:calc(env(safe-area-inset-top) + 18px)}.app-content::part(background),.app-screen::part(background){background:0 0}.app-shell-content{flex:1;min-width:0;height:100%;position:relative}.app-split-pane{--side-max-width:232px;--side-min-width:232px;--side-width:232px}.app-layout{align-content:start;gap:18px;display:grid}.page-intro{gap:5px;display:grid}.page-intro h2{font-size:var(--app-text-xl);font-weight:600;line-height:var(--app-line-height-title);letter-spacing:-.035em;color:var(--app-text-primary);margin:0}.page-intro p{color:var(--app-text-secondary);line-height:var(--app-line-height-body);margin:0}.page-panel{border-radius:var(--app-radius-card);box-shadow:var(--app-shadow-card);margin:0}.page-panel ion-card-content{padding:24px}.app-text-entry,ion-input.app-text-entry[fill=outline]{--background:var(--app-text-entry-background,var(--app-surface-card));--border-color:var(--app-text-entry-border-color,var(--app-border-control));--border-radius:var(--app-text-entry-radius,var(--app-radius-control));--border-style:solid;--border-width:1px;--box-shadow:none;--color:var(--app-text-entry-color,var(--app-text-strong));--highlight-color-focused:var(--app-text-entry-focus-color,var(--app-text-accent));--placeholder-color:var(--app-text-entry-placeholder-color,var(--app-text-muted));--padding-start:var(--app-text-entry-padding-inline,16px);--padding-end:var(--app-text-entry-padding-inline,16px);min-height:var(--app-text-entry-min-height,50px)}.app-form-text-entry{--app-text-entry-min-height:50px}.app-lookup-text-entry{--app-text-entry-min-height:52px}.app-search-text-entry{--app-text-entry-background:var(--app-surface-card);--app-text-entry-border-color:var(--app-border-control-strong);--app-text-entry-color:var(--app-text-primary);--app-text-entry-min-height:52px;--app-text-entry-radius:var(--app-radius-control)}@media (width>=768px){.app-layout{max-width:1180px;margin:0 auto}.auth-content,.app-content{--padding-start:24px;--padding-end:24px}.auth-shell,.loading-shell{margin-top:18px}}@media (width>=1024px){.app-content{--padding-top:28px;--padding-bottom:36px;--padding-start:32px;--padding-end:32px}.app-layout{gap:22px}}.app-header{--app-header-status-width:7.75rem;--app-header-height:max(56px, 3.5rem)}.app-header ion-toolbar{--border-width:0}.app-header ion-title{font-weight:600}@media (prefers-reduced-motion:reduce){.customer-card{transition:none}}.app-toolbar{align-items:center;gap:var(--app-space-2);min-height:var(--app-header-height);padding-inline:var(--app-space-2);display:flex}.app-toolbar-start{flex:none;margin:0}.app-toolbar-start:empty{display:none}.app-toolbar-identity{align-items:center;gap:var(--app-space-2);flex:1;min-width:0;display:flex}.app-toolbar-identity ion-title{width:auto;min-width:0;font-size:var(--app-text-lg);flex:1;padding:0;position:static}.app-toolbar-identity h1{text-overflow:ellipsis;white-space:nowrap;font:inherit;line-height:var(--app-line-height-title);margin:0;overflow:hidden}.app-toolbar-status{flex:0 0 var(--app-header-status-width);width:var(--app-header-status-width);height:var(--app-header-height);align-items:center;display:flex}.app-toolbar-actions{display:none}.app-mobile-actions{gap:var(--app-space-2);flex-wrap:wrap;display:flex}@media (width>=1024px){.app-toolbar{padding-inline:var(--app-space-4)}.app-toolbar-actions{align-items:center;gap:var(--app-space-2);flex:none;display:flex}.app-mobile-actions,.app-list-fab{display:none}}
