@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.border{border-style:var(--tw-border-style);border-width:1px}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--twsa-safe-area-inset-top:env(safe-area-inset-top);--twsa-safe-area-inset-right:env(safe-area-inset-right);--twsa-safe-area-inset-bottom:env(safe-area-inset-bottom);--twsa-safe-area-inset-left:env(safe-area-inset-left);color-scheme:light dark;--bg:#f3f5f7;--surface:#fff;--surface-2:#e8edf2;--text:#202429;--dim:#606a75;--border:#cdd5de;--accent:#006fff;--accent-strong:#004fb8;--orange:#006fff;--danger:#a5413c;--shadow:0 18px 50px #181f2724;--radius:10px;--space-surface:var(--surface);--space-surface-alt:var(--surface-2);--space-muted:var(--dim);--space-border:var(--border);--space-accent:var(--accent)}@media(prefers-color-scheme:dark){:root{--bg:#14181d;--surface:#20262d;--surface-2:#2b333c;--text:#f2f6fa;--dim:#b2bdc8;--border:#424c57;--accent:#2994ff;--accent-strong:#70b8ff;--orange:#2994ff;--danger:#ef8377;--shadow:0 20px 60px #0000006b}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,Avenir Next,ui-sans-serif,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.icon{flex:none;width:20px;height:20px}.app-shell{background:var(--bg);min-height:100vh;position:relative}.report-top-marker{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}.workspace{min-height:100vh;padding-top:env(safe-area-inset-top);grid-template-columns:216px minmax(380px,520px) minmax(0,1fr);display:grid}.side-nav{color:#f2f6fa;background:#20262d;border-right:1px solid #333b45;flex-direction:column;min-height:100vh;padding:22px 14px 14px;display:flex;overflow:hidden}@media(min-width:761px){.side-nav{top:env(safe-area-inset-top);height:calc(100vh - env(safe-area-inset-top));height:calc(100dvh - env(safe-area-inset-top));align-self:start;min-height:0;position:sticky}}.side-nav-heading{flex:none;justify-content:space-between;align-items:flex-start;display:flex}.side-nav .wordmark{color:#f2f6fa;margin:0 6px 18px;font-size:21px}.side-nav .garage-mark{width:30px;height:30px}.side-nav .garage-roof{fill:#f2f6fa;stroke:#f2f6fa}.side-nav .garage-slat{stroke:#20262d}.mobile-nav-brand,.mobile-nav-toggle{display:none}.nav-accordions{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#53606e transparent;align-content:start;gap:4px;min-height:0;display:grid;overflow-y:auto}.nav-accordions::-webkit-scrollbar{width:5px}.nav-accordions::-webkit-scrollbar-thumb{background:#53606e;border-radius:999px}.nav-accordion{border-bottom:1px solid #3d4651;padding-bottom:4px}.nav-accordion summary{color:#bfc9d4;cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:7px 9px;font-size:12px;font-weight:750;list-style:none;display:flex}.nav-accordion summary::-webkit-details-marker{display:none}.nav-accordion summary.section-active{color:#fff;background:#2b333c}.nav-accordion summary>.icon{width:15px;height:15px;transition:transform .16s}.nav-accordion[open] summary>.icon{transform:rotate(90deg)}.nav-section-label{align-items:center;gap:8px;display:flex}.nav-section-label .icon{color:#5af;width:17px;height:17px}.nav-suboptions{gap:1px;padding:2px 0 1px 26px;display:grid}.nav-suboptions button{color:#aeb9c5;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:7px;min-height:30px;padding:5px 9px;font-size:11px;font-weight:620;display:flex}.nav-suboptions button:hover{color:#fff;background:#2b333c}.nav-suboptions button.active{color:#fff;background:#006fff}.nav-suboptions small{min-width:21px;color:inherit;text-align:center;background:#ffffff17;border-radius:999px;padding:1px 5px;font-size:9px}.nav-suboptions button.active small{background:#fff3}.side-add-button{flex:none;width:calc(100% - 12px);margin:10px 6px 0}.nav-backdrop{display:none}.ledger-pane{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-width:0;min-height:100vh;display:flex}.ledger-header{z-index:20;top:env(safe-area-inset-top);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 26px;display:grid;position:sticky}@supports (color:color-mix(in lab,red,red)){.ledger-header{background:color-mix(in srgb,var(--surface) 96%,transparent)}}.ledger-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-block{align-items:center;min-width:0;display:flex}.wordmark{width:fit-content;color:var(--text);letter-spacing:-.04em;align-items:center;margin:0 0 22px;font-size:25px;font-weight:760;line-height:1;display:flex}.wordmark strong{color:var(--accent);letter-spacing:-.05em;font-weight:840}.garage-mark{width:34px;height:34px;margin-right:9px;overflow:visible}.garage-roof{fill:var(--text);stroke:var(--text);stroke-width:2px;stroke-linejoin:round}.garage-door{fill:var(--orange)}.garage-slat{stroke:var(--text);stroke-width:2px}@media(prefers-color-scheme:dark){.garage-slat{stroke:var(--surface)}}.section-kicker{color:var(--accent);letter-spacing:.035em;margin:0 0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700}.ledger-header h1{letter-spacing:-.035em;margin:0;font-size:34px;font-weight:760;line-height:1.08}.lede{color:var(--dim);max-width:330px;margin:8px 0 0;font-size:14px;line-height:1.5}.button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-weight:700;display:inline-flex}.button:disabled{opacity:.55;cursor:default}.button.primary{background:var(--accent);color:#fff}@media(prefers-color-scheme:dark){.button.primary{color:#07131f}}.button.secondary{color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.button.danger{background:var(--danger);color:#fff}.button.compact{min-height:38px;padding:8px 12px;font-size:13px}.add-button{justify-self:start}.scroll-to-top{z-index:30;right:max(18px,env(safe-area-inset-right));bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));border:1px solid var(--accent);place-items:center;width:48px;height:48px;padding:0;display:grid;position:fixed}@supports (color:color-mix(in lab,red,red)){.scroll-to-top{border:1px solid color-mix(in srgb,var(--accent) 72%,var(--border))}}.scroll-to-top{background:var(--accent);color:#fff;cursor:pointer;border-radius:50%;box-shadow:0 10px 28px #00357a47}.scroll-to-top:hover{background:var(--accent-strong)}.scroll-to-top:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.scroll-to-top:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent)}}.scroll-to-top:focus-visible{outline-offset:3px}.scroll-to-top .icon{stroke-width:2.2px;width:23px;height:23px}@media(prefers-color-scheme:dark){.scroll-to-top{color:#07131f;box-shadow:0 12px 30px #0000006b}}.search-wrap{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:10px;min-height:48px;margin:0 20px;padding:0 13px;display:flex}.ledger-pane>.search-wrap{margin-top:12px;margin-bottom:12px}.search-wrap:focus-within{outline:2px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.search-wrap:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 38%,transparent)}}.search-wrap:focus-within{border-color:var(--accent)}.search-wrap .icon{color:var(--dim)}.search-wrap input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.search-wrap input::placeholder{color:var(--dim)}.search-wrap button{cursor:pointer;background:0 0;border:0;padding:6px}.search-wrap button .icon{width:17px;height:17px}.search-wrap-report{margin:0 0 16px}.report-revenue{background:var(--bg);margin:0 0 18px}.invoice-date-filter{justify-content:space-between;align-items:center;gap:14px;margin:0 0 12px;display:flex}.invoice-date-filter>label{color:var(--dim);flex:none;font-size:11px;font-weight:750}.invoice-date-select{width:min(250px,64%);min-width:190px;position:relative}.invoice-date-select:after{content:"⌄";color:var(--dim);pointer-events:none;font-size:17px;line-height:1;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.invoice-date-select select{appearance:none;border:1px solid var(--border);background:var(--bg);width:100%;height:40px;color:var(--text);border-radius:6px;outline:0;padding:7px 32px 7px 11px;font-size:12px;font-weight:620;line-height:1.2}.invoice-date-select select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.invoice-date-select select:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}}.filter-row{border-bottom:1px solid var(--border);scrollbar-width:none;gap:5px;padding:14px 20px 12px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row button{white-space:nowrap;color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:700}.filter-row button span{opacity:.75;margin-left:5px;font-family:ui-monospace,monospace;font-size:10px}.filter-row button.active{background:var(--text);color:var(--surface)}.report-filters{border-bottom:1px solid var(--border);gap:12px;padding:0 20px 12px;display:grid}.stage-filter{color:var(--dim);justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:750;display:flex;position:relative}.stage-filter:after{content:"⌄";color:var(--dim);pointer-events:none;font-size:17px;font-weight:520;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.stage-filter>select,.stage-filter>.service-picker{width:min(250px,58%);min-width:170px;max-width:250px}.stage-filter select{appearance:none;height:38px;color:var(--text);background:var(--bg);border:1px solid var(--border);text-overflow:ellipsis;border-radius:6px;outline:0;padding:7px 30px 7px 10px;font-size:12px;font-weight:520;line-height:1.2;overflow:hidden}.stage-filter select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.stage-filter select:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}}.service-picker{min-width:0;position:relative}.service-picker summary{min-height:43px;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;font-size:14px;font-weight:520;list-style:none;display:flex}.service-picker summary::-webkit-details-marker{display:none}.service-picker summary:focus-visible{outline:2px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.service-picker summary:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 30%,transparent)}}.service-picker summary:focus-visible{outline-offset:1px}.service-picker[open] summary{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.service-picker[open] summary{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 13%,transparent)}}.service-picker-chevron{color:var(--dim);font-size:17px;line-height:1;transition:transform .15s}.service-picker[open] .service-picker-chevron{transform:rotate(180deg)}.service-picker-menu{z-index:12;background:var(--surface);border:1px solid var(--border);width:min(380px,100vw - 40px);max-height:min(460px,100vh - 140px);box-shadow:var(--shadow);border-radius:9px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 7px);left:0;overflow:hidden}.service-picker-menu-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px 11px;display:flex}.service-picker-menu-header>div{gap:1px;display:grid}.service-picker-menu-header strong{color:var(--text);font-size:13px}.service-picker-menu-header small{color:var(--dim);font-size:10px;font-weight:560}.service-picker-menu-header button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:5px;min-height:32px;padding:5px 9px;font-size:11px;font-weight:760}@media(prefers-color-scheme:dark){.service-picker-menu-header button{color:#07131f}}.service-picker-options{overscroll-behavior:contain;padding:4px 8px 10px;overflow-y:auto}.service-picker-group{border:0;border-bottom:1px solid var(--border);min-width:0;margin:0;padding:7px 0 4px}.service-picker-group:last-child{border-bottom:0}.service-picker-group legend{width:100%;color:var(--dim);letter-spacing:.035em;padding:2px 8px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:760}.service-picker-group label{min-height:38px;color:var(--text);cursor:pointer;border-radius:5px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;font-weight:580;line-height:1.25;display:flex}.service-picker-group label:hover,.service-picker-group label.is-selected{background:var(--surface-2)}.service-picker-group label.is-selected{color:var(--accent-strong);font-weight:680}.field .service-picker-menu input,.service-picker-menu input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);box-shadow:none;flex:none;margin:0;padding:0}.service-picker-clear{border:0;border-bottom:1px solid var(--border);width:auto;min-height:34px;color:var(--accent);text-align:left;cursor:pointer;background:0 0;flex:none;margin:0 14px;font-size:11px;font-weight:750}.service-picker-clear:disabled{color:var(--dim);opacity:.6;cursor:default}.service-picker-group-special{padding-inline:0}.service-picker-compact{min-width:170px;max-width:250px}.service-picker-compact summary{height:38px;min-height:38px;padding:7px 10px;font-size:12px;font-weight:520;line-height:1.2}.stage-filter .service-picker-chevron{visibility:hidden}.service-picker-compact .service-picker-menu{left:auto;right:0}.service-picker-form .service-picker-menu{width:100%;max-height:430px;margin-top:7px;position:static;box-shadow:0 8px 24px #13251f17}.customer-list{flex:1}.customer-row{text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;grid-template-columns:42px minmax(0,1fr) 14px;align-items:center;gap:12px;width:100%;padding:16px 20px;display:grid}.customer-row:hover,.customer-row.is-selected{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.customer-row:hover,.customer-row.is-selected{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}}.customer-row.is-selected{box-shadow:inset 3px 0 var(--accent)}.avatar{background:var(--surface-2);width:42px;height:42px;color:var(--accent-strong);letter-spacing:.02em;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.customer-row-main{gap:2px;min-width:0;display:grid}.customer-row-main>span,.customer-row-main>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.customer-name-line{align-items:center;gap:8px;display:flex}.customer-name-line strong{text-overflow:ellipsis;font-size:15px;overflow:hidden}.recurring-customer-badge{width:23px;height:23px;color:var(--accent-strong);flex:0 0 23px;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:850;line-height:1;display:inline-grid;position:relative}.recurring-customer-badge svg{fill:none;width:100%;height:100%;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;position:absolute;inset:0;overflow:visible}.recurring-customer-badge>span{position:relative;transform:translate(-.9px,.25px)}.report-customer-name{align-items:center;gap:7px;min-width:0;display:flex}.report-customer-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-customer-name .recurring-customer-badge{flex-basis:20px;width:20px;height:20px;font-size:9px}.report-customer-name .recurring-customer-badge svg{stroke-width:1.9px}.customer-row-main small{color:var(--dim);font-size:11px}.upcoming-line{font-weight:620;color:var(--text)!important}.upcoming-line strong{color:var(--accent-strong);font-weight:780}.days-since-line{font-weight:620;color:var(--dim)!important}.days-since-line strong{color:var(--text);font-weight:720}.customer-row-main>small.upcoming-line,.customer-row-main>small.days-since-line,.customer-row-main>small.revenue-line{white-space:normal;text-overflow:clip;line-height:1.35;overflow:visible}.revenue-line{font-weight:620;color:var(--dim)!important}.revenue-line strong{color:var(--accent-strong);font-weight:780}.sort-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 20px;display:flex}.sort-bar .sort-filter{flex:auto;min-width:0}.sort-direction-button{border:1px solid var(--border);background:var(--bg);width:38px;min-height:38px;color:var(--text);cursor:pointer;border-radius:6px;flex:0 0 38px;justify-content:center;align-items:center;padding:7px;font-size:18px;font-weight:700;line-height:1;display:inline-flex}.sort-direction-button:hover{border-color:var(--accent);color:var(--accent-strong)}.sort-direction-button:focus-visible{outline:2px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.sort-direction-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 30%,transparent)}}.sort-direction-button:focus-visible{outline-offset:1px}.customer-stage-line{align-items:center;min-height:19px;display:flex}.status-pill{letter-spacing:.025em;border-radius:999px;align-items:center;padding:2px 7px;font-size:9px;font-weight:800;line-height:15px;display:inline-flex}.status-lead{color:#6826b7;background:#eee4ff}.status-active{color:#1a643b;background:#d6f1df}.status-inactive{color:#5d6861;background:#e6eae7}@media(prefers-color-scheme:dark){.status-lead{color:#dec8ff;background:#3c245c}.status-active{color:#99e8b5;background:#183d28}.status-inactive{color:#c2ccc6;background:#334038}}.funnel-stage-badge{border:1px solid var(--accent);align-items:center;max-width:100%;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.funnel-stage-badge{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border))}}.funnel-stage-badge{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.funnel-stage-badge{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}}.funnel-stage-badge{color:var(--accent-strong);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:750;line-height:14px;overflow:hidden}.service-tags{flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;display:flex}.service-tag{background:var(--orange);border-radius:5px;align-items:center;gap:4px;max-width:100%;padding:3px 7px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.service-tag{background:color-mix(in srgb,var(--orange) 12%,var(--surface))}}.service-tag{color:var(--orange)}@supports (color:color-mix(in lab,red,red)){.service-tag{color:color-mix(in srgb,var(--orange) 78%,var(--text))}}.service-tag{border:1px solid var(--orange)}@supports (color:color-mix(in lab,red,red)){.service-tag{border:1px solid color-mix(in srgb,var(--orange) 34%,var(--border))}}.service-tag{font-size:10px;font-weight:740;line-height:14px}.service-tag button{color:currentColor;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:18px;height:18px;margin:-2px -4px -2px 0;padding:0;display:grid}.service-tag button:hover{background:var(--orange)}@supports (color:color-mix(in lab,red,red)){.service-tag button:hover{background:color-mix(in srgb,var(--orange) 18%,transparent)}}.service-tag .icon{width:11px;height:11px}.customer-row .service-tags{flex-wrap:nowrap;margin-top:2px;overflow:hidden}.customer-row .service-tag{flex:none}.customer-company{color:var(--dim);font-size:13px}.funnel-stage-badge.status-lead{color:#6826b7;background:#eee4ff;border-color:#d2b9f5}.funnel-stage-badge.status-active{color:#1a643b;background:#d6f1df;border-color:#abd9bb}.funnel-stage-badge.status-inactive{color:#5d6861;background:#e6eae7;border-color:#c6cec9}.stage-past_due{color:#963d18;background:#ffeadf;border-color:#efb598}@media(prefers-color-scheme:dark){.funnel-stage-badge.status-lead{color:#dec8ff;background:#3c245c;border-color:#684a8e}.funnel-stage-badge.status-active{color:#99e8b5;background:#183d28;border-color:#2d6844}.funnel-stage-badge.status-inactive{color:#c2ccc6;background:#334038;border-color:#56635b}.stage-past_due{color:#ffc29e;background:#512d1c;border-color:#7b472d}}.row-arrow{color:var(--dim);font-size:24px;font-weight:300}.list-message{color:var(--dim);text-align:center;padding:36px 20px}.empty-ledger{text-align:center;padding:60px 30px}.empty-mark,.ledger-lines{border:1px solid var(--border);background:var(--surface-2);border-radius:7px;align-content:center;gap:6px;width:54px;height:54px;margin:0 auto 18px;padding:13px 11px;display:grid;transform:rotate(-2deg)}.empty-mark span,.ledger-lines span{background:var(--accent);opacity:.65;height:2px}.empty-mark span:nth-child(2),.ledger-lines span:nth-child(2){width:72%}.empty-ledger h2,.desktop-placeholder h2{margin:0;font-size:20px}.empty-ledger p,.desktop-placeholder p{color:var(--dim);max-width:280px;margin:8px auto 20px;font-size:14px}.detail-pane{min-width:0}.desktop-placeholder{text-align:center;place-content:center;height:100vh;padding:24px;display:grid}.customer-detail{touch-action:pan-y;max-width:920px;margin:0 auto;padding:42px clamp(24px,5vw,68px) 50px}.mobile-back{color:var(--accent);background:0 0;border:0;align-items:center;gap:4px;padding:8px 0 20px;font-weight:700;display:none}.swipe-guide{display:none}.navigation-toast{z-index:80;left:50%;bottom:max(26px,calc(env(safe-area-inset-bottom) + 18px));background:var(--text);min-width:132px;color:var(--surface);text-align:center;pointer-events:none;border-radius:999px;padding:11px 17px;font-size:13px;font-weight:760;position:fixed;transform:translate(-50%);box-shadow:0 12px 28px #00000038}.detail-header{justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.identity{align-items:center;gap:15px;min-width:0;display:flex}.avatar-large{width:58px;height:58px;font-size:16px}.detail-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detail-header h2{letter-spacing:-.035em;margin:0;font-size:clamp(25px,3vw,34px);line-height:1.1}.detail-header p{color:var(--dim);margin:5px 0 0;font-size:14px}.quick-actions{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-bottom:30px;display:grid}.quick-actions a,.quick-actions>span{min-height:64px;color:var(--text);border-right:1px solid var(--border);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.quick-actions>:last-child{border-right:0}.quick-actions a:hover{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quick-actions a:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}}.quick-actions .quick-disabled{color:var(--dim);opacity:.55}.archive-banner{background:var(--orange);margin-bottom:24px;padding:13px 15px}@supports (color:color-mix(in lab,red,red)){.archive-banner{background:color-mix(in srgb,var(--orange) 13%,var(--surface))}}.archive-banner{border:1px solid var(--orange)}@supports (color:color-mix(in lab,red,red)){.archive-banner{border:1px solid color-mix(in srgb,var(--orange) 40%,var(--border))}}.archive-banner{border-radius:7px;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.archive-banner button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-weight:800}.detail-columns{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;display:grid}.detail-section h3{margin:0;font-size:15px}.section-heading{border-bottom:2px solid var(--text);justify-content:space-between;align-items:center;min-height:36px;display:flex}.section-heading span{color:var(--dim);text-transform:capitalize;font-size:11px}.inline-edit-heading>button{min-height:36px;color:var(--accent-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:6px 2px 6px 10px;font-size:11px;font-weight:760;display:inline-flex}.inline-edit-heading>button .icon{width:14px;height:14px}.inline-detail-editor{gap:0;padding:4px 0 0;display:grid}.inline-editor-group{border-bottom:1px solid var(--border);padding:16px 0}.inline-editor-group h4{margin:0 0 11px;font-size:12px}.inline-editor-group .billing-toggle{margin-bottom:0}.inline-editor-group .billing-toggle:has(+.form-grid){margin-bottom:14px}.inline-editor-group .billing-toggle h4{margin-bottom:2px}.inline-editor-group .billing-toggle p{max-width:220px}.inline-editor-actions{justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.inline-editor-dock{z-index:8;background:var(--surface);justify-content:space-between;align-items:center;margin-inline:-10px;padding:10px;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.inline-editor-dock{background:color-mix(in srgb,var(--surface) 96%,transparent)}}.inline-editor-dock{border-bottom:1px solid var(--border);box-shadow:0 8px 18px var(--text)}@supports (color:color-mix(in lab,red,red)){.inline-editor-dock{box-shadow:0 8px 18px color-mix(in srgb,var(--text) 7%,transparent)}}.inline-editor-dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.inline-editor-dock>span{color:var(--dim);font-size:11px;font-weight:750}.inline-editor-dock>div{gap:8px;display:flex}.inline-note-editor{border-bottom:1px solid var(--border);gap:8px;padding:15px 0 18px;display:grid}.inline-note-editor>label,.timeline-note-editing label{font-size:12px;font-weight:750}.inline-note-editor textarea,.timeline-note-editing textarea{resize:vertical;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;outline:0;padding:10px}.inline-note-editor textarea:focus,.timeline-note-editing textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.inline-note-editor textarea:focus,.timeline-note-editing textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}}.detail-stack{display:grid}.detail-line{color:var(--text);border-bottom:1px solid var(--border);grid-template-columns:32px minmax(0,1fr);gap:10px;padding:15px 0;text-decoration:none;display:grid}.detail-icon{color:var(--accent);padding-top:2px}.detail-icon .icon{width:18px;height:18px}.detail-line small,.pinned-note small{color:var(--dim);letter-spacing:.025em;margin-bottom:2px;font-family:ui-monospace,monospace;font-size:10px;display:block}.detail-line strong{font-size:13px;font-weight:620;line-height:1.45}.access-note{background:var(--orange);margin-top:18px}@supports (color:color-mix(in lab,red,red)){.access-note{background:color-mix(in srgb,var(--orange) 10%,var(--surface))}}.access-note{border-top:3px solid var(--orange);border-radius:6px;padding:14px}.access-note strong{font-size:12px}.access-note p{color:var(--dim);white-space:pre-wrap;margin:5px 0 0;font-size:13px}.pinned-note{border-bottom:1px solid var(--border);padding:14px 0}.pinned-note p{white-space:pre-wrap;margin:5px 0 0;font-size:13px;line-height:1.5}.note-composer{border-bottom:1px solid var(--border);gap:8px;padding:15px 0 18px;display:grid}.note-composer label{font-size:12px;font-weight:750}.note-composer textarea{resize:vertical;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;outline:0;padding:10px}.note-composer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.note-composer textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}}.note-composer button{justify-self:end}.note-list{padding-top:8px}.timeline-note{grid-template-columns:12px minmax(0,1fr);gap:10px;padding:12px 0;display:grid}.timeline-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-top:7px}.timeline-note p{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}.timeline-note time{color:var(--dim);font-family:ui-monospace,monospace;font-size:10px}.timeline-note-content{min-width:0}.timeline-note-meta{justify-content:space-between;align-items:center;gap:10px;margin-top:5px;display:flex}.timeline-note-meta button{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 0 4px 8px;font-size:10px;font-weight:750;display:inline-flex}.timeline-note-meta button .icon{width:12px;height:12px}.timeline-note-editing form{gap:8px;min-width:0;display:grid}.timeline-note-editing .inline-editor-actions{padding-top:2px}.timeline-note-editing .form-error{margin:0}.quiet-empty{color:var(--dim);font-size:13px}.record-footer{border-top:1px solid var(--border);color:var(--dim);justify-content:space-between;align-items:center;gap:15px;margin-top:42px;padding-top:14px;font-family:ui-monospace,monospace;font-size:10px;display:flex}.record-footer button{color:var(--danger);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:6px;display:flex}.record-footer .icon{width:15px;height:15px}.inline-confirm{z-index:40;background:var(--surface);border:1px solid var(--border);width:min(380px,100vw - 32px);box-shadow:var(--shadow);border-radius:10px;padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.inline-confirm h3{margin:0}.inline-confirm p{color:var(--dim);font-size:13px}.inline-confirm>div{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.detail-loading{color:var(--dim);place-content:center;min-height:70vh;display:grid}.sheet-backdrop{z-index:50;background:#08100c8f;justify-items:end;display:grid;position:fixed;inset:0}.sheet{background:var(--surface);width:min(720px,100%);height:100%;box-shadow:var(--shadow);overflow-y:auto}.sheet-header{z-index:2;min-height:82px;padding:max(17px,env(safe-area-inset-top)) 24px 16px;background:var(--surface);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.sheet-header{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.sheet-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.sheet-header h2{margin:0;font-size:23px}.sheet-title-line{align-items:center;gap:9px;display:flex}.icon-button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.customer-form{padding:8px 24px max(28px,env(safe-area-inset-bottom))}.form-section{border-bottom:1px solid var(--border);padding:22px 0}.form-section h3{margin:0 0 14px;font-size:15px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{color:var(--dim);gap:6px;font-size:11px;font-weight:700;display:grid}.field-wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-height:43px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;outline:0;padding:9px 10px;font-size:14px;font-weight:450}.field textarea{resize:vertical}.field-helper{color:var(--dim);font-size:10px;font-weight:580;line-height:1.4}.service-field .service-picker{width:100%}.service-field>.service-tags{margin:0 0 2px}.stage-status-note{color:var(--dim);grid-column:1/-1;margin:-4px 0 0;font-size:11px}.derived-status-field{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;align-items:center;gap:9px;min-height:43px;padding:9px 10px;display:flex}.derived-status-field small{color:var(--dim);font-size:10px;font-weight:600;line-height:1.3}.stage-automation-note{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;margin-top:16px;padding:11px 0 0;display:grid}.stage-automation-note span{color:var(--dim);font-size:11px;font-weight:700}.stage-automation-note strong{color:var(--accent-strong);font-size:12px}.stage-automation-note small{color:var(--dim);grid-column:1/-1;font-size:11px;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}}.segmented{background:var(--surface-2);border-radius:7px;grid-template-columns:1fr 1fr;margin-bottom:15px;padding:3px;display:inline-grid}.segmented button{color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 12px;font-size:12px;font-weight:750}.segmented button.selected{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000014}.billing-toggle{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.billing-toggle h3{margin-bottom:2px}.billing-toggle p{color:var(--dim);margin:0;font-size:12px}.switch-label{color:var(--dim);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.switch-label input{width:18px;height:18px;accent-color:var(--accent)}.form-error{color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.form-error{background:color-mix(in srgb,var(--danger) 8%,var(--surface))}}.form-error{border-radius:6px;padding:12px;font-size:13px}.sheet-actions{padding:14px 24px max(14px,env(safe-area-inset-bottom));background:var(--surface);margin-inline:-24px;position:sticky;bottom:0}@supports (color:color-mix(in lab,red,red)){.sheet-actions{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.sheet-actions{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);justify-content:flex-end;gap:9px;display:flex}.customer-form:has(.service-picker-form[open]) .sheet-actions{position:static}.workspace.calendar-mode{grid-template-columns:216px minmax(0,1fr)}.workspace.calendar-mode .ledger-pane{border-right:0}.workspace.calendar-mode .ledger-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.calendar-view{width:min(1050px,100% - 40px);margin:0 auto 48px}.calendar-toolbar{border-block:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:66px;display:grid}.calendar-toolbar>div{text-align:center}.calendar-toolbar h2{letter-spacing:-.025em;margin:0;font-size:21px}.calendar-toolbar>div button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:3px 8px;font-size:11px;font-weight:750}.calendar-nav{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%;font-size:26px;line-height:1}.calendar-grid{border-left:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday{border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--dim);text-align:center;padding:10px 5px;font-family:ui-monospace,monospace;font-size:10px;font-weight:760}.calendar-day{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);min-height:90px;color:var(--text);text-align:left;cursor:pointer;padding:10px;position:relative}.calendar-day:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.calendar-day:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}}.calendar-day.outside{color:var(--dim);background:var(--bg)}@supports (color:color-mix(in lab,red,red)){.calendar-day.outside{background:color-mix(in srgb,var(--bg) 74%,var(--surface))}}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--accent);z-index:1}.calendar-day.today>span:first-child{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:27px;height:27px;margin:-4px 0 0 -4px;font-weight:800;display:grid}.service-count{background:var(--orange);border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;display:grid;position:absolute;top:9px;right:8px}@supports (color:color-mix(in lab,red,red)){.service-count{background:color-mix(in srgb,var(--orange) 16%,var(--surface))}}.service-count{color:var(--orange);font-size:10px;font-weight:800}.calendar-dots{gap:4px;display:flex;position:absolute;bottom:10px;left:10px}.calendar-dots i{background:var(--orange);border-radius:50%;width:6px;height:6px}.day-agenda{margin-top:28px}.agenda-list{display:grid}.agenda-list>button{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:82px minmax(0,1fr) 16px;align-items:center;gap:14px;padding:15px 4px;display:grid}.agenda-list>button:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.agenda-list>button:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}}.agenda-list time{color:var(--accent-strong);font-family:ui-monospace,monospace;font-size:12px;font-weight:750}.agenda-list>button>span{gap:3px;min-width:0;display:grid}.agenda-list strong{font-size:14px}.agenda-list small{color:var(--dim);font-size:12px}.agenda-list em{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-style:normal;overflow:hidden}.agenda-list b{color:var(--dim);font-size:21px;font-weight:400}.report-list>button{grid-template-columns:132px minmax(0,1fr) 16px}.report-when strong{font-size:12px;line-height:1.35}.service-timeline-section{margin-bottom:34px}.service-heading{gap:16px;min-height:54px}.service-heading>div{gap:2px;min-width:0;display:grid}.service-heading>div>span{text-transform:none}.service-timeline{display:grid}.service-timeline-item{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:34px 150px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:14px 0;display:grid}.service-timeline-item:disabled{cursor:default}.service-timeline-item:hover:not(:disabled){background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.service-timeline-item:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 5%,transparent)}}.timeline-marker{border-radius:50%;place-items:center;width:31px;height:31px;display:grid}.timeline-marker .icon{width:16px;height:16px}.timeline-marker.upcoming{color:var(--accent-strong);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.timeline-marker.upcoming{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}.timeline-marker.past{color:var(--dim);background:var(--surface-2)}.service-when,.service-what{gap:2px;min-width:0;display:grid}.service-when strong,.service-what strong{font-size:12px}.service-when time,.service-what small{color:var(--dim);font-size:11px}.service-what small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.service-what em{width:fit-content;color:var(--accent-strong);letter-spacing:.025em;margin-top:3px;font-size:9px;font-style:normal;font-weight:800}.service-timeline-item>.icon{width:16px;height:16px;color:var(--dim)}.billing-line{align-items:center;gap:7px;margin-top:3px;display:flex}.billing-line>strong{font-size:12px;font-weight:750}.payment-badge{letter-spacing:.025em;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:9px;font-weight:800}.payment-paid{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.payment-paid{background:color-mix(in srgb,var(--accent) 14%,transparent)}}.payment-paid{color:var(--accent-strong)}.payment-unpaid{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.payment-unpaid{background:color-mix(in srgb,var(--danger) 12%,transparent)}}.payment-unpaid{color:var(--danger)}.revenue-total{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding:11px 14px;display:flex}.revenue-total span{color:var(--dim);letter-spacing:.025em;font-size:11px;font-weight:700}.revenue-total strong{color:var(--accent-strong);font-size:20px;font-weight:800}.service-empty{padding:18px 0}.service-sheet{width:min(560px,100%)}.recurrence-section .billing-toggle{margin-bottom:0}.recurrence-section .billing-toggle:has(+.form-grid),.recurrence-section .billing-toggle:has(+.recurrence-summary){margin-bottom:16px}.recurrence-help{color:var(--dim);margin:0;font-size:11px;line-height:1.5}.recurrence-off-note{border:1px solid var(--border);background:var(--bg);border-radius:6px;padding:10px 12px}.date-picker-button{border:1px solid var(--border);background:var(--bg);width:100%;min-height:43px;color:var(--text);text-align:left;cursor:pointer;border-radius:6px;padding:9px 10px;font-size:14px}.date-picker-button:hover,.date-picker-button:focus-visible{border-color:var(--accent);outline:2px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.date-picker-button:hover,.date-picker-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 18%,transparent)}}.recurrence-summary{border:1px solid var(--border);background:var(--bg);border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;padding:12px 14px;display:grid}.recurrence-summary strong{font-size:13px}.recurrence-summary small{color:var(--dim);grid-column:1/-1;font-size:11px}.recurrence-badge{background:var(--accent);border-radius:999px;width:fit-content;padding:2px 7px}@supports (color:color-mix(in lab,red,red)){.recurrence-badge{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}.recurrence-badge{color:var(--accent-strong);letter-spacing:.025em;font-size:9px;font-weight:800}.recurrence-not-set{background:var(--dim);border-radius:999px;flex:none;padding:4px 8px}@supports (color:color-mix(in lab,red,red)){.recurrence-not-set{background:color-mix(in srgb,var(--dim) 10%,var(--surface))}}.recurrence-not-set{color:var(--dim);white-space:nowrap;font-size:11px;font-weight:700}.recurrence-line{font-weight:700;color:var(--accent-strong)!important}.cancel-series-section{justify-content:space-between;align-items:center;gap:18px;display:flex}.cancel-series-section h3{margin-bottom:3px}.cancel-series-section p{max-width:330px;color:var(--dim);margin:0;font-size:11px;line-height:1.45}.calendar-modal-backdrop{z-index:80;background:#080c11b3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.calendar-modal{border:1px solid var(--border);background:var(--surface);width:min(430px,100%);box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.calendar-modal>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:17px 18px 13px;display:flex}.calendar-modal>header h3{margin:0;font-size:20px}.end-date-calendar-toolbar{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:10px;min-height:58px;padding:7px 14px;display:grid}.end-date-calendar-toolbar strong{font-size:16px}.end-date-calendar-toolbar button{border:1px solid var(--border);background:var(--surface-2);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:50%;font-size:26px;line-height:1}.end-date-calendar{grid-template-columns:repeat(7,minmax(0,1fr));padding:0 12px 8px;display:grid}.end-date-calendar .weekday{border:0;padding:7px 2px}.end-date-calendar button{aspect-ratio:1;min-width:0;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:12px}.end-date-calendar button:hover:not(:disabled){background:var(--surface-2)}.end-date-calendar button.selected{background:var(--accent);color:#fff;font-weight:800}.end-date-calendar button:disabled{color:var(--dim);opacity:.3;cursor:default}.calendar-modal>p{color:var(--dim);margin:0;padding:8px 18px 14px;font-size:11px;line-height:1.45}.calendar-modal>footer{padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);justify-content:flex-end;display:flex}.duplicate-modal-backdrop{z-index:100}.duplicate-customer-modal{flex-direction:column;max-height:min(720px,100dvh - 36px);display:flex}.duplicate-customer-modal>header>div{min-width:0}.duplicate-customer-modal>header .section-kicker{margin-bottom:3px}.duplicate-customer-list{gap:10px;min-height:0;padding:0 18px 16px;display:grid;overflow-y:auto}.duplicate-customer-item{border:1px solid var(--border);background:var(--bg);border-radius:8px;gap:10px;padding:14px;display:grid}.duplicate-customer-item>div{gap:2px;min-width:0;display:grid}.duplicate-customer-item strong,.duplicate-customer-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duplicate-customer-item strong{font-size:15px}.duplicate-customer-item span{color:var(--dim);font-size:12px}.duplicate-customer-item small{background:var(--surface-2);width:fit-content;color:var(--dim);border-radius:4px;margin-top:4px;padding:2px 6px;font-size:9px;font-weight:750}.duplicate-customer-item p{color:var(--dim);margin:0;font-size:11px;line-height:1.45}.duplicate-customer-item .button{justify-self:start}.series-confirm{z-index:90}.revenue-split{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.revenue-split>div{background:var(--surface);gap:2px;min-width:0;padding:12px 14px;display:grid}.revenue-split span{color:var(--dim);font-size:11px;font-weight:700}.revenue-split strong{color:var(--accent-strong);font-size:20px;line-height:1.15}.outcome-badge{letter-spacing:.02em;border-radius:5px;width:fit-content;margin-top:4px;padding:2px 7px;font-size:9px;font-weight:800}.outcome-scheduled{color:var(--accent-strong);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.outcome-scheduled{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}.outcome-completed{color:#1a643b;background:#d6f1df}.outcome-cancelled{color:#5d6861;background:#e6eae7}.outcome-no_show{color:#963d18;background:#ffeadf}@media(prefers-color-scheme:dark){.outcome-scheduled{color:#9acbff;background:#153450}.outcome-completed{color:#99e8b5;background:#183d28}.outcome-cancelled{color:#c2ccc6;background:#334038}.outcome-no_show{color:#ffc29e;background:#512d1c}}.payment-toggle-wrap{min-width:0;position:relative}.payment-toggle{width:100%;margin:0}.payment-toggle button{width:100%;height:100%}.payment-toggle button:disabled{opacity:.42;cursor:not-allowed}.payment-cost-helper{color:var(--dim);margin-top:6px;font-size:10px;font-weight:600;line-height:1.35;display:block}.payment-toggle-compact .segmented{min-width:158px}.payment-toggle-compact .segmented button{padding-inline:8px}.invoice-list{display:grid}.invoice-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.invoice-open{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:132px minmax(0,1fr) 16px;align-items:center;gap:14px;padding:15px 4px;display:grid}.invoice-open:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.invoice-open:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}}.invoice-open>span{gap:3px;min-width:0;display:grid}.invoice-open small{color:var(--dim);font-size:12px}.invoice-open em{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-style:normal;overflow:hidden}.invoice-open b{color:var(--dim);font-size:21px;font-weight:400}.invoice-payment-control{gap:4px;min-width:170px;padding-right:4px;display:grid}.invoice-payment-control>span{color:var(--dim);font-size:9px;font-weight:750}.invoice-error{margin:0 0 12px}.delete-service-section{justify-content:space-between;align-items:center;gap:18px;display:flex}.delete-service-section h3{margin-bottom:3px}.delete-service-section p{color:var(--dim);margin:0;font-size:11px}.record-footer-actions{align-items:center;gap:12px;display:flex}.mobile-nav-entry{width:42px;height:42px;position:relative}.menu-first-run-hint{display:none}.customer-picker-modal{flex-direction:column;max-height:min(720px,100vh - 36px);display:flex}.customer-picker-modal>.search-wrap{flex:none;margin:14px}.calendar-customer-list{min-height:180px;padding-bottom:max(10px,env(safe-area-inset-bottom));overflow-y:auto}.calendar-customer-list>button{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:13px 18px;display:grid}.calendar-customer-list>button>span:nth-child(2){gap:2px;min-width:0;display:grid}.calendar-customer-list strong,.calendar-customer-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-customer-list small{color:var(--dim);font-size:11px}.calendar-customer-list b{color:var(--dim);font-size:21px;font-weight:400}.calendar-customer-list>.calendar-new-customer{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.calendar-customer-list>.calendar-new-customer{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}}.calendar-new-customer .avatar{color:var(--accent-strong);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.calendar-new-customer .avatar{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}.schedule-conflict{border:1px solid var(--border);border-radius:7px;margin-top:14px;padding:11px 12px}.schedule-conflict strong{font-size:12px;display:block}.schedule-conflict p{color:var(--dim);margin:3px 0 0;font-size:11px;line-height:1.45}.schedule-conflict.hard{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.schedule-conflict.hard{border-color:color-mix(in srgb,var(--danger) 44%,var(--border))}}.schedule-conflict.hard{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.schedule-conflict.hard{background:color-mix(in srgb,var(--danger) 7%,var(--surface))}}.schedule-conflict.hard strong{color:var(--danger)}.schedule-conflict.soft{border-color:var(--orange)}@supports (color:color-mix(in lab,red,red)){.schedule-conflict.soft{border-color:color-mix(in srgb,var(--orange) 40%,var(--border))}}.schedule-conflict.soft{background:var(--orange)}@supports (color:color-mix(in lab,red,red)){.schedule-conflict.soft{background:color-mix(in srgb,var(--orange) 7%,var(--surface))}}.report-empty{color:var(--dim);justify-items:start;gap:10px;padding:22px 2px;display:grid}.report-empty p{margin:0;font-size:13px}.access-note small{color:var(--dim);margin-top:3px;font-size:10px;line-height:1.4;display:block}@media(max-width:760px){.workspace,.workspace.calendar-mode{display:block}.side-nav{z-index:60;width:min(264px,84vw);padding:0 14px 18px;display:none;position:fixed;inset:0 auto 0 0;box-shadow:18px 0 45px #00000052}.workspace.nav-is-open .side-nav{display:flex}.side-nav-heading{padding:calc(env(safe-area-inset-top) + 14px) 18px 14px;border-bottom:1px solid #333b45;flex:none;margin:0 -14px 22px}.desktop-wordmark{display:none}.mobile-nav-brand{color:#f2f6fa;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;width:100%;min-width:0;padding:0;display:grid}.mobile-nav-brand-mark{background:#2b333c;border:1px solid #424c57;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.mobile-nav-brand-mark .garage-mark{width:29px;height:29px;margin:0}.mobile-nav-brand-title{letter-spacing:-.035em;white-space:nowrap;min-width:0;font-size:27px;font-weight:760;line-height:1.08;overflow:hidden}.mobile-nav-brand-title strong{color:#2994ff;font-weight:840}.nav-backdrop{z-index:55;background:#080c119e;border:0;display:block;position:fixed;inset:0}.mobile-nav-toggle{border:1px solid var(--border);background:var(--surface-2);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:8px;place-items:center;display:grid}.mobile-nav-toggle .garage-mark{width:29px;height:29px;margin:0}.ledger-pane{border-right:0;min-height:100vh}.detail-pane,.workspace.showing-detail .ledger-pane{display:none}.workspace.showing-detail .detail-pane{display:block}.ledger-header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 18px}.ledger-header h1{font-size:27px}.lede{display:none}.add-button{border-radius:50%;align-self:start;gap:0;width:46px;min-width:46px;padding:0;font-size:0}.add-button .icon{width:22px;height:22px}.filter-row{flex-wrap:wrap;overflow-x:visible}.filter-row button{flex:auto}.customer-row{padding-inline:18px}.customer-detail{padding:12px 18px max(32px,env(safe-area-inset-bottom))}.mobile-back{display:inline-flex}.swipe-guide{min-height:30px;color:var(--dim);justify-content:center;align-items:center;gap:10px;margin:-10px 0 11px;display:flex}.swipe-guide>button{width:30px;height:30px;color:var(--accent-strong);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:21px;font-weight:520;line-height:1;display:grid}.swipe-guide>button:active{background:var(--surface-2)}.swipe-guide p{align-items:center;gap:8px;margin:0;font-size:10px;font-weight:680;display:flex}.swipe-guide small{background:var(--surface-2);color:var(--text);border-radius:999px;padding:2px 7px;font-size:9px;font-weight:760}.detail-header{align-items:center}.detail-header .button{width:40px;padding:0;font-size:0}.detail-header .button .icon{width:18px}.detail-columns{grid-template-columns:1fr;gap:34px}.quick-actions{margin-inline:-18px}.record-footer{align-items:flex-start}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.sheet{border-radius:0}.sheet-header,.customer-form{padding-inline:18px}.sheet-actions{margin-inline:-18px;padding-inline:18px}.workspace.calendar-mode .ledger-header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center}.calendar-view{width:calc(100% - 24px);margin-bottom:32px}.calendar-day{min-height:58px;padding:7px;font-size:12px}.calendar-day.today>span:first-child{width:23px;height:23px}.service-count{display:none}.calendar-dots{gap:3px;bottom:6px;left:7px}.calendar-dots i{width:4px;height:4px}.weekday{padding-block:8px;font-size:9px}.day-agenda{margin-top:22px}.agenda-list>button{grid-template-columns:68px minmax(0,1fr) 12px;gap:9px}.report-list>button{grid-template-columns:104px minmax(0,1fr) 12px}.service-heading{align-items:center}.service-heading .button{width:40px;min-width:40px;padding:0;font-size:0}.service-timeline-item{grid-template-columns:30px minmax(0,1fr) 16px;gap:9px}.service-timeline-item .service-when,.service-timeline-item .service-what{grid-column:2}.service-timeline-item>.icon{grid-area:1/3/span 2}.timeline-marker{grid-row:1/span 2}.cancel-series-section{flex-direction:column;align-items:stretch}.cancel-series-section .button{width:100%}.calendar-modal-backdrop{align-items:end;padding:10px}.calendar-modal{border-radius:10px 10px 0 0}.menu-first-run-hint{z-index:24;background:var(--text);width:188px;color:var(--surface);border-radius:7px;padding:8px 10px;font-size:10px;font-weight:750;line-height:1.35;display:block;position:absolute;top:calc(100% + 9px);left:0;box-shadow:0 10px 25px #0000003d}.menu-first-run-hint:before{content:"";border:6px solid #0000;border-bottom-color:var(--text);position:absolute;bottom:100%;left:15px}.invoice-row{grid-template-columns:1fr;gap:0;padding-bottom:12px}.invoice-open{grid-template-columns:104px minmax(0,1fr) 12px;gap:9px;padding:14px 4px 8px}.invoice-payment-control{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:0 4px}.payment-toggle-compact .segmented{min-width:0;margin:0}.delete-service-section{flex-direction:column;align-items:stretch}.delete-service-section .button{width:100%}.record-footer{flex-direction:column}.record-footer-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.customer-picker-modal{max-height:calc(100dvh - 20px)}}@media(prefers-reduced-motion:no-preference){.sheet{animation:.2s ease-out sheet-in}.scroll-to-top{animation:.16s ease-out scroll-top-in}@keyframes sheet-in{0%{opacity:.5;transform:translate(22px)}}@keyframes scroll-top-in{0%{opacity:0;transform:translateY(8px)}}}.side-nav-account{border-top:1px solid #333b45;flex:none;gap:8px;margin:14px 6px 0;padding-top:12px;display:grid}.side-nav-account .account-email{text-overflow:ellipsis;white-space:nowrap;color:#9aa6b2;margin:0 2px;font-size:12px;overflow:hidden}.side-nav-account .account-actions{gap:6px;display:grid}.account-button{color:#f2f6fa;cursor:pointer;text-align:left;background:0 0;border:1px solid #333b45;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.account-button:hover{background:#2a323b}.account-button .icon{flex:none;width:16px;height:16px}.calendar-modal form{gap:12px;padding:16px 18px 0;display:grid}.calendar-modal form>footer{padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin:4px -18px 0;display:flex}.calendar-modal .password-form-fields{gap:12px;display:grid}.calendar-modal .form-error{margin:0}.follow-up-heading{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin:18px 0 0;font-size:12px;font-weight:750}.header-actions{align-items:center;gap:10px;display:flex}.filter-icon-wrap,.filter-toggle{position:relative}.filter-toggle .icon{width:20px;height:20px}.filter-toggle.is-open{border-color:var(--accent);color:var(--accent)}.filter-active-dot{background:var(--accent);border:2px solid var(--surface-2);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;right:6px}.filter-first-run-hint{z-index:24;background:var(--text);width:200px;color:var(--surface);border-radius:7px;padding:8px 10px;font-size:10px;font-weight:750;line-height:1.35;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 10px 25px #0000003d}.filter-first-run-hint:before{content:"";border:6px solid #0000;border-bottom-color:var(--text);position:absolute;bottom:100%;right:14px}@media(min-width:761px){.ledger-header>.mobile-nav-entry{display:none}.ledger-header{grid-template-columns:minmax(0,1fr) auto}.ledger-header h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}.filters-backdrop{z-index:19;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0}.filters-panel{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;width:min(360px,100vw - 32px);padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:16px;box-shadow:0 18px 50px #00000047}.filters-panel .search-wrap{margin:0}.filters-panel .report-filters,.filters-panel .sort-bar{border-bottom:0;padding:0}.filters-panel-footer{justify-content:flex-end;align-items:center;gap:8px;display:flex}.filters-reset{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-right:auto;padding:8px 4px;font-size:13px;font-weight:700}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
