:root{--text:#3d4147;--text-h:#0a1420;--bg:#fff;--bg-alt:#f5f7f9;--surface:#f2f5f8;--border:#dde2e6;--flash:#cfe1f2;--accent:#0c3c60;--accent-hover:#0a2f4d;--accent-text:#fff;--error:#b91c1c;--ok:#15803d;--warn:#a35200;--header-bg:#0c3c60;--header-text:#fff;--logo-paper:transparent;--cal-c1:#2399de;--cal-c2:#da7921;--cal-c3:#19a854;--cal-c4:#9284ec;--cal-c5:#e267a1;--cal-c6:#18a494;--cal-c7:#dd5de0;--cal-c8:#809d17;--cal-c9:#b98863;--cal-c10:#89939e;--cal-unassigned:#ee6762;--cal-block-ink:#000;--cal-block-halo:#fff;--cal-block-line:#000;--cal-halo-r:.75px;--cal-halo-d:.53px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--text:#dce8f2;--text-h:#fff;--bg:#0c3c60;--bg-alt:#0e4470;--surface:#14507e;--border:#2e6f9d;--flash:#226a99;--accent:#7cc4f0;--accent-hover:#a5daff;--accent-text:#08283f;--error:#ff9b9b;--ok:#7fd6a0;--warn:#fcd34d;--header-bg:#17608f;--header-text:#fff;--logo-paper:#fff;--cal-block-ink:#fff;--cal-block-halo:#000;--cal-block-line:#fff}}:root[data-theme=dark]{--text:#dce8f2;--text-h:#fff;--bg:#0c3c60;--bg-alt:#0e4470;--surface:#14507e;--border:#2e6f9d;--flash:#226a99;--accent:#7cc4f0;--accent-hover:#a5daff;--accent-text:#08283f;--error:#ff9b9b;--ok:#7fd6a0;--warn:#fcd34d;--header-bg:#17608f;--header-text:#fff;--logo-paper:#fff;--cal-block-ink:#fff;--cal-block-halo:#000;--cal-block-line:#fff}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only}*{box-sizing:border-box}body{margin:0}h1{color:var(--text-h);margin:0 0 16px;font-size:28px}a{color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:4px 10px;font-size:13px;line-height:1.4;text-decoration:none;display:inline-block}a:hover{background:var(--accent);color:var(--accent-text)}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:6px;padding:8px 16px}button:hover{background:var(--accent-hover)}button:disabled{opacity:.6;cursor:not-allowed}.link-btn{background:var(--surface);border:1px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:13px;text-decoration:none}.link-btn:hover,.link-btn.active{background:var(--accent);color:var(--accent-text)}.link-btn.danger{border-color:var(--error);color:var(--error)}.link-btn.danger:hover{background:var(--error);color:#fff}input,select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px 10px}label{color:var(--text-h);flex-direction:column;gap:4px;min-width:0;font-size:14px;display:flex}.nav{z-index:15;background:var(--header-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 24px;display:flex;position:sticky;top:0}:root[data-header=hidden] .nav{top:calc(-1 * var(--app-header-height,0px))}html{scroll-padding-top:calc(var(--app-header-height,0px) + var(--builder-bar-height,0px) + var(--day-row-height,0px))}.nav .brand{font-weight:600;font-size:inherit;color:var(--header-text);border:none;border-radius:8px;align-items:center;gap:8px;margin:-8px -12px;padding:8px 12px;text-decoration:none;display:inline-flex}.brand-logo{flex:none;width:28px;height:28px;display:block}.brand-word{letter-spacing:-.025em;white-space:nowrap;font-size:1.05rem;line-height:1}.brand-word-light{opacity:.85;font-weight:400}.brand-word-bold{font-weight:700}.nav .brand:hover{color:var(--header-text);background:0 0}.nav .brand:hover .brand-word{text-underline-offset:3px;text-decoration:underline}.nav .brand:focus-visible{outline:2px solid var(--header-text);outline-offset:2px}.tenant-brand{min-width:0;color:var(--header-text);align-items:center;gap:10px;display:inline-flex}.tenant-brand:before{content:"";background:var(--header-text);opacity:.35;flex:none;width:1px;height:22px}.tenant-logo{object-fit:contain;flex:none;width:auto;max-width:130px;height:26px;display:block}.tenant-name{opacity:.92;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.menu-btn{border:1px solid var(--header-text);color:var(--header-text);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:18px;line-height:1}.menu-btn:hover{background:var(--header-text);color:var(--header-bg)}.nav-search{flex:200px;min-width:140px;max-width:320px}.nav-search input{border:1px solid var(--header-text);background:var(--header-bg);width:100%;color:var(--header-text);border-radius:6px;padding:6px 10px}.nav-search input::placeholder{color:var(--header-text);opacity:.7}.nav-search .search-results{z-index:22}.nav-menu-overlay{z-index:20;position:fixed;inset:0}.nav-dropdown{background:var(--surface);border:1px solid var(--border);z-index:21;min-width:200px;max-height:calc(100vh - var(--app-header-height,0px) - 16px);max-height:calc(100svh - var(--app-header-height,0px) - 16px);border-radius:8px;flex-direction:column;margin-top:6px;display:flex;position:absolute;top:100%;right:24px;overflow:hidden auto;box-shadow:0 8px 24px #0003}.nav-dropdown a{color:var(--text);text-align:left;border:none;border-radius:0;padding:10px 16px}.nav-dropdown a:hover{background:var(--bg-alt)}.nav-badge{background:var(--accent);min-width:20px;color:var(--accent-text);text-align:center;border-radius:999px;margin-left:8px;padding:0 6px;font-size:12px;font-weight:600;line-height:18px;display:inline-block}.nav-more-dot{vertical-align:1px;background:currentColor;border-radius:999px;width:8px;height:8px;margin-left:6px;display:inline-block}.nav-tabs{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:2px;display:flex}.nav-tab{color:var(--header-text);opacity:.85;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:14px;line-height:1.4}.nav-tab:hover{background:var(--header-text);color:var(--header-bg);opacity:1}.nav-tab.nav-here{opacity:1;font-weight:600;box-shadow:inset 0 -2px}.menu-btn.nav-here{background:var(--header-text);color:var(--header-bg);font-weight:600}.nav-dropdown .nav-here{box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.nav-folded,.nav-group-title,.nav-bottom{display:none}@media (width<=560px){.nav-tabs,.nav .nav-more{display:none}.nav-bottom{z-index:15;background:var(--header-bg);padding-bottom:env(safe-area-inset-bottom);align-items:stretch;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #00000040}.nav-bottom .nav-tab{text-align:center;text-overflow:ellipsis;border-radius:0;flex:1 1 0;min-width:0;padding:15px 2px;font-size:12px;line-height:1.25;overflow:hidden}.nav-bottom .nav-tab.nav-here{box-shadow:inset 0 3px}.nav-dropdown{inset:auto 8px 55px;bottom:calc(55px + env(safe-area-inset-bottom));max-height:calc(100svh - 130px);margin-top:0;position:fixed}.nav-folded{display:block}.nav-slotted{display:none}.nav-group-title{border-top:1px solid var(--border);color:var(--text);opacity:.75;letter-spacing:.06em;text-transform:uppercase;margin:0;padding:10px 16px 4px;font-size:11px;font-weight:700;display:block}.nav-dropdown-identity+.nav-group-title,.nav-dropdown>.nav-group-title:first-child{border-top:none}body{padding-bottom:47px;padding-bottom:calc(47px + env(safe-area-inset-bottom))}:root .calendar-fab,:root .selection-bar{bottom:61px;bottom:calc(61px + env(safe-area-inset-bottom))}}.welcome-heading{overflow-wrap:anywhere}.signed-in-as{color:var(--text);opacity:.8;overflow-wrap:anywhere;margin:0 0 20px;font-size:14px}.signed-in-as strong{font-weight:600}.nav-dropdown-identity{border-bottom:1px solid var(--border);max-width:260px;margin:0;padding:10px 16px}.name-placeholder{opacity:.18;background:currentColor;border-radius:4px;width:8ch;height:.72em;animation:1.4s ease-in-out infinite name-placeholder-pulse;display:inline-block}@keyframes name-placeholder-pulse{0%,to{opacity:.14}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.name-placeholder{animation:none}}@media (width<=560px){.welcome-heading{font-size:24px}}.page{max-width:960px;margin:0 auto;padding:24px}.page.home-page{max-width:1120px}.page-header.home-greeting{flex-flow:wrap;justify-content:flex-start;align-items:baseline;gap:2px 14px;margin-bottom:12px}.home-greeting h1{margin:0}.home-date{color:var(--text);margin:0;font-size:15px}.home-layout{flex-direction:column;gap:20px;display:flex}.home-side:empty{display:none}.home-side{flex-direction:column;gap:16px;display:flex}@media (width>=900px){.home-layout:has(>.home-side:not(:empty)){grid-template:"write write""priority side""notes side"1fr/minmax(0,1fr) minmax(280px,340px);align-items:start;gap:20px 28px;display:grid}.home-layout:has(>.home-side:not(:empty))>.home-write{grid-area:write}.home-layout:has(>.home-side:not(:empty))>.home-priority{grid-area:priority}.home-layout:has(>.home-side:not(:empty))>.home-side{grid-area:side}.home-layout:has(>.home-side:not(:empty))>.home-notes{grid-area:notes}}.home-card{border:1px solid var(--border);background:var(--bg-alt);border-radius:12px;padding:10px 0 4px;overflow:hidden}.home-card .home-card-title{color:var(--text-h);margin:0 0 4px;padding:0 14px;font-size:16px}.card-list{margin:0;padding:0;list-style:none}.card-list>li+li{border-top:1px solid var(--border)}.card-row{min-height:52px;color:var(--text);border:none;border-radius:0;align-items:center;gap:12px;padding:10px 14px;font-size:15px;line-height:1.35;text-decoration:none;display:flex}.card-row:hover{background:var(--surface);color:var(--text)}.card-row:hover strong{text-decoration:underline}.card-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.card-row-words{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.card-row-words strong{color:var(--text-h);overflow-wrap:anywhere}.card-row-sub{color:var(--text);opacity:.8;overflow-wrap:anywhere;font-size:13px}.card-row-go{color:var(--accent);flex:none;font-size:22px;line-height:1}.card-row-failed{margin:0;padding:6px 14px 10px}.attention-dot{background:var(--warn);border-radius:50%;flex:none;width:9px;height:9px}.today-time{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.today-status{font-weight:400}.today-more{width:fit-content;margin:6px 14px 8px;display:block}.home-write{border:1px solid var(--border);background:var(--bg-alt);border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.home-write .talk-hero{background:0 0;border:none;border-radius:0;padding:0}.home-write .notes-add,.home-write .notes-add-open{background:0 0;border:none;margin:0;padding:0}.notes-add-label{color:var(--text);margin:0 0 4px;font-size:13px;display:block}.talk-hero-close{justify-content:flex-end;display:flex}.home-priority .notes-group-priority>.collapsible-summary .collapsible-heading{margin:0}.home-card-waiting{min-height:96px}.card-row-checking{color:var(--text);opacity:.8;margin:0;padding:10px 14px;font-size:14px}.card-row-items{flex-direction:column;gap:2px;margin:-6px 0 6px;padding:0 14px 0 35px;list-style:none;display:flex}a.card-row-item{min-height:44px;color:var(--text);border:none;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px;font-size:14px;line-height:1.3;text-decoration:none;display:flex}a.card-row-item:hover{background:var(--surface);color:var(--text)}a.card-row-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.card-row-item-title{color:var(--accent);overflow-wrap:anywhere;font-weight:600}.attention-more{width:fit-content;margin:6px 14px 8px;display:block}.collapsible-badge{background:var(--accent);color:var(--accent-text);border-radius:999px;padding:0 8px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}.notes-empty-categories{margin:8px 0 0}.notes-empty-categories>summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;list-style:none;display:flex}.notes-empty-categories>summary::-webkit-details-marker{display:none}.notes-empty-categories>summary::marker{content:""}.notes-empty-categories[open]>summary .collapsible-chevron{transform:rotate(90deg)}.notes-empty-categories>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notes-empty-about{margin:0 0 8px;padding-left:20px}.notes-search{margin:0 0 12px}.notes-search input[type=search]{width:100%;max-width:420px;min-height:44px}.notes-search-results>p{margin:0 0 8px}.notes-search-heading{color:var(--text-h);margin:16px 0 6px;font-size:15px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.muted{color:var(--text);opacity:.65;font-size:14px}.small{font-size:12px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error{color:var(--error);font-size:14px}.finalize-blockers{border:1px solid var(--error);border-radius:6px;margin:16px 0;padding:12px 12px 12px 0}.finalize-blockers p{margin:0 0 8px 12px;font-weight:600}.finalize-blockers ul{margin:0;padding-left:32px}.finalize-blockers li{margin-bottom:6px}.finalize-blockers li:last-child{margin-bottom:0}.dns-chip{border:1px solid var(--error);color:var(--error);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.dns-banner{border:1px solid var(--error);border-radius:6px;margin:16px 0;padding:12px}.dns-banner>strong{color:var(--error);text-transform:uppercase;letter-spacing:.02em;font-size:13px}.dns-reason,.dns-banner p{margin:6px 0 0}.dns-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.dns-form{border:1px solid var(--border);border-radius:6px;max-width:560px;margin:16px 0;padding:12px}.dns-form input{width:100%}.dns-offer{margin:16px 0}.list-filter{flex-wrap:wrap;gap:8px;margin:12px 0 0;display:flex}.list-filter button{background:var(--surface);color:var(--accent);border:1px solid var(--accent);padding:6px 12px;font-size:14px}.list-filter button:hover{background:var(--bg-alt)}.list-filter button.active{background:var(--accent);color:var(--accent-text);font-weight:600}.list-filter button.active:hover{background:var(--accent-hover)}@media (width<=560px){.list-filter button{align-items:center;min-height:44px;display:inline-flex}}.dupe-warning{border:1px solid var(--accent);background:var(--bg-alt);border-radius:6px;max-width:640px;margin:16px 0;padding:12px}.dupe-heading{margin:0 0 10px;font-weight:600}.dupe-list{margin:0;padding:0;list-style:none}.dupe-list li{border-top:1px solid var(--border);padding:10px 0}.dupe-list li:first-child{border-top:none;padding-top:0}.dupe-name{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dupe-signals{color:var(--accent);margin-top:4px}.dupe-row-actions{margin-top:8px}.dupe-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.status{background:var(--bg-alt);border-radius:6px;padding:8px 12px;font-size:14px}.search{width:100%;margin:12px 0}.inline-form{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.inline-form input{flex:1;min-width:120px}.form-row{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.form-row label{flex:200px;min-width:0}.customer-search-row{align-items:stretch;gap:6px;display:flex}.customer-search-row input{flex:auto;min-width:0}.customer-add-btn{background:var(--surface);color:var(--accent);border:1px solid var(--border);white-space:nowrap;flex:none;padding:8px 12px}.customer-add-btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg-alt)}.quick-add-row{flex:0 0 100%;margin-top:-12px}.address-picker{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.form-row .address-picker{flex:200px}.address-picker label,.form-row .address-picker label{flex:none;align-self:stretch}.permission-list{margin:0;padding:0;list-style:none}.permission-list li{margin-bottom:8px}.permission-list label{cursor:pointer;flex-direction:row;align-items:center;gap:8px;display:flex}.permission-list input[type=checkbox]{margin:0}.permission-list p{margin:2px 0 0 24px}.permission-groups{margin-top:4px}.permission-group+.permission-group{border-top:1px solid var(--border)}.permission-group>.collapsible-summary{padding:6px 0}.permission-group>.collapsible-summary .collapsible-heading{font-size:16px}.permission-group>.collapsible-body{padding:2px 0 8px}.permission-kind{border:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--text);vertical-align:middle;border-radius:4px;flex:none;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;line-height:1.6;display:inline-block}.calendar-view-switch{justify-content:center;gap:8px;margin-bottom:12px;display:flex}.calendar-nav{justify-content:center;align-items:center;gap:16px;margin-bottom:16px;display:flex}.calendar-header-row{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:4px;display:grid}.calendar-header-cell{text-align:center;color:var(--text-h);padding:4px;font-size:12px;font-weight:600}.calendar-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow-x:auto}.calendar-cell{background:var(--surface);min-width:0;min-height:90px;padding:4px}.calendar-cell.other-month{opacity:.45}.calendar-cell.today{outline:2px solid var(--accent);outline-offset:-2px}.calendar-day-number{margin-bottom:4px;font-size:12px;font-weight:600}.calendar-chip{width:100%;font:inherit;text-align:left;background:var(--cal-c1);color:var(--cal-block-ink);text-shadow:var(--cal-halo-r) 0 0 var(--cal-block-halo), calc(var(--cal-halo-r) * -1) 0 0 var(--cal-block-halo), 0 var(--cal-halo-r) 0 var(--cal-block-halo), 0 calc(var(--cal-halo-r) * -1) 0 var(--cal-block-halo), var(--cal-halo-d) var(--cal-halo-d) 0 var(--cal-block-halo), var(--cal-halo-d) calc(var(--cal-halo-d) * -1) 0 var(--cal-block-halo), calc(var(--cal-halo-d) * -1) var(--cal-halo-d) 0 var(--cal-block-halo), calc(var(--cal-halo-d) * -1) calc(var(--cal-halo-d) * -1) 0 var(--cal-block-halo);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:none;border-radius:4px;margin-bottom:2px;padding:2px 4px;font-size:11px;text-decoration:none;display:block;position:relative;overflow:hidden}.calendar-chip:hover{filter:brightness(1.08)}.calendar-chip-info{cursor:inherit;-webkit-user-select:none;user-select:none}.calendar-chip-info:hover{filter:none}.calendar-chip-time{margin-left:5px;font-weight:600}.calendar-chip.cancelled,.time-block.cancelled{opacity:.5;text-decoration:line-through}.calendar-ongoing{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:10px 12px}.calendar-ongoing-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.calendar-ongoing-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);overflow-wrap:anywhere;border-radius:6px;flex-direction:column;gap:1px;max-width:100%;padding:6px 10px;font-size:13px;text-decoration:none;display:flex}.calendar-ongoing-chip:hover{border-color:var(--accent);background:var(--bg-alt)}.appointment-details{flex-direction:column;gap:6px;margin:10px 0;display:flex}.appointment-details p{margin:0}.visit-detail-where{overflow-wrap:anywhere;margin:0;font-size:14px}.ongoing-control{flex-direction:column;align-items:flex-start;gap:6px;margin:10px 0;display:flex}.ongoing-control p{margin:0}.ongoing-chip{border:1px solid var(--accent);background:var(--bg-alt);color:var(--accent);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.work-finished-control{flex-direction:column;align-items:flex-start;gap:6px;margin:10px 0;display:flex}.work-finished-control p{margin:0}.finished-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.nothing-billed-ask{border:1px solid var(--border);background:var(--bg-alt);border-radius:6px;align-self:stretch;padding:10px 12px}.nothing-billed-ask p{margin:0 0 8px}.calendar-key{flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-bottom:12px;font-size:12px;display:flex}.calendar-key-item{align-items:center;gap:5px;display:inline-flex}.calendar-key-dot{border-radius:3px;flex:none;width:11px;height:11px;display:inline-block}.employee-calendar-controls{flex-direction:column;gap:10px;display:flex}.color-choice{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.color-swatch:hover:not(:disabled){border-color:var(--accent);background:var(--bg)}.color-swatch.chosen{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.color-swatch.taken{opacity:.45;cursor:not-allowed;text-decoration:line-through}.color-swatch .calendar-key-dot{flex:none;text-decoration:none}.color-custom{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.color-custom input[type=color]{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;width:44px;height:30px;padding:2px}.color-custom input[type=text]{width:10ch;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.employee-schedulable{flex-direction:row;align-items:center;gap:6px;font-size:13px;font-weight:400;display:flex}.employee-colour-roster{flex-direction:column;gap:12px;margin:12px 0 0;padding:0;list-style:none;display:flex}.employee-colour-roster>li{border:1px solid var(--border);border-radius:6px;padding:10px}.employee-colour-name{margin-bottom:6px;font-weight:600}.time-grid{--time-gutter:56px;border:1px solid var(--border);isolation:isolate;border-radius:8px;height:655px;overflow:hidden auto}.time-grid.dragging{-webkit-user-select:none;user-select:none}.time-grid-top{z-index:7;position:sticky;top:0}.time-grid-head,.time-grid-allday,.time-grid-body{display:flex}.time-grid-days,.all-day-days,.time-cols{flex:1 1 0;min-width:0}.time-grid-days,.all-day-days{display:grid}.time-gutter-cell,.time-gutter{flex:0 0 var(--time-gutter);border-right:1px solid var(--border);position:sticky;left:0}.time-grid-head{background:var(--bg-alt);border-bottom:1px solid var(--border)}.time-grid-day{border:none;border-left:1px solid var(--border);min-width:0;color:var(--text);cursor:pointer;background:0 0;border-radius:0;flex-direction:column;align-items:center;gap:0;padding:6px 2px;display:flex}.time-grid-day:hover{background:var(--surface)}.time-grid-dow{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.time-grid-dom{color:var(--text-h);font-size:18px;font-weight:600}.time-grid-day.today .time-grid-dom{background:var(--accent);color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.time-grid-allday{background:var(--bg-alt);border-bottom:1px solid var(--border);min-height:34px}.all-day-days{max-height:96px;overflow-y:auto}.all-day-cell{border-left:1px solid var(--border);min-width:0;padding:3px}.all-day-cell.clickable{cursor:pointer}.time-gutter-cell{z-index:1;background:var(--bg-alt)}.all-day-label{text-align:right;padding:4px 6px 0 0;font-size:11px}.all-day-label-text{opacity:.7}.time-gutter{z-index:6;background:var(--bg)}.time-gutter-hour{opacity:.7;white-space:nowrap;font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.time-cols{background-image:repeating-linear-gradient(to bottom, var(--border) 0, var(--border) 1px, transparent 1px, transparent var(--time-hour-px));display:grid;position:relative}.time-col{border-left:1px solid var(--border);touch-action:pan-y;min-width:0;position:relative}.time-col.today{background:var(--bg-alt)}.time-now{background:var(--error);height:2px;box-shadow:0 0 0 1px var(--bg);z-index:3;pointer-events:none;position:absolute;left:0;right:0}.time-block{color:var(--cal-block-ink);text-shadow:var(--cal-halo-r) 0 0 var(--cal-block-halo), calc(var(--cal-halo-r) * -1) 0 0 var(--cal-block-halo), 0 var(--cal-halo-r) 0 var(--cal-block-halo), 0 calc(var(--cal-halo-r) * -1) 0 var(--cal-block-halo), var(--cal-halo-d) var(--cal-halo-d) 0 var(--cal-block-halo), var(--cal-halo-d) calc(var(--cal-halo-d) * -1) 0 var(--cal-block-halo), calc(var(--cal-halo-d) * -1) var(--cal-halo-d) 0 var(--cal-block-halo), calc(var(--cal-halo-d) * -1) calc(var(--cal-halo-d) * -1) 0 var(--cal-block-halo);background:var(--cal-c1);z-index:2;border-radius:5px;flex-direction:column;padding:2px 5px;font-size:11px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.time-block.draggable{cursor:grab}.time-block.dragging{cursor:grabbing;opacity:.85;z-index:5;box-shadow:0 6px 18px #00000059}.time-block.unassigned{background:var(--cal-unassigned)}.visit-outline{border:2px solid var(--cal-block-line);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.visit-fill{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.visit-fill.stripes{display:flex}.visit-fill-stripe{flex:1;position:relative}.visit-fill-away{opacity:.17;position:absolute;inset:0}.visit-fill-here,.visit-fill-segment{position:absolute;left:0;right:0}.visit-fill-segment+.visit-fill-segment{box-shadow:0 -2px 0 0 var(--cal-block-line)}.visit-fill-line{background:var(--cal-block-line);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:0}.time-block.draft{background:var(--surface);border:2px dashed var(--accent);color:var(--text-h);text-shadow:none;z-index:4}.time-block-body{pointer-events:none;z-index:1;text-align:center;min-height:0;position:relative;overflow:hidden}.time-block-time-inline{font-weight:700}.time-block-title,.time-block-company,.time-block-job,.time-block-time{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.time-block-title{font-weight:700}.time-block-time{opacity:.9}.time-block-handle{cursor:ns-resize;height:7px;position:absolute;left:0;right:0}.time-block-handle.top{top:0}.time-block-handle.bottom{bottom:0}.crew-hours-choice{background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;margin:4px 0 2px 18px;padding:8px 10px;display:flex}.crew-hours-who{margin:0;font-size:13px}.crew-hours-options{flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}.crew-hours-options label{cursor:pointer;align-items:center;gap:6px;margin:0;display:flex}.crew-hours-options input{width:16px;height:16px;margin:0}.crew-hours-note{margin:0}.crew-hours-fields{flex-wrap:wrap;gap:8px;display:flex}.crew-hours-fields label{flex-direction:column;gap:2px;margin:0;font-size:12px;display:flex}.crew-hours-fields .time-field{min-width:96px;padding:5px 10px;font-size:13px}.calendar-ongoing-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;padding:0;display:flex}.calendar-ongoing-toggle:hover strong{color:var(--accent)}.calendar-ongoing-toggle+.calendar-ongoing-list{margin-top:8px}.conflict-trim-note{display:block}.visit-detail-crew-add{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.visit-detail-crew-add label{color:var(--text);opacity:.7;align-items:center;gap:6px;font-size:12px;display:flex}.visit-detail-crew-add select{font-size:13px}.visit-detail-crew-add .error{flex-basis:100%;margin:0}.visit-detail-move{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.visit-detail-move label{font-size:12px}.day-nudge{align-items:center;gap:4px;display:flex}.day-nudge button{flex:none;padding:4px 8px;line-height:1.2}.calendar-breadcrumb{justify-content:center;margin-bottom:8px;display:flex}.calendar-fab{z-index:30;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;padding:0;font-size:30px;line-height:1;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 18px #0000004d}.selection-bar{background:var(--surface);border:1px solid var(--border);z-index:30;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0000004d}.calendar-chip.picked,.time-block.picked{outline:3px solid var(--text-h);outline-offset:-1px;filter:brightness(1.12)}.browse-box{flex-direction:column;max-width:460px;max-height:80vh;display:flex}.browse-title{font-size:18px;font-weight:600;margin:0 0 4px!important}.browse-filter{margin:8px 0}.browse-jump{flex-wrap:wrap;gap:2px;margin-bottom:8px;display:flex}.browse-jump button{background:var(--bg-alt);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-size:12px}.browse-jump button:hover{background:var(--accent);color:var(--accent-text)}.browse-list{border:1px solid var(--border);border-radius:6px;min-height:0;margin:0 0 12px;padding:0;list-style:none;overflow-y:auto}.browse-list li+li{border-top:1px solid var(--border)}.browse-list button{text-align:left;background:var(--surface);width:100%;color:var(--text);border:none;border-radius:0;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;display:flex}.browse-list button:hover{background:var(--bg-alt)}.browse-primary{color:var(--text-h);font-weight:600}.browse-secondary{opacity:.75;font-size:12px}.time-field{background:var(--surface);color:var(--text-h);border:1px solid var(--border);text-align:left;border-radius:6px;min-width:108px;padding:7px 12px;font-size:14px}.time-field:hover{border-color:var(--accent);background:var(--bg-alt)}.time-dial{max-width:340px}.time-dial-label{opacity:.8;font-size:13px;margin:0 0 6px!important}.time-dial-readout{align-items:center;gap:4px;margin-bottom:14px;display:flex}.time-dial-part{background:var(--bg-alt);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 12px;font-size:26px;line-height:1.15}.time-dial-part.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.time-dial-colon{color:var(--text-h);font-size:26px}.time-dial-meridiem{flex-direction:column;gap:2px;margin-left:8px;display:flex}.time-dial-meridiem .time-dial-part{padding:2px 10px;font-size:13px}.time-dial-face{aspect-ratio:1;background:var(--bg-alt);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:100%;max-width:260px;margin:0 auto 14px;position:relative}.time-dial-hand{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.time-dial-hand line{stroke:var(--accent);stroke-width:1.5px}.time-dial-hand circle{fill:var(--accent)}.time-dial-stop{width:40px;height:40px;color:var(--text-h);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:15px;display:flex;position:absolute;transform:translate(-50%,-50%)}.time-dial-stop:hover{background:var(--border)}.time-dial-stop.active,.time-dial-stop.active:hover{color:var(--accent-text);background:0 0;font-weight:700}.time-dial-typed{margin-bottom:14px}.time-dial-actions{justify-content:flex-end}@media (width<=560px){.calendar-fab{bottom:14px;right:14px}.selection-bar{gap:8px;padding:8px 12px;bottom:14px}.selection-bar .muted{display:none}.browse-box{max-height:88vh}.time-dial-face{max-width:230px}.time-grid{--time-gutter:42px;height:511px;overflow-x:auto}.time-grid-top,.time-grid-body{min-width:520px}.time-grid:not(.single-day) .time-col{touch-action:pan-x pan-y}.time-grid.single-day .time-grid-top,.time-grid.single-day .time-grid-body{min-width:0}.time-grid-dom{font-size:15px}.time-grid-day.today .time-grid-dom{width:24px;height:24px}.visit-detail-move{flex-direction:column;gap:6px}}.scheduler-booked{max-width:960px;color:var(--text);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 auto 8px;display:flex}.all-day-toggle{white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-size:13px;font-weight:400;display:flex}.conflict-list{margin:0 0 16px;padding-left:20px}.conflict-list li{margin-bottom:8px;font-size:14px}.conflict-actions{justify-content:flex-end}.modal-box .conflict-actions+.muted{text-align:right;margin:10px 0 0}.job-scheduler-cell{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:none;flex-direction:column;align-items:flex-start;margin:0;display:flex}.job-card-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.job-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.stale-notice{background:var(--bg-alt);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;flex-direction:column;gap:4px;margin:0 0 16px;padding:10px 12px;display:flex}.stale-notice-old{border-color:var(--error);border-left-color:var(--error)}.stale-notice-old strong{color:var(--error)}.stale-notice .actions{margin-top:4px}@media (width<=560px){.table-stacked,.table-stacked tbody,.table-stacked tr,.table-stacked td{width:auto;display:block}.table-stacked thead{display:none}.table-stacked tbody tr{border-bottom:1px solid var(--border);padding:10px 0 12px}.table-stacked td{overflow-wrap:anywhere;border-bottom:0;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:3px 2px;display:flex}.table.table-stacked td:nth-child(2),.table.table-stacked td:nth-child(3),.table.table-stacked td:nth-child(5){white-space:normal;min-width:0;max-width:none}.table-stacked td:before{content:attr(data-label);color:var(--text);opacity:.7;flex:none;min-width:8.5em;font-size:12px}.table-stacked td:not([data-label]):before{content:none}.table-stacked td:not([data-label]){justify-content:flex-start}.table-stacked td.stacked-lead{padding-top:2px;padding-bottom:6px;font-size:15px}.table-wrapper:has(.table-stacked){overflow-x:visible}}.table-wrapper{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px;font-size:14px}.table th{color:var(--text-h);background:var(--surface);z-index:1;padding:0;font-weight:600;position:sticky;top:0}.co-edit-row input[type=number]{width:90px}.co-edit-row td:first-child input{width:100%;min-width:140px}.co-edit-row select{max-width:190px}.change-order-actions{white-space:nowrap}.co-approval-cell>span{display:block}.co-approval-cell>*{max-width:210px}.co-approval-cell>button{margin-top:4px}.co-approved-customer{color:var(--ok);font-weight:600}.co-approved-pro{font-weight:600}.co-not-approved{color:var(--error);font-weight:600}.co-approval-note{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;width:210px;font-style:italic;display:-webkit-box;overflow:hidden}.co-billing-cell{min-width:118px}.co-approval-row>td{background:var(--bg-alt)}.co-approval-panel{flex-wrap:wrap;align-items:flex-start;gap:24px;padding:4px 0 8px;display:flex}.co-approval-panel>div{flex:1;min-width:280px}.co-approval-panel h4{margin:0 0 4px}.co-approval-panel textarea{width:100%;min-height:52px}.co-approval-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}@media (width<=560px){.co-approval-panel{flex-direction:column;gap:14px}.co-approval-panel>div{width:100%;min-width:0;max-width:290px}.co-approval-panel .share-link-input{min-width:150px}}.unapproved-change-orders{border:1px solid var(--error);border-radius:8px;margin:16px 0;padding:8px 12px}.unapproved-change-orders>p:first-child{margin-top:4px}.statement-table{table-layout:fixed;max-width:480px}.statement-table th{padding:8px 10px}.statement-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.statement-table .statement-rule td{border-top:1px solid var(--border)}.highlight-row,.highlight-row td{animation:2s ease-out highlight-fade}@keyframes highlight-fade{0%{background:var(--flash)}to{background:0 0}}.qty-input{width:70px}.line-description-input{width:100%;min-width:140px}.unit-input{width:58px}.price-cell{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.price-input-wrap{align-items:center;gap:3px;display:flex}.price-prefix{opacity:.65}.price-input{width:76px}.price-catalog-note{color:var(--text);opacity:.7;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:12px;line-height:1.3}.price-catalog-note:hover{opacity:1;background:0 0;text-decoration:underline}@media (width<=560px){.line-description-input{min-width:110px}}.labor-description-input{width:160px}.one-off-part-number-input{width:120px}.one-off-description-input{width:220px}.one-off-part-form{margin-bottom:12px}.one-off-part-form .inline-form{margin-bottom:0}.one-off-line-row td{background:var(--bg-alt)}.nickname-tags{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.tag{background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 6px;font-size:12px;display:inline-flex}.tag-display{border-color:var(--accent)}.stock-low{color:var(--error);font-weight:600}.part-discontinued{border:1px solid var(--warn);color:var(--warn);white-space:nowrap;vertical-align:middle;border-radius:999px;padding:0 6px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block;position:relative}.parts-find{margin:4px 0 0}.parts-find label{color:var(--text-h);font-weight:600;display:block}.parts-find .search{margin:6px 0 4px}.parts-find-note{margin:0 0 20px}@media (width>=700px){.parts-find{top:var(--app-header-height,0px);z-index:11;background:var(--bg);box-shadow:0 1px 0 var(--border);align-items:center;gap:12px;margin:4px 0 6px;padding:8px 0;display:flex;position:sticky}:root[data-header=hidden] .parts-find{top:0}.parts-find label{flex:none}.parts-find .search{flex:1;min-width:0;margin:0}}.custom-part-form label{flex-direction:column;flex:140px;gap:4px;font-size:13px;display:flex}.custom-part-form label input{width:100%;min-width:0}.custom-part-form .custom-part-wide{flex:2 240px}.custom-part-actions{align-items:flex-end;gap:8px;display:flex}.address-list{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.address-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.address-card>div{flex:1}.address-toggle{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:1;margin:0;padding:0;display:block}.address-add-row{flex-wrap:wrap;gap:8px;display:flex}.address-add-row input{flex:1;min-width:100px}.address-add-form{align-items:flex-start;margin-top:12px}.address-add-form .address-autocomplete{flex:2;min-width:220px}.building-sketch{margin-top:8px}.building-sketch img{border:1px solid var(--border);border-radius:6px;max-width:100%;height:auto;margin-top:6px;display:block}.sketch-actions{gap:12px;margin-top:6px;display:flex}.property-data-note{margin-top:2px;font-style:italic}.tag-star{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.link-btn.small{font-size:12px}.tag-remove{color:var(--text);opacity:.6;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.tag-remove:hover{opacity:1}.tag-remove{position:relative}.tag-remove:after{content:"";position:absolute;inset:-15px -15px -15px 0}.nickname-input{width:240px;font-size:13px}.pay-rate-input{width:90px;font-size:13px}.pay-rates-now{margin:8px 0 12px}.pay-rates h4{margin:12px 0 6px;font-size:14px}.pay-rates-change{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.pay-rates-change h4,.pay-rates-change p{flex-basis:100%;margin-bottom:0}.pay-rates-field{align-items:center;gap:6px;display:inline-flex}.pay-rates-start{flex-direction:column;gap:4px;display:flex}.pay-rates-start label{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.pay-rates .table-wrapper{position:relative}.pay-rates-history td:last-child{text-align:right}.nickname-panel{padding:8px 4px}.nickname-add-row{align-items:center;gap:8px;display:flex}.new-estimate-page{max-width:1200px}.builder-bar{top:var(--app-header-height,0px);z-index:12;border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-direction:column;gap:8px;margin:0 0 16px;padding:8px 12px;display:flex;position:sticky}:root[data-header=hidden] .builder-bar{top:0}.builder-bar-top{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.builder-bar-who{flex-direction:column;flex:180px;min-width:0;line-height:1.25;display:flex}.builder-bar-name,.builder-bar-customer{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.builder-bar-name{color:var(--text-h);font-size:15px}.builder-bar-unnamed,.builder-bar-customer{color:var(--text);opacity:.7;font-weight:400}.builder-bar-customer{font-size:12px}.builder-bar-do{flex:none;align-items:center;gap:10px;display:flex}.builder-bar-total{color:var(--text);text-align:right;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:flex-end;gap:0;padding:2px 4px;line-height:1.2;display:flex}.builder-bar-total:hover:not(:disabled){background:var(--surface);border-color:var(--border)}.builder-bar-total:disabled{opacity:1;cursor:default}.builder-bar-total-label{text-transform:uppercase;letter-spacing:.06em;opacity:.7;font-size:11px}.builder-bar-total-figure{color:var(--text-h);white-space:nowrap;font-size:17px;font-weight:600}.builder-stops{scrollbar-width:thin;gap:6px;display:flex;position:relative;overflow:auto hidden}.builder-stop{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--accent);white-space:nowrap;border-radius:999px;flex:none;padding:4px 12px;font-size:13px}.builder-stop:hover,.builder-stop.is-here{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.builder-section+.builder-section{border-top:1px solid var(--border);margin-top:16px;padding-top:8px}@media (width<=560px){.builder-bar{gap:6px;padding:6px 8px}.builder-bar-who{flex:100%}.builder-bar-do{flex:100%;justify-content:space-between}.builder-stop{min-height:36px}}.builder-columns.has-theo{flex-direction:column;display:flex}.builder-columns.has-theo>.builder-main{display:contents}.builder-columns.has-theo>.builder-main>*{order:3}.builder-columns.has-theo>.builder-main>.builder-first{order:1}.builder-columns.has-theo>.builder-theo{border-top:1px solid var(--border);order:2;min-width:0;margin-top:16px;padding-top:8px}.builder-theo-section{flex-direction:column;gap:8px;display:flex}.builder-theo-section>.error{margin:0}.builder-tabs{display:none}.builder-applied-note{background:var(--flash);color:var(--text-h);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;font-size:14px;display:flex}.builder-applied-note>span{flex:160px;min-width:0}.builder-applied-see{background:var(--surface);border:1px solid var(--accent);color:var(--accent);padding:4px 12px;font-size:13px;font-weight:600}.builder-applied-see:hover{background:var(--accent);color:var(--accent-text)}.builder-applied-dismiss{color:var(--text-h);background:0 0;border:none;padding:2px 8px;font-size:13px}.builder-applied-dismiss:hover{background:var(--surface)}.builder-bar-preview{background:var(--surface);border-color:var(--border);color:var(--accent)}.builder-bar-preview:hover:not(:disabled){background:var(--bg-alt);border-color:var(--accent)}.line-marked-a,.line-marked-a td{animation:6s ease-out line-marked-a}.line-marked-b,.line-marked-b td{animation:6s ease-out line-marked-b}@keyframes line-marked-a{0%,70%{background:var(--flash)}to{background:0 0}}@keyframes line-marked-b{0%,70%{background:var(--flash)}to{background:0 0}}.parts-actions{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.parts-quick{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.parts-quick:hover{background:var(--bg-alt)}.parts-quick.active,.parts-quick.active:hover{background:var(--accent);color:var(--accent-text)}.parts-quick-list{background:var(--surface);border:1px solid var(--border);border-radius:6px;max-height:320px;margin-bottom:12px;padding:8px 10px;overflow-y:auto}.labor-rate-kind{margin-top:4px;padding:2px 6px;font-size:12px;display:block}.labor-rate-kind.is-after-hours{border-color:var(--accent);color:var(--text-h);font-weight:600}.table.labor-table th:nth-child(2),.table.labor-table td:nth-child(2),.table.labor-table th:nth-child(3),.table.labor-table td:nth-child(3){min-width:0;max-width:none}.table.labor-table th:nth-child(5),.table.labor-table td:nth-child(5){white-space:normal;min-width:0}.table.labor-table td:first-child{min-width:180px}.labor-table .labor-description-input{width:100%;min-width:160px}.price-summary{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.price-summary-figures{flex-direction:column;gap:6px;display:flex}.price-row{color:var(--text);justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;display:flex}.price-row-label{min-width:0}.price-row strong{color:var(--text-h);font-variant-numeric:tabular-nums;white-space:nowrap}.price-row-total{border-top:2px solid var(--text-h);color:var(--text-h);margin-top:2px;padding-top:8px;font-size:19px;font-weight:700}.price-chip{border:1px solid var(--accent);background:var(--surface);min-height:30px;color:var(--accent);border-radius:999px;align-items:center;padding:2px 12px;font-size:13px;line-height:1.3;display:inline-flex}.price-chip:hover:not(:disabled),.price-chip[aria-expanded=true]{background:var(--accent);color:var(--accent-text)}.price-chip-editor{color:var(--text-h);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0 4px;font-size:14px;display:flex}.price-chip-editor .tax-applies-to{margin-left:0}.price-extras{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.price-full-toggle{margin-left:auto}.price-extra{border-top:1px solid var(--border);padding-top:8px}.price-extra .round-toggle{margin:0}.builder-more{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:12px;display:flex}.builder-more+.template-bar{margin-top:8px}.customer-field.customer-picked{flex-direction:column;flex:200px;gap:4px;min-width:0;display:flex}.customer-field-label{color:var(--text-h);font-size:14px}.customer-picked-row{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;min-height:40px;padding:4px 6px 4px 10px;display:flex}.customer-picked-name{overflow-wrap:anywhere;min-width:0;color:var(--text-h);flex:auto}.customer-unlinked{border-left:3px solid var(--accent);background:var(--bg-alt);color:var(--text);border-radius:0 6px 6px 0;padding:6px 10px;font-size:13px}.search-results li.customer-result-row{padding:0}.search-results li.customer-result-row:hover{background:0 0}.customer-result{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:0;padding:8px 10px;font-size:14px;display:block}.customer-result:hover,.customer-result:focus-visible{background:var(--bg-alt)}.customer-result strong{color:var(--text-h)}@media (width<=800px){.builder-columns.has-theo,.builder-columns.has-theo>.builder-main{display:block}.builder-columns.has-theo>.builder-theo{border-top:none;margin-top:0;padding-top:0}.builder-layout[data-tab=estimate] .builder-theo,.builder-layout[data-tab=theo] .builder-main{display:none}.builder-tabs{border:1px solid var(--accent);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.builder-bar.has-tabs .builder-stops{display:none}.builder-tab{background:var(--surface);min-height:44px;color:var(--accent);border:none;border-radius:0;padding:6px 10px;font-size:15px}.builder-tab:hover{background:var(--bg-alt)}.builder-tab[aria-selected=true],.builder-tab[aria-selected=true]:hover{background:var(--accent);color:var(--accent-text);font-weight:600}.builder-tab-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.builder-theo .ai-chat-thread{max-height:min(55vh,520px)}}@media (width<=560px){.builder-bar-preview{display:none}.parts-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.parts-actions button,.price-chip,.builder-applied-see,.builder-applied-dismiss,.customer-change-btn{min-height:44px}.labor-table,.labor-table tbody,.labor-table tfoot,.labor-table td,.labor-table th{display:block}.labor-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.labor-table tbody tr,.labor-table tfoot tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:6px 10px;padding:10px 0;display:grid}.labor-table td,.labor-table th{border:none;padding:0}.labor-table tbody td:first-child{grid-column:1/-1}.labor-table .labor-description-input,.labor-table .qty-input,.labor-table .labor-rate-kind{width:100%;min-height:44px}.labor-table tbody td:last-child{justify-self:end}.labor-table tbody td:last-child .link-btn{min-height:44px}.labor-table tfoot tr{justify-content:space-between;display:flex}.labor-table tfoot th:empty{display:none}.labor-table td[data-label]:before{content:attr(data-label);color:var(--text);opacity:.75;margin-bottom:2px;font-size:12px;display:block}}.sidebar-tabs{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.sidebar-tab{background:var(--surface);color:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.sidebar-tab:hover{background:var(--bg-alt)}.sidebar-tab.active{background:var(--accent);color:var(--accent-text);font-weight:600}.sidebar-tab.active:hover{background:var(--accent-hover)}.save-indicator{min-height:1.2em}.page h2{color:var(--text-h);margin:24px 0 8px;font-size:18px}.page h2:first-of-type{margin-top:0}.frequent-parts-list{flex:1;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.frequent-parts-list li{border-bottom:1px solid var(--border);cursor:pointer;padding:8px 6px;font-size:13px}.frequent-parts-list li:hover{background:var(--bg-alt)}.frequent-parts-empty{cursor:default}.frequent-parts-empty:hover{background:0 0}.frequent-part-main{justify-content:space-between;font-weight:600;display:flex}.total-row{justify-content:flex-end;gap:12px;padding:16px 10px;font-size:18px;display:flex}textarea{box-sizing:border-box;max-width:100%}.ai-chat-panel{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px;display:flex}.ai-chat-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:8px;padding-bottom:8px;display:flex}.ai-chat-name{color:var(--text);font-size:14px;font-weight:600}.ai-chat-role{color:var(--text);opacity:.65;font-size:12px}.ai-chat-unsaved{background:var(--bg-alt);color:var(--text);opacity:.85;border-radius:6px;margin:0;padding:8px 10px;font-size:13px;line-height:1.35}.ai-chat-thread{flex-direction:column;gap:10px;max-height:420px;display:flex;overflow-y:auto}.ai-chat-empty{margin:0}.ai-chat-bubble{white-space:pre-wrap;border-radius:10px;max-width:85%;padding:8px 12px;font-size:14px}.ai-chat-bubble.user{background:var(--border);color:var(--text-h);align-self:flex-end}.ai-chat-bubble.assistant{background:var(--bg);border:1px solid var(--border);color:var(--text);align-self:flex-start}.ai-chat-ignored-reference{border-left:3px solid var(--error);background:var(--bg-alt,var(--bg));color:var(--text);align-self:stretch;padding:6px 10px;font-size:13px}.ai-chat-stopped{border-left:3px solid var(--border);background:var(--bg-alt,var(--bg));color:var(--text);align-self:stretch;padding:6px 10px;font-size:13px}.ai-chat-thinking{color:var(--text);font-style:italic}.chat-format>:first-child{margin-top:0}.chat-format>:last-child{margin-bottom:0}.chat-format p{margin:0 0 8px}.chat-format h3,.chat-format h4,.chat-format h5,.chat-format h6{color:var(--text-h);margin:12px 0 4px;font-size:14px;font-weight:600;line-height:1.3}.chat-format h3{font-size:16px}.chat-format h4{font-size:15px}.chat-format ul,.chat-format ol{margin:0 0 8px;padding-left:20px}.chat-format li+li{margin-top:2px}.chat-format li>ul,.chat-format li>ol,.chat-format li>p{margin:2px 0 0}.chat-format-table-wrap{border:1px solid var(--border);border-radius:6px;max-width:100%;margin:0 0 8px;overflow-x:auto}.chat-format-table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:normal;font-size:13px;line-height:1.35}.chat-format-table th,.chat-format-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:4px 8px}.chat-format-table tbody tr:last-child td{border-bottom:none}.chat-format-table th{color:var(--text-h);background:var(--surface);white-space:nowrap;font-weight:600}.chat-format-table .chat-format-right{text-align:right;white-space:nowrap}.chat-format-table .chat-format-center{text-align:center}.chat-format-code{white-space:pre;background:var(--surface);border-radius:6px;margin:0 0 8px;padding:8px 10px;font-size:12px;overflow-x:auto}.chat-format-inline-code{background:var(--surface);border-radius:3px;padding:0 3px;font-size:.92em}.chat-format-rule{border:none;border-top:1px solid var(--border);margin:8px 0}a.chat-format-link{font-size:inherit;line-height:inherit;overflow-wrap:anywhere;border:none;border-radius:0;padding:0;text-decoration:underline;display:inline}a.chat-format-link:hover{color:var(--accent);background:0 0}.chat-format-host{opacity:.65;font-size:12px}.past-chats{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.past-chat{border:1px solid var(--border,#ddd);border-radius:6px;overflow:hidden}.past-chat-header{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.past-chat-header:hover{background:var(--surface-hover,#00000008)}.past-chat-title{font-weight:600}.past-chat-body{border-top:1px solid var(--border,#ddd);flex-direction:column;gap:8px;max-height:420px;padding:12px;display:flex;overflow-y:auto}.draft-chat-name{font-style:italic}.draft-chat-tag{font-style:normal;display:block}.ai-chat-status-line{display:block}.ai-chat-status-line+.ai-chat-status-line{margin-top:2px}.ai-chat-questions ul,.ai-chat-proposal ul{margin:4px 0;padding-left:20px}.ai-chat-questions li,.ai-chat-proposal li{margin-bottom:4px}.ai-chat-proposal-title{color:var(--text-h);margin:0;font-weight:600}.ai-chat-proposal-subtitle{text-transform:uppercase;letter-spacing:.04em;color:var(--text);margin:6px 0 0;font-size:12px}.ai-chat-proposal-removing .ai-chat-proposal-subtitle,.ai-chat-proposal-removing li{color:var(--error)}.ai-chat-proposal button{margin-top:4px}.theo-draft button{margin-top:6px}.theo-draft-review{flex-direction:column;gap:6px;margin-top:6px;display:flex}.theo-draft-lines{grid-template-columns:max-content minmax(0,1fr);gap:2px 12px;margin:0;display:grid}.theo-draft-line{display:contents}.theo-draft-lines dt{color:var(--text);font-size:13px}.theo-draft-lines dd{color:var(--text-h);overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.theo-draft-change{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;margin:4px 0 0;padding:6px 8px}.theo-draft-change-label{color:var(--text);font-size:13px}.theo-draft-warning{border-left:3px solid var(--error);color:var(--text-h);margin:0;padding:6px 8px}.theo-draft-confirmations{flex-direction:column;gap:6px;display:flex}.theo-draft-quote{color:var(--text-h);margin:4px 0 0}.theo-draft-saved-mark{color:var(--ok);margin:4px 0 0;font-weight:600}.theo-parts-lines{flex-direction:column;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.theo-parts-line{border:1px solid var(--border);background:var(--bg);border-radius:6px;padding:6px 8px}.theo-parts-line.is-dropped .theo-parts-said q{color:var(--text);text-decoration:line-through}.theo-parts-said{color:var(--text-h);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.theo-draft .theo-parts-said button{margin-top:0}.theo-parts-fields{flex-wrap:wrap;gap:6px 10px;margin-top:4px;display:flex}.theo-parts-field{flex-direction:column;gap:2px;display:flex}.theo-parts-field input{width:7em}.theo-parts-pick,.theo-parts-what{flex:100%}.theo-parts-pick select,.theo-parts-what input{width:100%;max-width:100%}.modal-box.theo-draft-dialog{max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto}.modal-box.theo-draft-dialog h2{margin:0 0 8px;font-size:18px}.modal-box.theo-draft-dialog .theo-draft-review p{margin:0}.modal-box.theo-draft-dialog{white-space:pre-wrap;font-size:14px}.modal-box.theo-draft-dialog button{margin-top:6px}@media (width<=560px){.theo-draft-lines{grid-template-columns:minmax(0,1fr)}.theo-draft-lines dd{margin-bottom:4px}}.ai-chat-photos{flex-wrap:wrap;justify-content:flex-end;align-self:flex-end;gap:6px;max-width:85%;display:flex}a.ai-chat-photo{border:1px solid var(--border);border-radius:8px;padding:0;line-height:0;display:block;overflow:hidden}a.ai-chat-photo:hover{border-color:var(--accent);background:0 0}.ai-chat-photo img{object-fit:cover;width:104px;height:104px;display:block}.ai-chat-photo-pending{border:1px dashed var(--border);background:var(--surface);width:104px;height:104px;color:var(--text);opacity:.6;border-radius:8px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.ai-chat-staged{flex-wrap:wrap;gap:6px;display:flex}.ai-chat-staged-photo{line-height:0;display:inline-block;position:relative}.ai-chat-staged-photo img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:64px;height:64px;display:block}.ai-chat-staged-remove{border:1px solid var(--border);background:var(--surface);width:22px;min-width:0;height:22px;color:var(--text);cursor:pointer;border-radius:50%;padding:0;font-size:12px;line-height:1;position:absolute;top:-6px;right:-6px}.ai-chat-input-row{align-items:flex-end;gap:8px;display:flex}.ai-chat-input-row>button{min-height:calc(1.5rem + 18px)}.ai-chat-waiting{color:var(--text);opacity:.75;margin:0;font-size:13px;line-height:1.35}.ai-chat-rewind-open{margin-left:auto;padding:3px 9px;font-size:12px;line-height:1.3}.modal-box.ai-chat-rewind{max-width:520px}.ai-chat-rewind-list{flex-direction:column;gap:6px;max-height:44vh;margin:12px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.ai-chat-rewind-list button{text-align:left;width:100%;font:inherit;border:1px solid var(--border);background:var(--bg-alt,var(--bg));color:var(--text);border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.ai-chat-rewind-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.ai-chat-rewind-after{color:var(--text);opacity:.65;font-size:12px}.ai-chat-rewind-blocked{border-left:3px solid var(--border);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.ai-chat-rewind-blocked .ai-chat-rewind-label{opacity:.65}.ai-chat-rewind-why{color:var(--text);opacity:.75;white-space:normal;font-size:12px;line-height:1.35}.ai-chat-attach{flex:none;padding:8px 10px;font-size:15px;line-height:1.2}.ai-chat-input-row textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:none;border-radius:6px;flex:1;min-width:0;max-height:calc(12em + 18px);padding:8px 10px;overflow-y:auto}.ai-chat-stop{background:var(--surface);border:1px solid var(--accent);color:var(--accent)}.ai-chat-stop:hover{background:var(--accent);color:var(--accent-text)}.ai-chat-plan-pages{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:8px;max-width:85%;display:flex}.ai-chat-plan-page{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.ai-chat-plan-page .ai-chat-photos{max-width:100%}.ai-chat-plan-page .ai-chat-photo img{object-fit:contain;background:var(--surface)}.ai-chat-plan-caption{color:var(--text);overflow-wrap:anywhere;text-align:right;font-size:12px}.ai-chat-staged-plan{flex-direction:column;align-items:center;gap:2px;display:inline-flex}.ai-chat-staged-plan img{object-fit:contain;background:var(--surface)}.ai-chat-staged-plan-label{color:var(--text);font-size:11px;line-height:1.2}.modal-box.plan-picker{flex-direction:column;gap:10px;max-width:880px;max-height:calc(100vh - 32px);display:flex;overflow-y:auto}.plan-picker h2{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:18px}.modal-box.plan-picker p{margin:0}.plan-picker-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan-picker-list button{text-align:left;border:1px solid var(--border);background:var(--bg-alt,var(--bg));width:100%;color:var(--text-h);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.plan-picker-name{overflow-wrap:anywhere;font-weight:600}.plan-picker-header{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.plan-picker-pages{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.plan-picker-page{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:6px;display:flex}.plan-picker-page.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-picker-thumb{border:1px solid var(--border);background:var(--bg-alt,var(--bg));cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:110px;padding:0;display:flex;overflow:hidden}.plan-picker-thumb img{width:100%;height:auto;display:block}.plan-picker-tick{color:var(--text-h);align-items:center;gap:6px;font-size:13px;display:flex}.plan-picker-closeups{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;display:grid}.plan-picker-closeups-label{color:var(--text-h);grid-column:1/-1;font-size:12px}.plan-picker-closeups button{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:44px;color:var(--text-h);justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:15px;line-height:1;display:flex}.quarter-square{flex:none;width:22px;height:22px}.plan-picker-closeup-tick{text-align:center;flex:none;width:12px}.plan-picker-closeups button.active{border-color:var(--accent);background:var(--accent);color:var(--accent-text);border-width:2px;padding:5px 3px}.plan-picker-footer{border-top:1px solid var(--border);background:var(--surface);margin:0 -20px -20px;padding:10px 20px 16px;position:sticky;bottom:-20px}.plan-picker-footer .small{color:var(--text-h)}.plan-files{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.plan-file{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 10px;display:flex}.plan-file-main{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-file-name{color:var(--text-h);overflow-wrap:anywhere}.plan-file-actions{align-items:center;gap:8px;display:flex}@media (width<=560px){.plan-picker-pages{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-box.plan-picker{max-height:calc(100vh - 16px)}}.theo-page{max-width:1400px;height:calc(100vh - var(--app-header-height,0px));height:calc(100dvh - var(--app-header-height,0px));flex-direction:column;min-height:480px;padding-top:16px;padding-bottom:16px;display:flex}:root[data-header=hidden] .theo-page{height:100dvh}.page-header.theo-header{flex:none;justify-content:flex-start;align-items:baseline;gap:2px 14px;margin-bottom:12px}.theo-header h1,.theo-intro{margin:0}.theo-layout{flex:auto;align-items:stretch;gap:20px;min-height:0;display:flex}.theo-main{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.theo-page .ai-chat-panel{flex:auto;min-height:0;margin-bottom:0}.theo-page .ai-chat-thread{overscroll-behavior:contain;flex:auto;min-height:0;max-height:none}.theo-rail{overscroll-behavior:contain;flex-direction:column;flex:0 0 clamp(200px,20%,260px);align-items:stretch;gap:10px;min-width:0;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.theo-rail-title{color:var(--text-h);margin:0;font-size:15px}.theo-list-new{align-self:flex-start}.theo-list-group{flex-direction:column;gap:6px;display:flex}.theo-list-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text-h);margin:4px 0 0;font-size:12px;font-weight:700}.theo-chat-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.theo-chat-row{align-items:stretch;min-width:0;display:flex}.theo-chat-list .theo-chat-open{text-align:left;min-width:0;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-right:none;border-radius:6px 0 0 6px;flex-direction:column;flex:auto;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.theo-chat-list .theo-chat-more{min-width:34px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:0 6px 6px 0;flex:none;padding:0 8px;font-size:16px;line-height:1}.theo-chat-list .theo-chat-open:hover,.theo-chat-list .theo-chat-more:hover,.theo-chat-list .theo-chat-more[aria-expanded=true]{background:var(--surface);border-color:var(--accent)}.theo-chat-list li.active .theo-chat-open,.theo-chat-list li.active .theo-chat-more{border-color:var(--accent);color:var(--text-h)}.sheet .theo-chat-list .theo-chat-open,.sheet .theo-chat-list .theo-chat-open:hover,.sheet .theo-chat-list .theo-chat-more,.sheet .theo-chat-list .theo-chat-more:hover{background:var(--bg)}.theo-chat-menu{flex-wrap:wrap;gap:8px;padding:6px 2px 2px;display:flex}.theo-rename{flex-direction:column;align-items:stretch;gap:6px;min-width:0;display:flex}.theo-rename input{min-width:0}.theo-rename-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.theo-rename>.muted,.theo-rename>.error{margin:0}.theo-archived-list li{gap:4px}.theo-archived-list .theo-archived-open{text-align:left;max-width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.theo-archived-list .theo-archived-open:hover .theo-chat-title,.theo-archived-list li.active .theo-chat-title{color:var(--accent)}.theo-unarchive{padding:4px 10px;font-size:13px}.theo-chat-head{flex-wrap:wrap;flex:none;align-items:baseline;gap:4px 12px;min-width:0;margin:0 0 8px;display:flex}.theo-chat-head .theo-rename{flex:100%}.theo-chat-name{min-width:0;color:var(--text-h);overflow-wrap:anywhere;flex:0 auto;margin:0;font-size:16px;line-height:1.3}.theo-chat-head-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.theo-archived-note{margin:0 0 8px}.theo-chat-title{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.3}.theo-handed-off{border-top:1px solid var(--border);padding-top:8px}.theo-handed-off>summary{cursor:pointer;color:var(--text-h);font-size:14px}.theo-handed-list{flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.theo-handed-list li{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.theo-handed-list a{margin-top:2px;font-size:13px}.theo-handed-off>.link-btn{margin-top:8px}.theo-composer-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.theo-composer-top:empty{display:none}.theo-handed-note{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.theo-for-chip{min-width:0;max-width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:baseline;gap:4px;padding:5px 12px;font-size:13px;display:inline-flex;overflow:hidden}.theo-for-chip strong{text-overflow:ellipsis;min-width:0;color:var(--text-h);overflow:hidden}.theo-for-chip.has-customer{border-color:var(--accent)}.theo-for-chip:hover{background:var(--surface);border-color:var(--accent)}.ai-chat-mark{align-self:flex-start;max-width:85%}.theo-shown-chip{text-align:left;color:var(--accent);background:var(--surface);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:999px;padding:4px 12px;font-size:13px}.theo-shown-chip strong{color:var(--text-h)}.theo-shown-chip:hover,.theo-shown-chip.is-showing{background:var(--surface);border-color:var(--accent)}.ai-chat-examples{flex-wrap:wrap;gap:6px;display:flex}.ai-chat-example{text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px}.ai-chat-example:hover{background:var(--surface);border-color:var(--accent)}.theo-sheet-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.theo-sheet-head h2{color:var(--text-h);font-size:18px}.theo-customer-sheet p,.theo-list-sheet p{margin:0}.theo-clear-customer{align-self:flex-start}.theo-customer-sheet .search-results{background:var(--bg);position:static}.theo-lineage{margin:0 0 10px}.theo-about-job{background:var(--bg-alt);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text-h);overflow-wrap:anywhere;border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:14px}.theo-compress-offer{background:var(--bg-alt);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;margin-bottom:12px;padding:10px 12px}.theo-compress-offer p{color:var(--text-h);margin:0 0 10px;font-size:14px}.theo-compress-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.theo-side{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.theo-side>.theo-window{flex:0 auto;min-height:0;max-height:none}.theo-window-grip{display:none}.modal-box.theo-summary-review{max-width:640px;max-height:calc(100vh - 32px);overflow-y:auto}.theo-summary-review h2{margin:0 0 8px;font-size:17px}.theo-summary-review textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;margin:10px 0;padding:10px;line-height:1.45}.modal-box.theo-original,.modal-box.chat-read{max-width:720px;max-height:calc(100vh - 32px);overflow-y:auto}.theo-original h2,.chat-read h2{margin:0 0 12px;font-size:17px}.theo-original p.muted,.chat-read p.muted{color:var(--text)}.theo-window{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;min-width:0;max-height:calc(100vh - 24px);padding:12px;overflow-y:auto}.theo-window-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.theo-window-header h2{margin:0;font-size:15px}.theo-window-actions{gap:8px;display:flex}.theo-window-tabs{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.theo-window-tabs button{background:var(--surface);color:var(--accent);border:1px solid var(--border);overflow-wrap:anywhere;text-align:left;max-width:100%;padding:4px 10px;font-size:13px}.theo-window-tabs button.active{border-color:var(--accent);color:var(--text-h);font-weight:600}.theo-window-tabs button:hover{background:var(--surface);border-color:var(--accent)}.theo-window-empty p{margin:10px 0 0}.theo-window-empty ul{margin:8px 0 0;padding-left:18px}.theo-window-view{margin-top:10px}.theo-window-title{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:17px}.theo-window-provenance{color:var(--text);margin:4px 0 0;font-size:13px}.theo-window-notices{color:var(--text-h);background:var(--surface);border-left:3px solid var(--accent);border-radius:6px;margin:8px 0 0;padding:8px 10px 8px 26px;font-size:13px}.theo-window-section{margin-top:14px}.theo-window-section h4{color:var(--text-h);margin:0 0 4px;font-size:14px}.theo-window-count{margin:0 0 6px}.theo-sheet-wrapper{border:1px solid var(--border);background:var(--bg);border-radius:6px;overflow-x:auto}.theo-sheet{border-collapse:collapse;width:100%;font-size:13px}.theo-sheet th,.theo-sheet td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.theo-sheet th{color:var(--text-h);background:var(--surface);white-space:nowrap;font-weight:600}.theo-sheet .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.theo-sheet tfoot td{border-bottom:none;border-top:2px solid var(--border)}.theo-total-label,.theo-total-source{color:var(--text);font-size:11px;display:block}.theo-total-source{overflow-wrap:anywhere;white-space:normal}.theo-cell-invalid{color:var(--error);font-style:italic}.theo-fields{border:1px solid var(--border);background:var(--bg);border-radius:6px;margin:0}.theo-fields>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 8px;font-size:13px;display:flex}.theo-fields>div:last-child{border-bottom:none}.theo-fields dt{color:var(--text)}.theo-fields dd{color:var(--text-h);text-align:right;overflow-wrap:anywhere;margin:0}.theo-voice-notes{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.theo-voice-note{border:1px solid var(--border);background:var(--bg);border-radius:6px;min-width:0;padding:8px 10px;font-size:13px}.theo-voice-note-head{color:var(--text-h);overflow-wrap:anywhere;margin:0}.theo-voice-note>p.muted{margin:4px 0 0}.theo-voice-note-who{color:var(--text-h);font-weight:600}.theo-voice-filed{margin-top:6px}.theo-voice-filed p{margin:0}.theo-voice-filed p+p{margin-top:2px}.theo-voice-filed-words{color:var(--text-h);white-space:pre-wrap;overflow-wrap:anywhere}.theo-voice-links{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.theo-chart{margin:0 0 10px}.theo-chart figcaption{margin-bottom:6px}.theo-chart ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.theo-chart li{grid-template-columns:minmax(0,9em) minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.theo-chart-label{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.theo-chart-track{background:var(--surface);border-radius:3px;height:12px;overflow:hidden}.theo-chart-bar{background:var(--accent);height:100%;display:block}.theo-chart-bar.negative{background:var(--error)}.theo-chart-value{color:var(--text-h);font-variant-numeric:tabular-nums;white-space:nowrap}.theo-window-problems{margin-top:12px;font-size:13px}.theo-window-problems summary{cursor:pointer;color:var(--text)}.theo-window-problems ul{margin:6px 0 0;padding-left:18px}@media (width>=901px){.theo-side{top:calc(var(--app-header-height,0px) + 12px);max-height:calc(100vh - var(--app-header-height,0px) - 24px);max-height:calc(100dvh - var(--app-header-height,0px) - 24px);position:sticky}:root[data-header=hidden] .theo-side{max-height:calc(100dvh - 24px);top:12px}}@media (width<=900px){.theo-page{min-height:400px;padding:10px 16px 12px}.page-header.theo-header{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.theo-strip{flex:none;align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.theo-strip>button{flex:none}.theo-strip>.theo-for-chip{flex:0 auto;margin-left:auto}.theo-strip-count{background:var(--bg-alt);border-radius:999px;margin-left:6px;padding:0 7px;font-size:12px}.theo-layout{flex-direction:column;gap:0}.theo-side.is-empty,.theo-side.is-closed{display:none}.theo-side:not(.is-empty):not(.is-closed){z-index:91;max-width:760px;max-height:85dvh;padding-bottom:env(safe-area-inset-bottom);background:var(--bg-alt);border:1px solid var(--border);border-bottom:none;border-radius:16px 16px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px #0000004d}.theo-side:not(.is-empty):not(.is-closed)>.theo-window{overscroll-behavior:contain;border:none;border-radius:0;flex:auto}.theo-window-grip{background:0 0;border:none;flex:none;align-self:center;width:96px;height:22px;padding:0;display:block}.theo-window-grip:before{content:"";background:var(--border);border-radius:3px;width:44px;height:5px;margin:0 auto;display:block}.theo-window-grip:hover{background:0 0}}@media (width<=560px){.theo-page{height:calc(100vh - var(--app-header-height,0px) - 47px);height:calc(100dvh - var(--app-header-height,0px) - 47px - env(safe-area-inset-bottom))}:root[data-header=hidden] .theo-page{height:calc(100vh - 47px);height:calc(100dvh - 47px - env(safe-area-inset-bottom))}.theo-page .ai-chat-panel{gap:8px;padding:8px}}@media (width>=901px){.theo-side.is-empty{display:none}.theo-side.is-closed{flex:0 0 220px}}.theo-window-closed p{margin:8px 0 0}.ai-chat-model{color:var(--text);opacity:.65;margin:-4px 0 0;font-size:12px}.theo-settings-link{align-self:flex-start;padding:0 8px;font-size:12px}.growing-textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:none;border-radius:6px;max-height:calc(12em + 18px);padding:8px 10px;overflow-y:auto}.reference-form{flex-direction:column;flex:1;gap:8px;min-width:0;margin-bottom:20px;display:flex}.reference-form label{margin:0}.reference-item .reference-form{margin-bottom:0}.nav-dropdown .nav-signout{border:none;border-top:1px solid var(--border);color:var(--text);text-align:left;background:0 0;border-radius:0;padding:10px 16px;font-size:13px}.nav-dropdown .nav-signout:hover:not(:disabled){background:var(--bg-alt)}.employee-tabs{max-width:360px;margin-bottom:12px}.employee-tabs .sidebar-tab{text-align:center}.change-entry-job-link{padding:0 8px;font-size:13px}.customer-field{position:relative}.address-credit{margin:4px 0 0}p.address-credit a{color:inherit;font-size:inherit;line-height:inherit;border:none;border-radius:0;padding:0;text-decoration:underline;display:inline}p.address-credit a:hover{color:var(--accent);background:0 0}.phone-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.phone-cell select{padding:2px 4px;font-size:12px}.part-search{margin-bottom:16px;position:relative}.part-search input{width:100%}.search-results{border:1px solid var(--border);background:var(--surface);z-index:13;border-radius:6px;width:100%;max-height:240px;margin:4px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;overflow-y:auto}.search-results li{cursor:pointer;padding:8px 10px;font-size:14px}.search-results li:hover{background:var(--bg-alt)}.search-results li.search-failed{cursor:default;color:var(--error);border-bottom:1px solid var(--border)}.search-results li.search-failed:hover{background:var(--surface)}.search-near{color:var(--text);opacity:.65;margin-left:8px;font-size:12px}.similar-name{border:1px solid var(--accent);background:var(--bg-alt);border-radius:6px;max-width:640px;margin:-12px 0 20px;padding:10px 12px}.similar-heading{margin:0 0 8px;font-weight:600}.similar-list{margin:0;padding:0;list-style:none}.similar-list li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 0;display:flex}.similar-list li:first-child{border-top:none;padding-top:0}.similar-what{font-weight:600}.back-link{margin-bottom:12px;font-size:14px;text-decoration:none;display:inline-block}.login-page{justify-content:center;align-items:center;min-height:100svh;display:flex}.login-card{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;width:320px;padding:32px;display:flex}.login-card h1{margin-bottom:0;font-size:22px}.login-card p{margin:0}.password-input{display:flex;position:relative}.password-input input{width:100%;padding-right:36px}.password-toggle{color:var(--text);opacity:.6;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{opacity:1}.account-form{flex-direction:column;gap:12px;max-width:360px;display:flex}.choice-cards{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.choice-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;flex-direction:column;gap:8px;width:232px;max-width:100%;padding:12px;font-weight:400;display:flex}.choice-card:hover{border-color:var(--accent)}.choice-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.choice-head{color:var(--text-h);align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}.choice-note{color:var(--text);opacity:.75;font-size:12.5px;line-height:1.45}.choice-pic{background:var(--bg-alt);border-radius:5px;height:162px;display:block;position:relative;overflow:hidden}.choice-pic-block{border-radius:4px;position:absolute;inset:0 8%;overflow:hidden}.settings-section,.settings-block{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:24px}.settings-section:last-of-type,.settings-block:last-of-type{border-bottom:none}.settings-block>p,.settings-block>ul,.settings-block>label,.settings-block>fieldset,.settings-block>.form-row,.settings-block>.inline-form,.settings-section>p,.settings-section>ul,.settings-section>label,.settings-section>fieldset,.settings-section>.form-row,.settings-section>.inline-form,.settings-section>.ai-feature-setting,.settings-section>.collapsible-body>p,.settings-section>.collapsible-body>ul,.settings-section>.collapsible-body>label,.settings-section>.collapsible-body>fieldset,.settings-section>.collapsible-body>.form-row,.settings-section>.collapsible-body>.inline-form{max-width:640px}.settings-block>ul.settings-list,.settings-section>ul.settings-list,.settings-section>.collapsible-body>ul.employee-colour-roster,.settings-section>.collapsible-body>ul.settings-list{max-width:none}.settings-block-title{align-items:baseline;gap:8px;display:flex}.settings-block-count{color:var(--text);opacity:.7;font-size:14px;font-weight:400}.settings-door-blurb{margin-top:-4px}.settings-hub-section{margin:0 0 20px}.page h2.settings-hub-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text);opacity:.8;margin:0 0 6px;font-size:13px;font-weight:600}.settings-doors{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.settings-doors>li+li{border-top:1px solid var(--border)}a.settings-door{box-sizing:border-box;background:var(--surface);min-height:48px;color:var(--text);border:0;border-radius:0;flex-direction:column;gap:2px;padding:12px 14px;font-size:15px;display:flex}a.settings-door:hover{background:var(--surface);box-shadow:inset 0 0 0 2px var(--accent);color:var(--text)}.settings-door-name{color:var(--text-h);font-size:16px;font-weight:600}.settings-door-contains{opacity:.8;font-size:13px;line-height:1.45}.settings-door-answer{color:var(--accent);font-size:13px}.settings-door-answer.bad{color:var(--error)}.settings-door-answer.warn{color:var(--warn);font-weight:600}.how-this-works{max-width:640px;margin:0 0 12px}.how-this-works>summary{cursor:pointer;min-height:36px;color:var(--accent);align-items:center;font-size:13px;display:inline-flex}.how-this-works>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.how-this-works-body{border-left:2px solid var(--border);padding:4px 0 0 12px}.how-this-works-body>p,.how-this-works-body>ul{margin:0 0 8px}.restore-preview{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);border-radius:8px;margin:12px 0;padding:12px;font-size:14px}.restore-preview p{margin:0 0 8px}.restore-preview ul{margin:0 0 10px;padding-left:20px}.restore-preview .actions{margin-bottom:0}.logo-setting{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.logo-preview{border:1px solid var(--border);background:var(--header-bg);min-width:140px;height:64px;color:var(--header-text);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:8px 14px;display:flex}.logo-preview img{object-fit:contain;max-width:160px;max-height:100%}.logo-preview .muted{color:var(--header-text);opacity:.7}.logo-setting-actions{flex-direction:column;flex:240px;gap:8px;min-width:220px;display:flex}.logo-setting-actions p{margin:0}.needs-doing-draft{margin-bottom:12px}.todo-proposal{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:12px 14px}.todo-proposal ul{margin:8px 0;padding:0;list-style:none}.todo-proposal li{padding:3px 0}.todo-proposal label{flex-direction:row;align-items:flex-start;gap:8px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.photo-tile{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.photo-tile img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);cursor:zoom-in;border-radius:6px;width:100%}.photo-tile-missing{aspect-ratio:4/3;border:1px dashed var(--border);border-radius:6px;justify-content:center;align-items:center;width:100%;display:flex}.media-tile-video{aspect-ratio:4/3;object-fit:contain;background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;width:100%}.media-grid-video{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.media-tile-fallback{text-align:center;flex-direction:column;gap:8px;padding:12px}.photo-tile-meta{justify-content:space-between;width:100%;display:flex}.photo-viewer{z-index:200;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.photo-viewer-bar,.photo-viewer-tools{background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.photo-viewer-bar{border-bottom:1px solid var(--border);justify-content:space-between}.photo-viewer-tools{border-top:1px solid var(--border)}.photo-viewer-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.photo-viewer-stage{touch-action:none;cursor:zoom-in;-webkit-user-select:none;user-select:none;background:#14181d;flex:1;min-height:0;position:relative;overflow:hidden}.photo-viewer-stage.is-zoomed{cursor:grab}.photo-viewer-stage.is-drawing{cursor:crosshair}.photo-viewer-image{transform-origin:50%;-webkit-user-drag:none;max-width:none;position:absolute;top:50%;left:50%}.photo-viewer-ink{pointer-events:none;position:absolute;inset:0}.photo-viewer-zoom{gap:6px;display:flex}.photo-viewer-hint{flex:200px;margin:0}.photo-viewer-note{background:var(--surface);margin:0;padding:8px 12px}.markup-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.markup-swatch{border:2px solid var(--border);border-radius:50%;width:34px;height:34px;padding:0}.markup-swatch.is-chosen{border-color:var(--surface);box-shadow:0 0 0 2px var(--text-h)}.markup-badge{border:1px solid var(--accent);background:var(--surface);color:var(--accent);border-radius:6px;padding:2px 8px;font-size:12px;line-height:1.3;display:inline-block}@media (width<=560px){.photo-viewer-bar,.photo-viewer-tools{gap:8px;padding:8px 10px}.photo-viewer-hint{flex-basis:100%;order:3}}.outbox-pill{border:1px solid var(--header-text);color:var(--header-text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:999px;max-width:100%;padding:5px 12px;font-size:13px;line-height:1.2;overflow:hidden}.outbox-pill:hover{background:var(--header-text);color:var(--header-bg)}.outbox-pill-alert{background:var(--error);border-color:var(--error);color:var(--bg);font-weight:600}.outbox-pill-alert:hover{background:var(--error);color:var(--bg);opacity:.85}.outbox-panel{background:var(--surface);border:1px solid var(--border);z-index:21;border-radius:8px;width:min(380px,100vw - 32px);max-height:min(70vh,560px);margin-top:6px;padding:12px 16px;position:absolute;top:100%;right:24px;overflow-y:auto;box-shadow:0 8px 24px #0003}.outbox-panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.outbox-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.outbox-row{background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;display:flex}.outbox-row.tone-stopped{border-color:var(--error)}.outbox-row-head{justify-content:space-between;align-items:baseline;gap:10px;width:100%;display:flex}.outbox-row-job{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.queue-badge{border:1px solid var(--border);background:var(--surface);color:var(--text);opacity:.85;border-radius:6px;padding:2px 8px;font-size:12px;line-height:1.3;display:inline-block}.queue-badge-stopped{border:1px solid var(--error);color:var(--error);opacity:1;font-weight:600}.queue-badge-retrying,.queue-badge-other-owner{opacity:1;border-style:dashed}.queue-badge-retrying{border-color:var(--error)}.queue-detail{margin:0}.queue-actions{flex-wrap:wrap;gap:8px;display:flex}.photo-tile-queued img,.photo-tile-queued .media-tile-video{cursor:default;border-style:dashed}.photo-tile-queued.tone-stopped img,.photo-tile-queued.tone-stopped .media-tile-video{border-color:var(--error)}@media (width<=560px){.outbox-panel{width:auto;left:12px;right:12px}.media-grid-video{grid-template-columns:1fr}}.template-bar{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px;display:flex}.template-picker{width:100%;max-width:460px}.parts-tabs{max-width:360px;margin-bottom:12px}.parts-tabs .sidebar-tab{text-align:center}.manage-templates-link{background:var(--surface);border-radius:999px;align-items:center;min-height:30px;padding:2px 12px;font-size:13px;line-height:1.3;display:inline-flex}.templates-empty{border:1px dashed var(--border);border-radius:8px;max-width:560px;padding:12px 14px}.template-cards{flex-direction:column;gap:12px;max-width:820px;margin:12px 0 0;padding:0;list-style:none;display:flex}.template-card{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:12px 14px;display:flex}.template-card p{margin:0}.template-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.templates-page .template-card-head h2{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:17px}.template-card-price{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;display:flex}.template-card-price strong{color:var(--text-h);font-size:17px}.templates-page .template-card h3{color:var(--text-h);margin:6px 0 0;font-size:13px;font-weight:600}.template-card-lines{margin:0;padding:0;list-style:none}.template-card-lines li{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:4px 0;display:flex}.template-card-qty{text-align:right;color:var(--text-h);flex:0 0 3em;font-weight:600}.template-card-what{overflow-wrap:anywhere;flex:auto;min-width:0}.template-card-hours{color:var(--text-h);white-space:nowrap;flex:none;font-weight:600}.template-card-lines li.template-card-total{border-bottom:0;font-weight:600}.template-card-problem{color:var(--warn);font-weight:600}.template-part-gone{border:1px solid var(--error);color:var(--error);border-radius:999px;padding:0 6px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}.template-card-actions{flex-wrap:wrap;gap:8px;padding-top:6px;display:flex}.template-delete-btn{background:var(--surface);color:var(--error);border-color:var(--error)}.template-delete-btn:hover:not(:disabled){background:var(--error);color:var(--accent-text)}.template-rename{flex-wrap:wrap;flex:320px}.template-rename input{flex:200px;min-width:0}.template-editor{flex-direction:column;gap:8px;padding-top:4px;display:flex}.template-editor-table input.template-editor-task{width:100%;min-width:12em}.template-editor-row-actions{white-space:nowrap}.template-editor-row-actions .link-btn+.link-btn{margin-left:6px}.template-part-missing td{background:var(--bg)}.template-editor-add{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.template-editor-misc{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=560px){.template-card-price{text-align:left;align-items:flex-start;margin-left:0}.template-editor-table input.template-editor-task{min-width:0}}.modal-box.pdf-preview-box{flex-direction:column;gap:10px;width:92vw;max-width:900px;display:flex}.pdf-preview-header{flex-direction:column;gap:2px;display:flex}.invoice-notes{flex-direction:column;gap:6px;margin:16px 0;display:flex}.invoice-notes>label{font-weight:600}.invoice-notes textarea{resize:vertical;width:100%;min-height:7rem}.invoice-notes-text{white-space:pre-wrap;margin:0}.pdf-preview-scroll{overscroll-behavior:contain;border:1px solid var(--border);background:var(--bg-alt);border-radius:6px;flex-shrink:0;width:100%;height:70vh;min-height:320px;padding:8px;overflow-y:auto}.pdf-preview-pages{flex-direction:column;gap:8px;display:flex}.pdf-preview-page{border:1px solid var(--border);background:#fff;border-radius:4px;width:100%;height:auto;display:block}.pdf-preview-status{text-align:center;margin:8px 0 0}.pdf-preview-scroll p.muted{color:var(--text)}.pdf-preview-scroll p.error{color:var(--error)}.aging-buckets{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.invoice-never-sent{border-left:4px solid var(--accent);background:var(--bg-alt);color:var(--text-h);border-radius:6px;max-width:560px;margin:0 0 12px;padding:8px 12px}.aging-bucket{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;min-width:140px;padding:10px 14px;display:flex}.aging-bucket-alert{border-color:var(--error)}.aging-bucket-label{color:var(--text-h);font-size:13px}.invoice-filter-tabs,.estimate-filter-tabs{margin-bottom:12px}.version-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-h);white-space:nowrap;border-radius:999px;margin-right:6px;padding:0 7px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-block}.ai-feature-setting{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.ai-feature-setting .checkbox-label{flex-direction:row;align-items:center;gap:8px}.ai-feature-setting .checkbox-label input{width:auto;margin:0}.reference-list{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.reference-item{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.reference-item p{margin:2px 0 0}.ai-reference-details{flex:1;min-width:0}.ai-reference-summary.collapsible-summary{padding:2px 0}.ai-reference-row{align-items:flex-start;gap:8px;display:flex}.ai-reference-summary .collapsible-chevron{margin-top:7px}.ai-reference-heading{flex-direction:column;flex:1;min-width:0;display:flex}.ai-reference-heading strong{overflow-wrap:anywhere}.ai-reference-line{color:var(--text);opacity:.65;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ai-reference-author{font-weight:600}.collapsible[open]>.ai-reference-summary .ai-reference-hint{display:none}.ai-reference-item .ai-reference-body{color:var(--text);white-space:pre-line;overflow-wrap:anywhere;margin:6px 0 2px 14px;font-size:14px}.scope-example-actions{flex-shrink:0;gap:6px;display:flex}.scope-example-form{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.scope-example-form label{margin:0}.scope-example-form textarea{resize:vertical;width:100%;min-height:7rem}.invoice-notes textarea,.scope-example-form textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px 10px}.scope-example-add{margin-top:12px}.scope-example-unsent{font-weight:600}.ai-reference-item .scope-example-note{margin:4px 0 2px 14px}.invoice-scope-source{border-left:3px solid var(--border);overflow-wrap:anywhere;padding:4px 0 4px 10px;font-size:14px}.theme-options{gap:20px;display:flex}.theme-option{cursor:pointer;flex-direction:row;align-items:center;gap:6px;font-size:14px;display:flex}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:400px;padding:20px}.modal-box:has(.conflict-list){max-width:520px}.modal-box p{color:var(--text-h);margin:0 0 16px}.modal-box p.error{color:var(--error)}.modal-box .actions{justify-content:flex-end}.dialog-details{color:var(--text-h);margin:-8px 0 16px;padding-left:20px}.dialog-details li{margin-bottom:6px;font-size:14px}.modal-box:has(.dialog-details){max-width:520px}.modal-box.proposal-review{max-width:560px;max-height:calc(100vh - 32px);overflow-y:auto}.proposal-review-title{margin:0 0 4px;font-weight:600}.proposal-review .proposal-review-total{color:var(--text-h);margin:0 0 14px;font-size:16px;font-weight:600}.proposal-review .proposal-review-replace{margin:0 0 12px;font-size:14px}.proposal-review-group{margin-bottom:14px}.proposal-review-group h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text);margin:0 0 4px;font-size:13px}.proposal-review-group ul{margin:0;padding-left:18px;list-style:none}.proposal-review-group li{color:var(--text-h);margin-bottom:4px;font-size:14px}.proposal-review-group.removing li{color:var(--error)}.proposal-review-charge-total{color:var(--text-h);margin:6px 0 0;font-size:14px;font-weight:600}.proposal-review-group li>span[aria-hidden]{width:12px;margin-left:-16px;font-weight:700;display:inline-block}.proposal-review .proposal-review-warn{color:var(--error);margin:0 0 10px}.theo-price{border:1px solid var(--warn);color:var(--warn);white-space:nowrap;vertical-align:middle;border-radius:999px;padding:0 6px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block;position:relative}.modal-box:has(.role-editor-fields){max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto}.role-list{margin:0 0 16px;padding:0;list-style:none}.role-list li{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:12px}.role-list-head{color:var(--text-h);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:4px;display:flex}.role-preview p{margin-left:0}.role-grid-wrapper{position:relative}.role-grid{border-collapse:collapse;min-width:540px;font-size:13px}.role-grid th,.role-grid td{border-bottom:1px solid var(--border);text-align:center;vertical-align:top;padding:6px 8px}.role-grid thead th{background:var(--bg-alt);color:var(--text-h);vertical-align:bottom;border-bottom:2px solid var(--border);font-size:12px;line-height:1.25}.role-grid-col-count{opacity:.65;font-weight:400;display:block}.role-grid .role-grid-what{z-index:1;background:var(--bg);text-align:left;border-right:1px solid var(--border);min-width:200px;position:sticky;left:0}.role-grid thead .role-grid-what{background:var(--bg-alt);z-index:2}.role-grid-label{color:var(--text-h);font-weight:600;display:block}.role-grid-desc{color:var(--text);opacity:.65;margin-top:2px;font-size:12px;font-weight:400;line-height:1.35;display:block}.role-grid-gap .role-grid-what{box-shadow:inset 3px 0 0 var(--error)}.role-grid-flag{letter-spacing:.04em;text-transform:uppercase;color:var(--error);font-size:11px;font-weight:600;display:block}.role-grid-tick{color:var(--ok);font-size:15px}.role-grid-dash{color:var(--text);opacity:.35}.role-grid-gaps{border-left:3px solid var(--error);background:var(--bg-alt);border-radius:0 6px 6px 0;margin:12px 0;padding:10px 12px}.role-grid-gaps p{margin:0;font-size:14px}.role-grid-gaps p+p{margin-top:6px}.role-grid-group th,.role-grid-group td{background:var(--bg-alt);border-top:2px solid var(--border)}.role-grid .role-grid-group .role-grid-what{background:var(--bg-alt)}.role-grid-group-count{white-space:nowrap;color:var(--text);vertical-align:middle;font-size:12px}.role-grid-fold{color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.role-grid-fold:hover{color:var(--accent)}.role-grid-fold:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.role-grid-fold[aria-expanded=true] .collapsible-chevron{transform:rotate(90deg)}.customer-quick-add{max-width:480px}.display-toggles{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 20px;margin:12px 0 16px;display:grid}.display-toggle{cursor:pointer;flex-direction:row;align-items:flex-start;gap:8px;padding:5px 0;display:flex}.display-toggle input{flex:none;width:auto;margin:2px 0 0}.display-toggle-hint{line-height:1.35;display:block}.settings-section .field-narrow{flex:0 110px}.settings-section .field-medium{flex:0 180px}.document-preview-actions{margin:4px 0 16px}.quick-add-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.quick-add-grid input{width:100%;min-width:0}.quick-add-wide{grid-column:1/-1}.quick-add-phone{gap:6px;min-width:0;display:flex}.quick-add-phone select{flex:none}.quick-add-phone input{flex:auto}@media (width<=560px){.quick-add-grid{grid-template-columns:1fr}}.modal-box.customer-quick-add{max-height:calc(100dvh - 32px);overflow-y:auto}.customer-quick-add-inline{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:10px}.customer-quick-add-inline p{margin:0 0 10px}.customer-quick-add-inline .customer-quick-add-title{color:var(--text-h);font-weight:600}.customer-quick-add-inline .actions{justify-content:flex-end}.talk-drop .customer-quick-add-inline .quick-add-grid{grid-template-columns:1fr}.talk-drop .customer-quick-add-inline .actions{background:var(--bg-alt);border-top:1px solid var(--border);padding-top:8px;position:sticky;bottom:0}.customer-new-form{max-width:640px}.customer-new-form h2{margin:24px 0 12px;font-size:16px}.customer-new-form h2:first-of-type{margin-top:8px}.customer-new-form .field-narrow{flex:0 110px}.customer-new-form .field-medium{flex:0 180px}.customer-new-form .secondary-row{opacity:.8}.customer-new-form .secondary-row:focus-within{opacity:1}.customer-gap-blocking,.customer-gap-warning{border-left:3px solid var(--border);background:var(--bg-alt);border-radius:0 4px 4px 0;max-width:640px;margin:16px 0;padding:8px 12px}.customer-gap-blocking{border-left-color:var(--error);color:var(--error)}.customer-gap-warning{border-left-color:var(--accent);color:var(--text)}.settings-choice{border:none;margin:12px 0 16px;padding:0}.settings-choice legend{color:var(--text-h);padding:0;font-size:14px;font-weight:600}.secondary-btn{background:var(--surface);color:var(--text);border-color:var(--border)}.secondary-btn:hover:not(:disabled){background:var(--bg-alt);border-color:var(--accent)}.danger-btn{background:var(--error);border-color:var(--error)}.danger-btn:hover{background:#991616}.share-box{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;margin:16px 0;padding:12px;display:flex}.share-box .email-draft{align-self:stretch}.share-link-input{flex:1;min-width:280px;font-size:13px}.shared-accepted{margin:0}.email-draft{border:1px solid var(--accent);border-radius:8px;flex-direction:column;gap:10px;margin:16px 0;padding:12px;display:flex}.email-draft-title{margin:0;font-size:16px}.email-draft-note{margin:0}.email-draft-field{flex-direction:column;gap:4px;min-width:0;display:flex}.email-draft-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.email-draft-label{color:var(--text-h);font-size:13px;font-weight:600}.email-draft-value{width:100%}.email-draft-body{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:8px 10px;font-size:14px}.email-draft-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=560px){.email-draft{padding:10px}.email-draft-actions{flex-direction:column;align-items:stretch}}.shared-pro-approved{border-left:3px solid var(--accent);margin:0}.shared-estimate{max-width:780px;margin:0 auto}.shared-scope,.job-scope{white-space:pre-wrap}.shared-accept-box{border:1px solid var(--border);border-radius:8px;margin-top:24px;padding:16px}.shared-estimate-closed{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:32px 0;padding:20px;font-size:16px;line-height:1.5}.shared-estimate-closed p{margin:0 0 10px}.shared-estimate-closed p:last-child{margin-bottom:0}.shared-valid-until{margin-top:12px}.shared-estimate-actions{flex-wrap:wrap;gap:8px;margin:16px 0 8px;display:flex}.shared-invoice-due,.shared-invoice-overdue{background:var(--surface);border-left:3px solid var(--accent);margin:12px 0;font-size:16px}.shared-invoice-overdue{border-left-color:var(--error);font-weight:600}.shared-invoice-pay{border:1px solid var(--border);border-radius:8px;margin-top:24px;padding:16px}.shared-invoice-pay h3{margin-top:0}.shared-invoice-pay p:last-child{margin-bottom:0}.expiry-row{flex-wrap:wrap;align-items:flex-end;gap:12px;width:100%;display:flex}.expiry-row label{flex:none}.expiry-row input{width:auto}.dropped-parts-notice{border:1px solid var(--border);border-left:3px solid var(--error);background:var(--surface);border-radius:8px;margin:12px 0;padding:12px;font-size:14px}.dropped-parts-notice p{margin:0 0 10px}.dropped-parts-notice ul{margin:0;padding-left:0;list-style:none}.dropped-parts-notice li+li{border-top:1px solid var(--border);padding-top:12px}.dropped-parts-notice li{flex-direction:column;gap:2px;margin-bottom:12px;line-height:1.5;display:flex}.dropped-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.dropped-parts-notice li:last-child{margin-bottom:0}.dropped-part{opacity:.7;text-decoration:line-through}.tax-applies-to{flex-direction:row;align-items:center;gap:4px;margin-left:10px;font-size:13px;display:inline-flex}.tax-applies-to input{width:auto;margin:0}.tax-applies-row{align-items:center;gap:4px;display:flex}.tax-applies-row .tax-applies-to:first-child{margin-left:0}.tag-lock{opacity:.65;margin-left:2px;font-size:11px}.import-mode-choice{flex-direction:column;align-items:flex-start;gap:6px;margin:12px 0;display:flex}.import-mode-choice p{margin:0 0 6px}.missing-id-list{border:1px solid var(--border,#ddd);border-radius:6px;flex-wrap:wrap;gap:5px;max-height:160px;margin:10px 0;padding:8px;display:flex;overflow-y:auto}.missing-id-list code{font-size:.85em}.table th:nth-child(2),.table td:nth-child(2){min-width:220px}.table th:nth-child(3),.table td:nth-child(3){max-width:190px}.table td:nth-child(5),.table th:nth-child(5){white-space:nowrap;min-width:62px}.table.change-orders-table th:nth-child(2),.table.change-orders-table td:nth-child(2),.table.change-orders-table th:nth-child(3),.table.change-orders-table td:nth-child(3){min-width:0;max-width:none}.table.change-orders-table th:nth-child(5),.table.change-orders-table td:nth-child(5){white-space:normal;min-width:0}.table.change-orders-table th:first-child,.table.change-orders-table td:first-child{min-width:190px}.contact-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;margin:0 0 18px;padding:12px 14px;display:flex}.contact-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.contact-row dt{color:var(--text);opacity:.7;text-transform:uppercase;letter-spacing:.04em;flex:0 0 110px;font-size:13px}.contact-row dd{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;display:flex}.contact-row dd>span{overflow-wrap:anywhere}.contact-person{flex-direction:column;gap:6px;display:flex}.contact-person+.contact-person{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.contact-person-heading{color:var(--text-h);overflow-wrap:anywhere;font-size:14px;font-weight:600}.people-list{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.person-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;min-width:0;padding:10px 12px}.person-card-head{color:var(--text-h);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.person-badge{border:1px solid var(--border);color:var(--text);border-radius:4px;padding:1px 6px;font-size:12px}.person-badge-bill{border-color:var(--accent);color:var(--text-h)}.person-contacts{flex-direction:column;gap:4px;margin:0 0 6px;display:flex}.person-actions{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.company-line{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 10px;display:flex}.person-form{flex-direction:column;gap:10px;display:flex}.person-form-names{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.contact-editor{border:1px solid var(--border);border-radius:6px;min-width:0;margin:0;padding:8px 10px}.contact-editor legend{color:var(--text-h);padding:0 4px;font-size:14px}.contact-editor-row{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:8px;display:flex}.contact-editor-label{width:110px}.contact-editor-value{flex:200px;min-width:0}.contact-editor-moves{flex-wrap:wrap;gap:2px 10px;display:inline-flex}@media (width<=560px){.contact-editor-row{align-items:stretch}.contact-editor-value{flex-basis:100%}.contact-editor-label{flex:auto}}.contact-primary{border:1px solid var(--accent);color:var(--text-h);letter-spacing:0;text-transform:none;vertical-align:1px;border-radius:4px;margin-left:6px;padding:0 5px;font-size:11px;display:inline-block}.contact-actions{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.contact-actions>span{overflow-wrap:anywhere;min-width:0}a.contact-value{font-size:inherit;line-height:inherit;overflow-wrap:anywhere;border:none;border-radius:0;padding:0}a.contact-value:hover{color:var(--accent);background:0 0;text-decoration:underline}a.name-link{font-size:inherit;line-height:inherit;overflow-wrap:anywhere;border:none;border-radius:0;padding:0;text-decoration:underline}a.name-link:hover{color:var(--accent-hover);background:0 0}.copy-btn{border:1px solid var(--accent);background:var(--bg);color:var(--accent);cursor:pointer;border-radius:5px;padding:2px 8px;font-size:12px;line-height:1.6}.copy-btn:hover{background:var(--accent);color:var(--accent-text)}.address-map-link{flex:none;align-self:center}.part-detail{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px 28px;margin:0 0 12px;padding:0 0 12px;display:flex}.part-detail>div{min-width:0}.part-detail-wide{flex-basis:100%}.part-detail dt{text-transform:uppercase;letter-spacing:.05em;opacity:.6;margin-bottom:2px;font-size:11px}.part-detail dd{color:var(--text-h);margin:0;font-size:13px}.part-detail code{background:var(--surface);border-radius:4px;padding:1px 5px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px}.parts-tabs{max-width:480px}.parts-chip.is-picked,.parts-chip.is-picked:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.parts-opening-note{margin:4px 0 8px}.parts-list{border-top:1px solid var(--border);margin:8px 0 12px;padding:0;list-style:none}.parts-item{border-bottom:1px solid var(--border)}.parts-item-line{align-items:center;gap:8px;display:flex}.parts-item-tick{flex:none;width:20px;height:20px;margin:0 4px}.parts-item-open{min-width:0;min-height:48px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;flex:1;align-items:center;gap:10px;padding:8px 4px;display:flex}.parts-item-open:hover,.parts-item.is-open .parts-item-open{background:var(--bg-alt)}.parts-item-names{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.parts-item-name{color:var(--text-h);flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:600;display:flex}.parts-item-description{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.parts-item-price{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.parts-item-amount{color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:600}.parts-item-unit{opacity:.75;font-size:12px}.part-ours{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;padding:0 6px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}.parts-list-empty{margin:12px 0}.part-card{background:var(--bg-alt);padding:12px 12px 16px}.part-card-top{align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.part-card-names{flex:1;min-width:0}.part-card-names p{margin:0 0 4px}.part-card-name{color:var(--text-h);font-size:18px;font-weight:700}.part-card-money dd strong{font-variant-numeric:tabular-nums;font-size:16px}.part-card-note{max-width:300px;display:block}.part-card-quick{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:flex-start;gap:10px;margin:0 0 12px;padding:10px 12px;display:flex}.part-card-quick input{flex:none;width:20px;height:20px;margin:1px 0 0}.part-card-quick>span{flex-direction:column;gap:2px;display:flex}.part-card-subhead{color:var(--text-h);margin:0 0 6px;font-weight:600}.part-card-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}@media (width<=560px){.part-card-top{flex-direction:column;gap:8px}.part-card-top .part-thumb-400{width:112px;height:112px}}.parts-add-own{margin:16px 0 24px}.parts-add-own-button{border:1px dashed var(--accent);background:var(--bg);width:100%;max-width:480px;min-height:48px;color:var(--accent);font-weight:600}.parts-add-own-button:hover{background:var(--bg-alt)}.rates-intro{max-width:640px;margin:0 0 16px}.rates-boxes{flex-wrap:wrap;gap:12px 20px;max-width:640px;margin:0 0 12px;display:flex}.rates-box{flex-direction:column;flex:200px;gap:4px;max-width:300px;display:flex}.rates-box label{color:var(--text-h);font-weight:600}.rates-box input{width:100%;min-height:40px}.rates-now{display:block}.rates-choice{border:0;max-width:640px;margin:0 0 4px;padding:0}.rates-choice legend{color:var(--text-h);margin-bottom:4px;padding:0;font-weight:600}.rates-save{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;display:flex}.rates-save button{min-height:40px;padding:8px 24px}.price-sheet-import{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:16px}.price-sheet-last strong{color:var(--text-h)}.price-sheet-history{max-width:980px;margin-top:16px}.table.price-sheet-history-table th:nth-child(2),.table.price-sheet-history-table td:nth-child(2),.table.price-sheet-history-table th:nth-child(3),.table.price-sheet-history-table td:nth-child(3),.table.price-sheet-changes-table th:nth-child(3),.table.price-sheet-changes-table td:nth-child(3){min-width:0;max-width:none}.price-sheet-history-table td,.price-sheet-changes-table td{vertical-align:top;overflow-wrap:anywhere}.price-sheet-history-open td{background:var(--bg-alt)}.price-sheet-detail{border:1px solid var(--border);background:var(--bg);border-radius:4px;max-width:980px;margin:12px 0;padding:8px 12px}.price-sheet-group{margin-top:8px}.recovered-edit{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:12px}.recovered-edit p{color:var(--text-h);margin:0 0 8px}.recovered-edit p.job-quote-behind{color:var(--warn)}.picker-overlay{align-items:flex-start;padding:24px 16px}.picker-panel{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;width:100%;max-width:620px;max-height:calc(100dvh - 48px);display:flex;overflow:hidden}.picker-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:12px;display:flex}.picker-search{flex:1;min-width:0}.picker-body{flex:1;min-height:0;padding:12px;overflow-y:auto}.picker-scope{border-bottom:1px solid var(--border);margin:0 0 8px;padding:0 0 8px}.picker-head{flex-direction:column;align-items:stretch}.picker-head-row{align-items:center;gap:8px;display:flex}.picker-replacing{margin:0}.picker-views{flex-wrap:wrap;gap:6px;display:flex}.picker-view{background:var(--surface);color:var(--accent);border:1px solid var(--accent);padding:4px 12px;font-size:13px}.picker-view:hover{background:var(--bg-alt)}.picker-view.is-on,.picker-view.is-on:hover{background:var(--accent);color:var(--accent-text)}.frequent-parts-list li.part-row{cursor:default}.frequent-parts-list li.part-row:hover{background:0 0}.frequent-parts-list li.part-row.is-added:hover{background:var(--bg-alt)}.part-add-btn{white-space:nowrap;background:var(--surface);color:var(--accent);border:1px solid var(--accent);flex:none;align-self:center;padding:4px 12px;font-size:13px;font-weight:600}.part-add-btn:hover{background:var(--accent);color:var(--accent-text)}.picker-footer{border-top:1px solid var(--border);background:var(--bg-alt);flex:none;padding:10px 12px}.picker-picked{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.picker-picked>span{flex:180px;min-width:0}.picker-undo{border-top:1px solid var(--border);background:var(--flash);color:var(--text-h);flex-wrap:wrap;flex:none;align-items:center;gap:6px 10px;padding:10px 12px;font-size:14px;display:flex}.picker-undo:empty{border-top:none;padding:0}.picker-undo>span{flex:160px;min-width:0}.picker-undo-btn{flex:none;font-weight:600}@media (width<=560px){.part-step .part-step-btn{width:40px;height:40px;font-size:18px}.part-step .part-step-count{min-width:28px}.part-add-btn,.picker-view,.picker-undo-btn,.picker-picked button{min-height:40px}.part-add-btn{padding:8px 14px}}.part-thumb{object-fit:contain;background:var(--surface);border:1px solid var(--border);border-radius:4px;flex:none}.part-thumb-96{width:40px;height:40px}.part-thumb-400{width:160px;height:160px}.part-row{align-items:flex-start;gap:8px;display:flex}.part-row-text{flex:1;min-width:0}.line-desc{align-items:flex-start;gap:8px;display:flex}.line-desc-text{flex:1;min-width:0}.table .line-desc .part-thumb-96{margin-right:0}.part-row.is-added{cursor:default;background:var(--bg-alt)}.part-step{flex:none;align-self:center;align-items:center;gap:2px;display:flex}.part-step-btn{background:var(--surface);width:28px;height:28px;color:var(--text-h);border:1px solid var(--border);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.part-step-btn:hover{border-color:var(--accent);color:var(--accent)}.part-step-count{text-align:center;font-variant-numeric:tabular-nums;min-width:20px;color:var(--text-h);font-size:13px}.part-row .frequent-part-main{font-weight:inherit;display:block}.part-row .frequent-part-main strong{-webkit-line-clamp:2;color:var(--text-h);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.part-row .frequent-part-main span{opacity:.75;font-size:12px;font-weight:400;display:block}.table .part-thumb-96{vertical-align:middle;width:28px;height:28px;margin-right:8px}.cat-browser{flex-direction:column;flex:1;min-height:0;display:flex}.cat-crumbs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1px;margin-bottom:6px;padding-bottom:6px;display:flex}.cat-crumb-wrap{align-items:center;gap:1px;min-width:0;display:inline-flex}.cat-crumb{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:1px 3px;font-size:12px}.cat-crumb:hover{text-decoration:underline}.cat-crumb.is-current{color:var(--text-h);cursor:default;font-weight:600}.cat-crumb.is-current:hover{text-decoration:none}.cat-crumb-sep{opacity:.5;font-size:11px}.cat-nodes{min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.cat-node{border:none;border-bottom:1px solid var(--border);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border-radius:0;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 6px;font-size:13px;display:flex}.cat-node:hover{background:var(--bg-alt);color:var(--text-h)}.cat-node-count{opacity:.65;font-variant-numeric:tabular-nums;flex:none;font-size:11px}.cat-direct-heading{margin:10px 0 0}.cat-part-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cat-hint{margin-top:10px}.category-picker{margin:0 0 12px}.category-crumbs{flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:8px;display:flex}.category-crumb-wrap{align-items:center;gap:2px;display:inline-flex}.category-crumb{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px}.category-crumb:hover{background:var(--bg-alt)}.category-crumb.is-current{color:var(--text-h);cursor:default;font-weight:600}.category-crumb.is-current:hover{background:0 0}.category-crumb-sep{color:var(--text);opacity:.5;font-size:13px}.category-children{flex-wrap:wrap;gap:6px;display:flex}.category-chip{background:var(--bg-alt);border:1px solid var(--border);font:inherit;color:var(--text);cursor:pointer;text-align:left;border-radius:999px;align-items:baseline;gap:6px;padding:5px 12px;font-size:14px;display:inline-flex}.category-chip:hover{border-color:var(--accent);color:var(--text-h)}.category-chip-count{opacity:.7;font-variant-numeric:tabular-nums;font-size:12px}.category-chip.is-empty{opacity:.45}.category-chip-other{border-style:dashed}@media (width<=560px){.picker-overlay{padding:0}.picker-panel{border:none;border-radius:0;max-width:none;height:100dvh;max-height:100dvh}.part-thumb-96{width:48px;height:48px}.cat-node{padding:12px 8px;font-size:14px}.cat-crumbs .cat-crumb-wrap:not(:nth-last-child(-n+2)){display:none}.category-chip{border-radius:10px;flex:calc(50% - 6px);justify-content:space-between;padding:8px 12px}.category-crumbs{font-size:13px}.contact-row dt{flex-basis:100%}.contact-actions .copy-btn,.contact-actions .address-map-link{align-items:center;min-height:44px;display:inline-flex}.tenant-brand:before{display:none}.tenant-logo{max-width:72px}}.price-source-option{cursor:pointer;align-items:flex-start;gap:8px;margin:8px 0;display:flex}.price-source-option input{flex:none;margin-top:3px}.price-refresh{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.price-refresh-title,.price-refresh-review-head{color:var(--text-h);margin:0 0 4px}.price-refresh-run{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.price-refresh-run progress{max-width:320px;accent-color:var(--accent);flex:160px}.price-refresh-review{border:1px dashed var(--accent);background:var(--bg);border-radius:4px;max-width:820px;margin:12px 0;padding:8px 12px}.price-refresh-counts{margin:8px 0;padding-left:20px}.price-refresh-counts li{margin:2px 0}.price-refresh-flagged{border-left:3px solid var(--error);background:var(--bg-alt);color:var(--text);border-radius:0 4px 4px 0;margin:12px 0;padding:8px 12px}.price-refresh-flagged>p:first-child strong{color:var(--error)}.price-refresh-list-head{margin:12px 0 0}.price-refresh-changes{margin:4px 0 8px;padding:0;list-style:none}.price-refresh-changes li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:3px 0}.price-refresh-changes code{margin-right:4px}.price-refresh-move{white-space:nowrap;color:var(--text-h);margin-left:8px;display:inline-block}.price-refresh-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.employee-summary{margin:-4px 0 4px}.employee-profile-edit{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;margin:8px 0 12px;padding:12px 16px}.can-do-card{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.can-do-card p{margin:0}.can-do-role{color:var(--text-h);font-size:16px;font-weight:600}.can-do-give{border:1px solid var(--accent);background:var(--bg-alt);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;display:flex}.can-do-give button{min-height:44px}.can-do-apply{margin:4px 0 12px}.can-do-boxes-title,.signing-in-title{color:var(--text-h);margin:16px 0 4px;font-size:16px}.employee-history-link{margin:12px 0}.employee-leaving{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.employee-leaving .link-btn.danger{min-height:44px}.new-person-form{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-direction:column;gap:12px;max-width:560px;margin:12px 0;padding:16px;display:flex}.new-person-title{color:var(--text-h);margin:0;font-size:18px}.new-person-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=560px){.new-person-names{grid-template-columns:minmax(0,1fr)}}fieldset.new-person-roles{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.new-person-roles legend{color:var(--text-h);margin-bottom:8px;padding:0;font-size:15px;font-weight:600}label.new-person-role,label.new-person-check{cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px}label.new-person-role{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:10px 12px}label.new-person-role.chosen{border:2px solid var(--accent);background:var(--surface);padding:9px 11px}.new-person-role>span,.new-person-check>span{flex-direction:column;gap:2px;display:flex}.new-person-role input[type=radio],.new-person-check input[type=checkbox]{flex:none;width:20px;height:20px;margin:2px 0 0}.new-person-rate{max-width:160px}.new-person-read-back{margin:0 0 8px;padding-left:18px}.new-person-read-back li{margin:2px 0}.new-person-result{margin:12px 0}.new-person-result p{margin:0 0 8px}.new-person-setup-failed{border:1px solid var(--error);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.new-person-setup-failed p{margin:0}.address-check{border:1px solid var(--accent);background:var(--bg-alt);border-radius:6px;margin:12px 0;padding:12px 16px}.address-check p{margin:0 0 8px}.address-check .actions{margin-top:12px}.address-inline{color:var(--text-h);overflow-wrap:break-word;font-size:18px;font-weight:600}.login-card .address-check{margin-left:-20px;margin-right:-20px;padding:12px 16px}.login-card .address-inline{font-size:16px}.address-check-warning{color:var(--error);font-weight:600}.checkbox-row{cursor:pointer;flex-direction:row;align-items:center;gap:8px;display:flex}.checkbox-row input{flex:none;width:auto;margin:0}.app-shell{display:contents}.screen-lock{z-index:1000;background:var(--bg);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.screen-lock-card{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:12px;width:320px;max-width:100%;padding:32px;display:flex}.screen-lock-card h1{margin-bottom:0;font-size:22px}.screen-lock-card p{margin:0}.screen-lock-signout{background:var(--bg);border-color:var(--accent);color:var(--accent)}.screen-lock-signout:hover{background:var(--bg-alt)}.screen-lock-fields{flex-wrap:wrap;gap:16px;margin:12px 0;display:flex}.screen-lock-fields label{flex:220px}@media (width<=560px){.screen-lock-card{padding:24px}.screen-lock-fields{flex-direction:column;gap:12px}}.discount-panel,.deposit-panel{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;margin:16px 0;padding:12px 14px}.discount-panel h3,.deposit-panel h3{margin:0 0 8px;font-size:15px}.discount-list{margin:0 0 12px;padding:0;list-style:none}.discount-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.discount-row:last-child{border-bottom:none}.discount-row>input[type=text],.discount-row>input:not([type]){flex:160px;min-width:120px}.discount-amount{white-space:nowrap;margin-left:auto;font-weight:600}.discount-capped{flex-basis:100%;margin:4px 0 0}.discount-form{margin-bottom:0}.discount-form .qty-input,.deposit-panel .qty-input{flex:0 0 90px;min-width:0}@media (width<=560px){.discount-row{flex-direction:column;align-items:stretch}.discount-row>input[type=text],.discount-row>input:not([type]),.discount-row>.qty-input{flex:none}.discount-amount{margin-left:0}}.charge-panel{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;margin:16px 0;padding:12px 14px}.charge-panel h3{margin:0 0 8px;font-size:15px}.charge-list{margin:0 0 12px;padding:0;list-style:none}.charge-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:8px;padding:8px 0;display:flex}.charge-row:last-child{border-bottom:none}.charge-fields{flex-wrap:wrap;flex:320px;align-items:center;gap:8px;min-width:0;display:flex}.charge-fields>input:not([type]),.charge-fields>input[type=text]{flex:160px;min-width:120px}.charge-field{color:var(--text);opacity:.7;white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:inline-flex}.charge-taxable{gap:6px}.charge-figures{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;display:flex}.charge-amount{font-weight:600}.charge-row.charge-added,.charge-row.charge-changed,.charge-row.charge-removed{border-left:3px solid var(--accent);padding-left:8px}.charge-row.charge-removed .charge-fields,.charge-row.charge-removed .charge-amount{opacity:.65;text-decoration:line-through}.charge-pending{font-style:italic}.charge-pending-summary{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-alt);border-radius:8px;margin:16px 0 0;padding:10px 12px}.charge-pending-summary ul{margin:4px 0 6px;padding-left:18px}.charge-pending-summary p{margin:0}.charge-form,.permit-picker{flex-direction:column;gap:6px;display:flex}.charge-form .inline-form,.permit-picker .inline-form{margin-bottom:0}.permit-rule{background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;margin:4px 0;padding:8px 10px}.permit-rule-head{color:var(--text-h);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:14px;font-weight:600;display:flex}.permit-rule-age{color:var(--text);opacity:.65;font-size:13px;font-weight:400}.permit-rule-old{color:var(--error);opacity:1;font-weight:600}.schedule-offer{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.schedule-offer p{margin:0}.schedule-offer .inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0}.charge-form .qty-input,.charge-fields .qty-input,.permit-fee-form .qty-input{flex:0 0 90px;min-width:0}.permit-fee-form{flex-direction:column;gap:6px;margin-top:8px;display:flex}.permit-fee-date{color:var(--text);opacity:.7;white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:inline-flex}.permit-source-list{flex-direction:column;gap:10px;margin:12px 0;padding:0;list-style:none;display:flex}.permit-source{border-left:3px solid var(--border);background:var(--bg-alt);border-radius:0 4px 4px 0;max-width:720px;padding:8px 12px}.permit-source-wants-attention{border-left-color:var(--accent)}.permit-source-off{opacity:.6}.permit-source-head{color:var(--text-h)}.permit-source-state{color:var(--text);opacity:.65;margin:2px 0 4px}.permit-source-failing{color:var(--error);opacity:1}.permit-source-stale,.permit-source-never{color:var(--text);opacity:1;font-weight:600}.permit-source-rule{white-space:pre-wrap;background:var(--surface);border:1px solid var(--border);border-radius:4px;margin:6px 0;padding:8px 10px;font-family:inherit;font-size:13px;overflow-x:auto}.permit-source-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.permit-source-attention{border-left:3px solid var(--accent);background:var(--bg-alt);color:var(--text);border-radius:0 4px 4px 0;max-width:720px;margin:12px 0;padding:8px 12px}.permit-waiting{border-left:3px solid var(--accent);background:var(--surface);border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0 4px 4px 0;max-width:720px;margin:12px 0;padding:10px 14px}.permit-waiting h4{color:var(--text-h);margin:0 0 6px}.permit-waiting-list{flex-direction:column;gap:12px;margin:12px 0 0;padding:0;list-style:none;display:flex}.permit-waiting-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;padding:8px 12px}.permit-waiting-compare{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=560px){.permit-waiting-compare{grid-template-columns:1fr}}.permit-source-url{flex:320px}.permit-reading{border:1px dashed var(--accent);background:var(--bg);border-radius:4px;margin:8px 0;padding:8px 10px}.permit-reading-head{color:var(--text-h)}.permit-reading-fees{border:0;flex-direction:column;gap:4px;min-width:0;margin:6px 0;padding:0;display:flex}.permit-reading-fees legend{margin-bottom:4px;padding:0}.permit-reading-run{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}@media (width<=560px){.charge-row,.charge-fields{flex-direction:column;align-items:stretch}.charge-fields,.charge-fields>input:not([type]),.charge-fields>input[type=text],.charge-fields .qty-input{flex:none}.charge-field{justify-content:space-between}.charge-figures{align-items:flex-start;margin-left:0}}.day-nav{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;margin:0 0 8px;padding:6px;display:flex}.day-nav-arrow{flex:none;min-width:44px;min-height:44px;padding:0;font-size:20px;line-height:1}.day-nav-label{text-align:center;flex-direction:column;flex:auto;align-items:center;gap:2px;min-width:0;display:flex}.day-nav-label strong{color:var(--text-h);font-size:17px}.day-nav-tools{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;display:flex}.day-nav-jump{flex-direction:row;align-items:center;gap:6px;display:flex}.day-nav-jump input[type=date]{background:var(--surface);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:6px 8px}.crew-job-facts{flex-direction:column;gap:4px;margin:0 0 16px;display:flex}.crew-visit-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.crew-visit{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.crew-visit-current{border-left:4px solid var(--accent);background:var(--bg-alt)}.whose-switch{border:1px solid var(--border);border-radius:10px;margin:0 0 12px;display:flex;overflow:hidden}.whose-option{background:var(--surface);min-height:44px;color:var(--text-h);border:none;border-radius:0;flex:1 1 0;font-weight:600}.whose-option+.whose-option{border-left:1px solid var(--border)}.whose-option:hover{background:var(--bg-alt)}.whose-option.is-on,.whose-option.is-on:hover{background:var(--accent);color:var(--accent-text)}.now-card{background:var(--bg-alt);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;flex-direction:column;gap:6px;margin:0 0 16px;padding:14px;display:flex}.now-card-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.now-card .now-card-title{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:19px}.now-card-where,.now-card-with{color:var(--text);overflow-wrap:anywhere;font-size:14px}.now-card-status{color:var(--error);font-size:14px;font-weight:700}.now-card-knock{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:8px;padding:8px 10px;font-size:14px}.now-card-knock strong{color:var(--warn)}.now-card-knock ul{margin:4px 0 0;padding-left:18px}.now-card-knock li{overflow-wrap:anywhere}.contact-buttons{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;margin:4px 0 0;display:grid}.contact-button{border:1px solid var(--accent);background:var(--bg);min-height:44px;color:var(--accent);text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:0 10px;font-size:15px;font-weight:600;display:flex}.contact-button-go{background:var(--accent);color:var(--accent-text)}.contact-button-go:hover{background:var(--accent-hover);color:var(--accent-text)}.day-rows{background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;margin:0 0 16px;padding:0;list-style:none;overflow:hidden}.day-row+.day-row{border-top:1px solid var(--border)}.day-row-link{box-sizing:border-box;width:100%;min-height:52px;color:var(--text);border:none;border-radius:0;align-items:center;gap:12px;padding:10px 14px;font-size:15px;line-height:1.35;display:flex}.day-row-link:hover{background:var(--surface);color:var(--text)}.day-row-link:hover strong{text-decoration:underline}.day-row-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.day-row-time{color:var(--text-h);flex:0 0 64px;font-size:14px;font-weight:700}.day-row-words{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.day-row-words strong{color:var(--text-h);overflow-wrap:anywhere}.day-row-sub{color:var(--text);opacity:.8;overflow-wrap:anywhere;font-size:13px}.day-row-go{color:var(--accent);flex:none;font-size:22px;line-height:1}.visit-status-control{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px;display:flex}.visit-status-control .link-btn{min-height:36px}.visit-status-control .error{flex-basis:100%;margin:0}.visit-status-compact{margin:0;padding:0 14px 10px 90px}@media (width<=560px){.visit-status-compact{padding-left:14px}}.ongoing-line{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;margin:0 0 12px}.ongoing-line>summary{cursor:pointer;min-height:48px;color:var(--text-h);justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-weight:600;list-style:none;display:flex}.ongoing-line>summary::-webkit-details-marker{display:none}.ongoing-line>summary::marker{content:""}.ongoing-line>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ongoing-line-go{color:var(--accent);font-size:22px;line-height:1;transition:transform .12s}.ongoing-line[open] .ongoing-line-go{transform:rotate(90deg)}.ongoing-line>:not(summary){margin-left:14px;margin-right:14px}.ongoing-line .job-card{background:var(--bg)}.hours-line{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-alt);width:100%;min-height:48px;color:var(--text);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;padding:10px 14px;font-size:15px;display:flex}.hours-line strong{color:var(--text-h)}.hours-line:hover{background:var(--surface);color:var(--text)}.hours-line-go{color:var(--accent);flex:none;font-weight:600}.hours-line-due{border-style:dashed;border-color:var(--warn)}.saved-line{margin:0 0 16px}.crew-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;margin:0 0 16px;padding:12px;display:flex}.crew-card-when{color:var(--text);font-size:15px}.crew-card-when strong{color:var(--text-h)}.crew-card-customer{color:var(--text-h);overflow-wrap:anywhere;font-size:16px;font-weight:600}.crew-card .contact-card,.crew-card .customer-info-block{margin:0}.crew-card-office{background:var(--bg-alt);border:1px solid var(--border);border-left:3px solid var(--text-h);border-radius:8px;padding:8px 12px}.crew-card .crew-card-office-title{color:var(--text-h);margin:0 0 4px;font-size:15px}.crew-card-office .job-scope{margin:0}.crew-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:0 0 16px;display:grid}@media (width<=560px){.crew-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.crew-action{border:1px solid var(--border);background:var(--surface);min-height:64px;color:var(--text-h);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px;font-size:15px;font-weight:600;display:flex}.crew-action:hover{background:var(--surface);border-color:var(--accent)}.crew-action:first-child,.crew-action:first-child:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.crew-extra-work{margin:0 0 12px}.section-group-item+.section-group-item{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.section-group-heading{color:var(--text-h);flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:4px 0 6px;font-size:16px;display:flex}.crew-done{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.note-add{flex-direction:column;gap:6px;margin:0 0 16px;display:flex}.note-add textarea,.note-edit textarea{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:8px}.note-add-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.job-notes-add{flex-direction:column;gap:6px;margin:0 0 12px;display:flex}.job-notes-add textarea{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:8px}.job-notes-add-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.job-notes-add-kind{flex-direction:row;align-items:center;gap:6px;margin-right:auto}.job-notes-add-kind select{min-width:0;max-width:100%}.job-photo-strip{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin:4px 0 8px;padding:0;list-style:none;display:grid}.job-photo-thumb{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:zoom-in;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.job-photo-thumb:hover{background:var(--surface);border-color:var(--accent)}.job-photo-thumb img{object-fit:cover;width:100%;height:100%}.job-photo-thumb .markup-badge{padding:1px 6px;font-size:11px;position:absolute;bottom:4px;left:4px}@media (width<=560px){.job-notes-add-foot button{flex:100%}}.note-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.note-item{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.note-meta{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.note-meta strong{color:var(--text-h)}.note-body{white-space:pre-wrap;overflow-wrap:break-word;margin:0}.note-actions{gap:12px;margin-top:6px;display:inline-flex}.note-edit{flex-direction:column;gap:6px;display:flex}@media (width<=560px){.day-nav-tools{align-items:center;gap:8px 12px}}.awaiting-approval{border:1px solid var(--error);color:var(--error);white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.approval-banner{border:1px solid var(--error);background:var(--surface);border-left-width:4px;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:12px 14px;font-size:14px;display:flex}.approval-banner>div{flex:320px}.contract-retired td{opacity:.6}.contract-agreement{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;margin:24px 0;padding:12px}.contract-agreement h3{margin-top:0}.contract-scroll{overscroll-behavior:contain;border:1px solid var(--border);background:var(--bg);border-radius:6px;max-height:55vh;padding:8px;overflow-y:auto}.contract-pages{flex-direction:column;gap:8px;display:flex}.contract-page{border:1px solid var(--border);background:#fff;border-radius:4px;width:100%;height:auto;display:block}.contract-status,.contract-end{text-align:center;margin:8px 0 0}.contract-tick{cursor:pointer;flex-direction:row;align-items:flex-start;gap:8px;margin-top:12px;font-size:14px;display:flex}.contract-tick input{flex:none;width:auto;margin-top:2px}.contract-tick-waiting{opacity:.55}.recorded-time,.non-job-time,.time-approval-group{margin-top:24px}.recorded-time-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.recorded-time-head h2{margin:0}.recorded-time-total{color:var(--text-h);font-size:1.15rem;font-weight:600}.recorded-time-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.recorded-time-row{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.recorded-time-running{border-left:4px solid var(--ok)}.recorded-time-span{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.recorded-time-duration{font-variant-numeric:tabular-nums;color:var(--text-h);white-space:nowrap;font-weight:600}.recorded-time-actions{margin-top:6px}.time-state{font-weight:600}.time-state-approved{color:var(--ok)}.time-state-reopened{color:var(--error)}.recorded-time-draft{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:12px}.recorded-time-fields{flex-wrap:wrap;gap:10px;display:flex}.recorded-time-draft .time-field{text-align:left;background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;flex:130px;align-items:flex-start;gap:2px;min-height:56px;padding:8px 10px;display:flex}.recorded-time-draft .time-field select{width:100%;color:var(--text);font:inherit;background:0 0;border:none;padding:0}.recorded-time-note{flex-direction:column;gap:2px;margin-top:10px;display:flex}.recorded-time-note input{width:100%}.job-card-time{flex-direction:column;gap:4px;margin-top:8px;display:flex}.job-card-total{font-variant-numeric:tabular-nums;color:var(--text-h);white-space:nowrap;font-size:1.05rem;font-weight:600}.time-pending{font-variant-numeric:tabular-nums;white-space:nowrap}.settings-list{flex-direction:column;gap:6px;margin:12px 0;padding:0;list-style:none;display:flex}.settings-list li{background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}@media (width<=560px){.recorded-time-draft .time-field{flex-basis:100%}.recorded-time-span{flex-wrap:wrap}}.collapsible-summary{cursor:pointer;border-radius:6px;padding:8px 0;list-style:none}.collapsible-summary::-webkit-details-marker{display:none}.collapsible-summary::marker{content:""}.collapsible-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.collapsible-heading{color:var(--text-h);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:19px;display:flex}.collapsible-summary:hover .collapsible-title{color:var(--accent)}.collapsible-chevron{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:6px solid;flex:none;width:0;height:0;transition:transform .12s}.collapsible[open]>.collapsible-summary .collapsible-chevron{transform:rotate(90deg)}.collapsible-count{color:var(--text);opacity:.65;font-size:15px;font-weight:400}.collapsible-note{color:var(--text);opacity:.65;font-size:13px;font-weight:400}.collapsible-body{padding-top:4px}details.settings-section{padding-bottom:0}details.settings-section>.collapsible-body{padding-bottom:24px}.section-toolbar{justify-content:flex-end;margin-bottom:4px;display:flex}.past-tree{border-top:1px solid var(--border);margin-top:24px;padding-top:8px}.past-tree-hint{margin:0 0 8px}.past-tree-year>.collapsible-summary .collapsible-heading{font-size:16px}.past-tree-month>.collapsible-summary .collapsible-heading{color:var(--text);font-size:15px}.past-tree-year>.collapsible-body,.past-tree-month>.collapsible-body{border-left:1px solid var(--border);margin-left:5px;padding-left:16px}.past-tree-month>.collapsible-body{padding-bottom:8px}@media (width<=560px){.collapsible-heading{font-size:17px}.past-tree-year>.collapsible-heading,.past-tree-month>.collapsible-heading{font-size:15px}.past-tree-year>.collapsible-body,.past-tree-month>.collapsible-body{margin-left:3px;padding-left:8px}}.table.costing-table th{padding:8px 10px}.table.costing-table th:nth-child(2),.table.costing-table td:nth-child(2),.table.costing-table th:nth-child(3),.table.costing-table td:nth-child(3){min-width:0;max-width:none}.table.costing-table th:nth-child(5),.table.costing-table td:nth-child(5){white-space:normal;min-width:0}.position-over,.position-under{font-variant-numeric:tabular-nums}.position-over{color:var(--error)}.position-under{color:var(--ok)}.position-caveats{background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:8px;margin:0 0 20px;padding:12px 16px 12px 32px;font-size:13px}.position-caveats li+li{margin-top:6px}.position-section{margin-bottom:28px}.position-section h2{margin:0 0 8px;font-size:18px}.position-table td+td,.position-table th+th{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.position-rule td{border-top:1px solid var(--border)}.position-grid td+td,.position-grid th+th{text-align:right;font-variant-numeric:tabular-nums}.position-grid tfoot td{border-top:1px solid var(--border);border-bottom:none}.position-note{color:var(--text-h);opacity:.75;white-space:normal;max-width:160px;margin-left:auto;font-size:12px;display:block}.position-profit{border-top:1px solid var(--border);padding-top:20px}@media (width<=560px){.position-note{max-width:90px}.position-caveats{padding-left:26px}}.position-grid th.position-off-col,.position-grid td.position-off-cell{text-align:left}.position-off-takes{flex-direction:column;gap:4px;min-width:8rem;max-width:16rem;margin:0;padding:0;list-style:none;display:flex}.position-off-take>summary{cursor:pointer;list-style:revert;color:var(--text-h);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.position-off-take-body{border-left:2px solid var(--border);flex-direction:column;align-items:flex-start;gap:4px;margin:4px 0 6px 4px;padding-left:10px;display:flex}.position-off-take-body p{margin:0}.position-off-why{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap}.position-off-open{white-space:nowrap;margin-top:6px}.position-grid .position-off-row>td{padding:10px}.position-grid .position-off-form-row>td{background:var(--bg-alt)}.position-grid .position-off-inline{box-sizing:border-box;max-width:min(36rem,100cqi - 20px);position:sticky;left:10px}.job-hours-wide{container-type:inline-size}.position-off-form{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.position-off-form label{width:100%;max-width:420px}.position-off-form select{max-width:100%}.position-off-form input{max-width:140px}.position-off-form textarea{box-sizing:border-box;width:100%}.position-off-form p{margin:0}.position-off-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.position-off-status{margin:0}.costing-make-bill{white-space:nowrap;font-size:13px}.job-hours-phone{display:none}@media (width<=560px){.job-hours-wide{display:none}.job-hours-phone{flex-direction:column;gap:8px;display:flex}}.job-hours-person{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;min-width:0;padding:8px 12px}.job-hours-person-summary{cursor:pointer;list-style:revert;color:var(--text-h);overflow-wrap:anywhere}.job-hours-person-name{font-weight:600}.job-hours-person-total{float:right;font-variant-numeric:tabular-nums;margin-left:12px}.job-hours-lines{margin:8px 0 0;padding:0;list-style:none}.job-hours-lines li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;padding:8px 0;display:flex}.job-hours-when{flex:auto;min-width:0}.job-hours-hours{font-variant-numeric:tabular-nums;color:var(--text-h)}.job-hours-note{color:var(--text-h);opacity:.75;overflow-wrap:anywhere;flex-basis:100%;font-size:12px}.job-hours-lines .position-off-takes{flex-basis:100%;min-width:0;max-width:none}.job-hours-lines .position-off-take>summary{padding:4px 0}.job-hours-lines .position-off-open,.job-hours-lines .position-off-take-body .link-btn{padding:6px 10px;font-size:13px;line-height:1.3}.job-hours-lines .position-off-open{margin:0 0 0 auto}.job-hours-lines .position-off-inline{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-basis:100%;min-width:0;padding:10px 12px}.job-hours-lines .position-off-status{background:var(--surface);flex-basis:100%}.job-hours-total{text-align:right;margin:4px 0 0}.ledger-costing{border-top:1px solid var(--border);margin-top:14px}.change-orders-table .co-build-up{max-width:none;margin-left:0}.job-collected .job-contract-summary{overflow-wrap:anywhere}.job-collected .table-wrapper+.table-wrapper{margin-top:10px}.receipt-queue{flex-direction:column;gap:12px;margin:12px 0 0;padding:0;list-style:none;display:flex}.receipt-queue-item{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px}.receipt-queue-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.receipt-queue-what{font-weight:600}.receipt-tick{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.receipt-tick-head h3{margin:0}.receipt-tick-head p{margin:2px 0 0}.receipt-po-note{border-left:3px solid var(--accent);background:var(--bg-alt);border-radius:0 6px 6px 0;margin:12px 0;padding:8px 10px;font-size:13px}.receipt-refusal{border:1px solid var(--error);border-radius:6px;margin:12px 0;padding:10px 12px}.receipt-refusal p{margin:0 0 8px}.receipt-all-jobs{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.receipt-lines{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.receipt-line{border:1px solid var(--border);background:var(--bg);border-radius:6px;grid-template-columns:1fr auto minmax(140px,200px);align-items:center;gap:10px;padding:8px;display:grid}.receipt-line.is-company{background:var(--bg-alt);border-style:dashed}.receipt-line-tick{cursor:pointer;align-items:flex-start;gap:10px;min-width:0;display:flex}.receipt-line-tick input{flex:none;width:20px;height:20px;margin-top:3px}.receipt-line-text{flex-direction:column;min-width:0;display:flex}.receipt-line-desc{overflow-wrap:anywhere}.receipt-line-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.receipt-line-job select{width:100%}.receipt-totals{border-top:1px solid var(--border);flex-wrap:wrap;gap:20px;padding:10px 0;display:flex}.receipt-totals div{flex-direction:column;display:flex}.receipt-totals strong{font-variant-numeric:tabular-nums;font-size:16px}.receipt-blocker{border:1px solid var(--error);border-radius:6px;margin:8px 0;padding:8px 10px;font-size:13px}.receipt-manual{margin-top:12px}@media (width<=560px){.receipt-line{grid-template-columns:1fr auto}.receipt-line-job{grid-column:1/-1}.receipt-totals{gap:14px}}.billing-mode-picker{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:12px;margin:0 0 20px;padding:12px 14px 14px;display:flex}.billing-mode-picker legend{color:var(--text-h);padding:0 6px;font-weight:600}.billing-mode-choice{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;flex:1;align-items:flex-start;gap:10px;min-width:240px;padding:10px 12px;display:flex}.billing-mode-choice.chosen{border-color:var(--accent);background:var(--bg)}.billing-mode-choice input[type=radio]{flex:none;margin-top:3px}.billing-mode-choice>span{flex-direction:column;gap:3px;display:flex}.billing-mode-choice strong{color:var(--text-h)}.cost-plus-bill{margin:0 0 20px}.cost-plus-bill h2{margin:18px 0 6px;font-size:15px}.cost-plus-bill .table-wrapper{margin-bottom:8px}.discount-note-field{flex:3;min-width:220px}.rates-note{max-width:70ch;margin:0 0 12px}@media (width<=560px){.billing-mode-picker{flex-direction:column;gap:10px}.billing-mode-choice,.discount-note-field{min-width:0}}.quick-job{flex-direction:column;gap:12px;max-width:560px;margin:0 0 16px;display:flex}.quick-job input{min-height:44px;font-size:16px}.quick-job-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.quick-job-pair .rate-override-flag{margin-left:6px}.quick-job-total{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;display:flex}.quick-job-total strong{color:var(--text-h);font-size:20px}.quick-job-more{align-self:flex-start}.quick-job-actions{flex-wrap:wrap;gap:10px;display:flex}.quick-job-actions button{min-height:44px;font-weight:600}.quick-job-switch{margin:0 0 12px}.billing-mode-picker.is-compact .billing-mode-note{flex-basis:100%;margin:0}@media (width<=560px){.quick-job-page .page-header h1{margin-bottom:4px;font-size:22px}.quick-job-page .page-header{margin-bottom:8px}.quick-job-page .form-row{gap:12px;margin-bottom:12px}.billing-mode-picker.is-compact{flex-direction:row;gap:8px;margin-bottom:12px;padding:8px 10px 10px}.billing-mode-picker.is-compact .billing-mode-choice{flex:1 1 0;align-items:center;min-height:44px;padding:8px 10px}.quick-job-actions{bottom:47px;bottom:calc(47px + env(safe-area-inset-bottom));z-index:5;background:var(--bg);border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 0;position:sticky}.quick-job-actions button{width:100%;min-height:48px}.quick-job .finalize-blockers{scroll-margin-bottom:167px;scroll-margin-bottom:calc(167px + env(safe-area-inset-bottom))}}.co-tracking-panel{flex-wrap:wrap;align-items:flex-start;gap:24px;padding:4px 0 8px;display:flex}.co-tracking-panel>.co-marks,.co-tracking-panel>.co-parts{flex:1;min-width:280px}.co-tracking-panel>p{flex-basis:100%;margin:0}.co-marks-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.co-marks-head h4{margin:0 0 4px}.co-marks-total{font-weight:600}.co-marks-list,.co-parts-list{margin:0 0 8px;padding:0;list-style:none}.co-marks-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:10px;padding:3px 0;display:flex}.co-marks-hours{min-width:56px;font-weight:600}.day-co-hours{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;margin-top:12px;padding:10px}.day-co-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:6px 0;display:flex}.day-co-row>div:first-child{flex:1;min-width:140px}.day-co-amount{flex-direction:column;gap:2px;font-size:.85rem;display:flex}.day-co-amount input[type=number]{width:88px}.co-parts-list li{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:3px 0;display:flex}.co-parts-list label{cursor:pointer;flex:1;align-items:baseline;gap:8px;display:flex}.co-parts-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.co-source-note{white-space:nowrap}.co-source-hint{flex-basis:100%}.job-card-change-orders{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.field-co-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;margin-top:8px;padding:8px 10px;display:flex}.field-co{flex-direction:column;gap:4px;display:flex}.field-co+.field-co{border-top:1px solid var(--border);padding-top:10px}.field-co-form{flex-direction:column;gap:8px;display:flex}.field-co-form label{flex-direction:column;gap:2px;font-size:.85rem;display:flex}.field-co-form input{width:100%}@media (width<=560px){.co-tracking-panel{flex-direction:column;gap:14px}.co-tracking-panel>.co-marks,.co-tracking-panel>.co-parts{width:100%;min-width:0;max-width:290px}.day-co-row{flex-direction:column;align-items:stretch}.day-co-amount input[type=number]{width:100%}}.van-parts{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.van-part{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px 12px}.van-part.is-unpriced{border-style:dashed}.van-part-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.van-part-what{overflow-wrap:anywhere;min-width:0;font-weight:600}.van-part-cost{font-variant-numeric:tabular-nums;white-space:nowrap}.van-part-actions,.van-part-price{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;display:flex}.van-part-price label{align-items:center;gap:6px;display:flex}.van-part-price input{width:8em}.van-part-add{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;margin-top:12px;padding:12px}.van-part-modes{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.van-part-field{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.van-part-field input{width:100%}.van-part-candidates{border:0;flex-direction:column;gap:8px;min-width:0;margin:8px 0 12px;padding:0;display:flex}.van-part-candidates legend{margin-bottom:4px;padding:0}.van-part-candidate{border:1px solid var(--border);background:var(--surface);cursor:pointer;overflow-wrap:anywhere;border-radius:6px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.van-part-candidate.chosen{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.van-part-candidate input{flex:none;margin-top:3px}.van-part-line{display:block}.van-part-numbers{flex-wrap:wrap;gap:8px 16px;margin:8px 0;display:flex}.van-part-bill{margin-top:2px}.van-receipt-lines{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.van-receipt-line{overflow-wrap:anywhere}.van-receipt-match{margin-left:24px}.van-part-numbers label{flex-direction:column;gap:4px;display:flex}.van-part-numbers input{width:8em}.van-part-dictate textarea{resize:vertical;width:100%;min-height:5em}.van-dictation{flex-direction:column;gap:10px;margin:8px 0 12px;padding:0;list-style:none;display:flex}.van-dictation-line{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:8px;min-width:0;padding:10px}.van-dictation-line.is-dropped{background:var(--bg-alt);opacity:.7}.van-dictation-said{margin-bottom:4px;font-style:italic;display:block}.van-dictation-what{margin-bottom:4px;display:block}.van-dictation-qty{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;margin-top:8px;display:flex}.van-dictation-qty label{flex-direction:column;gap:4px;display:flex}.van-dictation-qty input{width:7em}@media (width<=560px){.van-part-modes button{flex:100%}}.money-breakdown{margin-top:8px}.breakdown-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:var(--surface);border-radius:6px;margin:16px 0 0;padding:6px 10px;font-size:13px;font-weight:600}.breakdown-side-total{border-top:1px solid var(--border);font-weight:600}.breakdown-grand-total{border-top:2px solid var(--text-h);color:var(--text-h);margin-top:4px;font-size:20px}.breakdown-grand-total strong{color:var(--text-h)}.round-toggle{color:var(--text);flex-wrap:nowrap;align-items:center;gap:8px;margin:8px 0 16px;font-size:14px;display:flex}.round-toggle input[type=checkbox]{flex:none;margin:0}.rate-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rate-override-flag{border:1px solid var(--error);letter-spacing:.04em;text-transform:uppercase;color:var(--error);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}@media (width<=560px){.total-row{justify-content:space-between;align-items:baseline;padding:10px 6px;font-size:16px}.breakdown-grand-total{font-size:18px}.round-toggle{align-items:flex-start}.round-toggle input[type=checkbox]{margin-top:3px}}.trusted-devices{margin-top:16px}.trusted-devices h4{margin:0 0 6px}.trusted-device-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.trusted-device-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.trusted-device-list li:last-child{border-bottom:none}.trusted-device-list li>span{overflow-wrap:anywhere;min-width:0}.trusted-device-list button{flex:none}.trusted-device-when{display:block}@media (width<=560px){.trusted-device-list li{flex-direction:column;align-items:flex-start}}.crash-screen{max-width:640px}.crash-screen p{margin:0 0 12px}.crash-screen-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;display:flex}.crash-screen-actions a{padding:8px 16px;font-size:16px;line-height:1.5}.crash-screen-details{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.crash-screen-details summary{cursor:pointer;color:var(--text);font-size:13px}.crash-screen-details p{overflow-wrap:anywhere;margin:8px 0 0}.crash-report-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.crash-report{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:12px}.crash-report p{margin:0 0 4px}.crash-report-message{color:var(--text-h);overflow-wrap:anywhere;font-weight:600}.crash-report-facts{grid-template-columns:max-content 1fr;gap:2px 12px;margin:8px 0 0;font-size:14px;display:grid}.crash-report-facts dt{color:var(--text-h);font-weight:600}.crash-report-facts dd{overflow-wrap:anywhere;margin:0}.crash-report-details{margin-top:8px}.page h2.crash-report-heading{margin:16px 0 8px}.crash-report-actions{margin-top:8px}.crash-report-dealt{margin-top:20px}.crash-report-dealt>summary{cursor:pointer;color:var(--text-h);margin-bottom:8px;font-size:16px;font-weight:600}.crash-report-details summary{cursor:pointer;font-size:13px}.crash-report-stack{background:var(--surface);border:1px solid var(--border);max-height:320px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:8px 0 0;padding:8px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;overflow:auto}.change-history-filters{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px 0;display:flex}.change-history-chip{background:var(--surface);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 10px;font-size:14px;display:inline-flex}.change-history-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.change-entry{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:12px}.change-entry p{margin:0 0 4px}.change-entry-title{color:var(--text-h);font-weight:600}.change-entry-facts{grid-template-columns:max-content 1fr;gap:2px 12px;margin:8px 0 0;font-size:14px;display:grid}.change-entry-facts dt{color:var(--text-h);font-weight:600}.change-entry-facts dd{overflow-wrap:anywhere;margin:0}.change-entry-fields{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);table-layout:fixed;border-radius:6px;width:100%;margin-top:8px;font-size:14px}.change-entry-fields th,.change-entry-fields td{border-top:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:4px 8px}.change-entry-fields thead th{color:var(--text);border-top:none;font-size:13px}.change-entry-fields tbody th{color:var(--text-h);font-weight:600}.change-entry-history{margin-top:8px}@media (width<=560px){.crash-report-facts{grid-template-columns:1fr;gap:0}.crash-report-facts dd{margin-bottom:6px}}.visit-group-heading{color:var(--text-h);margin:12px 0 4px;font-size:13px;font-weight:600}.visit-group-heading:first-of-type{margin-top:8px}.visit-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.visit-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.visit-row-main{flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;display:flex}.day-visit-heading{margin:14px 0 6px;font-size:14px}.note-item-queued{border-style:dashed}.note-item-queued.tone-stopped{border-color:var(--error)}.carried-visit{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:10px 12px}.carried-visit-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.visit-work-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.visit-work-list li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.visit-work-choice{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;margin-top:10px;padding:12px}.visit-photo-pick{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:10px 0;display:grid}.visit-photo-pick label{cursor:pointer;border:2px solid var(--border);border-radius:8px;line-height:0;display:block;position:relative;overflow:hidden}.visit-photo-pick-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.visit-photo-pick label input{z-index:1;width:20px;height:20px;accent-color:var(--accent);background:var(--surface);border-radius:4px;position:absolute;top:6px;left:6px}.visit-photo-pick label img{object-fit:cover;width:100%;height:84px;display:block}.money-position{flex-direction:column;gap:8px;display:flex}.money-sentence{color:var(--text-h);margin:0;font-size:16px;line-height:1.4}.money-overdue{border:1px solid var(--error);background:var(--surface);color:var(--error);border-radius:6px;margin:0;padding:6px 10px;font-weight:600}.money-position>.muted.small{margin:0}.money-actions{flex-wrap:wrap;gap:8px;display:flex}.money-total-row>th,.money-total-row>td{border-bottom:none;border-top:2px solid var(--border);color:var(--text-h);font-weight:600}.money-invoice-void>td{opacity:.55}.table.money-invoices th:nth-child(2),.table.money-invoices td:nth-child(2),.table.money-invoices th:nth-child(3),.table.money-invoices td:nth-child(3){min-width:0;max-width:none}.table.money-invoices th:nth-child(5),.table.money-invoices td:nth-child(5){white-space:nowrap;min-width:0}.table.money-invoices th:nth-child(n+5),.table.money-invoices td:nth-child(n+5){text-align:right;font-variant-numeric:tabular-nums}@media (width<=560px){.money-sentence{font-size:15px}.money-actions>.link-btn{text-align:center;flex:auto}}.job-header{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.job-header>.page-header{margin-bottom:0}.job-header>p{margin:0}.job-header>button{align-self:flex-start}.job-facts{line-height:1.6}.job-note{color:var(--text-h);font-size:14px;line-height:1.5}.job-cancel{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:8px;padding-top:10px;display:flex}.job-cancel p{max-width:62ch;margin:0}.job-next{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.job-primary{border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;border-radius:6px;padding:10px 18px;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-block}.job-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-text)}.job-primary:disabled{opacity:.6;cursor:not-allowed}.job-next-note{max-width:72ch;margin:0}.job-subhead,.job-record-panel h2{margin:18px 0 6px;font-size:15px}.job-billing-block>.job-subhead,.job-record-panel>h2:first-child,.job-record-panel>:first-child h2{margin-top:0}.job-billing-block{border-top:1px solid var(--border);margin-top:18px;padding-top:6px}.job-contract-detail{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;margin:14px 0;padding:10px 14px}.job-contract-summary{cursor:pointer;color:var(--text-h);list-style:revert;font-weight:600}.job-contract-detail[open]>.job-contract-summary{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px}.job-record-tabs{margin:4px 0 14px}.job-record-tabs .sidebar-tab{flex:0 auto}.job-record-panel[hidden]{display:none}.job-refresh-status{z-index:14;border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:min(480px,100vw - 32px);padding:8px 12px;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 18px #0000002e}.job-refresh-status p{margin:0}.job-updating{color:var(--text);font-size:13px}.job-steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.job-step{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;line-height:1.3;display:inline-flex}.job-step-passed{color:var(--text-h)}.job-step-current{border-color:var(--accent);background:var(--accent);color:var(--accent-text);font-weight:600}.job-step-ahead{opacity:.75}.job-step-skipped{opacity:.75;text-decoration:line-through}.job-step-mark:empty{display:none}.job-steps-cancelled{margin:0}.job-steps-cancelled strong{border:1px solid var(--border);background:var(--bg-alt);color:var(--text-h);border-radius:999px;padding:6px 12px;font-size:14px;display:inline-block}.job-step-sentence{max-width:78ch;color:var(--text-h);margin:0;font-size:15px;line-height:1.5}.job-step-alert{color:var(--error);font-weight:600}.job-accepted{margin:0}.job-note-block{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.job-note-block .job-note{margin:0}.ledger-estimate{margin:6px 0 0}.job-extras{margin:12px 0 4px}.job-extras~.price-extra,.job-contract-detail~.price-extra{margin-top:10px}.job-deposit{margin-top:12px}.job-deposit>p{margin:0 0 6px}.job-rates{margin:4px 0 10px}.job-rates-list{max-width:560px;margin:0 0 6px;padding:0;list-style:none}.job-rate{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(11ch,auto);align-items:baseline;gap:2px 14px;padding:5px 0;display:grid}.job-rate-value{color:var(--text-h);text-align:right}.job-rate-own{color:var(--text-h);font-weight:600}.job-rates-actions{margin:6px 0}@media (width<=560px){.job-rate{grid-template-columns:minmax(0,1fr) auto}.job-rate-whose{grid-column:1/-1}}.job-settings-block+.job-settings-block{border-top:1px solid var(--border);margin-top:14px;padding-top:4px}.job-settings-block>.job-subhead{margin-top:8px}.job-settings-block:first-child>.job-subhead{margin-top:0}.job-settings-block>p{margin:4px 0}@media (width<=560px){.job-refresh-status{max-width:none;bottom:71px;left:16px;right:16px;bottom:calc(71px + env(safe-area-inset-bottom))}}.hour-pile{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:12px;padding:14px 16px}.hour-pile-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.hour-pile-head h2{margin:0;font-size:1.1rem}.hour-pile-total{color:var(--text-h);font-size:1.15rem;font-weight:600}.hour-pile-days{margin:2px 0 0;padding:0;list-style:none}.hour-pile-days li{margin-top:2px}.hour-pile-form{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;margin-top:10px;padding:12px}.hour-pile-form label{margin-bottom:8px;font-size:14px;display:block}.hour-pile-form select,.hour-pile-form input[type=text]{width:100%;margin-top:4px;display:block}.some-days-only{margin:0 0 6px}.some-days-only>.collapsible-summary .collapsible-heading{font-size:14px}.some-days-only-list{margin:0;padding:0;list-style:none}.hour-pile-form .some-days-only-line{min-height:36px;color:var(--text);cursor:pointer;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;margin:0;display:flex}.some-days-only-line input[type=checkbox]{flex:none;width:auto;margin:0}.filed-lately{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:12px;padding:12px 16px}.hours-to-check .filed-lately-heading{margin:0 0 4px;font-size:1.1rem}.filed-lately-list{margin:8px 0 0;padding:0;list-style:none}.filed-lately-item{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:10px 0;display:flex}.filed-lately-text{overflow-wrap:anywhere;flex-direction:column;flex:240px;gap:2px;min-width:0;display:flex}.filed-lately-what{color:var(--text-h);font-weight:600}.filed-lately-item>button{flex:none}.filing-undo{align-items:center;margin:4px 0 8px}.section-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.7;margin:28px 0 0;font-size:1rem}.week-sheet th{padding:8px 10px}.week-sheet{table-layout:fixed;min-width:100%}.week-sheet thead th:first-child{width:30%;min-width:9em}.table.week-sheet th:nth-child(2),.table.week-sheet td:nth-child(2),.table.week-sheet th:nth-child(5),.table.week-sheet td:nth-child(5){min-width:0}.table.week-sheet thead th:nth-child(5),.table.week-sheet td.week-sheet-box:nth-child(5){white-space:normal}.week-sheet thead th:last-child{text-align:right;width:5em}.week-sheet thead th>span{display:block}.week-sheet-weekday{font-weight:600}.week-sheet thead th.week-sheet-today{background:var(--flash)}.week-sheet-place th{background:var(--bg-alt);font-size:15px}.week-sheet-unmatched{color:var(--text);opacity:.7;white-space:nowrap;margin-left:8px;font-size:12px;font-weight:400}.week-sheet-customer{white-space:normal;overflow-wrap:break-word}.week-sheet-place-name .week-sheet-customer{color:var(--text);opacity:.7;margin-left:8px;font-size:12px;font-weight:400}.week-sheet-place-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.week-sheet-place-name{min-width:0}.week-sheet-plus{flex:none;min-width:32px;min-height:32px;padding:0 8px;font-size:18px;font-weight:600;line-height:1}.week-sheet-plus-row td{background:var(--bg-alt)}.week-sheet-plus-people{flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}@media (width<=699px){.week-sheet-plus,.week-sheet-plus-people button{min-width:44px;min-height:44px}}.week-sheet-who{font-weight:400}.week-sheet-who button{margin-left:8px}.week-sheet td.week-sheet-box{padding:4px 6px}.week-sheet-box input{text-align:right;font-variant-numeric:tabular-nums;width:100%;min-width:3.2em;padding:6px 4px}.week-sheet-box input::placeholder{color:var(--text);opacity:.55;font-style:italic}.week-sheet-box-shut{color:var(--text);opacity:.6;font-variant-numeric:tabular-nums}.week-sheet td.week-sheet-box-shut{text-align:right}.week-sheet-clocked{opacity:.8;text-align:left;font-size:11px;display:block}.week-sheet-box-filed{opacity:1}.week-sheet-filed{color:var(--text);opacity:.75;white-space:normal;overflow-wrap:break-word;text-align:left;font-size:11px;line-height:1.25;display:block}.week-sheet-box input+.week-sheet-filed{margin-top:3px}.not-a-job-fold{margin-top:28px}.not-a-job-fold>.collapsible-summary .collapsible-heading{font-size:1rem}.not-a-job-fold>.collapsible-summary .collapsible-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.85}.not-a-job-fold>.collapsible-body>.actions{margin-top:12px}.hours-to-check-summary{color:var(--text-h);margin:0 0 8px;font-size:15px;line-height:1.45}.hours-to-check-section{margin-top:28px;scroll-margin-top:12px}.hours-to-check-heading{margin:0 0 4px;font-size:1.25rem}.hours-to-check .hour-pile-head h3,.hours-to-check .recorded-time-head h3{margin:0;font-size:1.1rem}.costing-banner{background:var(--bg-alt);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;padding:10px 14px;display:flex}.costing-jobs{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.costing-job{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0;padding:12px 14px}.costing-job-over{border-left:4px solid var(--error)}.costing-job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:4px;display:flex}a.costing-job-name{color:var(--accent);overflow-wrap:anywhere;border:none;border-radius:0;padding:0;font-size:1.05rem;font-weight:600;line-height:1.3}a.costing-job-name:hover{color:var(--accent);background:0 0;text-decoration:underline}.costing-job-line{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px;font-size:14px;line-height:1.4}.costing-bar{background:var(--bg);border:1px solid var(--border);border-radius:999px;height:6px;margin-top:4px;overflow:hidden}.costing-bar>span{background:var(--accent);height:100%;display:block}.costing-bar-over>span{background:var(--error)}.costing-job-waiting{margin:6px 0 0}.position-answers{margin:4px 0 16px}.week-sheet td.week-sheet-total{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.week-sheet tfoot th,.week-sheet tfoot td{background:var(--surface);border-top:2px solid var(--border);font-weight:600}.week-sheet-grand th,.week-sheet-grand td{color:var(--text-h)}.week-sheet-wrong{color:var(--error)}.week-sheet-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:12px 0;display:flex}.week-sheet-suggestions{margin:0 0 10px;padding:0;list-style:none}.week-sheet-suggestions li{flex-wrap:wrap;align-items:baseline;gap:8px;padding:2px 0;display:flex}.week-sheet-places{margin:0 0 10px}.week-sheet-places-summary.collapsible-summary{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:40px;padding:8px 12px;display:flex}.week-sheet-places-summary:hover .week-sheet-places-label{color:var(--accent)}.week-sheet-places-label{color:var(--text-h);font-size:15px}.week-sheet-places-count{color:var(--text);opacity:.65;font-size:13px}.week-sheet-places>.week-sheet-suggestions{margin:8px 0 0}.week-sheet-suggestions-more{margin:-4px 0 10px}.week-sheet-crew{margin:0 0 10px}.week-sheet-crew-summary.collapsible-summary{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:40px;padding:8px 12px;display:flex}.week-sheet-crew-summary:hover .week-sheet-crew-names{color:var(--accent)}.week-sheet-crew-names{color:var(--text-h);font-weight:600}.week-sheet-crew-more{color:var(--text);opacity:.65;font-size:13px}.week-sheet-crew>.week-sheet-people{margin:8px 0 0}.week-sheet-people{border:1px solid var(--border);border-radius:8px;margin:0 0 10px;padding:10px 12px}.week-sheet-people legend{padding:0 4px;font-size:14px}.week-sheet-people label{cursor:pointer;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;min-height:36px;display:flex}.week-sheet-people input[type=checkbox]{flex:none;width:auto;margin:0}@media (width<=699px){.week-sheet thead th:first-child{width:auto}.week-sheet-box input{min-width:4.5em;padding:8px 6px;font-size:16px}}@media (width>=700px){.table-wrapper.week-sheet-wrapper{overflow-x:visible}.week-sheet thead th{top:var(--app-header-height,0px);z-index:11;box-shadow:inset 0 -1px 0 var(--border);border-bottom:0;position:sticky}:root[data-header=hidden] .week-sheet thead th{top:0}}.week-sheet tbody th,.week-sheet tfoot th{position:static}@media (width>=700px) and (width<=799px){.week-sheet td.week-sheet-box,.week-sheet thead th:not(:first-child):not(:last-child){padding-left:4px;padding-right:4px}}@media (width<=699px){.week-sheet-day{top:var(--app-header-height,0px);z-index:11;border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-wrap:nowrap;padding:4px;position:sticky}:root[data-header=hidden] .week-sheet-day{top:0}}.todo-add{align-items:center;gap:8px;margin:0 0 6px;display:flex}.todo-add input{flex:auto;min-width:0}.todo-add button{flex:none}.todo-hint-line{margin:0 0 14px}.todo-list{flex-direction:column;gap:8px;margin:8px 0 12px;padding:0;list-style:none;display:flex}.todo-item{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.todo-asked{background:var(--flash);border-left:3px solid var(--accent)}.todo-done-today,.todo-quiet{background:var(--bg-alt)}.todo-done-today .todo-body,.todo-quiet .todo-body{opacity:.75;text-decoration:line-through}.todo-body{overflow-wrap:break-word;color:var(--text-h)}.note-row-main{align-items:flex-start;gap:4px;display:flex}.note-tick{cursor:pointer;flex:none;justify-content:center;align-items:center;width:44px;height:44px;margin:-10px 0 -10px -10px;display:flex}.note-tick input[type=checkbox]{cursor:pointer;width:24px;height:24px;margin:0}.note-words{min-width:0;color:var(--text-h);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:auto;margin:0;padding:1px 2px}.note-words:hover{text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px;background:0 0}.note-words:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.note-row-main .note-edit{flex:auto;min-width:0}.note-chips{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 0 38px;display:flex}.note-chips:empty{display:none}.note-chip{background:var(--surface);color:var(--text-h);border-radius:999px;padding:0 8px;font-size:12px;line-height:1.6;display:inline-block}.note-chip-on{border:1px solid var(--border);color:var(--text);background:0 0}.note-row .todo-ask,.note-row>.note-change,.note-row>.voice-editor,.note-row>.todo-picker{margin-left:38px}.note-actions{flex-direction:column;gap:6px;margin:8px 0 0 38px;display:flex}.note-who{margin:0}.note-action-buttons{flex-wrap:wrap;gap:8px;display:flex}.note-action-buttons .link-btn{align-items:center;min-height:36px;display:inline-flex}.notes-board-head{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 8px;display:flex}.notes-board-head .notes-board-title{margin:0}.notes-see-all{flex:none}.which-job{flex-direction:column;gap:8px;display:flex}.voice-choice{border:2px solid var(--accent);background:var(--bg);width:100%;min-height:48px;color:var(--text-h);text-align:left;white-space:normal;overflow-wrap:anywhere;border-radius:10px;padding:10px 14px;font-size:15px;font-weight:600;display:block}.voice-choice:hover{background:var(--accent);color:var(--accent-text)}.voice-choice-also{font-size:13px;font-weight:400}.which-job-none{align-self:flex-start}.which-job-search input{background:var(--bg);width:100%;min-height:44px}.voice-question-only .voice-question-block{border-bottom:none;margin-bottom:0;padding-bottom:0}.todo-edit{flex:auto;min-width:0}.todo-ask{background:var(--surface);border-radius:6px;margin:8px 0 0;padding:8px 10px}.todo-ask p{margin:0 0 8px}.todo-ask-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.todo-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.todo-target-none{font-style:italic}.todo-action{margin-top:6px;display:inline-block}.todo-queued{border-style:dashed}.todo-queued.tone-stopped{border-color:var(--error);border-style:solid}.todo-picker{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin-top:8px;padding:10px}.todo-picker input{width:100%}.todo-picker-list{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.todo-picker-actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=560px){.todo-add{flex-direction:column;align-items:stretch}.todo-add button{width:100%}}.notes-board{margin:8px 0 20px}.notes-board-title{margin:0 0 8px}.notes-add{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;margin:0 0 12px;padding:8px}.notes-add-open{padding:10px 12px}.notes-add-words{background:var(--surface);width:100%;min-height:44px;color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:8px;display:block}.notes-add-options{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin-top:8px;display:flex}.notes-add-category select{min-width:9em}.notes-add-flag{align-items:center;gap:6px;padding-bottom:8px}.notes-add-flag input[type=checkbox]{width:20px;height:20px}.notes-add-target{margin-bottom:6px}.notes-add-button{margin-left:auto}.notes-add-days{margin-top:8px}.notes-add-about{margin:6px 0 0}.notes-group>.collapsible-summary{padding:11px 0}.notes-group>.collapsible-summary .collapsible-heading{font-size:16px}.notes-group-priority>.collapsible-summary .collapsible-heading{color:var(--warn)}.notes-group-priority>.collapsible-summary .collapsible-count{color:var(--warn);opacity:1}.notes-group-quiet>.collapsible-summary .collapsible-heading{color:var(--text);opacity:.65;font-weight:600}.notes-group-empty{margin:0 0 10px}.notes-more{margin:0 8px 12px 0}.notes-put-off{margin:8px 0}.notes-subgroup{margin-left:12px}.notes-subgroup>.collapsible-summary{padding:9px 0}.notes-subgroup>.collapsible-summary .collapsible-heading{font-size:15px}.job-lines{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}a.job-line-link,.job-line-static{border:1px solid var(--border);min-height:44px;color:var(--text-h);font-size:inherit;border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;line-height:1.35;display:flex}a.job-line-link:hover{background:var(--bg-alt);color:var(--text-h);border-color:var(--accent)}.job-line-name{overflow-wrap:anywhere;font-weight:600}a.job-line-link .job-line-name{color:var(--accent)}.notes-board-foot{margin:12px 0 0}a.notes-settings-link{font-size:inherit;line-height:inherit;border:none;border-radius:0;padding:0;text-decoration:underline}a.notes-settings-link:hover{color:var(--accent-hover);background:0 0}.note-flag{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:999px;padding:0 8px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}.note-flag-red{border-color:var(--error);color:var(--error)}.note-flag-amber{border-color:var(--warn);color:var(--warn)}.note-tone-red{border-left:3px solid var(--error)}.note-tone-amber{border-left:3px solid var(--warn)}.note-category{background:var(--surface);color:var(--text-h);border-radius:4px;padding:0 6px;font-size:12px;line-height:1.6;display:inline-block}.note-change{background:var(--bg-alt);border-radius:6px;margin-top:8px;padding:8px 10px}.note-change-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.note-change-row input[type=date]{padding:4px 6px}.note-change-label{min-width:4.5em;color:var(--text-h);font-size:13px;font-weight:600}.note-change-field select{max-width:100%}.note-change-hint{margin:6px 0 0}.note-job-link{padding:0 8px;font-size:12px}.customer-info-block{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-alt);border-radius:8px;margin:0 0 16px;padding:10px 12px}.customer-info-title{color:var(--text-h);margin:0 0 6px;font-size:16px}.customer-info-block .note-list{margin-bottom:8px}.customer-info-struck .note-body{text-decoration:line-through}.customer-info-retired,.customer-info-retired .note-list{margin-top:8px}.category-editor{flex-direction:column;gap:12px;margin:12px 0;padding:0;list-style:none;display:flex}.category-editor-row{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;padding:10px 12px}.category-editor-retired{border-style:dashed}.category-editor-head{align-items:flex-end;gap:10px;display:flex}.category-editor-moves{flex:none;gap:4px;padding-bottom:4px;display:flex}.category-editor-name{flex:auto;min-width:0}.category-editor-name input,.category-editor-description textarea,.category-editor-add input,.category-editor-add textarea{width:100%}.category-editor-description{margin-top:8px}.category-editor-description textarea,.category-editor-add textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:8px}.category-editor-kind{margin:6px 0}.category-editor-add{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin:16px 0;padding-top:12px;display:flex}@media (width<=560px){.notes-add-options{flex-direction:column;align-items:stretch}.notes-add-button{width:100%;margin-left:0}.notes-add-category select,.note-change-label{width:100%}}.talk-hero{--talk-level:0;border:1px solid var(--border);background:var(--bg-alt);border-radius:16px;flex-direction:column;gap:12px;padding:18px 16px 16px;display:flex}.talk-hero-main{text-align:left;flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.talk-round-wrap{flex:none;width:76px;height:76px;margin:6px;display:inline-flex;position:relative}.talk-ring{background:var(--accent);opacity:.16;pointer-events:none;border-radius:50%;position:absolute;inset:0;transform:scale(1.12)}.talk-hero-recording .talk-ring{background:var(--error);opacity:.28;transform:scale(calc(1.1 + var(--talk-level,0) * .45))}.talk-round{background:var(--accent);width:100%;height:100%;color:var(--accent-text);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.talk-round:hover{background:var(--accent-hover)}.talk-round:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.talk-round-stop,.talk-round-stop:hover{background:var(--error);color:var(--bg)}.talk-hero-words{flex-direction:column;flex:10em;align-items:flex-start;gap:2px;min-width:0;display:flex}.talk-hero-title{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:19px;font-weight:700}.talk-hero-hint{color:var(--text);font-size:14px}.talk-icon{flex:none}.talk-cancel{border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--text-h);border-radius:999px;padding:8px 20px}.talk-cancel:hover{background:var(--surface);border-color:var(--accent)}.talk-warning{color:var(--warn);margin:0;font-size:14px;font-weight:600}@media (width>=561px){.talk-round-wrap{width:72px;height:72px}}.talk-news{flex-direction:column;gap:6px;display:flex}.talk-hero .talk-news{border-top:1px solid var(--border);padding-top:12px}.talk-status-line{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-weight:600}.talk-status-detail,.talk-problem{margin:0}.header-mic{border:2px solid var(--header-text);background:var(--header-text);width:44px;height:44px;color:var(--header-bg);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.header-mic:hover{background:var(--header-bg);color:var(--header-text)}.header-mic:focus-visible{outline:2px solid var(--header-text);outline-offset:2px}.header-mic-stop,.header-mic-stop:hover{background:var(--error);color:var(--bg)}.talk-drop{--talk-level:0;background:var(--surface);width:min(400px,100vw - 32px);max-height:min(75vh,620px);color:var(--text);border:1px solid var(--border);z-index:21;border-radius:10px;margin-top:6px;padding:12px 16px;position:absolute;top:100%;right:24px;overflow-y:auto;box-shadow:0 8px 24px #0003}.talk-drop-recording{flex-direction:column;gap:10px;display:flex}.talk-bar{border:1px solid var(--border);background:var(--bg);border-radius:999px;height:10px;display:block;overflow:hidden}.talk-bar-fill{background:var(--error);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--talk-level,0));display:block}.talk-drop-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.talk-drop .talk-news+.talk-drop-actions{margin-top:10px}.talk-stop,.talk-stop:hover{border:2px solid var(--error);background:var(--error);min-height:48px;color:var(--bg);border-radius:999px;align-items:center;gap:8px;padding:8px 24px;font-size:17px;font-weight:600;display:inline-flex}.talk-live{color:var(--text-h);font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:inline-flex}.talk-dot{background:var(--error);border-radius:50%;width:12px;height:12px;animation:1.2s ease-in-out infinite talk-pulse}@keyframes talk-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.talk-dot{animation:none}}.voice-badge{font-weight:600}.voice-waiting{margin:0 0 12px}.voice-waiting-title{margin:0 0 6px;font-size:16px}.voice-unsorted{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-alt);border-radius:6px;margin:0 0 8px;padding:8px 10px;list-style:none}.voice-unsorted-failed{border-left-color:var(--error)}.voice-state{color:var(--text-h);margin:4px 0 0}.voice-failure{margin:2px 0 0}.voice-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.voice-said{margin-top:6px}.voice-said>summary{cursor:pointer;color:var(--accent);width:fit-content;font-size:13px}.voice-transcript{background:var(--surface);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:6px 0;padding:8px 10px}.voice-player{width:100%;max-width:420px;margin-top:4px;display:block}.voice-from-talk{margin-top:6px}.voice-from-talk-line{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.voice-question{color:var(--text-h)}.voice-editor{flex-direction:column;gap:4px;display:flex}.voice-editor-words textarea{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:8px}.voice-editor-line{margin:0}.voice-question-block{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;margin-bottom:4px;padding:6px 0 8px;display:flex}.voice-candidates{flex-direction:column;gap:8px;display:flex}.voice-corrections{margin:4px 0;padding-left:18px}@media (width<=560px){.talk-drop{width:auto;left:12px;right:12px}.talk-drop-actions .talk-stop{flex:auto;justify-content:center}.voice-actions .link-btn{flex:auto}.voice-player{max-width:100%}}.job-pile{margin-top:28px}.job-pile-head{top:var(--app-header-height,0px);z-index:11;background:var(--bg);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:-6px 0 2px;padding:6px 0;font-size:1.1rem;display:flex;position:sticky}:root[data-header=hidden] .job-pile-head{top:0}.job-pile-title{color:var(--text-h)}.job-pile-note{color:var(--text);opacity:.7;font-size:13px;font-weight:400}.job-count{margin:12px 0 0}@media (width<=560px){.job-pile{border-top:2px solid var(--border);margin-top:22px;padding-top:14px}.job-pile-head{gap:2px}.job-pile-note{flex-basis:100%}}.ledger{flex-direction:column;gap:14px;display:flex}.ledger-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ledger-figure{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;display:flex}.ledger-figure-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.65;font-size:12px}.ledger-figure-value{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:22px;line-height:1.2}.ledger-verdict{color:var(--text-h);margin:0;font-size:15px;line-height:1.45}.ledger-rows{border:1px solid var(--border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.ledger-head,.ledger-line{align-items:baseline;gap:10px;display:grid}.ledger-line-both{grid-template-columns:minmax(0,1fr) minmax(90px,auto) minmax(90px,auto) auto}.ledger-line-one{grid-template-columns:minmax(0,1fr) minmax(90px,auto) auto}.ledger-line-none{grid-template-columns:minmax(0,1fr) auto}.ledger-head{background:var(--bg-alt);border-bottom:1px solid var(--border);padding:8px 14px}.ledger-col-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.65;text-align:right;font-size:12px}.ledger-money-label{display:none}.ledger-row+.ledger-row{border-top:1px solid var(--border)}.ledger-line{padding:12px 14px}.ledger-line-name{flex-direction:column;gap:2px;min-width:0;display:flex}.ledger-line-money{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.ledger-amount{font-variant-numeric:tabular-nums;color:var(--text-h)}.ledger-line-open{text-align:right}.ledger-detail{background:var(--surface);border-top:1px solid var(--border);padding:0 14px 14px}.ledger-add,.mars-order{margin-top:10px}.mars-order>p{margin:6px 0 0}.ledger-add-form{flex-direction:column;align-items:stretch;gap:10px;max-width:44ch}.ledger-add-form input,.ledger-add-form textarea{box-sizing:border-box;width:100%}.ledger-add-form>p{margin:0}.ledger-paste-problems{margin:8px 0;padding-left:20px}.ledger-paste-problems li+li{margin-top:4px}.ledger-paste-report{margin-top:10px}.ledger-billed{margin:0}.ledger-drift{color:var(--text);margin:0;font-size:14px;line-height:1.45}.ledger-line-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ledger-row-open>td,.ledger-work-row>td{background:var(--bg-alt)}.ledger-line-work{flex-direction:column;gap:8px;width:100%;min-width:0;padding:4px 0 8px;display:flex}.ledger-line-work p{margin:0}.ledger-line-work .inline-form{margin-bottom:0}.ledger-line-work-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=560px){.table-stacked tbody tr.ledger-row-open{border-bottom:0;padding-bottom:0}}.table.ledger-table th:nth-child(2),.table.ledger-table td:nth-child(2),.table.ledger-table th:nth-child(3),.table.ledger-table td:nth-child(3){min-width:0;max-width:none}.table.ledger-table th:nth-child(n+2),.table.ledger-table td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}@media (width<=560px){.ledger-figures{grid-template-columns:minmax(0,1fr)}.ledger-head{display:none}.ledger-line{flex-direction:column;align-items:stretch;gap:6px;display:flex}.ledger-line-money{text-align:left;flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px}.ledger-line-money>.small{flex-basis:100%}.ledger-money-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.65;font-size:12px;display:inline}.ledger-line-open{text-align:left}}.list-phones{flex-direction:column;gap:2px;min-width:0;display:inline-flex}.list-phone{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:inline-flex}.list-phone-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.65;min-width:2.6em;font-size:11px}.list-secondary{text-align:left;margin-top:2px;display:block}.danger-offer{margin:24px 0 0}.table.customers-table th:nth-child(2),.table.customers-table td:nth-child(2),.table.customers-table th:nth-child(3),.table.customers-table td:nth-child(3){min-width:0;max-width:none}.table.customers-table th:nth-child(5),.table.customers-table td:nth-child(5){white-space:normal;min-width:0}.table.customers-table th:first-child,.table.customers-table td:first-child{min-width:170px}.job-pile>.collapsible-summary .collapsible-heading{font-size:1.1rem}@media (width<=560px){.table-stacked td.stacked-lead{flex-wrap:wrap}.table-stacked td.stacked-lead .list-secondary{flex-basis:100%}}.list-status{text-align:left;color:var(--text);overflow-wrap:anywhere;margin-top:3px;display:block}.list-owes strong{color:var(--warn)}a.list-text-link{background:var(--bg);border-radius:5px;padding:2px 8px;font-size:12px;line-height:1.6}.list-reach{display:none}@media (width<=560px){.table-stacked td.stacked-lead .list-status,.table-stacked td.stacked-lead .list-reach{flex-basis:100%}.list-reach{gap:8px;margin-top:8px;display:flex}a.list-reach-button{background:var(--surface);border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:44px;padding:6px 10px;font-size:15px;font-weight:600;display:inline-flex}a.list-reach-button:hover{background:var(--accent);color:var(--accent-text)}.table-stacked td.list-phone-cell-reached,.table-stacked td.list-pile-cell{display:none}}.customer-start{flex-wrap:wrap}button.talk-about-button{border:1px solid var(--accent);background:var(--surface);min-height:46px;color:var(--accent);border-radius:6px;flex:100%;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:15px;font-weight:600;display:inline-flex}button.talk-about-button:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}button.talk-about-stop,button.talk-about-stop:hover:not(:disabled){border-color:var(--error);background:var(--error);color:var(--bg)}@media (width>=900px){button.talk-about-button{flex:none;min-height:40px;padding:8px 16px}}.talk-about-line{color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:600}.talk-offers{flex-direction:column;gap:8px;margin-top:4px;display:flex}.talk-offer{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.talk-offer-line{color:var(--text);overflow-wrap:anywhere;margin:0}.talk-offer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.talk-offer-actions button,.talk-offer-actions .link-btn{white-space:normal;text-align:left;overflow-wrap:anywhere;min-height:36px}.talk-offer-actions .link-btn{align-items:center;display:inline-flex}.talk-offer-done{color:var(--text-h);margin:0}.list-tools{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;display:flex}.list-tools .search{flex:240px;width:auto;min-width:0;margin:0}.list-sort{white-space:nowrap;flex-direction:row;align-items:center;gap:6px}@media (width<=560px){.list-sort{flex:100%}.list-sort select{flex:1;min-width:0;min-height:44px}}.list-count{margin-bottom:12px}.search-town{color:var(--text);opacity:.65;margin-left:8px;font-size:12px}.page.customer-page{max-width:1120px}.customer-head h1{overflow-wrap:anywhere;margin:0}.customer-facts{color:var(--text);overflow-wrap:anywhere;margin:2px 0 0;font-size:14px}.customer-head,.customer-dns,.customer-reach,.customer-owes,.customer-knock,.customer-start,.customer-work{margin:0 0 16px}.customer-dns .dns-banner{margin:0}.customer-side-title{display:none}.page .customer-side-title{margin:0 0 8px;font-size:16px}.reach-buttons{gap:8px;margin:0 0 10px;display:flex}a.reach-button{border:1px solid var(--accent);background:var(--surface);min-width:0;min-height:58px;color:var(--accent);border-radius:8px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:13px;font-weight:600;display:flex}a.reach-button:hover{background:var(--accent);color:var(--accent-text)}a.reach-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reach-icon{flex:none}.reach-lines{flex-direction:column;gap:6px;margin:0;display:flex}.reach-line{align-items:baseline;gap:8px;display:flex}.reach-line dt{color:var(--text);opacity:.8;text-transform:uppercase;letter-spacing:.04em;flex:0 0 6.5rem;font-size:12px}.reach-line dd{flex:auto;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;margin:0;display:flex}.reach-value{overflow-wrap:anywhere;min-width:0;color:var(--text-h)}.reach-more{color:var(--text);margin:8px 0 0}.customer-owes{border:1px solid var(--warn);background:var(--bg-alt);color:var(--text);border-radius:8px;padding:10px 12px}.customer-owes strong{color:var(--warn);font-size:16px}.work-late{color:var(--error);font-weight:600}.knock-block{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;padding:10px 12px}.knock-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.knock-block .knock-title{text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:13px;font-weight:700}.knock-block .note-list{margin-top:6px}.knock-foot{margin:4px 0 0}.knock-add-label{font-size:14px}.knock-empty{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.customer-knock:empty{display:none}.customer-start{gap:8px;display:flex}a.start-button{border:1px solid var(--accent);background:var(--accent);min-height:46px;color:var(--accent-text);border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;padding:8px 10px;font-size:15px;font-weight:600;display:inline-flex}a.start-button:hover{background:var(--accent-hover);color:var(--accent-text)}.customer-addresses-desk{display:none}.customer-address-glance{flex-direction:column;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.customer-address-glance li{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.customer-address-text{overflow-wrap:anywhere;flex-basis:100%}.work-section+.work-section{margin-top:24px}.page .work-heading{margin:0 0 8px;font-size:18px}.work-count{opacity:.8;font-weight:400}.work-partial{margin:0 0 12px}.work-section .list-filter{margin:0 0 10px}.work-empty{margin:8px 0}.work-kind{border:1px solid var(--accent);color:var(--accent);letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;white-space:nowrap;border-radius:4px;margin-right:4px;padding:0 6px;font-size:11px;font-weight:700;display:inline-block}.work-title{color:var(--text-h);overflow-wrap:anywhere;font-weight:600}.work-date,.work-amount{white-space:nowrap}.work-section .table th:nth-child(2),.work-section .table td:nth-child(2),.work-section .table th:nth-child(3),.work-section .table td:nth-child(3){min-width:0;max-width:none}.work-section .table td.work-what{min-width:12rem}@media (width<=560px){.work-section .table-stacked td:empty{display:none}.work-section .table td.work-what{min-width:0;display:block}.work-amount,.work-date{white-space:normal}}a.customer-details-link{border:1px solid var(--accent);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:10px;margin:8px 0 0;padding:12px 14px;font-size:14px;display:flex}a.customer-details-link:hover{background:var(--bg-alt);color:var(--text)}a.customer-details-link:hover strong{text-decoration:underline}.customer-details-link-words{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.customer-details-link-words strong{color:var(--accent);font-size:15px}.customer-details-link-go{color:var(--accent);flex:none;font-size:22px;line-height:1}@media (width>=900px){.customer-layout{grid-template:"head start""dns dns""owes owes""work reach""work knock""work addresses""work details""work."1fr/minmax(0,1fr) minmax(280px,340px);align-items:start;column-gap:28px;display:grid}.customer-head{grid-area:head}.customer-dns{grid-area:dns}.customer-owes{grid-area:owes}.customer-reach{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;grid-area:reach;padding:12px 14px}.customer-knock{grid-area:knock}.customer-addresses-desk{border:1px solid var(--border);border-radius:8px;grid-area:addresses;margin:0 0 16px;padding:12px 14px;display:block}.customer-side-title{display:block}.customer-start{grid-area:start;place-self:end}a.start-button{flex:none;min-height:40px;padding:8px 16px}.customer-work{grid-area:work}a.customer-details-link{grid-area:details;margin:0}.customer-reach .reach-buttons{margin-bottom:12px}}.page.customer-details-page{max-width:760px}.customer-details-lead{color:var(--text);margin:-8px 0 16px}.details-section{margin:0 0 28px}.details-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.page .details-heading{margin:0 0 10px;font-size:18px}.details-count{opacity:.8;font-weight:400}.details-explain{margin:0 0 10px}.details-addresses{flex-direction:column;gap:10px;margin:0 0 8px;padding:0;list-style:none;display:flex}.details-address{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.details-address-head{color:var(--text-h);flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.details-address-text{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.details-address-text>span{overflow-wrap:anywhere;min-width:0}.details-address-actions{flex-wrap:wrap;gap:8px;display:flex}.details-address-actions .link-btn,.details-address-actions .address-map-link{align-items:center;min-height:36px;display:inline-flex}.details-address-form{margin:4px 0 8px}.details-address-form .field-narrow{flex:0 110px}.details-address-form .field-medium{flex:0 180px}.details-delete{border-top:1px solid var(--border);padding-top:16px}.address-property-panel{border-top:1px dashed var(--border);padding:8px 0 0}.property-data-list{margin:0 0 6px;padding-left:18px}.property-actions{margin-top:6px}.property-form{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px 16px;margin-top:6px;display:grid}.property-form .error,.property-form .actions{grid-column:1/-1}.update-bar{background:var(--bg-alt);color:var(--text);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px 12px;padding:8px 12px;font-size:14px;display:flex}.update-bar-failed{border-left-color:var(--warn)}.update-bar span{flex:16rem}.update-bar button{padding:4px 14px}.error-reload{margin-left:4px;padding:2px 10px;font-size:13px}.bill-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:720px;margin-bottom:16px;display:grid}a.bill-tile{border:1px solid var(--border);color:var(--text);border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;font-size:14px;line-height:1.35;display:flex}a.bill-tile:hover{background:var(--bg-alt);color:var(--text)}a.bill-tile strong{color:var(--text-h);overflow-wrap:anywhere;font-size:18px}.bill-tile-label{color:var(--text-h);font-size:13px}a.bill-tile-warn{border-color:var(--warn)}a.bill-tile-late{border-color:var(--error)}.bill-tile-late-text{color:var(--error);font-weight:600}.bill-part{margin:24px 0 8px;scroll-margin-top:72px}.bill-part>h2{margin:0 0 4px;font-size:18px}.bill-list{flex-direction:column;gap:8px;max-width:900px;margin:8px 0 0;padding:0;list-style:none;display:flex}.bill-row{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.bill-row-late{border-left:4px solid var(--error)}.bill-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.bill-row-title{color:var(--text-h);overflow-wrap:anywhere;font-weight:600}.bill-row-job{font-weight:400}.bill-row-warn{color:var(--warn)}.bill-row-late-text{color:var(--error);font-weight:600}.bill-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:999px;padding:0 8px;font-size:12px;display:inline-block}.bill-row-side{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.bill-row-amount{color:var(--text-h);font-size:16px}.bill-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}a.bill-row-action{text-align:center;font-size:13px}a.bill-row-action.primary{background:var(--accent);color:var(--accent-text)}a.bill-row-action.primary:hover{background:var(--accent-hover)}.bill-picker{border:1px solid var(--accent);border-radius:10px;max-width:640px;margin:0 0 16px;padding:12px}.bill-picker .search{margin:4px 0 8px}.bill-picker-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}a.bill-picker-job{border:1px solid var(--border);color:var(--text-h);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:14px;display:flex}a.bill-picker-job:hover{background:var(--bg-alt);color:var(--text-h)}.invoice-chips{flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.invoice-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:999px;padding:3px 10px;font-size:13px}.invoice-chip-good{border-color:var(--ok);color:var(--ok);font-weight:600}.invoice-chip-warn{border-color:var(--warn);color:var(--warn)}.invoice-chip-late{border-color:var(--error);color:var(--error);font-weight:600}.invoice-standing{border:1px solid var(--border);background:var(--bg-alt);border-radius:12px;flex-direction:column;gap:12px;max-width:560px;margin:0 0 16px;padding:16px;display:flex}.invoice-standing-void{opacity:.75}.invoice-standing-figure{flex-direction:column;gap:2px;display:flex}.invoice-standing-label{color:var(--text-h);font-size:14px}.invoice-standing-amount{color:var(--text-h);overflow-wrap:anywhere;font-size:32px;line-height:1.1}.invoice-standing-actions{flex-wrap:wrap;gap:8px;display:flex}.invoice-standing-actions>button{min-height:44px}.invoice-pay-done{margin:0}.invoice-send-menu,.invoice-pay-form{border:1px solid var(--accent);border-radius:12px;flex-direction:column;gap:10px;max-width:560px;margin:0 0 16px;padding:14px;display:flex}.invoice-pay-form h2{margin:0;font-size:17px}.invoice-menu-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.invoice-menu-list li{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.invoice-menu-list button{min-width:12rem;min-height:44px}.invoice-text-draft{border-left:4px solid var(--accent);background:var(--bg-alt);border-radius:6px;max-width:560px;margin:0 0 16px;padding:8px 12px}.invoice-text-draft p{overflow-wrap:anywhere;margin:4px 0}.invoice-pay-methods{border:0;min-width:0;margin:0;padding:0}.invoice-pay-methods legend{color:var(--text-h);margin-bottom:4px;padding:0;font-size:14px}.invoice-pay-method-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.invoice-pay-method-buttons>button{min-height:44px;font-size:14px}.invoice-pay-row{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:8px;display:grid}.warn-text{color:var(--warn);font-weight:600}.invoice-reach{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;max-width:560px;margin:0 0 16px;padding:8px 12px;display:flex}.invoice-reach-name{color:var(--text-h);overflow-wrap:anywhere}.invoice-reach-actions{gap:6px;display:flex}.invoice-reach-actions a{justify-content:center;align-items:center;min-width:44px;min-height:36px;display:inline-flex}.invoice-lines,.invoice-payments{max-width:720px;margin:0 0 16px}.invoice-lines h2,.invoice-payments h2,.invoice-more-heading{margin:16px 0 6px;font-size:17px}.invoice-line-list{margin:0;padding:0;list-style:none}.invoice-line-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.invoice-line-list li>span:first-child{overflow-wrap:anywhere;min-width:0}.invoice-line-total{color:var(--text-h);font-weight:600}.invoice-payment-side{color:var(--text-h);flex-shrink:0;align-items:center;gap:8px;display:flex}.invoice-write-off-line{color:var(--text-h);font-style:italic}@media (width<=560px){.bill-row{flex-direction:column;align-items:stretch}.bill-row-side{text-align:left;flex-direction:row;justify-content:space-between;align-items:center}a.bill-row-action{justify-content:center;align-items:center;min-height:40px;display:inline-flex}a.bill-tile{padding:8px}a.bill-tile strong{font-size:15px}.invoice-standing-actions>button{flex:100%}.invoice-menu-list button{width:100%;min-width:0}.invoice-pay-method-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-line-list li{flex-wrap:wrap}}.estimate-page-head h1{margin:2px 0 4px}.estimate-page-number{margin:8px 0 0}.estimate-page-customer{margin:0 0 8px}.estimate-version-note{margin:8px 0}.estimate-page-layout,.finish-layout{flex-wrap:wrap;align-items:flex-start;gap:24px;margin-top:12px;display:flex}.estimate-page-main,.finish-document{flex-direction:column;flex:999 520px;gap:16px;min-width:0;display:flex}.estimate-page-side,.finish-side{flex-direction:column;flex:320px;gap:16px;min-width:0;max-width:460px;display:flex}.estimate-summary{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;display:flex}.estimate-summary-facts{flex-direction:column;flex:260px;gap:4px;min-width:0;display:flex}.estimate-summary-facts p{margin:0}.estimate-summary-standing{color:var(--text-h)}.estimate-summary-total{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.estimate-summary-actions{flex-direction:column;flex:0 260px;align-items:stretch;gap:8px;min-width:0;display:flex}.estimate-summary-actions>a,.estimate-summary-actions>button{text-align:center;min-height:44px}.estimate-resend,.finish-send{border:2px solid var(--accent);background:var(--bg);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.estimate-resend h2,.finish-send h2,.finish-checks h2,.estimate-versions h2,.estimate-more h2{margin:0;font-size:17px}.estimate-resend p,.finish-send p{margin:0}.estimate-resend-choice{align-items:center;gap:8px;min-height:40px;display:flex}.estimate-page-scope h2{margin:0 0 6px}.estimate-versions,.finish-checks{border:1px solid var(--border);border-radius:10px;padding:14px}.estimate-versions ul,.finish-checks ul{margin:8px 0 0;padding:0;list-style:none}.estimate-version{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:10px 0;display:flex}.estimate-version:last-child{border-bottom:none}.estimate-version strong{color:var(--text-h)}.estimate-version-here{border-left:3px solid var(--accent);padding-left:10px}.estimate-version-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.estimate-more{border:1px solid var(--border);border-radius:10px;overflow:hidden}.estimate-more-toggle{background:var(--surface);width:100%;min-height:44px;color:var(--text-h);font:inherit;text-align:left;border:none;border-radius:0;justify-content:space-between;align-items:center;padding:0 14px;font-size:15px;font-weight:600;display:flex}.estimate-more-body{flex-direction:column;display:flex}.estimate-more-item{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.estimate-more-item>p,.estimate-more-item>.expiry-row,.estimate-more-item>.ai-suggest{flex-basis:100%;margin:0}.estimate-more .danger-text{color:var(--error)}.finish-head h1{margin:4px 0}.finish-head p{margin:0}.finish-unfinished{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.finish-unfinished p{margin:0}.pdf-preview-inline{flex-direction:column;gap:10px;display:flex}.finish-check{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:8px 0;font-size:14px;display:flex}.finish-check:last-child{border-bottom:none}.finish-check-mark{border-radius:999px;flex:0 0 22px;justify-content:center;align-items:center;height:22px;font-size:13px;font-weight:700;display:inline-flex}.finish-check-ok .finish-check-mark{background:var(--accent);color:var(--accent-text)}.finish-check-blocked .finish-check-mark{border:2px solid var(--error);color:var(--error)}.finish-check-warn .finish-check-mark{border:2px solid var(--warn);color:var(--warn)}.finish-send>button{text-align:left;min-height:44px}.finish-send-main{min-height:52px}.estimate-blocks{flex-direction:column;gap:14px;display:flex}.block-card{border:1px solid var(--border);background:var(--bg);border-radius:10px;min-width:0;padding:10px 12px 12px}.block-card-always{border-color:var(--accent)}.block-card-group{border-color:var(--warn)}.block-card-addon{border-style:dashed;border-color:var(--text)}.block-card-editing{box-shadow:0 0 0 2px var(--flash)}.block-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.block-head .block-name{min-width:0;color:var(--text-h);flex:220px;font-size:16px;font-weight:600}.block-name-static{color:var(--text-h);flex:220px;font-size:16px;font-weight:600}.block-kind{border:1px solid var(--accent);width:auto;min-height:32px;color:var(--accent);background:var(--bg);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600}.block-kind-choose,.block-kind-label{border-color:var(--warn);color:var(--warn)}.block-kind-addon{border-style:dashed;border-color:var(--text);color:var(--text)}.block-kind-label{border:1px solid var(--warn);border-radius:999px;align-items:center;min-height:32px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.block-price{font-variant-numeric:tabular-nums;color:var(--text-h);white-space:nowrap;font-weight:600}.block-tools{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.block-tool{background:var(--surface);min-width:36px;min-height:36px;color:var(--accent);border:1px solid var(--border);padding:0 8px}.block-description{flex-direction:column;gap:4px;margin:10px 0;font-size:13px;display:flex}.block-allow-none{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;font-size:14px;display:flex}.block-allow-none input{width:auto}.block-choices{flex-wrap:wrap;gap:10px;display:flex}.block-choice{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;flex:240px;gap:6px;min-width:0;padding:10px;display:flex}.block-choice-open{border:2px solid var(--accent)}.block-choice-name{font-weight:600}.block-choice-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.block-add-choice{background:var(--surface);min-height:96px;color:var(--accent);border:1px dashed var(--accent);flex:0 180px}.block-choice-body{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;margin-top:12px;padding:10px}.block-choice-heading{margin:0 0 4px}.block-body{flex-direction:column;gap:10px;margin-top:6px;display:flex}.block-actions{margin:0}.block-add-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.block-add-label{color:var(--text-h);font-weight:600}.block-add-hint{flex:260px}.options-price-lines{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:4px;margin-bottom:10px;padding:10px 12px;display:flex}.options-price-lines p{margin:4px 0 0}.estimate-whats-in-it h2{margin:0 0 6px;font-size:18px}.option-list{margin:0;padding:0;list-style:none}.option-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 0;font-size:15px;display:flex}.option-row-name{min-width:0;color:var(--text-h)}.option-row-price{font-variant-numeric:tabular-nums;white-space:nowrap}.option-row-group{flex-direction:column}.option-choices{margin:4px 0 0;padding:0 0 0 14px;list-style:none}.option-choice{justify-content:space-between;gap:12px;padding:2px 0;display:flex}.option-choice-chosen{font-weight:600}.option-tag{color:var(--text);font-size:12px}.option-tag-chosen{color:var(--ok);font-weight:700}.estimate-record-choices{padding:0}.option-fieldset{border:none;margin:10px 0 0;padding:0}.option-fieldset legend{color:var(--text-h);margin-bottom:4px;padding:0;font-weight:700}.option-pick{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:44px;padding:4px 8px;display:flex}.option-pick input{width:auto}.option-pick-name{flex:auto;min-width:0}.estimate-record-total{margin:12px 0 8px;font-size:16px}.option-group-row th{text-align:left;background:var(--surface);color:var(--text-h)}.mars-block-order{flex-direction:column;gap:4px;margin-top:8px;display:flex}.mars-order-launch{margin-top:4px}.mars-order-launch>button{max-width:100%}.mars-order-panel{border:1px solid var(--border);border-radius:8px;min-width:0;margin-top:8px;padding:10px 12px}.mars-order-panel>p{margin:0 0 6px}.mars-order-panel>p:last-child{margin-bottom:0}.mars-order-panel>.mars-order:first-child,.mars-order-panel>.mars-block-order:first-child{margin-top:0}.estimate-mars{margin:12px 0}.shared-price-box{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:4px;margin:12px 0;padding:16px;display:flex}.shared-price{font-variant-numeric:tabular-nums;color:var(--text-h);overflow-wrap:anywhere;font-size:30px}.shared-options-section{flex-direction:column;gap:8px;margin:18px 0 0;display:flex}.shared-options-section h3{color:var(--text-h);margin:0;font-size:18px}fieldset.shared-option-group{border:none;padding:0}.shared-option-group legend{color:var(--text-h);margin-bottom:8px;padding:0;font-size:18px;font-weight:700}.shared-option-card{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;font-size:15px;display:flex}.shared-option-on{border:2px solid var(--accent);background:var(--surface)}.shared-option-included{cursor:default}.shared-option-card input{flex:0 0 22px;width:22px;height:22px;margin:1px 0 0}.shared-option-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.shared-option-section{flex-direction:column;gap:2px;display:flex}.shared-option-price{font-variant-numeric:tabular-nums;white-space:nowrap}.shared-options-totals{border:1px solid var(--border);border-radius:10px;margin:18px 0 0;padding:14px}.shared-options-totals p{margin:0}.shared-options-total{border-top:2px solid var(--border);margin-top:6px;padding-top:6px;font-size:18px}.shared-estimate-options .shared-accept-box{border:2px solid var(--accent);flex-direction:column;gap:10px;display:flex}.shared-accept-box h3{margin:0}.shared-accepted-box{background:var(--surface)}.shared-accept-name{flex-direction:column;gap:4px;font-size:14px;display:flex}.shared-accept-button{min-height:52px;font-size:17px}.shared-questions-call{align-self:center}.shared-options-detail{margin:16px 0}.shared-options-detail summary{cursor:pointer;align-items:center;gap:6px;min-height:44px;display:flex}.shared-option-record{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.shared-option-record .shared-option-card{cursor:default}.shared-option-not-chosen{color:var(--text)}.shared-option-verdict{font-size:13px}.shared-option-verdict-chosen{color:var(--ok);font-weight:700}.invoice-choices{border:0;flex-direction:column;gap:6px;max-width:560px;margin:12px 0 16px;padding:0;display:flex}.invoice-choices legend{color:var(--text-h);margin-bottom:6px;padding:0;font-size:16px;font-weight:600}.invoice-choice{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex-direction:row;align-items:flex-start;gap:10px;min-height:44px;padding:8px 12px}.invoice-choice-picked{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:var(--surface)}.invoice-choice-closed{cursor:default;opacity:.6}.invoice-choice input[type=radio]{flex:none;width:auto;margin:3px 0 0;padding:0}.invoice-choice-words{flex-direction:column;gap:2px;min-width:0;display:flex}.invoice-choice-label{color:var(--text-h);font-weight:600}.invoice-line-field{flex:260px}.invoice-fold-open{margin:4px 0 12px;display:block}.settings-block-subtitle{color:var(--text-h);margin:20px 0 4px;font-size:15px}.shared-invoice-owed{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);color:var(--text-h);border-radius:10px;flex-direction:column;gap:4px;margin:12px 0 16px;padding:14px 16px;display:flex}.shared-invoice-owed-label{font-size:14px}.shared-invoice-owed-amount{overflow-wrap:anywhere;font-size:32px;line-height:1.1}.shared-invoice-owed-late{border-left-color:var(--error)}.shared-invoice-owed-settled{border-left-color:var(--ok)}.shared-invoice-owed-settled .shared-invoice-owed-amount{font-size:22px}.shared-invoice-how{white-space:pre-wrap}.shared-fold{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin:10px 0}.shared-fold>summary{cursor:pointer;min-height:44px;color:var(--text-h);align-items:center;padding:0 12px;font-weight:600;display:flex}.shared-fold[open]>summary{border-bottom:1px solid var(--border)}.shared-fold>:not(summary){margin:12px}@media (width<=560px){.shared-invoice-owed-amount{font-size:28px}}.shared-letterhead{border-bottom:2px solid var(--accent);justify-content:space-between;align-items:flex-start;gap:12px 24px;margin:0 0 20px;padding-bottom:16px;display:flex}.shared-company-name{align-items:center;gap:14px;min-width:0;display:flex}.shared-company-name h1{overflow-wrap:anywhere;margin:0;font-size:28px;line-height:1.2}.shared-company-logo{background:var(--logo-paper);object-fit:contain;border-radius:6px;flex:none;max-width:220px;height:64px;padding:4px}.shared-company-contact{text-align:right;min-width:0;max-width:50%;color:var(--text);flex-direction:column;flex:0 auto;align-items:flex-end;gap:4px;margin:0;font-size:14px;font-style:normal;line-height:1.4;display:flex}.shared-company-contact>*{overflow-wrap:anywhere;max-width:100%}a.shared-company-call{align-items:center;min-height:40px;font-size:15px;display:inline-flex}.page h2.shared-doc-title{color:var(--text-h);overflow-wrap:anywhere;margin:0 0 12px;font-size:26px;line-height:1.25}.shared-doc-kind{letter-spacing:.08em;color:var(--accent);margin-bottom:2px;font-size:13px;font-weight:700;display:block}.shared-doc-job{display:block}.shared-doc-details{color:var(--text-h);flex-direction:column;gap:2px;margin:0 0 18px;padding:0;font-size:15px;list-style:none;display:flex}.shared-doc-details li{overflow-wrap:anywhere}.shared-doc-label{color:var(--text)}.shared-doc-detail-strong{font-weight:700}.table.shared-doc-table th{background:var(--accent);color:var(--accent-text);padding:8px 10px}.table.shared-doc-table th:nth-child(2),.table.shared-doc-table td:nth-child(2),.table.shared-doc-table th:nth-child(3),.table.shared-doc-table td:nth-child(3){min-width:0;max-width:none}.table.shared-doc-table td{vertical-align:top;font-size:15px}.table.shared-doc-table .shared-doc-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.shared-totals{width:69%;margin:18px 0 8px auto;font-size:15px}.shared-totals-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:7px 2px 6px;display:flex}.shared-totals dt{overflow-wrap:anywhere;min-width:0;color:var(--text);flex:auto}.shared-totals dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-h);flex:none;margin:0}.shared-totals-strong dt,.shared-totals-strong dd{color:var(--text-h);font-size:17px;font-weight:700}.shared-totals-note{margin-top:6px}.shared-totals-note dd{white-space:normal;flex:0 auto;max-width:70%}.shared-doc-text{white-space:pre-wrap;overflow-wrap:anywhere}.shared-doc-terms{margin:18px 0 0}.shared-doc-terms h3{margin:0 0 6px}.shared-doc-footer{margin:20px 0 0}@media (width<=560px){.shared-letterhead{flex-direction:column;align-items:stretch;gap:10px}.shared-company-name h1{font-size:22px}.shared-company-logo{max-width:160px;height:52px}.shared-company-contact{text-align:left;align-items:flex-start;max-width:none}.page h2.shared-doc-title{font-size:22px}.shared-totals{width:auto;margin-left:0}}.sheet-overlay{z-index:90;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;border:1px solid var(--border);background:var(--surface);width:100%;max-width:520px;max-height:calc(100dvh - 32px);color:var(--text);border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex;overflow-y:auto;box-shadow:0 12px 32px #0000004d}.sheet-arming{pointer-events:none}.sheet-grip{display:none}.sheet h2,.sheet h3{margin:0}.sheet-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-h);font-size:12px;font-weight:700;margin:0 0 4px!important}.visit-sheet-head{flex-direction:column;gap:2px;display:flex}.visit-sheet-title{color:var(--text-h);overflow-wrap:anywhere;font-size:20px;line-height:1.25}.visit-sheet-who,.visit-sheet-when{margin:0;font-size:15px}.visit-sheet-who{color:var(--text-h)}.visit-sheet-notes{white-space:pre-wrap;margin:0}.visit-status-word{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.visit-status-word.cancelled{border-color:var(--warn)}.visit-sheet-crew{flex-direction:column;gap:6px;display:flex}.visit-sheet-crew-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.visit-sheet-crew-list>li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.visit-sheet-crew-list .crew-hours-choice{flex:1 0 100%}.crew-chip{border:1px solid var(--border);background:var(--bg);min-height:36px;color:var(--text-h);border-radius:18px;align-items:center;gap:6px;padding:0 12px;font-size:14px;display:inline-flex}.visit-sheet-crew-list .crew-remove{min-width:36px;min-height:36px;padding:0 8px;font-size:18px;line-height:1}.visit-sheet-actions{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;display:grid}.visit-sheet-actions>button,.visit-sheet-actions>a{text-align:center;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 10px;font-size:15px;font-weight:600;display:flex}.visit-sheet-actions>.visit-cancel-btn{border-color:var(--warn);background:var(--bg);color:var(--text-h)}.visit-sheet-actions>.visit-cancel-btn:hover:not(:disabled){background:var(--bg-alt)}.visit-sheet-details .appointment-details{margin-top:8px}.visit-sheet-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.visit-delete-link{color:var(--error);background:0 0;border:none;padding:8px 0;font-size:14px}.visit-delete-link:hover:not(:disabled){background:0 0;text-decoration:underline}.booking-sheet-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-sheet-title{color:var(--text-h);font-size:20px}.booking-step{flex-direction:column;align-items:stretch;gap:8px;display:flex}.booking-step>.link-btn{align-self:flex-start}.booking-days{color:var(--text-h);margin:0;font-size:16px;font-weight:700}.booking-days.muted{font-weight:400}.booking-times{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.booking-what-input{flex:auto;min-width:0;min-height:44px;font-size:16px}.booking-results{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.booking-results li+li{border-top:1px solid var(--border)}.booking-results button{background:var(--bg);width:100%;min-height:48px;color:var(--text-h);text-align:left;border:none;border-radius:0;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}.booking-results button:hover:not(:disabled){background:var(--bg-alt)}.booking-results button:disabled{opacity:1;color:var(--text)}.booking-browse{flex-wrap:wrap;gap:8px;display:flex}.booking-chosen{border:1px solid var(--accent);background:var(--bg);color:var(--text-h);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.booking-chosen .tag-remove{font-size:22px}.booking-field,.booking-field input,.booking-field select{width:100%}.booking-more{border-left:3px solid var(--border);flex-direction:column;gap:8px;padding-left:10px;display:flex}.booking-crew{flex-wrap:wrap;gap:8px;display:flex}.crew-pick{border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--text-h);border-radius:22px;align-items:center;gap:8px;padding:0 14px;font-weight:500;display:inline-flex}.crew-pick:hover{background:var(--bg-alt)}.crew-pick.on{border:2px solid var(--accent);padding:0 13px;font-weight:700}.booking-sheet{padding-bottom:0}.booking-finish{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:6px;margin:0 -20px;padding:10px 20px 20px;display:flex;position:sticky;bottom:0}.booking-finish p{margin:0}.booking-book-btn{border-radius:10px;min-height:48px;font-size:16px;font-weight:700}.day-picker{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:8px}.day-picker-nav{color:var(--text-h);justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.day-picker-nav .link-btn{min-width:40px;min-height:36px;font-size:18px}.day-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.day-picker-dow{text-align:center;color:var(--text);font-size:11px;font-weight:700}.day-picker-day{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-h);border-radius:8px;padding:0;font-size:14px}.day-picker-day:hover{background:var(--bg-alt)}.day-picker-day.other-month{color:var(--text)}.day-picker-day.today{border-color:var(--accent)}.day-picker-day.picked{border-color:var(--accent);background:var(--accent);color:var(--accent-text);font-weight:700}.calendar-hint{text-align:center;margin:0 0 8px}.time-grid.bookable .time-col{cursor:cell}@media (hover:hover) and (pointer:fine){.calendar-chip-info.calendar-chip-mouse{cursor:pointer}.calendar-chip-info.calendar-chip-mouse:hover{filter:brightness(1.08)}}.job-visits-actions{margin:8px 0}.job-visits{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.job-visit-row{border:1px solid var(--border);background:var(--surface);width:100%;min-height:48px;color:var(--text-h);text-align:left;border-radius:10px;grid-template-columns:minmax(96px,auto) minmax(0,1fr);align-items:baseline;gap:2px 12px;padding:10px 12px;display:grid}.job-visit-row:hover{border-color:var(--accent);background:var(--surface)}.job-visit-day{font-weight:700}.job-visit-time,.job-visit-crew{color:var(--text)}.job-visit-crew{grid-column:1/-1;font-size:13px}.job-visit-row .visit-status-word{grid-column:1/-1;justify-self:start;margin-top:2px}.job-visit-row.cancelled .job-visit-day,.job-visit-row.cancelled .job-visit-time{text-decoration:line-through}.job-visits-past-toggle{margin-top:4px}@media (width<=560px){.sheet-overlay{align-items:flex-end;padding:0}.sheet{max-width:none;max-height:92dvh;padding:8px 16px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-bottom:none;border-radius:16px 16px 0 0;gap:12px}.sheet-grip{background:var(--border);border-radius:3px;flex:none;align-self:center;width:44px;height:5px;display:block}.booking-sheet{padding-bottom:0}.booking-finish{padding:10px 16px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));margin:0 -16px}.visit-sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.parts-bought-add{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.parts-bought-sort{align-items:center;gap:8px;margin:4px 0 8px;display:inline-flex}.parts-bought-sort select{width:auto}.parts-bought-group+.parts-bought-group{margin-top:12px}.parts-bought-group-head{color:var(--text-h);justify-content:space-between;gap:12px;margin:8px 0 4px;font-size:14px;display:flex}.tax-tag{border:1px solid var(--border);white-space:nowrap;color:var(--text);opacity:.8;border-radius:999px;margin-left:4px;padding:0 6px;font-size:11px;line-height:18px;display:inline-block}.parts-bought-actions{white-space:nowrap;gap:10px;display:inline-flex}.parts-bought-form{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:8px 0 14px;padding:12px}.parts-bought-form h4{margin:0 0 10px}.parts-bought-form .form-row{margin-bottom:12px}.parts-bought-form label>span:first-child{margin-bottom:4px;display:block}.parts-bought-pick{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.parts-bought-tax{cursor:pointer;align-items:center;gap:8px;margin:0 0 12px;display:inline-flex}.parts-bought-tax input{width:18px;height:18px;accent-color:var(--accent);margin:0}.parts-bought-duplicate{border:1px solid var(--warn);background:var(--bg-alt);border-left-width:4px;border-radius:6px;margin:10px 0;padding:10px 12px}.parts-bought-duplicate p{margin:0 0 6px}.parts-bought-duplicate ul{margin:0 0 6px;padding-left:18px}.receipt-tax{flex-direction:column;gap:4px;max-width:260px;margin:8px 0;display:flex}@media (width<=560px){.parts-bought-add>button{flex:auto}.parts-bought-form{padding:10px}.receipt-tax{max-width:none}}.modal-box.said-yes-dialog{max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto}.modal-box.said-yes-dialog h2{margin:0 0 6px;font-size:18px}.said-yes-dialog h3{margin:0 0 4px;font-size:15px}.said-yes-dialog input:not([type=radio]):not([type=checkbox]){background:var(--bg)}.said-yes-field{margin:12px 0 4px}.said-yes-how{border:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:12px 0 0;padding:0;display:grid}.said-yes-how legend{color:var(--text-h);grid-column:1/-1;margin-bottom:4px;padding:0;font-size:14px}.said-yes-how-option{cursor:pointer;flex-direction:row;align-items:center;gap:8px;min-height:44px}.said-yes-how-option input,.said-yes-agreed input{flex:none;width:auto}.said-yes-choices{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.said-yes-agreed{cursor:pointer;flex-direction:row;align-items:center;gap:8px;min-height:44px;margin-top:12px}.modal-box.said-yes-dialog .said-yes-missing{margin:12px 0 0}@media (width<=560px){.said-yes-how{grid-template-columns:minmax(0,1fr)}}
