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-title,ion-select,ion-textarea{font-family:var(--app-body-font)}button,input,select,textarea{font-family:inherit}ion-button{--box-shadow:none;text-transform:none;letter-spacing:normal;font-weight:600}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-work-open:#2f70c0;--app-work-completed:#28794f;--app-work-skipped:#986709;--app-work-closed:#6d7772;--app-work-overdue:#b52c2c;--app-body-font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--app-heading-font:var(--app-body-font);--app-text-sm:.875rem;--ion-font-family:var(--app-body-font);--app-surface-top:#f3f4f5;--app-surface-page:#f3f4f5;--app-surface-page-start:#f3f4f5;--app-surface-page-end:#f3f4f5;--app-surface-card:#fff;--app-surface-card-soft:#fff;--app-surface-card-strong:#fff;--app-surface-panel:#fff;--app-surface-panel-soft:#fff;--app-surface-overlay:#ffffff24;--app-surface-accent-soft:#145b5217;--app-surface-accent-soft-hover:#145b5224;--app-surface-accent-strong:#145b5221;--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:#145b52;--app-text-accent-strong:#104b44;--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-top);--app-tile-gradient:#145b52;--app-radius-card:16px;--app-radius-panel:14px;--app-radius-control:12px;--app-radius-pill:999px;--ion-background-color:var(--app-surface-page);--ion-background-color-rgb:243, 244, 245;--ion-text-color:var(--app-text-primary);--ion-text-color-rgb:25, 35, 35;--ion-color-primary:#145b52;--ion-color-primary-rgb:20, 91, 82;--ion-color-primary-contrast:#fff;--ion-color-primary-contrast-rgb:255, 255, 255;--ion-color-primary-shade:#124f48;--ion-color-primary-tint:#2c6b63;--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-top);--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-surface-top:#151819;--app-surface-page:#151819;--app-surface-page-start:#151819;--app-surface-page-end:#151819;--app-surface-card:#232728;--app-surface-card-soft:#232728;--app-surface-card-strong:#2b3031;--app-surface-panel:#2b3031;--app-surface-panel-soft:#2b3031;--app-surface-overlay:#ffffff14;--app-surface-accent-soft:#4894972e;--app-surface-accent-soft-hover:#48949747;--app-surface-accent-strong:#48949738;--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:#8bd1c5;--app-text-accent-strong:#a9e4d9;--app-text-success:#d7f5e5;--app-text-danger:#ffb4b4;--app-work-open:#87b9f1;--app-work-completed:#83d0a6;--app-work-skipped:#e7bd65;--app-work-closed:#b0b8b3;--app-work-overdue:#f99;--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-top);--app-tile-gradient:#145b52;--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:#8bd1c5;--ion-color-primary-rgb:139, 209, 197;--ion-color-primary-contrast:#123a33;--ion-color-primary-contrast-rgb:18, 58, 51;--ion-color-primary-shade:#7ab8ad;--ion-color-primary-tint:#97d6cb;--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-top);--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)}.loading-shell{text-align:center;min-height:100%;padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 28px)}.sync-status-card{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-panel);background:var(--app-surface-panel-soft);text-align:center;margin-top:24px;padding:18px}.sync-actions{gap:10px;margin-top:24px;display:grid}.loading-mark{color:var(--app-text-accent-strong);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin-top:20px;margin-bottom:0;font-weight:700;display:inline-flex}.sync-progress-ring{width:132px;height:132px;color:var(--app-text-accent-strong);margin:2px auto 0;position:relative}.sync-progress-ring svg{width:100%;height:100%;display:block;overflow:visible;transform:rotate(-90deg)}.sync-progress-ring circle{fill:none;stroke-width:9px}.sync-progress-ring__track{stroke:var(--app-border-control)}.sync-progress-ring__value{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .32s ease-out}.sync-progress-ring--determinate .sync-progress-ring__value,.sync-progress-ring--complete .sync-progress-ring__value{stroke-dasharray:100}.sync-progress-ring--indeterminate .sync-progress-ring__value{stroke-dasharray:24 76;animation:1.35s cubic-bezier(.45,0,.55,1) infinite sync-progress-orbit}.sync-progress-ring--paused .sync-progress-ring__value{stroke-dasharray:4 8;opacity:.55}.sync-progress-ring--complete .sync-progress-ring__value{stroke-dashoffset:0}.sync-progress-ring__label{color:var(--app-text-strong);font-family:var(--app-heading-font);letter-spacing:-.03em;place-items:center;font-size:1.45rem;font-weight:800;display:grid;position:absolute;inset:0}.sync-progress-ring__label ion-icon{font-size:3rem}.sync-progress-ring--complete .sync-progress-ring__label ion-icon{animation:.42s cubic-bezier(.2,.85,.35,1.25) both sync-progress-check}@keyframes sync-progress-orbit{0%{stroke-dasharray:8 92;stroke-dashoffset:0}50%{stroke-dasharray:42 58;stroke-dashoffset:-24px}to{stroke-dasharray:8 92;stroke-dashoffset:-100px}}@keyframes sync-progress-check{0%{opacity:0;transform:scale(.55)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.loading-copy{color:var(--app-text-secondary);margin:14px 0 0;line-height:1.5}@media (prefers-reduced-motion:reduce){.sync-progress-ring__value,.sync-progress-ring--complete .sync-progress-ring__label ion-icon{transition-duration:1ms;animation-duration:1ms;animation-iteration-count:1}}.app-menu-content::part(background){background:var(--app-surface-top)}.app-menu-intro{padding:22px 20px 10px}.app-menu-intro span{color:var(--app-text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.app-menu-list{background:0 0;padding:0 10px 16px}.app-menu-item{--background:transparent;--border-radius:10px;--color:var(--app-text-primary);--inner-padding-bottom:10px;--inner-padding-end:16px;--inner-padding-start:12px;--inner-padding-top:10px;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:1.15rem}.app-menu-item__label{font-size:1rem;font-weight:700;display:block}@media (width>=768px){.app-menu-intro{padding-inline:18px}.app-menu-list{padding-inline:16px}}@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:650}.sync-support-details pre{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);padding:12px;font-size:.8rem;line-height:1.5}.confirm-location-modal{--width:100%;--height:100%;--border-radius:0;--box-shadow:0 -16px 48px #0f172a2e}.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);word-break:break-word;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.confirm-location__map-wrap{border:1px solid var(--app-border-control);border-radius:var(--app-radius-panel);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-card)}}.confirm-location__restore{z-index:2;--padding-start:0;--padding-end:0;--background:var(--app-surface-card);--color:var(--app-text-strong);--border-radius:10px;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:30px 30px 0 0;--box-shadow:0 -16px 48px #0f172a2e}.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);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:700}.address-search__status{min-height:24px;color:var(--app-text-muted);font-size:.92rem}.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:1rem;font-weight:700;line-height:1.25}.address-search__suggestion-meta,.address-search__manual-meta{color:var(--app-text-muted);font-size:.86rem}@media (width>=768px){.address-search-modal{--width:min(680px, calc(100vw - 48px));--height:min(720px, calc(100vh - 48px));--border-radius:var(--app-radius-card)}}.customer-badge{white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;width:fit-content;min-height:24px;padding:4px 7px;font-size:.72rem;font-weight:500;line-height:1.15;display:inline-flex}.customer-badge--status-active{color:#0e6258;background:#136f631f;border-color:#136f6333}.customer-badge--status-inactive{background:var(--app-surface-danger-soft);color:var(--app-text-danger);border-color:#8f1f1f2e}.customer-badge--status-lead{color:#76500f;background:#bf7f1b21;border-color:#a668093d}.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:#fff}:root[data-theme=dark] .customer-badge--status-active,body.theme-dark .customer-badge--status-active{color:#8de9c0;background:#2ecc8e29;border-color:#2ecc8e47}:root[data-theme=dark] .customer-badge--status-lead,body.theme-dark .customer-badge--status-lead{color:#f2c778;background:#f0b55329;border-color:#f0b5534d}.customer-badge--sync-issue{color:#8a321c;background:#fff0e9;border:1px solid #dba58f}.customer-location-map{border:1px solid var(--app-border-control);border-radius:var(--app-radius-panel);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-radius:var(--app-radius-pill);min-height:36px;color:var(--app-text-strong);background:#ffffffeb;border:1px solid #18211b24;justify-content:center;align-items:center;padding:8px 12px;font-size:.86rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 10px 24px #18211b29}.customer-location-map__link:focus-visible,.customer-location-map__link:hover{color:var(--app-text-accent-strong);background:#fff;outline:none}.customer-location-map--empty{color:var(--app-text-muted);justify-content:center;align-items:center;font-size:.92rem;font-weight:700;display:flex}@media (width>=720px){.customer-location-map{height:200px}}.customer-detail-modal__content{--padding-top:16px}.customer-detail{gap:16px;display:grid}.customer-detail__tabs{border-bottom:1px solid var(--app-border-subtle);display:flex}.customer-detail__tabs button{min-height:46px;color:var(--app-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:1;font-weight:600}.customer-detail__tabs button[aria-selected=true]{color:var(--app-text-accent-strong);border-bottom-color:var(--app-text-accent-strong)}.customer-detail__tabs button:disabled{opacity:.5;cursor:default}.customer-detail__tab-panel{gap:16px;display:grid}.customer-detail__compact-address{color:var(--app-text-muted);margin:-6px 0 0;line-height:1.5}.customer-detail__panel{box-shadow:var(--app-shadow-card);border:0;padding:18px}.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);align-items:baseline;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.customer-detail__lead-source>span{color:var(--app-text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem}.customer-detail__rows{gap:4px;display:grid}.customer-detail__row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:10px 0;display:grid}.customer-detail__icon-wrap{background:var(--app-surface-accent-soft);border-radius:11px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.customer-detail__icon{color:var(--app-text-accent-strong);font-size:1.1rem}.customer-detail__copy{gap:5px;min-width:0;display:grid}.customer-detail__label{color:var(--app-text-muted);font-size:.8125rem;font-weight:500}.customer-detail__value{color:var(--app-text-strong);font-family:var(--app-body-font);word-break:break-word;margin:0;font-size:1rem;line-height:1.45}.customer-detail__error{border-radius:var(--app-radius-panel);background:#bf222214;border:1px solid #bf22223d;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__heading h2{margin:0;font-size:1.15rem}.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);flex-wrap:wrap;gap:6px 12px;font-size:.8rem;display:flex}.customer-notes__content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.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-card)}}.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);padding:16px;line-height:1.5}.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:.8rem}.customer-detail__balance:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:4px}.customer-detail__job-count{background:var(--ion-color-primary);min-width:1.5em;color:var(--ion-color-primary-contrast);border-radius:1rem;margin-left:.3rem;padding:.1rem .4rem;font-size:.75em;line-height:1.4;display:inline-block}.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{color:var(--app-text-secondary-strong);margin:0;font-size:.85rem;line-height:1.6}.finance-toolbar p>span{color:var(--app-text-muted);font-size:.75rem;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-panel);justify-content:space-between;align-items:center;gap:16px;padding:22px;display:flex}.finance-balance>div{gap:5px;display:grid}.finance-balance>div>span{color:var(--app-text-secondary-strong);font-size:.8rem}.finance-balance strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--app-text-strong);overflow-wrap:anywhere;font-size:clamp(1.8rem,6vw,2.25rem)}.finance-balance__status{color:var(--app-text-accent-strong);background:var(--app-surface-card);border-radius:100px;padding:6px 12px;font-size:.8rem;font-weight:700}.finance-balance--owed{background:#ba7a1e17;border-color:#ba7a1e40}.finance-balance--owed .finance-balance__status{color:var(--app-text-strong);background:#ba7a1e2b}.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{margin:0;font-size:1.1rem}.finance-statement__heading>span,.finance-statement__footer>span{color:var(--app-text-muted);font-size:.75rem}.finance-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:16px;display:grid}.finance-filters label,.finance-account-select{gap:6px;font-size:.8rem;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);min-height:42px;color:var(--app-text-strong);background:var(--app-surface-card);border-radius:8px;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{color:var(--app-text-muted);font-size:.75rem}.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{color:var(--app-text-strong);font-size:.85rem;font-weight:700}.finance-entry time{color:var(--app-text-muted);white-space:nowrap;font-size:.75rem}.finance-entry__body{grid-template-columns:minmax(0,1fr) auto;gap:14px;display:grid}.finance-entry__copy{overflow-wrap:anywhere;min-width:0;color:var(--app-text-secondary-strong);font-size:.8rem;line-height:1.5}.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:.95rem}.finance-entry__amount>span{color:var(--app-text-muted);font-size:.72rem}.finance-entry__reversed{background:var(--app-surface-accent-soft);border-radius:4px;margin-top:5px;padding:2px 7px;font-size:.72rem;display:inline-block}.finance-entry__document{min-height:40px;color:var(--app-text-accent-strong);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:8px 0 0;font-size:.8rem;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{color:var(--app-text-secondary-strong);border-radius:var(--app-radius-panel);background:var(--app-surface-accent-soft);margin:0;padding:16px;font-size:.9rem;line-height:1.6}.finance-empty h2{margin:0 0 6px;font-size:1.05rem}.finance-empty p{margin:0}.finance-error{color:var(--app-text-danger);font-size:.85rem}.customer-invoice-modal{--width:min(600px, 100vw);--height:min(840px, 95vh);--border-radius:16px}.finance-invoice{color:var(--app-text-strong);padding:10px}.finance-invoice h1{margin:6px 0 24px;font-size:1.6rem}.finance-invoice h2{color:var(--app-text-muted);margin:0 0 8px;font-size:.85rem}.finance-invoice__dates{gap:36px;margin-bottom:24px;display:flex}.finance-invoice__dates>div{gap:5px;font-size:.9rem;display:grid}.finance-invoice__dates span{color:var(--app-text-muted);font-size:.8rem}.finance-invoice__billto,.finance-invoice__notes{margin:24px 0}.finance-invoice p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.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{color:var(--app-text-muted);font-size:.85rem}.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{padding-top:8px;font-size:1.25rem;font-weight:700}.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:1.5}.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-panel);background:var(--app-surface-card);gap:14px;min-width:0;padding:18px;display:grid}.new-job-form h2{margin:0;font-size:1.05rem;font-weight:800}.new-job-form small{color:var(--app-text-secondary);font-size:.78rem;font-weight:400}.new-job-form h2 small{margin-left:6px}.new-job-form label{gap:7px;min-width:0;font-size:.9rem;font-weight:650;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;padding:11px 12px;font-size:16px}.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{color:var(--app-text-secondary);margin:0;font-size:.83rem;line-height:1.5}.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:750}.new-job-form__customer p{color:var(--app-text-secondary-strong);overflow-wrap:anywhere;margin:4px 0 0;font-size:.85rem;line-height:1.5}.new-job-form__text-button{min-height:44px;color:var(--app-text-accent-strong);font:inherit;background:0 0;border:0;padding:8px 0 0;font-size:.85rem;font-weight:750}.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{color:var(--app-text-secondary);font-size:.82rem}.new-job-form__optional{border-top:1px solid var(--app-border-control);min-width:0}.new-job-form__optional summary{cursor:pointer;padding:13px 0;font-size:.9rem;font-weight:650}.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-panel)}}@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-panel);background:var(--app-surface-card);min-width:0;padding:18px}.customer-job__heading{flex-wrap:wrap;align-items:baseline}.customer-job__heading h3{overflow-wrap:anywhere;margin:0;font-size:1rem}.customer-job__heading>span,.customer-job__meta{font-size:.8125rem}.customer-job__meta{margin:6px 0 0;line-height:1.6}.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;margin:0;line-height:1.5}.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);background:var(--app-surface-card);min-width:0;color:var(--app-text-strong);border-radius:10px;flex-direction:column;gap:5px;padding:12px;line-height:1.4;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:.875rem}.customer-job__label,.customer-job__visit small,.customer-job__payment{font-size:.75rem}.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{color:var(--app-text-muted);margin-top:4px;font-size:.75rem;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-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__field{gap:6px;display:grid}.customer-create__label{color:var(--app-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:700}.customer-create__hint{color:var(--app-text-secondary);margin-top:4px;font-size:.82rem;line-height:1.4;display:block}.customer-create__textarea{--background:var(--app-surface-panel);--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:16px;--padding-end:16px;--padding-top:14px;--padding-bottom:14px}.customer-create__chips{flex-wrap:wrap;gap:8px;display:flex}.customer-create__chip{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-pill);color:var(--app-text-secondary);cursor:pointer;background:0 0;padding:8px 16px;font-size:.88rem;font-weight:600;transition:background .16s,border-color .16s,color .16s}.customer-create__chip.is-selected{background:var(--app-surface-accent-soft);border-color:var(--app-text-accent);color:var(--app-text-accent-strong)}.customer-create__expand{width:100%;color:var(--app-text-secondary-strong);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;font-size:1rem;font-weight:700;display:flex}.customer-create__expand ion-icon{color:var(--app-text-muted);font-size:1.1rem}.customer-create__fields-inner{gap:16px;display:grid}.customer-create__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.customer-create__toggle-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.customer-create__toggle-row>span{min-width:0}.customer-create__error{border-radius:var(--app-radius-panel);background:#bf222214;border:1px solid #bf22223d;padding:12px 14px}.connection-status{min-height:44px;max-width:var(--app-header-status-width,6.75rem);border-radius:var(--app-radius-pill);color:var(--app-text-success);background:0 0;align-items:center;gap:6px;padding:6px 8px;font-size:.8125rem;font-weight:600;line-height:1.25;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:normal;overflow-wrap:anywhere;min-width:0}.connection-status__sync-icon{flex:0 0 14px;font-size: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}}.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{min-height:54px;color:var(--app-text-muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:5px 2px;font-size:.75rem;font-weight:500;line-height:1.25;text-decoration:none;display:flex}.mobile-navigation ion-icon{font-size:23px}.mobile-navigation a[aria-current=page]{color:var(--app-text-accent-strong);font-weight:650}.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:12px;--padding-bottom:calc(env(safe-area-inset-bottom) + 88px)}.customers-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.customers-toolbar__search{--app-text-entry-border-color:transparent;--app-text-entry-min-height:48px}.customers-toolbar__actions{gap:4px;display:flex}.customers-toolbar__button{--background:transparent;--background-hover:var(--app-surface-accent-soft);--border-radius:var(--app-radius-control);--color:var(--app-text-accent-strong);margin:0}.customers-toolbar__button::part(native){min-width:44px;min-height:48px}.customers-toolbar__new{--border-radius:var(--app-radius-control);min-height:48px;margin:0;display:none}.customers-list{gap:12px;display:grid}.customers-list__meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;padding-inline:4px;display:flex}.customers-list__meta ion-note{color:var(--app-text-muted);font-size:.875rem;font-weight:500}.customers-list__meta ion-note+ion-note{font-size:.8125rem;font-weight:400}.customers-list__rows{border-radius:var(--app-radius-card);background:var(--app-surface-card);overflow:hidden}.customer-card{box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;transition:background-color .12s;position:relative}.customer-card+.customer-card:before{top:0;background:var(--app-border-subtle);content:"";height:1px;position:absolute;inset-inline:16px}.customer-card:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-3px}.customer-card:active{background:var(--app-surface-accent-soft)}@media (hover:hover){.customer-card:hover{background:var(--app-surface-accent-soft)}}.customer-card__content{padding:18px 16px!important}.customer-card__main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.customer-card__header{gap:5px;min-width:0;display:grid}.customer-card__title-row{grid-template-columns:minmax(0,1fr) min(55%,12rem);align-items:start;gap:8px;display:grid}.customer-card__balance-slot{min-width:0;height:1.5rem;container-type:inline-size}.customer-card__chevron{color:var(--app-text-muted);font-size:1rem}.customer-card__badges{flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;display:flex}.customer-card .customer-card__name{color:var(--app-text-strong);font-family:var(--app-body-font);overflow-wrap:anywhere;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.5rem}.customer-card__address-line{color:var(--app-text-secondary);overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.5}.customer-card__contact{min-width:0;display:none}.customers-list__empty{color:var(--app-text-secondary);margin:0;padding:24px 16px}.customers-fab{--background:var(--ion-color-primary);--box-shadow:var(--app-shadow-floating);--color:var(--ion-color-primary-contrast)}.customer-card__balances{scrollbar-width:none;gap:12px;display:flex;overflow-x:auto}.customer-card__balance:first-child{margin-left:auto}.customer-card__balance{white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:.8125rem;line-height:1.5rem}.customer-card__balance>strong{font-weight:500}.customer-card__balance>span{color:var(--app-text-secondary-strong);font-size:.8125rem}.customer-card__balance--owed>strong{color:var(--app-text-danger)}.customer-card__balance--credit>strong{color:var(--app-text-accent-strong)}.customer-card__age-short{display:none}@container (width<=10.5rem){.customer-card__age-full{display:none}.customer-card__age-short{display:inline}}@media (width>=1024px){.customers-toolbar{grid-template-columns:minmax(280px,1fr) auto auto}.customers-toolbar__new{display:block}.customer-card__content{padding:14px 18px!important}.customer-card__main{grid-template-columns:minmax(280px,1.4fr) minmax(210px,1fr) auto;gap:5px 14px}.customer-card__header{display:contents}.customer-card__title-row{grid-area:1/1/auto/3}.customer-card__address-line{grid-area:2/1}.customer-card__badges{grid-area:3/1}.customer-card__chevron{grid-area:1/3/4}.customer-card__contact{color:var(--app-text-secondary);text-align:right;grid-area:2/2/4;gap:3px;font-size:.875rem;display:grid}.customer-card__contact span{overflow-wrap:anywhere}.customers-fab{display:none}}.customers-toolbar__button.customers-toolbar__button--active{--background:var(--app-surface-accent-soft)}.customers-toolbar__button.customers-sort-button{--color:var(--app-text-muted)}.customers-sort-button.customers-toolbar__button--active{--color:var(--app-text-accent-strong)}.customers-sort-button__dot{background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:7px}.customer-filter-count{font-variant-numeric:tabular-nums;margin-left:6px}.customer-filters-modal{--height:min(88%, 660px);--width:100%;--border-radius:24px}.customer-filters-modal::part(content){border-radius:24px 24px 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{margin:0;font-size:1.25rem;font-weight:600}.customer-filters__header ion-button{margin:0}.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{margin-bottom:8px;font-size:.9375rem;font-weight:600}.customer-filters__hint{color:var(--app-text-muted);margin:0 0 8px;font-size:.8125rem}.customer-filters__statuses{flex-wrap:wrap;gap:4px 16px;display:flex}.customer-filters__choice{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:.9375rem;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 select,.customer-filters__search{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-card);width:100%;min-height:48px;color:var(--app-text-strong);font:inherit;padding:12px;font-size:1rem}.customer-filters select:disabled{opacity:.6}.customer-filters select+.customer-filters__hint{margin-top:8px}.customer-filters__search{margin-bottom:8px}.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-filters__footer ion-button{text-transform:none;letter-spacing:normal;min-height:44px;margin:0}.customer-sort-popover{--width:280px;--max-width:calc(100vw - 24px)}.customer-sort-menu{background:var(--app-surface-card);padding:8px}.customer-sort-menu h2{color:var(--app-text-muted);margin:8px 12px;font-size:.8125rem;font-weight:500}.customer-sort-menu button{text-align:left;width:100%;min-height:48px;color:var(--app-text-strong);border-radius:var(--app-radius-control);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:.9375rem;display:flex}.customer-sort-menu button[aria-pressed=true]{background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong)}.customer-sort-menu button:hover{background:var(--app-surface-accent-soft)}.customer-sort-menu ion-icon{flex:none;font-size:1.125rem}.customer-filter-chips{flex-wrap:wrap;gap:6px;display:flex}.customer-filter-chips button{border-radius:var(--app-radius-pill);background:var(--app-surface-accent-soft);max-width:100%;min-height:36px;color:var(--app-text-accent-strong);font:inherit;text-align:left;cursor:pointer;border:0;align-items:center;gap:6px;padding:6px 10px;font-size:.8125rem;display:inline-flex}.customer-filter-chips span{overflow-wrap:anywhere;min-width:0}.customer-filter-chips ion-icon{flex:none}.customer-filter-chips .customer-filter-chips__clear{color:var(--app-text-muted);background:0 0}@media (pointer:coarse){.customer-filter-chips button{min-height:44px}}.customers-toolbar__button{--background-focused:var(--app-surface-accent-soft);--background-activated:var(--app-surface-accent-soft)}.customers-toolbar__button::part(native):focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.dashboard-tile{--tile-accent:var(--app-text-accent);--tile-tint:var(--app-surface-accent-soft);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);background:var(--app-surface-card);width:100%;min-width:0;min-height:252px;color:var(--app-text-primary);font-family:var(--app-body-font);text-align:left;cursor:pointer;flex-direction:column;gap:24px;padding:22px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.dashboard-tile--customers{--tile-accent:var(--lightningcss-light,#5466a0)var(--lightningcss-dark,#b1bff2);--tile-tint:var(--lightningcss-light,#eff1fa)var(--lightningcss-dark,#2e3445)}.dashboard-tile--planner{--tile-accent:var(--app-text-warning);--tile-tint:var(--app-surface-warning-soft)}.dashboard-tile:hover{border-color:var(--tile-accent);transform:translateY(-2px);box-shadow:0 5px 18px #0000000d}.dashboard-tile:focus-visible{outline:3px solid var(--tile-accent);outline-offset:4px}.dashboard-tile__header,.dashboard-tile__body,.dashboard-tile__footer,.dashboard-tile__action{align-items:center;display:flex}.dashboard-tile__header{gap:10px}.dashboard-tile__title{font-size:.95rem;font-weight:650}.dashboard-tile__context{color:var(--app-text-muted);margin-left:auto;font-size:.75rem}.dashboard-tile__icon-wrap{width:34px;height:34px;color:var(--tile-accent);background:var(--tile-tint);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.dashboard-tile__icon{font-size:1.15rem}.dashboard-tile__body{flex:1;justify-content:space-between;gap:12px}.dashboard-tile__copy{gap:8px;min-width:0;display:grid}.dashboard-tile__value{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:2.85rem;font-weight:650;line-height:1.05}.dashboard-tile__value--compact{letter-spacing:-.035em;font-size:1.6rem;line-height:1.15}.dashboard-tile__detail{color:var(--app-text-secondary);font-size:.85rem;line-height:1.5}.dashboard-tile__footer{border-top:1px solid var(--app-border-subtle);flex-wrap:wrap;justify-content:space-between;gap:8px;min-height:32px;padding-top:15px;font-size:.75rem}.dashboard-tile__badge{color:var(--app-text-secondary)}.dashboard-tile__badge:empty{display:none}.dashboard-tile__action{color:var(--tile-accent);white-space:nowrap;gap:4px;margin-left:auto;font-weight:650}.dashboard-tile__action ion-icon{font-size:1rem}@media (prefers-reduced-motion:reduce){.dashboard-tile{transition:none}.dashboard-tile:hover{transform:none}}.week-jobs{gap:14px;width:100%;display:grid}.week-jobs__chart{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.week-jobs__day{text-align:center;gap:6px;display:grid}.week-jobs__total{color:var(--app-text-secondary);font-variant-numeric:tabular-nums;font-size:.7rem}.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(--lightningcss-light,#237c6c)var(--lightningcss-dark,#75c6b6)}.week-jobs__segment--skipped{background:var(--lightningcss-light,#d2a044)var(--lightningcss-dark,#e4ba67)}.week-jobs__segment--notDone{background:var(--lightningcss-light,#a8b9cd)var(--lightningcss-dark,#7b91ac)}.week-jobs__label{color:var(--app-text-secondary);font-size:.7rem;line-height:1.4}.week-jobs__day--today .week-jobs__label{color:var(--app-text-primary);text-underline-offset:4px;font-weight:750;text-decoration:underline}.week-jobs__legend{color:var(--app-text-secondary);flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:.65rem;display:flex}.week-jobs__legend>span{align-items:center;gap:5px;display:inline-flex}.week-jobs__swatch{border-radius:2px;width:7px;height:7px}.home-title{gap:6px;display:grid}.home-title h1{color:var(--app-text-primary);font-family:var(--app-heading-font);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,7vw,3rem);line-height:1}.home-modules{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px;max-width:1200px;display:grid}.home-account{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);box-shadow:var(--app-shadow-card);margin:0}.home-account ion-card-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.home-account__copy{gap:4px;min-width:0;display:grid}.home-account__copy strong{color:var(--app-text-strong);text-overflow:ellipsis;font-size:1rem;overflow:hidden}.home-account__label{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.home-actions{flex-wrap:wrap;gap:6px;display:flex}.home-actions ion-button{--border-radius:10px;margin:0}@media (width>=768px){.home-title h1{font-size:clamp(2.4rem,4vw,3.25rem)}}@media (width<=520px){.home-account ion-card-content{align-items:stretch}.home-account__copy,.home-actions{width:100%}}.home-day-ring{width:88px;height:88px;color:var(--app-text-accent);flex:0 0 88px;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:1.8rem}.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}.home-customer-growth{border-radius:var(--app-radius-pill);background:var(--tile-tint);color:var(--tile-accent);padding:5px 9px;font-weight:600;display:inline-block}.job-location-map{border:1px solid var(--app-border-control);border-radius:var(--app-radius-panel);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-strong);min-height:44px;box-shadow:var(--app-shadow-floating);color:var(--app-text-strong);border:0;justify-content:center;align-items:center;padding:8px 12px;font-size:.86rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;position:absolute;bottom:12px;right:12px}.job-location-map__link:hover{background:var(--app-surface-card-strong);color:var(--app-text-accent-strong)}.job-location-map--empty{color:var(--app-text-muted);place-items:center;gap:12px;font-size:.92rem;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-section{border-bottom:1px solid var(--app-border-control);gap:14px;padding:18px 0;display:grid}.job-compact-section__heading,.job-compact-control,.job-compact-schedule{justify-content:space-between;align-items:center;gap:12px;display:flex}.job-compact-section__heading h2{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:5px 0 0;font-size:clamp(1.25rem,5vw,1.65rem);line-height:1.05}.job-compact-text-button,.job-compact-add{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);min-height:44px;color:var(--app-text-accent-strong);font:inherit;border:0;font-weight:800}.job-compact-text-button{padding:0 12px}.job-compact-add{min-width:44px;padding:0}.job-compact-list{display:grid}.job-compact-control{border:0;border-top:1px solid var(--app-border-control);width:100%;min-height:58px;color:var(--app-text-strong);font:inherit;text-align:left;background:0 0;padding:8px 0}.job-compact-control:first-child{border-top:0}.job-compact-control:disabled{opacity:1}.job-compact-control>span{gap:7px;display:grid}.job-compact-chips{flex-wrap:wrap;gap:7px;display:flex}.job-compact-chip{border-radius:var(--app-radius-pill);background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong);padding:6px 9px;font-size:.82rem;font-weight:800;display:inline-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);white-space:pre-wrap;margin:0;line-height:1.5}.job-schedule-warning{border-radius:var(--app-radius-control);background:var(--app-surface-warning,#f7e9c5);color:var(--app-text-strong);margin:0;padding:12px;line-height:1.4}.job-command-message{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);color:var(--app-text-secondary-strong);margin:0;padding:12px}.job-picker,.job-picker__list,.job-editor-form,.job-scope-picker{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{background:var(--app-surface-accent-soft);width:42px;height:42px;color:var(--app-text-accent-strong);border-radius:50%;place-items:center;display:grid}.job-scope-picker>button{border:0;border-bottom:1px solid var(--app-border-control);min-height:72px;color:var(--app-text-strong);font:inherit;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:14px 0;display:grid}.job-scope-picker>button span{color:var(--app-text-secondary)}.job-scope-picker>button ion-icon{grid-area:1/2/span 2;align-self:center}.job-editor-form label{color:var(--app-text-secondary-strong);gap:7px;font-weight:750;display:grid}.job-editor-form input,.job-editor-form select,.job-editor-form textarea{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);background:var(--app-surface-card);width:100%;min-height:44px;color:var(--app-text-strong);font:inherit;padding:11px 12px}.job-editor-form textarea{resize:vertical;min-height:96px}.job-editor-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=720px){.job-editor-modal{--width:min(620px, 92vw);--height:min(760px, 90vh);--border-radius:var(--app-radius-panel)}}.visit-lifecycle-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.visit-lifecycle-actions button{border:1px solid var(--app-border-control);min-height:44px;font:inherit;color:var(--app-text-primary);background:var(--app-surface-card);cursor:pointer;border-radius:10px;padding:8px 14px}.visit-lifecycle-actions button:disabled{opacity:.5;cursor:default}.visit-lifecycle-actions__confirmation{border:1px solid var(--app-border-control);border-radius:10px;flex-basis:100%;padding:8px}.visit-lifecycle-actions__confirmation button+button{margin-left:8px}.visit-compact-section{border-bottom:1px solid var(--app-border-control);gap:14px;padding:18px 0;display:grid}.visit-compact-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.visit-compact-heading h2{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:5px 0 0;font-size:clamp(1.25rem,5vw,1.65rem);line-height:1.05}.visit-status{border-radius:var(--app-radius-pill);background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong);text-transform:capitalize;padding:6px 10px;font-size:.82rem;font-weight:800}.visit-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.visit-quick-actions button{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);min-height:62px;color:var(--app-text-accent-strong);font:inherit;border:0;place-items:center;gap:6px;padding:8px;font-size:.82rem;font-weight:800;display:grid}.visit-note{gap:7px;display:grid}.visit-note p{color:var(--app-text-secondary-strong);margin:0;line-height:1.5}.visit-lifecycle-wrap{gap:10px;display:grid}.visit-cancel{min-height:44px;color:var(--ion-color-danger);font:inherit;background:0 0;border:0;justify-self:start;padding:0;font-weight:800}.visit-compact-message,.visit-compact-locked{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);color:var(--app-text-secondary-strong);margin:0;padding:12px;line-height:1.45}.visit-editor-form{gap:14px;display:grid}.visit-editor-form label{color:var(--app-text-secondary-strong);gap:7px;font-weight:750;display:grid}.visit-editor-form input,.visit-editor-form textarea{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);background:var(--app-surface-card);width:100%;min-height:44px;color:var(--app-text-strong);font:inherit;padding:11px 12px}.visit-editor-form textarea{resize:vertical;min-height:120px}.visit-editor-form p{color:var(--app-text-secondary);margin:0;line-height:1.45}.visit-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=720px){.visit-editor-modal{--width:min(620px, 92vw);--height:min(620px, 88vh);--border-radius:var(--app-radius-panel)}}.page-loading-surface{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);background:var(--app-surface-card-soft);place-items:center;min-height:clamp(260px,48vh,520px);display:grid}.page-loading-surface__status{color:var(--app-text-muted);align-items:center;gap:10px;font-size:.86rem;font-weight:700;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-detail-content .job-location-map{border:0;height:160px;margin-top:16px}.job-detail-content .job-location-map--empty{height:auto;min-height:72px}.job-detail-hero{gap:7px;margin-bottom:14px;display:grid}.job-detail-hero ion-note{color:var(--app-text-muted);letter-spacing:normal;font-size:.875rem;font-weight:600}.job-detail-hero h1{color:var(--app-text-strong);font-family:var(--app-heading-font);letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.5rem,5vw,1.875rem);font-weight:650;line-height:1.25}.job-customer-link{width:fit-content;min-height:44px;color:var(--app-text-accent-strong);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:flex}.job-customer-link:disabled{color:var(--app-text-secondary);opacity:1}.job-detail-summary{border-radius:var(--app-radius-panel);background:var(--app-surface-card);box-shadow:var(--app-shadow-card);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px;display:grid}.job-detail-metric{grid-template-columns:minmax(0,1fr);gap:5px;min-width:0;display:grid}.job-detail-metric ion-icon{display:none}.job-detail-metric span,.job-detail-label{color:var(--app-text-muted);letter-spacing:normal;font-size:.8125rem;font-weight:600;line-height:1.4}.job-detail-metric strong{overflow-wrap:anywhere;min-width:0;color:var(--app-text-strong);font-size:.94rem;line-height:1.2}.job-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.job-contact-actions a{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);min-height:48px;color:var(--app-text-accent-strong);justify-content:center;align-items:center;gap:7px;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.job-contact-actions a.is-disabled{pointer-events:none;opacity:.48}.job-history{border-bottom:0;padding:18px 0}.job-history summary{min-height:44px;color:var(--app-text-strong);font-family:var(--app-heading-font);cursor:pointer;justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.job-history summary span{border-radius:var(--app-radius-pill);background:var(--app-surface-accent-soft);min-width:28px;height:28px;color:var(--app-text-accent-strong);font-family:var(--app-body-font);place-items:center;font-size:.8rem;display:grid}.job-history>p{color:var(--app-text-secondary)}.job-detail-history{border-radius:var(--app-radius-panel);background:var(--app-surface-card);gap:0;margin-top:12px;display:grid;overflow:hidden}.job-detail-history__link{background:0 0;border:0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.job-detail-history__link+.job-detail-history__link{border-top:1px solid var(--app-border-subtle)}.job-detail-history__link>div{gap:4px;display:grid}.job-detail-history__link strong{color:var(--app-text-strong)}.job-detail-history__link span{color:var(--app-text-secondary);font-size:.8rem}.job-detail-history__status{border-radius:var(--app-radius-pill);background:var(--app-surface-accent-soft);white-space:nowrap;padding:5px 9px;font-weight:600;color:var(--app-text-accent-strong)!important}@media (width<=359px){.job-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.job-detail-metric:last-child{grid-column:1/-1}}@media (width>=720px){.job-detail-content .job-location-map{height:220px}.job-detail-summary{padding:18px}.job-detail-metric strong{font-size:1.05rem}}.job-detail-content .job-compact-section,.job-detail-content .visit-compact-section{border-radius:var(--app-radius-card);background:var(--app-surface-card);border:0;margin-top:16px;padding:18px 16px}.job-detail-content .job-compact-section__heading h2,.job-detail-content .visit-compact-heading h2{font-size:1.25rem;font-weight:600;line-height:1.3}.job-detail-content .job-compact-control{border-color:var(--app-border-subtle)}.job-detail-content .job-compact-text-button,.job-detail-content .job-compact-add,.job-detail-content .job-compact-chip,.job-detail-content .visit-status,.job-detail-content .visit-quick-actions button,.job-detail-content .visit-cancel{font-weight:600}.job-detail-content .job-schedule-warning{background:var(--app-surface-warning-soft);color:var(--app-text-warning)}.job-detail-history__link{text-decoration:none}.job-detail-history__link:focus-visible{outline:2px solid var(--app-text-accent-strong)}.job-detail-hero p{color:var(--app-text-secondary);margin:0}.job-detail-tabs{gap:8px;margin-bottom:16px;display:flex}.job-detail-tabs button,.job-due-highlight button,.job-visit-navigation button,.job-detail-text-button{border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);min-height:44px;color:var(--app-text-accent-strong);background:var(--app-surface-card);font:inherit;cursor:pointer;padding:9px 14px}.job-detail-tabs button[aria-current]{background:var(--app-surface-accent-soft);border-color:var(--app-text-accent-strong);font-weight:600}.job-due-highlight{border-radius:var(--app-radius-card);background:var(--app-surface-accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:16px;display:flex}.job-due-highlight h2{color:var(--app-text-strong);margin:6px 0;font-size:1.3rem}.job-due-highlight p{color:var(--app-text-secondary);margin:6px 0}.job-visit-state{color:var(--app-text-accent-strong);font-size:.875rem;font-weight:600;display:inline-block}.job-visit-state.is-overdue{background:var(--app-surface-danger-soft);color:var(--app-work-overdue);border-radius:var(--app-radius-control);padding:6px 10px}.job-detail-history__link .job-visit-state.is-overdue{color:var(--app-work-overdue)}.job-visit-navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:12px;display:grid}.job-visit-navigation>span{color:var(--app-text-secondary);text-align:center}.job-visit-navigation button:first-child{justify-self:start}.job-visit-navigation button:last-child{justify-self:end}.job-visit-navigation button:disabled{opacity:.4;cursor:default}.job-detail-text-button{text-align:left;background:0 0;border:0}.job-detail-columns{flex-direction:column;gap:16px;display:flex}.job-detail-main{min-width:0}.job-detail-summary{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.job-contact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.job-map-disclosure{margin-top:16px}.job-map-disclosure summary,.job-all-visits summary{cursor:pointer;min-height:44px;color:var(--app-text-strong);padding:12px 0;font-weight:600}.job-visits-sidebar{order:-1;min-width:0}.job-all-visits{border-bottom:1px solid var(--app-border-subtle)}.job-all-visits h3{color:var(--app-text-secondary);font-size:.95rem}.job-detail-history__link{width:100%;font:inherit;text-align:left;cursor:pointer}.job-detail-history__link[aria-current]{background:var(--app-surface-accent-soft);box-shadow:inset 3px 0 var(--app-text-accent-strong)}.job-detail-history__link>div{min-width:0}.job-detail-content .visit-lifecycle-actions>button:first-of-type{background:var(--app-text-accent-strong);color:var(--app-surface-card)}.job-detail-columns{margin-top:16px}@media (width<=540px){.job-visit-navigation button span{display:none}}@media (width>=1050px){.job-detail-columns:not(.is-job){grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:start;display:grid}.job-visits-sidebar{order:0}.job-all-visits{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);padding:0 14px 14px}}.job-workspace-detail{min-width:0}.job-source-list{display:none}@media (width>=1050px){.job-workspace.has-source{grid-template-columns:minmax(220px,30%) minmax(0,1fr);align-items:start;gap:24px;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:1.1rem}.job-source-list button{text-align:left;min-height:70px;font:inherit;border:0;border-bottom:1px solid var(--app-border-subtle);background:var(--app-surface-card);color:var(--app-text-strong);cursor:pointer;gap:5px;padding:14px;display:grid}.job-source-list button span{color:var(--app-text-secondary);font-size:.85rem}.job-source-list button[aria-current]{background:var(--app-surface-accent-soft);box-shadow:inset 3px 0 var(--app-text-accent-strong)}.job-workspace.has-source .job-detail-columns{align-items:stretch;display:flex}.job-workspace.has-source .job-visits-sidebar{order:-1}}.job-visit-state[data-work-status]{color:var(--work-status-color)}.job-list-panel{gap:18px;padding:22px;display:grid}.job-list-panel__header{gap:8px;display:grid}.job-list-panel__header ion-note{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800}.job-list-panel__header h2{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:0;font-size:clamp(1.55rem,5vw,2.2rem);line-height:1}.job-list-panel__items{gap:12px;display:grid}.job-list-card{border:1px solid var(--app-border-control);border-radius:var(--app-radius-panel);background:var(--app-surface-panel);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;will-change:transform;transition:none;box-shadow:0 18px 38px #1c372e2e}.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);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;border-radius:14px;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{pointer-events:none;font-size:1.45rem}.job-list-card__reorder-status{border-top:1px solid var(--app-border-control);color:var(--app-text-secondary-strong);gap:3px;padding:10px 16px;font-size:.84rem;line-height:1.35;display:grid}.job-list-card__reorder-status strong{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.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{color:var(--app-text-strong);font-weight:800;line-height:1.2}.job-list-card__tag,.job-list-card__round-tag,.job-list-card__status{border-radius:var(--app-radius-pill);align-items:center;min-height:28px;padding:6px 10px;font-size:.8rem;font-weight:800;line-height:1;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);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;font-size:.95rem;line-height:1.35;display:grid}.job-list-card__meta-item ion-icon{color:var(--app-text-accent);margin-top:1px;font-size:1.05rem}@media (width>=720px){.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}.job-list-summary{grid-template-columns:1fr;gap:10px;display:grid}.job-list-summary__item{border:1px solid var(--app-border-control);border-radius:var(--app-radius-panel);background:var(--app-surface-card);box-shadow:var(--app-shadow-card);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px;padding:14px;display:grid}.job-list-summary__item ion-icon{color:var(--app-text-accent-strong);grid-row:span 2;font-size:1.2rem}.job-list-summary__item span{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800;line-height:1}.job-list-summary__item strong{overflow-wrap:anywhere;color:var(--app-text-strong);font-family:var(--app-heading-font);font-size:clamp(1.35rem,5vw,1.9rem);line-height:1}.job-list-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.job-list-controls__sort{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-pill);background:var(--app-surface-card);min-height:46px;padding:3px}.job-list-controls__sort ion-segment-button{--border-radius:var(--app-radius-pill);--color:var(--app-text-secondary);--color-checked:var(--app-text-accent-strong);--indicator-color:var(--app-surface-accent-soft);text-transform:none;min-height:38px}.job-list-controls__sort ion-icon{margin-right:5px;font-size:1rem}.job-list-controls__right{align-items:center;gap:10px;display:flex}.job-list-controls__checkbox{--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:#fff;color:var(--app-text-secondary);white-space:nowrap;font-size:.9rem;font-weight:800}.job-list-controls__filter{--background:var(--app-surface-accent-soft);--background-hover:var(--app-surface-accent-soft-hover);--border-radius:var(--app-radius-control);--box-shadow:none;--color:var(--app-text-accent-strong);margin:0}.job-list-controls__filter::part(native){min-width:46px;min-height:46px}.job-list-filter-placeholder{padding-inline:4px}.job-list-filter-placeholder ion-note{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800}@media (width>=720px){.job-list-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.job-list-controls{grid-template-columns:1fr}.job-list-controls__right{justify-content:space-between}}.route-location-settings,.route-options{padding:20px}.route-location-settings h2{margin:0 0 16px;font-size:1.1rem}.route-location-settings form,.route-endpoints{gap:16px;display:grid}.route-location-field{overflow-wrap:anywhere;gap:8px;min-width:0;display:grid}.route-location-actions,.route-options-actions{flex-wrap:wrap;gap:8px;display:flex}.route-location-settings button,.route-options button,.route-options select{border:1px solid var(--app-border-control);background:var(--app-surface-card);min-height:48px;color:var(--app-text-primary);font:inherit;cursor:pointer;border-radius:10px;padding:10px 14px}.route-options select{width:100%}.route-options .day-route button,.route-options .day-route select{min-height:48px;font:inherit;padding:10px 14px}.route-options label{gap:8px;display:grid}.route-options button:disabled,.route-location-settings button:disabled{opacity:.5;cursor:default}.route-options button:focus-visible,.route-location-settings button:focus-visible{outline:2px solid var(--app-text-accent-strong);outline-offset:2px}.route-location-settings .route-primary,.route-options .route-primary{background:var(--app-text-accent-strong);color:#fff}.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:24px}.route-work-surface{position:relative}.route-work-surface__overlay{z-index:2;background:color-mix(in srgb, var(--app-surface-card) 65%, transparent);border-radius:12px;padding:24px 12px;position:absolute;inset:0}.route-work-surface__progress{border:1px solid var(--app-border-control);background:var(--app-surface-card);width:fit-content;max-width:100%;color:var(--app-text-primary);border-radius:12px;justify-content:center;align-items:center;gap:12px;margin:0 auto;padding:16px 20px;display:flex;position:sticky;top:24px;box-shadow:0 4px 16px #0000001a}.route-work-surface__progress ion-spinner{color:var(--app-text-accent-strong);flex:0 0 24px}.route-work-attribution{flex-wrap:wrap;gap:8px;margin:12px 0;font-size:.75rem;display:flex}.planner-change-modal{--width:480px;--height:auto;--border-radius:var(--app-radius-card)}.planner-change-modal ion-toolbar{--background:var(--app-surface-card)}.planner-change-modal ion-title{padding-inline:16px;font-size:1.125rem}.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 input,.planner-dialog__save{font:inherit;color:var(--app-text-strong);accent-color:var(--app-text-accent)}.planner-dialog button,.planner-dialog input[type=search],.planner-dialog__save{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 input[type=search]{width:100%;min-width:0;min-height:48px}.planner-dialog button,.planner-dialog__save,.planner-dialog__option{cursor:pointer;touch-action:manipulation}.planner-dialog button:disabled,.planner-dialog__save:disabled,.planner-dialog__fields:disabled{opacity:.5;cursor:default}.planner-dialog :focus-visible,.planner-dialog__save: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{border:0;padding-inline:4px}.planner-dialog__muted{color:var(--app-text-muted);margin:0;font-size:.875rem;line-height:1.5;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-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:.875rem}.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{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{border:0;padding-inline:0}.planner-calendar__days 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-card) var(--app-radius-card) 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 button{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 button:last-child{border-bottom:0}.planner-action-menu button:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.planner-action-menu ion-icon{flex-shrink:0;font-size:24px}.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{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-card) var(--app-radius-card) 0 0;align-items:flex-end}}.work-week,.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-week{border-radius:var(--app-radius-panel);overflow:hidden}.work-week button,.work-week input,.work-plan-heading button,.work-plan-column button,.work-plan-column select,.work-round-card select{border:1px solid var(--app-border-control-strong);background:var(--app-surface-card-strong);min-height:40px;color:var(--app-text-strong);font:inherit;border-radius:10px}.work-week button,.work-plan-heading button,.work-plan-column button{cursor:pointer}.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>button:first-child,.work-week__controls>button:nth-child(3){font-size:1.45rem;line-height:1}.work-week__controls strong{color:var(--app-text-strong);font-family:var(--app-heading-font);text-align:center;align-self:center;font-size:1.15rem}.work-week__controls label{gap:2px;display:grid}.work-week__controls label span{color:var(--app-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:850}.work-week__controls input{padding-inline:8px}.work-week__controls>button:last-child{padding-inline:12px}.work-week__days{grid-template-columns:repeat(7,minmax(70px,1fr));min-width:560px;padding:12px 12px 8px;display:grid}.work-week__day{text-align:left;grid-template-rows:84px auto;grid-template-columns:1fr auto;gap:5px 8px;padding:5px 8px 8px;display:grid;background:0 0!important;border:0!important;border-radius:12px!important;min-height:126px!important}.work-week__day:hover{background:var(--app-surface-accent-soft-hover)!important}.work-week__day[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--app-text-accent);background:var(--app-surface-accent-strong)!important}.work-week__chart{grid-column:1/-1;align-items:end;height:84px;padding-inline:5px;display:flex}.work-week__stack{background:var(--app-border-subtle);border-radius:7px 7px 3px 3px;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-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:1.05;display:grid}.work-week__day-label b{font-size:1rem}.work-week__day-label span,.work-week__day small{color:var(--app-text-muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.work-week__day small{font-variant-numeric:tabular-nums;align-self:center}.work-week__legend{color:var(--app-text-muted);flex-wrap:wrap;gap:8px 16px;padding:0 16px 12px;font-size:.7rem;font-weight:750;display:flex}.work-week__legend span{align-items:center;gap:5px;display:inline-flex}.work-week__legend i{border-radius:50%;width:9px;height:9px}.work-plan-heading{border-radius:var(--app-radius-panel);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);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.work-plan-heading h1,.work-plan-column h2,.work-round-card h3{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:0}.work-plan-heading h1{font-size:clamp(1.25rem,3vw,1.7rem)}.work-plan-heading p,.work-plan-overview p{color:var(--app-text-muted);margin:0;font-size:.78rem}.work-plan-heading__actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.work-plan-heading__actions button{align-items:center;gap:6px;padding-inline:14px;font-weight:800;display:inline-flex}.work-plan-heading__actions .is-primary{border-color:var(--app-text-accent-strong);background:var(--app-text-accent-strong);color:#fff}.work-plan-heading__actions button:disabled{cursor:not-allowed;opacity:.48}.work-plan-suggestion{border:1px solid var(--app-text-accent);border-radius:var(--app-radius-panel);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{flex:none;margin-top:2px;font-size:1.15rem}.work-plan-suggestion div{gap:3px;display:grid}.work-plan-suggestion p{color:var(--app-text-secondary);margin:0;font-size:.73rem}.work-plan-overview{border-radius:var(--app-radius-panel);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-panel);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);letter-spacing:.07em;text-transform:uppercase;font-size:.63rem;font-weight:900}.work-plan-map-panel h2{margin:2px 0 0;font-size:1.18rem}.work-plan-map-panel>header>button{border:1px solid var(--app-border-control-strong);background:var(--app-surface-card-strong);min-height:38px;color:var(--app-text-accent-strong);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 11px;font-size:.75rem;font-weight:850;display:inline-flex}.work-plan-map-panel__legend{color:var(--app-text-muted);flex-wrap:wrap;justify-content:center;gap:5px 12px;font-size:.68rem;font-weight:750;display:flex}.work-plan-map-panel__legend span,.work-plan-review-map__filters button{align-items:center;gap:5px;display:inline-flex}.work-plan-map-panel__legend i,.work-plan-review-map__filters i{border-radius:50%;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-soft);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);background:var(--app-surface-card-strong);min-height:34px;color:var(--app-text-strong);font:inherit;border-radius:8px;padding:5px 9px;font-size:.7rem;font-weight:800;position:absolute;top:9px;left:9px;box-shadow:0 2px 7px #0000001a}.work-allocation-map__pin{--allocation-color:#0d6b61;background:var(--allocation-color);color:#fff;border:3px solid #fff;border-radius:50% 50% 50% 10%;place-items:center;width:30px;height:30px;font-size:.7rem;font-weight:900;display:grid;transform:rotate(-45deg);box-shadow:0 2px 8px #0000004a}.work-allocation-map__pin.is-selected{box-shadow:0 0 0 4px #fff, 0 0 0 7px var(--allocation-color), 0 3px 10px #00000052;transform:rotate(-45deg)scale(1.14)}.work-allocation-map__pin{line-height:1}.work-allocation-map__pin>b{transform:rotate(45deg)}.work-allocation-map__fallback{min-height:180px;color:var(--app-text-muted);text-align:center;align-self:stretch;place-items:center;margin:0;padding:20px;font-size:.8rem;display:grid}.work-allocation-map__missing{color:#765414;background:var(--app-surface-warning,#f7e9c5);margin:0;padding:7px 11px;font-size:.67rem;font-weight:750}.work-plan-summary{color:var(--app-text-secondary);flex-wrap:wrap;gap:5px 12px;font-size:.76rem;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-panel);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 #d69a2d;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{margin-top:2px;font-size:1.25rem}.work-plan-column__remove{place-items:center;width:40px;padding:0;display:grid}.work-crew-summary{text-align:left;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;padding:7px 9px;display:grid;color:var(--app-text-accent-strong)!important}.work-crew-summary.is-incomplete{color:#765414!important;background:var(--app-surface-warning,#f7e9c5)!important}.work-crew-summary span{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:800;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:.59rem}.work-crew-workers select,.work-round-card select{width:100%;min-width:0;padding:6px 8px;font-size:.76rem}.work-plan-column>.work-plan-summary{border-bottom:1px solid var(--app-border-subtle);padding:11px 14px}.work-plan-threshold,.work-plan-warnings{color:#765414;background:var(--app-surface-warning,#f7e9c5);align-items:center;gap:5px;margin:0;padding:8px 14px;font-size:.69rem;font-weight:750;display:flex}.work-plan-warnings{color:var(--app-text-muted);background:var(--app-surface-card-soft)}.work-plan-column__cards{background:var(--app-surface-card-soft);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);min-height:105px;color:var(--app-text-muted);text-align:center;border-radius:11px;align-self:stretch;place-items:center;margin:0;font-size:.8rem;display:grid}.work-round-card{border:1px solid var(--app-border-control);background:var(--app-surface-card-strong);border-radius:12px;gap:9px;padding:12px;display:grid;box-shadow:0 2px 7px #0000000a}.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:#d69a2d}.work-round-card header{grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:9px;display:grid}.work-round-card__colour{background:var(--app-text-accent-strong);border-radius:6px;width:8px;height:38px}.work-round-card h3{font-size:1rem}.work-round-card header p{color:#765414;margin:3px 0 0;font-size:.67rem;line-height:1.3}.work-round-card__drag{color:var(--app-text-muted);font-size:1.25rem}.work-round-card__actions{border-top:1px solid var(--app-border-subtle);gap:8px;padding-top:8px;display:grid}.work-round-card__actions>button{width:100%;color:var(--app-text-accent-strong);font-size:.76rem;font-weight:800}.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);text-transform:uppercase;align-items:center;gap:4px;font-size:.67rem;font-weight:800;display:inline-flex}.work-plan-review-modal{--height:min(780px, 92vh);--width:min(720px, 94vw);--border-radius:18px}.work-crew-modal{--height:100%;--width:min(520px, 100%);--border-radius:18px 18px 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);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:900}.work-crew-modal__content h2,.work-crew-modal__content p{margin:0}.work-crew-modal__content h2{font-size:1.25rem}.work-crew-modal__content p{color:var(--app-text-secondary);font-size:.78rem}.work-crew-modal__content .work-crew-workers{grid-template-columns:1fr 1fr}.work-crew-modal__content .work-crew-workers select,.work-crew-modal__actions button{border:1px solid var(--app-border-control-strong);background:var(--app-surface-card-strong);min-height:42px;color:var(--app-text-strong);font:inherit;border-radius:10px}.work-crew-modal__actions{grid-template-columns:1fr 1fr;align-items:center;gap:8px;display:grid}.work-crew-modal__actions button:disabled{opacity:.45}.work-round-jobs-modal{--height:min(820px, 94vh);--width:min(780px, 96vw);--border-radius:18px}.work-round-jobs-modal__content::part(background){background:var(--app-screen-gradient)}.work-round-jobs-heading{border:1px solid var(--app-border-control);background:var(--app-surface-card);border-radius:13px;gap:7px;margin-bottom:12px;padding:16px;display:grid}.work-round-jobs-heading>span{color:var(--app-text-accent-strong);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:900}.work-round-jobs-heading h2,.work-round-job h3{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:0}.work-round-jobs-heading p{color:var(--app-text-muted);margin:0;font-size:.78rem}.work-round-jobs-list{gap:8px;display:grid}.work-round-job{border:1px solid var(--app-border-control);background:var(--app-surface-card);border-radius:12px;grid-template-columns:auto minmax(0,1fr) minmax(145px,.55fr);align-items:center;gap:12px;padding:13px;display:grid}.work-round-job__number{background:var(--app-surface-accent-strong);width:32px;height:32px;color:var(--app-text-accent-strong);border-radius:50%;place-items:center;font-size:.75rem;font-weight:900;display:grid}.work-round-job__copy{gap:2px;min-width:0;display:grid}.work-round-job h3{text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;overflow:hidden}.work-round-job__copy p,.work-round-job__copy address,.work-round-job__copy>span{color:var(--app-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.72rem;font-style:normal;overflow:hidden}.work-round-job>label{gap:4px;display:grid}.work-round-job>label>span{color:var(--app-text-muted);text-transform:uppercase;font-size:.62rem;font-weight:800}.work-round-job select{border:1px solid var(--app-border-control-strong);background:var(--app-surface-card-strong);width:100%;min-width:0;min-height:40px;color:var(--app-text-strong);font:inherit;border-radius:9px;padding:6px 8px;font-size:.75rem}.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);background:var(--app-surface-card);border-radius:13px;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);margin:3px 0 0;font-size:.73rem}.work-plan-review-map__filters{flex-wrap:wrap;gap:5px;display:flex}.work-plan-review-map__filters button{border:1px solid var(--app-border-control-strong);background:var(--app-surface-card-strong);min-height:30px;color:var(--app-text-secondary);font:inherit;cursor:pointer;border-radius:999px;padding:4px 8px;font-size:.67rem}.work-plan-review-map__filters button[aria-pressed=true]{border-color:var(--app-text-accent);color:var(--app-text-accent-strong);background:var(--app-surface-accent-strong);font-weight:850}.work-plan-review-map .work-allocation-map{border:1px solid var(--app-border-control);border-radius:11px;height:230px}.work-plan-review-map__note{color:var(--app-text-muted);font-size:.68rem;margin:0!important}.work-plan-review-modal__content h2,.work-plan-review-modal__content h3,.work-plan-review-modal__content p{margin-top:0}.work-plan-demo-notice{background:var(--app-surface-warning,#f7e9c5)!important;border-color:#d69a2d!important}.work-plan-demo-notice p,.work-plan-simulated p{margin:4px 0 0}.work-plan-simulated{color:var(--app-text-accent-strong);border-color:var(--app-text-accent)!important}.work-plan-review-warning{color:#765414;align-items:center;gap:6px;font-weight:750;display:flex;margin:12px 0 0!important}.work-plan-review-crews section>p{color:var(--app-text-secondary);align-items:center;gap:6px;display:flex}@media (width<=720px){.work-week{overflow:hidden}.work-week__controls{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px;min-width:0;padding:7px 8px;position:static}.work-week__controls>button:first-child,.work-week__controls>button:nth-child(3){min-height:34px;font-size:1.2rem}.work-week__controls strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.work-week__controls label,.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;padding:3px 2px 5px;min-height:92px!important}.work-week__chart{height:52px;padding-inline:3px}.work-week__stack{border-radius:5px 5px 2px 2px}.work-week__day-label{justify-items:center}.work-week__day-label b{font-size:.84rem}.work-week__day-label span,.work-week__day small{font-size:.54rem}.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;font-size:.58rem;display:grid}.work-week__legend span{gap:3px}.work-week__legend i{width:7px;height:7px}.work-plan-heading{display:grid}.work-plan-heading__actions{justify-content:stretch}.work-plan-heading__actions button{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{border-radius:12px;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:1rem}.work-plan-column__remove{width:32px;min-height:32px!important}.work-crew-summary{padding:5px 7px;min-height:34px!important}.work-crew-workers{gap:4px}.work-crew-workers select{min-height:34px;padding:4px 5px;font-size:.67rem}.work-plan-column>.work-plan-summary{gap:3px 8px;padding:7px 8px;font-size:.65rem}.work-plan-threshold,.work-plan-warnings{padding:6px 8px;font-size:.61rem}.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);text-align:center;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:4px;padding:4px 6px;font-size:.58rem;display:grid}.work-plan-column__round-controls button{min-height:28px;padding:0}.work-round-card{scroll-snap-align:start;border-radius:9px;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{text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;line-height:1.15;overflow:hidden}.work-round-card__drag{font-size:1rem}.work-round-card .work-plan-summary{gap:2px 6px;font-size:.62rem}.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{width:auto;min-height:30px;padding:4px 6px;font-size:.64rem}.work-round-card__move{width:32px;display:block;position:relative}.work-round-card__move span{border:1px solid var(--app-border-control-strong);background:var(--app-surface-card-strong);border-radius:9px;justify-content:center;place-items:center;width:30px;height:30px;font-size:0;display:grid}.work-round-card__move span ion-icon{font-size:.9rem}.work-round-card__move select{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,.work-crew-modal__content .work-crew-workers{grid-template-columns:1fr}}.work-week__stack .is-overdue,.work-week__legend .is-overdue{background:var(--app-work-overdue)}.manual-planner{gap:18px;width:100%;min-width:0;display:grid}.manual-planner-content.has-selection{--padding-bottom:165px}.manual-planner button,.manual-planner input,.manual-planner select,.planner-change button,.planner-change input,.planner-selection button{font:inherit;color:var(--app-text-strong);accent-color:var(--app-text-accent-strong)}.manual-planner button,.manual-planner input:not([type=checkbox]),.manual-planner select,.planner-change button,.planner-change input:not([type=checkbox]):not([type=radio]),.planner-selection button{border:1px solid var(--app-border-control-strong);background:var(--app-surface-card);border-radius:10px;min-height:48px;padding:10px 14px}.manual-planner button,.planner-change button,.planner-selection button{cursor:pointer;touch-action:manipulation}.manual-planner button:disabled,.planner-change button:disabled{opacity:.5;cursor:default}.manual-planner :focus-visible,.planner-change :focus-visible,.planner-selection :focus-visible{outline:3px solid var(--app-text-accent);outline-offset:3px}.manual-planner__heading h1{margin:4px 0}.manual-planner__muted{color:var(--app-text-muted);margin:6px 0;font-size:.85rem;line-height:1.5}.manual-planner__people,.manual-planner__summary,.manual-planner__history{background:var(--app-surface-card);border:1px solid var(--app-border-control);border-radius:14px;padding:12px 16px}.manual-planner summary,.planner-change summary{cursor:pointer;align-content:center;min-height:48px}.manual-planner__worker-options{flex-wrap:wrap;gap:8px;display:flex}.manual-planner__worker-options button[aria-pressed=true]{background:var(--app-surface-accent-strong);border-color:var(--app-text-accent);box-shadow:inset 0 0 0 1px var(--app-text-accent)}.manual-planner h2{margin:4px 0 12px;font-size:1.05rem}.manual-planner__selection-controls{gap:8px;display:flex}.manual-planner__routing{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.manual-planner__routing button{align-items:center;gap:8px;display:inline-flex}.manual-planner__routing p{color:var(--app-text-muted);flex-basis:100%;margin:0}.manual-planner .planner-icon-button{flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:inline-flex}.planner-icon-button ion-icon{font-size:24px}.planner-icon-button.is-active,.planner-icon-button[aria-pressed=true]{background:var(--app-surface-accent-soft)!important;border-color:var(--app-text-accent)!important}.planner-sort-menu{gap:4px;padding:8px;display:grid}.planner-sort-menu button{background:var(--app-surface-card);width:100%;min-height:48px;color:var(--app-text-strong);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.planner-sort-menu button[aria-pressed=true]{background:var(--app-surface-accent-soft)}.planner-sort-menu button:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:-2px}.manual-planner__filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.manual-planner__filters label,.planner-change__field{color:var(--app-text-secondary);flex:120px;gap:6px;min-width:0;font-size:.85rem;display:grid}.manual-planner__filters input,.manual-planner__filters select{width:100%;min-width:0}.manual-planner__list-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.manual-planner__list-heading h2{margin:0}.manual-planner__list-heading small{color:var(--app-text-muted);margin-left:6px}.planner-visits{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.planner-visit{border:1px solid var(--app-border-control);background:var(--app-surface-card);border-radius:12px;min-width:0;overflow:hidden}.planner-visit.is-selected{background:var(--app-surface-accent-soft);border-color:var(--app-text-accent);box-shadow:inset 3px 0 0 var(--app-text-accent)}.planner-visit__main{grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px;display:grid}.planner-visit__select{cursor:pointer;border:1px solid var(--app-border-control);background:var(--app-surface-card-strong);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:56px;min-height:70px;display:flex}.planner-visit__select:has(:focus-visible){outline:3px solid var(--app-text-accent)}.planner-visit__select:has(:disabled){opacity:.55;cursor:default}.planner-visit__select input,.planner-choice input{width:24px;height:24px;cursor:inherit;flex:0 0 24px;margin:0}.planner-visit__select span{font-size:.65rem;font-weight:650}.planner-visit__number{text-align:center;padding-top:12px}.planner-visit__details{min-height:70px;color:var(--app-text-strong);overflow-wrap:anywhere;flex-direction:column;justify-content:center;gap:5px;text-decoration:none;display:flex}.planner-visit__details>span{color:var(--app-text-secondary);font-size:.87rem}.planner-visit__details small,.planner-visit__value small{color:var(--app-text-muted);font-size:.78rem}.planner-visit__value{text-align:right;gap:8px;padding:8px 4px;display:grid}.planner-visit__tags{flex-wrap:wrap;gap:5px;padding:0 12px 10px 86px;display:flex}.planner-visit__tag{background:var(--app-surface-card-strong);border:1px solid var(--app-border-subtle);color:var(--app-text-secondary);border-radius:6px;align-items:center;gap:5px;padding:3px 6px;font-size:.72rem;display:inline-flex}.planner-visit__tag i{border-radius:50%;width:8px;height:8px}.planner-visit__status{color:var(--app-text-muted);margin:0 12px 10px 86px;font-size:.8rem}.manual-planner .planner-visit__range{color:var(--app-text-accent-strong);margin:0 10px 10px auto;font-size:.8rem;display:block}.manual-planner__empty{text-align:center;border:1px dashed var(--app-border-control);color:var(--app-text-muted);border-radius:12px;padding:30px 15px}.manual-planner__notice,.manual-planner__error{background:var(--app-surface-accent-soft);border-radius:10px;padding:12px;font-size:.85rem;line-height:1.5}.manual-planner__error{color:var(--app-text-danger);border:1px solid}.planner-selection{z-index:10;background:var(--app-surface-card);border-top:1px solid var(--app-border-control-strong);width:100%;padding:12px 16px;position:absolute;bottom:0;left:0;box-shadow:0 -4px 18px #00000012}.planner-selection__inner{justify-content:space-between;align-items:center;gap:12px;max-width:1160px;margin:auto;display:flex}.planner-selection__summary{gap:6px;display:grid}.planner-selection small{color:var(--app-text-muted);font-size:.78rem}.planner-selection__actions{gap:8px;display:flex}.manual-planner__primary{background:var(--app-text-accent-strong)!important;color:var(--app-surface-card)!important;border-color:#0000!important;font-weight:650!important}@media (width<=600px){.manual-planner{gap:14px}.planner-visit__main{grid-template-columns:56px minmax(0,1fr);gap:10px}.planner-visit__value{text-align:left;grid-column:2;justify-content:space-between;padding:0;display:flex}.planner-visit__tags{padding-left:76px}.planner-visit__status{margin-left:76px}.planner-selection__inner{gap:10px;display:grid}.planner-selection__actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.planner-selection button{padding-inline:10px;font-size:.85rem}.planner-selection{padding-inline:12px}}.manual-planner{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:18px}.manual-planner__body{gap:8px;min-width:0;display:grid}.manual-planner__people{padding:12px;position:sticky;top:8px}.planner-worker-trigger{display:none}.planner-worker-panel{padding:4px}.manual-planner__worker-options{gap:5px;display:grid}.planner-worker-panel button{font:inherit;color:var(--app-text-strong);background:var(--app-surface-card);border:1px solid var(--app-border-control);cursor:pointer;border-radius:8px;min-height:48px;padding:9px}.planner-worker-panel button:focus-visible{outline:2px solid var(--app-text-accent)}.planner-worker-option{text-align:left;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;display:grid}.planner-worker-option__name{overflow-wrap:anywhere;font-size:.86rem}.planner-worker-option__bar{background:var(--app-border-subtle);border-radius:3px;grid-column:1/-1;height:6px;display:flex;overflow:hidden}.planner-worker-option__bar i{background:var(--work-status-color);height:100%}.planner-worker-modal{--width:440px;--height:min(85vh, 820px)}.planner-worker-modal .planner-worker-panel{padding:12px 16px}.manual-planner .work-week__days{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;padding:2px 8px}.manual-planner .work-week__day{grid-template-rows:50px auto;grid-template-columns:1fr auto;gap:3px;padding:4px 8px;min-height:82px!important}.manual-planner .work-week__chart{height:50px}.manual-planner .work-week__legend{flex-wrap:wrap;justify-content:space-between;gap:3px 8px;padding:4px 10px 8px;font-size:.7rem;display:flex}.manual-planner__summary{padding:0 12px}.planner-totals{white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:9px;min-height:44px;font-size:.95rem;list-style:none;display:flex}.planner-totals i{color:var(--app-text-muted);font-style:normal}.manual-planner__incomplete,.manual-planner__billing-status{color:var(--app-text-muted);margin:0 0 6px;font-size:.72rem}.manual-planner__filters{flex-wrap:nowrap;gap:8px}.manual-planner__filters .manual-planner__search{flex:200px}.planner-extra-filters{flex:220px;gap:8px;display:flex}.planner-filter-toggle{display:none}.planner-select-all{cursor:pointer;align-items:center;gap:6px;min-height:44px;font-size:.82rem;display:flex}.planner-select-all input{width:20px;height:20px}.manual-planner__routing{gap:6px}.manual-planner__routing button{min-height:44px;padding:4px 8px}.planner-visits{gap:0;margin-top:4px}.planner-visit{border-left:3px solid var(--work-status-color)}.planner-visit__main{grid-template-columns:48px minmax(0,1fr) auto;gap:8px;padding:6px 8px}.planner-visit__select{background:0 0;border:0;width:48px;min-width:48px;min-height:48px}.planner-visit__select input{flex-basis:20px;width:20px;height:20px}.planner-visit__details{gap:2px;min-width:0;min-height:48px}.planner-visit__details>strong{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;overflow:hidden}.planner-visit__details>span{font-size:.78rem}.planner-visit__value{text-align:right;grid-column:auto;gap:4px;padding:3px 0;font-size:.86rem;display:grid}.planner-visit__tags{gap:4px;padding:0 8px 6px 64px}.planner-visit__tag{padding:2px 5px;font-size:.69rem}.planner-visit__outcome{color:var(--work-status-color)}.planner-visit__balance.is-owed{color:var(--app-text-danger)}.planner-visit__balance.is-credit{color:var(--app-work-completed)}.planner-visit__assignees{color:var(--app-text-accent-strong)}.planner-visit__status{margin:0 8px 6px 64px}.planner-visit__anchor{color:var(--app-text-accent-strong);padding:0 8px 6px 64px;font-size:.7rem;display:block}.manual-planner .planner-visit__range{border-style:dashed;justify-content:space-between;align-items:center;gap:8px;width:calc(100% - 16px);min-height:44px;margin:0 8px 6px;padding:5px 8px;font-size:.77rem;display:flex}.planner-travel{min-height:24px;color:var(--app-text-muted);justify-content:center;align-items:center;gap:5px;font-size:.7rem;display:flex}.planner-travel:before,.planner-travel:after{content:"";background:var(--app-border-control);width:20px;height:1px}.manual-planner__history .planner-visits{gap:6px}.planner-selection{padding-block:8px}.planner-selection__summary{gap:3px}.planner-selection__inner strong{font-size:.9rem}@media (width<=1000px){.manual-planner{grid-template-columns:minmax(0,1fr);gap:6px}.manual-planner__people{background:0 0;border:0;padding:0;position:static}.planner-workers-desktop{display:none}.manual-planner .planner-worker-trigger{justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px;display:flex}.planner-worker-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-worker-trigger small{white-space:nowrap;color:var(--app-text-warning);font-size:.72rem}.manual-planner__filters{flex-wrap:wrap}.manual-planner__filters .manual-planner__search{flex:100px}.planner-filter-toggle{display:block}.planner-extra-filters{flex:100%;order:4;display:none}.planner-extra-filters.is-open{display:flex}}@media (width<=600px){.manual-planner-content{--padding-top:6px;--padding-start:10px;--padding-end:10px}.manual-planner__body{gap:5px}.manual-planner .work-week__day{grid-template-rows:38px auto auto;grid-template-columns:1fr;gap:1px;padding:3px 1px;min-height:82px!important}.manual-planner .work-week__chart{height:38px;padding:0 7px}.manual-planner .work-week__day-label{justify-content:center;align-items:baseline;gap:3px;display:flex}.manual-planner .work-week__day-label b{font-size:.85rem}.manual-planner .work-week__day-label span,.manual-planner .work-week__day small{font-size:.69rem}.manual-planner .work-week__legend{gap:3px 5px;padding:2px 7px 5px;font-size:.69rem}.manual-planner .work-week__legend span{gap:3px}.manual-planner__summary{padding-inline:6px}.planner-totals{gap:7px;font-size:.9rem}.manual-planner__filters input,.manual-planner__filters select{font-size:16px}.manual-planner__filters input,.manual-planner__filters button,.manual-planner .planner-icon-button{height:44px;min-height:44px;padding:5px 8px}.manual-planner .planner-icon-button{flex-basis:44px;width:44px}.planner-visit__main{grid-template-columns:48px minmax(0,1fr) auto;gap:5px;padding:5px}.planner-visit__tags{padding-left:58px}.planner-selection__inner{gap:5px}.planner-selection button{min-height:44px}}.manual-planner-content .app-layout{max-width:1560px}.manual-planner .planner-optimise{align-items:center;gap:5px;min-height:44px;padding:5px 8px;font-size:.85rem;display:inline-flex}.manual-planner__selection-controls{align-items:center}.planner-worker-modal ion-content{--background:var(--app-surface-card)}@media (width<=600px){.app-content.manual-planner-content{--padding-top:6px;--padding-start:10px;--padding-end:10px}.manual-planner__list-heading>h2{display:none}.manual-planner__list-heading .manual-planner__selection-controls{justify-content:space-between;width:100%}.manual-planner .work-week__day{grid-template-rows:32px auto auto;min-height:70px!important}.manual-planner .work-week__chart{height:32px}.manual-planner__body{gap:3px}.manual-planner .work-week__day{min-height:64px!important}.planner-travel{min-height:20px}.planner-visit__tags{padding-bottom:4px}}.manual-planner__history>summary{color:var(--work-status-color)}.planner-worker-option__metrics{color:var(--app-text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:5px;font-size:.75rem;display:flex}.planner-worker-option>.planner-worker-option__metrics{justify-content:flex-end}.planner-worker-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.planner-worker-panel .planner-worker-shortcut{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;padding:9px 5px;font-size:.8rem;display:flex}.planner-worker-shortcut ion-icon{color:var(--app-text-accent-strong);font-size:24px}.planner-worker-shortcut small{color:var(--app-text-muted);font-size:.72rem}.planner-worker-shortcut .planner-worker-option__metrics{justify-content:center;gap:3px;font-size:.7rem}.planner-totals{gap:clamp(3px,1.5vw,9px);font-size:clamp(.75rem,2.9vw,.95rem)}.planner-selection__inner{padding-right:44px;position:relative}.planner-selection .planner-selection__clear{background:0 0;border:0;place-items:center;width:44px;min-height:44px;padding:0;display:grid;position:absolute;top:0;right:0}.planner-selection__clear ion-icon{font-size:24px}.planner-selection__actions button{justify-content:center;align-items:center;gap:6px;display:flex}.planner-selection__actions ion-icon{flex-shrink:0;font-size:19px}@media (width<=1000px){.planner-selection__inner{padding-right:0}.planner-selection__summary{padding-right:42px}.planner-selection__actions button{gap:4px;padding-inline:5px;font-size:.8rem}}.manual-planner>.work-week{grid-column:1/-1;margin:0}.manual-planner .work-week__controls{border:0;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:4px;padding:3px 6px;display:flex}.manual-planner .work-week__navigation{align-items:center;gap:3px;display:flex}.manual-planner .work-week__navigation button{min-width:44px;min-height:44px;padding:4px 6px}.manual-planner .work-week__navigation strong{white-space:nowrap;grid-column:auto;min-width:52px;margin:0;font-size:.85rem}.manual-planner .work-week__date{cursor:pointer;align-items:center;min-width:0;min-height:44px;margin-right:auto;display:flex;position:relative}.manual-planner .work-week__date span{white-space:nowrap;text-transform:none;letter-spacing:normal;color:var(--app-text-strong);font-size:.9rem;font-weight:600}.manual-planner .work-week__date input{opacity:0;cursor:pointer;width:100%;min-width:0;position:absolute;inset:0}.manual-planner .work-week__date input::-webkit-calendar-picker-indicator{cursor:pointer;width:auto;height:auto;position:absolute;inset:0}.manual-planner .work-week__date:focus-within{outline:2px solid var(--app-text-accent);outline-offset:2px}.manual-planner .manual-planner__selection-controls,.manual-planner .planner-select-all{margin-left:auto}@media (width<=360px){.manual-planner .work-week__controls{gap:1px;padding-inline:2px}.manual-planner .work-week__navigation{gap:0}.manual-planner .work-week__navigation button{padding-inline:2px;font-size:.75rem}.manual-planner .work-week__navigation strong{min-width:47px;font-size:.75rem}.manual-planner .work-week__date span{font-size:.75rem}}.planner-visits[aria-busy=true] .planner-visit__range,.planner-visits[aria-busy=true] .planner-visit__anchor{visibility:hidden}.manual-planner{gap:12px 16px}.manual-planner__summary{background:0 0;border:0;padding-inline:0}.planner-totals{justify-content:flex-start}.planner-toolbar-add,.planner-add-fab button{border-radius:var(--app-radius-control);background:var(--ion-color-primary);min-height:44px;color:var(--ion-color-primary-contrast);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:500;display:inline-flex}.planner-toolbar-add ion-icon,.planner-add-fab ion-icon{font-size:20px}.planner-toolbar-add:focus-visible,.planner-add-fab button:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:3px}.planner-add-fab{display:none}@media (width<=1000px){.planner-toolbar-add{display:none}.planner-add-fab{right:16px;bottom:max(16px, env(safe-area-inset-bottom));z-index:10;display:block;position:absolute}.planner-add-fab button{border-radius:var(--app-radius-card);min-height:48px}.manual-planner-content.has-add{--padding-bottom:88px}.manual-planner{gap:6px}}@media (width<=600px){.planner-selection__actions button{flex-direction:column;gap:4px}.manual-planner-content.has-selection{--padding-bottom:160px}}.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:8px;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}.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{flex-shrink:0;font-size:20px}.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:0 0 44px;place-items:center;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}}.planner-intro span{color:var(--app-text-accent-strong);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:900}.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-panel);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);grid-row:span 2;font-size:1.15rem}.planner-summary span{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900}.planner-summary strong{color:var(--app-text-strong);font-family:var(--app-heading-font);font-size:1.45rem}.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);background:var(--app-surface-card);border-radius:14px;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{align-items:flex-start;gap:12px;padding:16px;display:flex}.occurrence-row button{font:inherit;cursor:pointer}.occurrence-row__number{border:1px solid var(--app-border-control);background:var(--app-surface-accent-soft);height:44px;color:var(--app-text-accent);border-radius:50%;flex:0 0 44px;place-items:center;display:grid;font-weight:700!important}.occurrence-row__number[aria-pressed=true]{background:var(--ion-color-primary);color:#fff}.occurrence-row__body{min-width:0;color:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;flex:1;gap:4px;padding:0;display:grid}.occurrence-row__address{font-size:1rem;font-weight:700;line-height:1.4}.occurrence-row__customer{color:var(--app-text-secondary-strong)}.occurrence-row__service,.occurrence-row__muted{color:var(--app-text-muted);font-size:.85rem}.occurrence-row__rounds{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.occurrence-row__round-badge{background:var(--app-text-accent-strong);width:fit-content;color:var(--app-surface-card);border-radius:4px;align-items:center;padding:3px 6px;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-flex}.occurrence-row__trailing{justify-items:end;gap:12px;max-width:90px;font-size:.9rem;font-weight:650;display:grid}.occurrence-row__status{text-transform:capitalize;color:var(--app-text-accent);font-size:.8rem}.occurrence-row__details{padding:0 16px 16px 72px;font-size:.9rem}.occurrence-row__details p{overflow-wrap:anywhere;margin:0 0 10px;line-height:1.5}.occurrence-row__details strong{color:var(--app-text-muted);font-size:.78rem;display:block}.occurrence-row__note{white-space:pre-wrap}.occurrence-row__warning,.occurrence-row__sync{color:var(--app-text-secondary);margin:0;padding:0 16px 12px 72px;font-size:.78rem}.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__actions button{background:var(--app-surface-accent-soft);min-height:44px;color:var(--app-text-accent);border:1px solid var(--app-border-control);border-radius:10px;padding:8px 16px}.occurrence-row :focus-visible{outline:3px solid var(--app-text-accent);outline-offset:3px}@media (width<=420px){.occurrence-row__summary{gap:8px;padding:12px}.occurrence-row__details,.occurrence-row__warning,.occurrence-row__sync{padding-left:64px}.occurrence-row__trailing{max-width:65px;font-size:.8rem}}.occurrence-row{border-left:3px solid var(--work-status-color)}.occurrence-row__status{color:var(--work-status-color)}.occurrence-row__overdue{color:var(--app-work-overdue);font-size:.8rem}.my-day-content{--padding-top:8px}.my-day-content .app-layout{gap:8px}.day-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.app-header ion-title:has(.day-header){text-align:left;width:auto;padding-inline:12px;position:static}.app-header ion-title.ios:has(.day-header){text-align:left;width:auto;padding-inline:12px;position:static}.day-header{align-items:center;gap:8px;min-width:0;display:flex}.day-header h1{font-family:var(--app-heading-font);flex:none;margin:0;font-size:1.15rem;font-weight:650}.day-person{flex:0 180px;min-width:0}.day-person select{border:1px solid var(--app-border-control);width:100%;min-height:44px;font:inherit;color:var(--app-text-primary);background:var(--app-surface-card);text-overflow:ellipsis;border-radius:10px;padding:6px 20px 6px 8px;font-size:.875rem;font-weight:400}.day-person select:focus-visible{outline:3px solid var(--app-text-accent);outline-offset:-3px}.day-date{align-items:center;gap:4px;display:flex}.day-heading button,.day-heading input,.day-heading select,.day-rounds button,.day-empty button{font:inherit;border:1px solid var(--app-border-control);background:var(--app-surface-card);min-height:44px;color:var(--app-text-primary);border-radius:10px;padding:8px 12px}.day-heading button,.day-rounds button,.day-empty button{cursor:pointer}.day-date button{min-width:44px}.day-date__picker{border:1px solid var(--app-border-control);background:var(--app-surface-card);box-sizing:border-box;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding-inline:12px;display:inline-flex;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:3px solid var(--app-text-accent);outline-offset:2px}.day-tabs{background:var(--app-surface-accent-soft);border-radius:12px;gap:4px;padding:2px;display:flex}.day-tabs button{min-height:44px;color:var(--app-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;font-weight:650}.day-tabs button[aria-pressed=true]{background:var(--app-surface-card-strong);color:var(--app-text-accent);box-shadow:0 2px 8px #0000000a}.day-tabs span,.day-rounds span{font-variant-numeric:tabular-nums;margin-left:5px}.day-transition{min-width:0;position:relative}.day-transition-status{z-index:5;background:var(--app-surface-card-strong);color:var(--app-text-secondary);pointer-events:none;border-radius:8px;margin:0;padding:6px 10px;font-size:.8rem;position:absolute;top:8px;left:50%;transform:translate(-50%)}.day-workspace,.day-visits{align-content:start;gap:8px;min-width:0;display:grid}.day-map-panel{--day-map-height:140px;background:var(--app-surface-card);border:1px solid var(--app-border-control);border-radius:14px;align-self:start;overflow:hidden}.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);pointer-events:none;justify-content:center;align-items:center;gap:8px;font-size:.85rem;font-weight:650;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:50%;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;background:var(--app-surface-card-strong);color:var(--app-text-secondary);pointer-events:none;border-radius:6px;padding:4px 8px;font-size:.75rem;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;color:var(--app-text-secondary);text-align:center;justify-content:center;align-items:center;margin:0;padding:16px 24px;font-size:.9rem;display:flex}.day-map__missing{color:var(--app-text-muted);margin:0;padding:8px 12px;font-size:.75rem}.day-map-panel.is-expanded{--day-map-height:clamp(280px, 50vh, 480px)}.day-map__expand,.day-map__fit{border:1px solid var(--app-border-control);background:var(--app-surface-card-strong);min-height:44px;color:var(--app-text-primary);font:inherit;cursor:pointer;border-radius:8px;padding:6px 10px;font-size:.8rem}.day-map__expand{z-index:4;box-shadow:var(--app-shadow-card);position:absolute;top:8px;left:8px}.day-map-stage:has(.day-map__fallback)>.day-map__expand{display:none}.day-map__fit{z-index:2;box-shadow:var(--app-shadow-card);position:absolute;top:8px;right:8px}.day-map__pin{color:#fff;background:#145b52;border:2px solid #fff;border-radius:50%;place-items:center;min-width:40px;height:40px;font-size:15px;font-weight:700;display:grid;box-shadow:0 2px 5px #0005}.day-map__pin.is-selected{background:#a9501e;transform:scale(1.15)}.day-map__pin small{color:#145b52;background:#fff;border-radius:6px;padding:2px 4px;position:absolute;top:-7px;right:-12px}.day-map__chooser{gap:8px;display:grid}.day-map__chooser button{color:#16211b;text-align:left;background:#fff}.day-navigation{border-top:1px solid var(--app-border-control);min-height:44px;color:var(--app-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:.8rem;display:flex}.day-navigation a{min-height:44px;color:var(--app-text-accent);align-items:center;font-weight:650;display:inline-flex}.day-rounds{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;min-width:0;padding:3px;display:flex;overflow-x:auto}.day-rounds button{white-space:nowrap;border-radius:24px;flex:none;font-size:.8rem}.day-rounds button[aria-pressed=true]{color:#fff;background:var(--ion-color-primary);border-color:var(--ion-color-primary)}.day-summary{color:var(--app-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding-inline:2px;font-size:.8rem;display:flex}.day-summary button{border:1px solid var(--app-border-control);background:var(--app-surface-card);min-height:44px;color:var(--app-text-accent);font:inherit;cursor:pointer;border-radius:8px;flex:none;padding:6px 8px}.day-route{border:1px solid var(--app-border-control);border-radius:12px;padding:12px}.day-route__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.day-route button{min-height:44px;font:inherit;color:var(--app-text-primary);background:var(--app-surface-card);border:1px solid var(--app-border-control);cursor:pointer;border-radius:8px;padding:6px 8px;font-size:.75rem}.day-route button[aria-pressed=true]{background:var(--app-surface-accent-soft);color:var(--app-text-accent)}.day-route button:disabled{opacity:.5;cursor:default}.day-route__status{color:var(--app-text-muted);margin:5px 0 0;font-size:.75rem}.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{margin-block:8px;font-size:.8rem}.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);background:var(--app-surface-card);max-width:100%;min-height:44px;color:var(--app-text-primary);border-radius:6px;padding:6px}.day-route__result{overflow-wrap:anywhere;font-size:.8rem}.day-route__result a{margin-right:12px;padding-block:8px;display:inline-block}.occurrence-row__travel{color:var(--app-text-accent);background:var(--app-surface-accent-soft);margin:0;padding:8px 16px;font-size:.8rem}.day-action-errors{border:1px solid var(--app-text-danger);color:var(--app-text-danger);border-radius:12px;padding:12px;font-size:.85rem}.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{color:var(--app-text-secondary);gap:8px;font-size:1rem;display:flex}.day-empty{border:1px dashed var(--app-border-control-strong);text-align:center;border-radius:14px;padding:20px}.day-empty h2{margin-top:0;font-size:1.1rem}.my-day-content :focus-visible{outline:3px solid var(--app-text-accent);outline-offset:3px}.my-day-content .day-rounds button:focus-visible{outline-offset:-3px}.day-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@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!important;transition:none!important}.day-map__loading span{animation:none}}.more-content .app-layout{gap:24px}.more-workspace{color:var(--app-text-secondary);margin:0;font-size:.9375rem}.more-section h2{color:var(--app-text-secondary);margin:0 4px 10px;font-size:.875rem;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);grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:14px;padding:14px 16px;font-size:1rem;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:22px}.more-row>.more-row__chevron{color:var(--app-text-muted);font-size:16px}.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);margin:0 0 12px;font-size:1rem;font-weight:650}.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);margin:0 0 16px;line-height:1.5}.settings-card ion-button{min-height:44px;margin:0}.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;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px 8px;font-size:.9375rem;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:26px}.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{color:var(--app-text-accent);font-size:26px}.settings-account-link>ion-icon:last-child{color:var(--app-text-muted);font-size:18px}.settings-account-link span{overflow-wrap:anywhere;gap:5px;display:grid}.settings-account-link small{color:var(--app-text-secondary);font-size:.875rem}.account-profile{align-items:center;gap:16px;display:flex}.account-profile>ion-icon{color:var(--app-text-accent);flex-shrink:0;font-size:48px}.account-profile h2{overflow-wrap:anywhere;margin:0 0 6px;font-size:1.25rem}.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}.account-actions ion-button{min-height:44px;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{color:var(--app-text-accent);flex-shrink:0;margin-top:2px;font-size:24px}.password-card-title h3{color:var(--app-text-primary);margin:0 0 6px;font-size:1rem;font-weight:650}.password-card-title p{color:var(--app-text-secondary);margin:0;font-size:.875rem;line-height:1.5}.password-button{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);background:var(--app-surface-card);min-height:44px;color:var(--app-text-accent-strong);font:inherit;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.9375rem;font-weight:600;display:inline-flex}.password-button:hover:not(:disabled){background:var(--app-surface-accent-soft)}.password-button:focus-visible,.password-input button:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:3px}.password-button:disabled,.password-input button:disabled{opacity:.55;cursor:default}.password-button-primary{background:var(--ion-color-primary);border-color:var(--ion-color-primary);color:var(--ion-color-primary-contrast)}.password-button-primary:hover:not(:disabled){background:var(--ion-color-primary-shade)}.password-button ion-spinner{width:18px;height:18px}.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);margin:0;font-size:.875rem;line-height:1.6}.password-field{gap:8px;width:100%;min-width:0;max-width:480px;display:grid}.password-field>label{color:var(--app-text-primary);font-size:.9375rem;font-weight:600}.password-input{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-control);background:var(--app-surface-panel);align-items:center;min-height:52px;display:flex;overflow:hidden}.password-input:focus-within{outline:2px solid var(--app-text-accent);outline-offset:2px}.password-input.has-error{border-color:var(--app-text-danger)}.password-input input{width:100%;min-width:0;min-height:50px;color:var(--app-text-strong);font:inherit;background:0 0;border:0;outline:none;padding:12px;font-size:16px}.password-input button{min-width:60px;min-height:44px;color:var(--app-text-accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-self:stretch;margin:3px;padding:8px;font-size:.875rem;font-weight:600}.password-hint,.password-field-error{margin:0;font-size:.8125rem;line-height:1.6}.password-hint{color:var(--app-text-secondary)}.password-field-error{color:var(--app-text-danger)}.password-error{border-radius:var(--app-radius-control);background:var(--app-surface-danger-soft);max-width:480px;color:var(--app-text-danger);padding:12px;font-size:.875rem;line-height:1.6}.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);align-items:flex-start;gap:10px;margin-top:20px;padding:14px;font-size:.875rem;line-height:1.6;display:flex}.password-success ion-icon{flex-shrink:0;margin-top:1px;font-size:22px}@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-panel);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);justify-content:center;align-items:center;font-size:.92rem;font-weight:800;display:flex}@media (width>=720px){.round-locations-map{height:300px}}.rounds-toolbar{padding-inline:4px}.rounds-toolbar p{color:var(--app-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.94rem;font-weight:700;line-height:1.35;overflow:hidden}.round-summary{grid-template-columns:1fr;gap:12px;display:grid}.rounds-search{align-items:center;display:grid;position:relative}.rounds-search>ion-icon{z-index:1;color:var(--app-text-muted);pointer-events:none;font-size:1.1rem;position:absolute;left:16px}.rounds-search__input{--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:46px;--app-text-entry-padding-inline:44px;--app-text-entry-radius:var(--app-radius-pill)}.round-metric{border:1px solid var(--app-border-control);border-radius:var(--app-radius-panel);background:var(--app-surface-card);min-width:0;box-shadow:var(--app-shadow-card);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.round-metric__icon-wrap{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.round-metric__icon{color:var(--app-text-accent-strong);font-size:1.15rem}.round-metric__copy{gap:4px;min-width:0;display:grid}.round-metric__copy span{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.round-metric__copy strong{overflow-wrap:anywhere;color:var(--app-text-strong);font-family:var(--app-heading-font);font-size:clamp(1.45rem,5vw,2rem);line-height:1}.rounds-list{gap:10px;display:grid}.round-card{cursor:pointer;transition:transform .18s,box-shadow .18s;overflow:hidden}.round-card:focus-visible,.round-card:hover{box-shadow:var(--app-shadow-card-strong);transform:translateY(-2px)}.round-card:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:4px}.round-card__content{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:14px 16px;display:grid}.round-card__marker{border-radius:var(--app-radius-pill);background:var(--app-text-accent-strong);width:8px;height:44px}.round-card__copy{gap:5px;min-width:0;display:grid}.round-card__copy h2{color:var(--app-text-strong);font-family:var(--app-heading-font);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.45rem;line-height:1;overflow:hidden}.round-card__meta-line{min-width:0;color:var(--app-text-secondary);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.88rem;font-weight:700;line-height:1.25;display:flex}.round-card__income{min-width:76px;color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;justify-items:end;gap:3px;font-size:.72rem;font-weight:800;line-height:1;display:grid}.round-card__income strong{color:var(--app-text-strong);font-family:var(--app-heading-font);letter-spacing:0;text-transform:none;font-size:1.3rem;line-height:1}.round-empty{gap:12px;padding:22px;display:grid}.round-empty ion-note{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800}.round-empty h1,.round-empty h2{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:0;line-height:1}.round-empty h1{font-size:clamp(2rem,7vw,3rem)}.round-empty h2{font-size:clamp(1.45rem,5vw,2rem)}.new-round-modal{--border-radius:30px 30px 0 0;--box-shadow:0 -16px 48px #0f172a2e}.new-round-modal__content{--padding-top:22px}.rounds-fab{--background:var(--app-text-accent-strong);--color:#fff;--box-shadow:var(--app-shadow-card-strong)}@media (width>=640px){.round-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=768px){.new-round-modal{--width:min(520px, calc(100vw - 48px));--height:240px;--border-radius:var(--app-radius-card)}}@media (width<=520px){.rounds-toolbar p{white-space:normal}}@media (width<=380px){.round-card__content{grid-template-columns:auto minmax(0,1fr)}.round-card__income{grid-column:2;justify-items:start}}.service-card .service-card__description{-webkit-line-clamp:2;color:var(--app-text-secondary);overflow-wrap:anywhere;white-space:pre-line;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.4;display:-webkit-box;overflow:hidden}.service-form{gap:20px;display:grid}.service-form>ion-note{line-height:1.5}@media (width>=768px){.service-modal{--height:min(580px, calc(100vh - 48px))}}.service-card__content--no-price{grid-template-columns:auto minmax(0,1fr)}.sync-dev-tools{color:var(--app-text-secondary-strong);padding:18px 20px;line-height:1.5}.sync-dev-tools summary{cursor:pointer;font-weight:650}.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{color:var(--app-text-muted);font-size:1.6rem}.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:1.5}.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{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.sync-issue-card__header h2{color:var(--app-text-strong);font-family:var(--app-heading-font);margin-top:4px;font-size:1.35rem;line-height:1.1}.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);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:800}.sync-issue-card__summary strong,.sync-issue-card__field-values dd{color:var(--app-text-secondary-strong);overflow-wrap:anywhere;font-size:.95rem;font-weight:650}.sync-issue-card__field-values{border-top:1px solid #5a63582e;gap:12px;padding-top:2px;display:grid}.sync-issue-card__field-values h3{color:var(--app-text-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:800}.sync-issue-card__field-values p{color:var(--app-text-secondary);font-size:.95rem;line-height:1.45}.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);margin:0;padding:12px;line-height:1.45}.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);margin:0 0 8px;line-height:1.5}.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:650}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:650}.user-detail-summary{grid-template-columns:1fr;gap:10px;display:grid}.user-detail-row{border:1px solid var(--app-border-control);border-radius:var(--app-radius-panel);background:var(--app-surface-card);box-shadow:var(--app-shadow-card);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:14px;display:grid}.user-detail-row__icon{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.user-detail-row__icon ion-icon{color:var(--app-text-accent-strong);font-size:1.1rem}.user-detail-row span,.user-detail-panel__header ion-note{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800;line-height:1}.user-detail-row strong{color:var(--app-text-strong);overflow-wrap:anywhere;margin-top:5px;font-size:1rem;line-height:1.35;display:block}.user-detail-panel{gap:18px;padding:20px;display:grid}.user-detail-panel__header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.user-detail-panel__header>ion-icon{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);color:var(--app-text-accent-strong);padding:10px;font-size:1.2rem}.user-detail-panel__header h2{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:4px 0 0;font-size:clamp(1.45rem,5vw,2rem);line-height:1}.user-access-controls,.user-permission-controls{gap:10px;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:#fff;--handle-background-checked:#fff;--track-background:var(--app-surface-card-soft);--track-background-checked:var(--app-text-accent-strong);border:1px solid var(--app-border-control);border-radius:var(--app-radius-control);background:var(--app-surface-panel);min-height:44px;color:var(--app-text-strong);align-items:center;padding:10px 12px;font-weight:800}.user-detail-muted{color:var(--app-text-secondary);margin:0;font-size:.9rem;line-height:1.45}@media (width>=720px){.user-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.user-permission-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}.users-summary{grid-template-columns:1fr;gap:10px;display:grid}.users-summary__item{border:1px solid var(--app-border-control);border-radius:var(--app-radius-panel);background:var(--app-surface-card);box-shadow:var(--app-shadow-card);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 10px;padding:14px;display:grid}.users-summary__item ion-icon{color:var(--app-text-accent-strong);grid-row:span 2;font-size:1.2rem}.users-summary__item span{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800;line-height:1}.users-summary__item strong{overflow-wrap:anywhere;color:var(--app-text-strong);font-family:var(--app-heading-font);font-size:clamp(1.3rem,5vw,1.9rem);line-height:1}.users-controls__status{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-pill);background:var(--app-surface-card);min-height:46px;padding:3px}.users-controls__status ion-segment-button{--border-radius:var(--app-radius-pill);--color:var(--app-text-secondary);--color-checked:var(--app-text-accent-strong);--indicator-color:var(--app-surface-accent-soft);text-transform:none;min-height:38px}.users-list{gap:14px;display:grid}.users-list__meta{padding-inline:4px}.users-list__meta ion-note{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.84rem;font-weight:700}.user-card{cursor:pointer;transition:transform .18s,box-shadow .18s;overflow:hidden}.user-card:focus-visible,.user-card:hover{box-shadow:var(--app-shadow-card-strong);transform:translateY(-2px)}.user-card:focus-visible{outline:2px solid var(--app-text-accent);outline-offset:4px}.user-card__content{padding-block:20px}.user-card__main{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.user-card__icon-wrap{border-radius:var(--app-radius-control);background:var(--app-surface-accent-soft);justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.user-card__icon{color:var(--app-text-accent-strong);font-size:1.2rem}.user-card__body{gap:8px;min-width:0;display:grid}.user-card__header{justify-content:space-between;align-items:start;gap:10px;min-width:0;display:flex}.user-card__header h2{color:var(--app-text-strong);font-family:var(--app-heading-font);letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.45rem,4.2vw,2rem);line-height:1}.user-card__email{color:var(--app-text-secondary-strong);overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.45}.user-status-badge,.user-permission-tag{border:1px solid var(--app-border-control-strong);border-radius:var(--app-radius-pill);background:var(--app-surface-accent-soft);min-height:28px;color:var(--app-text-accent-strong);white-space:nowrap;align-items:center;padding:6px 10px;font-size:.8rem;font-weight:800;line-height:1;display:inline-flex}.user-status-badge--inactive,.user-permission-tag--empty{background:var(--app-surface-card-soft);color:var(--app-text-muted)}.user-permission-tags{flex-wrap:wrap;gap:8px;display:flex}.users-empty{gap:10px;padding:22px;display:grid}.users-empty ion-note{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.users-empty h1,.users-empty h2{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:0;font-size:clamp(1.55rem,5vw,2.2rem);line-height:1}.user-placeholder-modal{--border-radius:30px 30px 0 0}.user-placeholder-modal::part(content){background:var(--app-surface-top)}.user-placeholder-modal__content{--background:var(--app-surface-top);--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);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.user-placeholder h1{color:var(--app-text-strong);font-family:var(--app-heading-font);margin:0;font-size:clamp(1.55rem,5vw,2.2rem);line-height:1}.user-placeholder ion-icon{color:var(--app-text-accent-strong);font-size:1.6rem}.user-placeholder p{color:var(--app-text-secondary);margin:0;line-height:1.55}.users-fab{--background:var(--app-text-accent-strong);--box-shadow:var(--app-shadow-card-strong);--color:#fff}@media (width>=720px){.users-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.user-placeholder-modal{--width:min(560px, calc(100vw - 48px));--height:min(360px, calc(100vh - 48px));--border-radius:var(--app-radius-card)}}.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-family:var(--app-heading-font);letter-spacing:-.04em;color:var(--app-text-strong);margin:0;font-size:clamp(2rem,5vw,2.5rem);line-height:1}.auth-copy{color:var(--app-text-secondary);margin:8px 0 0;line-height:1.6}.auth-form{gap:16px;margin-top:26px;display:grid}.auth-field{gap:8px;display:grid}.auth-field-label{color:var(--app-text-accent-strong);letter-spacing:.01em;font-size:.92rem;font-weight:700}.auth-input{--background:var(--app-surface-panel);--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(--ion-color-primary);--padding-start:16px;--padding-end:16px;min-height:52px}.auth-input input:-webkit-autofill{-webkit-text-fill-color:var(--app-text-strong);caret-color:var(--app-text-strong);-webkit-box-shadow:0 0 0 1000px var(--app-surface-card-strong) inset;box-shadow:0 0 0 1000px var(--app-surface-card-strong) inset}.auth-input input:-webkit-autofill:hover{-webkit-text-fill-color:var(--app-text-strong);caret-color:var(--app-text-strong);-webkit-box-shadow:0 0 0 1000px var(--app-surface-card-strong) inset;box-shadow:0 0 0 1000px var(--app-surface-card-strong) inset}.auth-input input:-webkit-autofill:focus{-webkit-text-fill-color:var(--app-text-strong);caret-color:var(--app-text-strong);-webkit-box-shadow:0 0 0 1000px var(--app-surface-card-strong) inset;box-shadow:0 0 0 1000px var(--app-surface-card-strong) inset}.auth-error{border-radius:var(--app-radius-control);background:var(--app-surface-danger-soft);color:var(--app-text-danger);margin:2px 0 0;padding:12px 14px;font-size:.92rem}.auth-submit{--border-radius:var(--app-radius-control);min-height:50px;margin-top:6px;font-weight:700}@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}.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 ion-note{letter-spacing:normal;color:var(--app-text-subtle);font-size:.8rem}.page-intro h1{font-family:var(--app-heading-font);letter-spacing:-.035em;color:var(--app-text-primary);margin:0;font-size:clamp(1.75rem,6vw,2.25rem);font-weight:650;line-height:1.2}.page-intro p{color:var(--app-text-secondary);margin:0;line-height:1.65}.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)}.app-form-control-button{width:100%;min-height:var(--app-text-entry-min-height,50px);padding:var(--app-form-control-button-padding-block,13px) var(--app-text-entry-padding-inline,16px);border:1px solid var(--app-text-entry-border-color,var(--app-border-control));border-radius:var(--app-text-entry-radius,var(--app-radius-control));background:var(--app-text-entry-background,var(--app-surface-card));color:var(--app-text-entry-color,var(--app-text-strong));font:inherit;text-align:left;word-break:break-word;cursor:pointer;line-height:1.25}.app-form-control-button:focus-visible,.app-form-control-button:hover{border-color:var(--app-text-entry-focus-color,var(--app-text-accent));outline:none}@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:clamp(6.75rem, 28vw, 11.25rem)}.app-header ion-toolbar{--border-width:0}.app-header ion-title{font-weight:600}@media (prefers-reduced-motion:reduce){.dashboard-tile,.customer-card{transition:none}}.app-header ion-title.ios{padding-inline:calc(var(--app-header-status-width) + 8px)}
