: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;--header-bg:#0c3c60;--header-text:#fff;--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;--header-bg:#17608f;--header-text:#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;--header-bg:#17608f;--header-text:#fff;--cal-block-ink:#fff;--cal-block-halo:#000;--cal-block-line:#fff}*{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))}.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))}:root .scheduler-finish{bottom:47px;bottom:calc(47px + env(safe-area-inset-bottom));padding-bottom:8px}}.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}.home-grid{flex-direction:column;gap:12px;max-width:400px;display:flex}.home-btn{text-align:center;border:1px solid var(--accent);min-height:64px;color:var(--accent);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;padding:16px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.home-btn:hover{background:var(--accent);color:var(--accent-text)}.hours-waiting{background:var(--bg-alt);border:1px solid var(--border);border-left:4px solid var(--accent);max-width:400px;color:var(--text);border-radius:8px;flex-direction:column;gap:2px;margin:0 0 16px;padding:10px 12px;font-size:15px;display:flex}.hours-waiting strong{color:var(--text-h);font-size:16px}.hours-waiting-why{opacity:.7;font-size:13px}.hours-waiting:hover{background:var(--surface);color:var(--text);border-color:var(--border);border-left-color:var(--accent)}.hours-waiting:hover strong{text-decoration:underline}.hours-waiting:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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}.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}.all-day-cell.drafting{background:var(--surface);outline:2px dashed var(--accent);outline-offset:-2px}.all-day-draft{color:var(--text-h);font-size:11px;display:block}.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}.visit-detail-heading{color:var(--text-h);margin:0 0 2px;font-weight:700}.visit-detail-company{color:var(--text);font-size:14px;font-weight:400;display:block}.visit-detail-job{font-size:18px;margin:0 0 6px!important}.visit-detail-crew{flex-direction:column;gap:6px;padding:0;font-size:13px;list-style:none;display:flex;margin:0 0 8px!important}.visit-detail-crew .crew-remove{opacity:.7;margin-left:4px;padding:0 2px;font-size:13px;line-height:1}.visit-detail-crew .crew-remove:hover:not(:disabled){opacity:1;color:var(--error)}.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}.add-mode-banner{background:var(--accent);color:var(--accent-text);border-radius:8px;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.add-mode-mark{background:var(--accent-text);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.add-mode-text{flex-direction:column;min-width:0;display:flex}.add-mode-banner .muted{color:var(--accent-text);opacity:.85}.add-mode-banner .link-btn{border-color:var(--accent-text);color:var(--accent-text);background:0 0;flex:none;margin-left:auto}.add-mode-banner .link-btn:hover{background:var(--accent-text);color:var(--accent)}.calendar-adding .calendar-grid,.calendar-adding .time-grid{outline:3px solid var(--accent);outline-offset:2px}.calendar-adding .calendar-cell:hover{background:var(--bg-alt);box-shadow:inset 0 0 0 2px var(--accent)}.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)}.scheduler-browse{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.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}.add-mode-banner{flex-wrap:wrap}.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-panel{border:1px solid var(--border);border-radius:8px;margin-top:20px;padding:12px}.scheduler-finish{z-index:30;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #00000040}.scheduler-finish-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;max-width:960px;margin:0 auto;display:flex}.scheduler-finish-why{margin-right:auto}.scheduler-finish .error{max-width:960px;margin:0 auto 8px}.calendar-adding{padding-bottom:96px}@media (width<=560px){.scheduler-finish-why{flex:1 0 100%}.scheduler-finish{padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.calendar-adding{padding-bottom:120px}}.scheduler-mode{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.scheduler-panel-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.scheduler-job-picker{flex:220px;min-width:220px}.scheduler-job-selected{background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.all-day-toggle{white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-size:13px;font-weight:400;display:flex}.scheduler-employee-list{flex-wrap:wrap;gap:4px 16px;margin-bottom:8px;display:flex}.scheduler-employee-list label{flex-direction:row;align-items:center;gap:4px;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}.schedule-job-menu-wrap{margin-top:20px;position:relative}.schedule-job-menu{background:var(--surface);border:1px solid var(--border);z-index:21;border-radius:8px;flex-direction:column;min-width:160px;margin-top:6px;display:flex;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 8px 24px #0003}.schedule-job-menu button{background:var(--surface);text-align:left;border:none;border-radius:0;padding:10px 16px}.schedule-job-menu button:hover{background:var(--bg-alt)}.job-scheduler{margin-bottom:20px}.job-scheduler-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:8px;display:flex}.crew-hours-edit{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.crew-hours-edit .time-field{min-width:88px;padding:5px 10px;font-size:13px}.tag-hours{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0}.tag-hours:hover{text-decoration:underline}.tag-hours em,.tag-hours-static{opacity:.72;white-space:nowrap;margin-left:5px;font-size:12px;font-style:normal}.visit-edit-fields{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.visit-edit-fields .time-field{min-width:96px;padding:5px 10px;font-size:13px}.visit-edit-date{width:100%;min-width:0;padding:5px 8px;font-size:13px}.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-scheduler-cell.selected{background:var(--accent)}.job-scheduler-cell.selected .calendar-day-number{color:var(--accent-text)}.calendar-chip.scheduled{color:#fff;background:#5b6470}.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)}.sort-header{width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:4px;padding:8px 10px;font-weight:600;display:flex}.sort-header:hover{background:var(--bg-alt)}.sort-indicator{opacity:.7;font-size:10px}.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)}.labor-rate-row{align-items:center;margin-bottom:20px}.labor-rate-row label{flex:none}.labor-rate-row input{width:120px}.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}.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}.nickname-cell{align-items:center;gap:6px;max-width:180px;display:flex}.nickname-display-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.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}.nickname-row td{background:var(--bg-alt)}.nickname-panel{padding:8px 4px}.nickname-add-row{align-items:center;gap:8px;display:flex}.new-estimate-page{max-width:1200px}.estimate-layout{display:block}.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}}.parts-layout{align-items:flex-start;gap:24px;display:flex}.parts-main{flex:1;min-width:0}.quick-add-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.7;margin:0 0 8px;font-size:13px}.estimate-main{flex:1;min-width:0}.frequent-parts{border:1px solid var(--border);border-radius:8px;flex-direction:column;flex-shrink:0;width:220px;max-height:calc(100vh - 140px);padding:12px;display:flex}.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}.mobile-picker-buttons{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:none}.mobile-picker-buttons button{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.mobile-picker-buttons button.active{background:var(--accent);color:var(--accent-text)}.mobile-parts-picker{background:var(--surface);border:1px solid var(--border);border-radius:6px;max-height:320px;margin-bottom:12px;overflow-y:auto}.mobile-parts-picker.is-browse{flex-direction:column;max-height:60vh;padding:8px;display:flex}@media (width<=800px){.estimate-layout{flex-direction:column;align-items:stretch}.frequent-parts{display:none}.mobile-picker-buttons{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(--accent-border,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(--accent-border,var(--border));color:var(--text-h);align-self:flex-end}.ai-chat-bubble.assistant{background:var(--bg-2,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-muted,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-muted,var(--text));font-style:italic}.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}.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{gap:8px;display:flex}.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 input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;flex:1;min-width:0;padding:8px 10px}.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}.theo-layout{align-items:flex-start;gap:24px;display:flex}.theo-main{flex:1;min-width:0}.theo-side{flex:1 1 0;min-width:0;position:sticky;top:12px}.theo-toolbar{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.theo-drawer{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;min-width:0}.theo-toolbar .theo-drawer{flex:320px;max-width:520px}.theo-drawer>summary{cursor:pointer;color:var(--text-h);padding:8px 12px;font-size:14px}.theo-drawer-body{flex-direction:column;gap:8px;padding:0 12px 12px;display:flex}.theo-drawer-body .theo-chat-list{max-height:320px;overflow-y:auto}.theo-chat-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.theo-chat-list button{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.theo-chat-list li.active button{border-color:var(--accent);color:var(--text-h)}.theo-chat-title{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.3}.theo-context{margin-bottom:12px}.theo-context label{max-width:420px}.theo-lineage{margin:0 0 10px}.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-page .ai-chat-thread{max-height:min(60vh,640px)}.theo-handoff{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.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-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<=800px){.theo-layout{flex-direction:column;align-items:stretch}.theo-side{flex:auto;order:1;position:static}.theo-main{order:2}.theo-window{max-height:70vh}.theo-window.is-empty .theo-window-empty ul,.theo-window.is-empty .theo-window-empty p.muted{display:none}.theo-toolbar .theo-drawer{max-width:none}}@media (width<=560px){.theo-page .ai-chat-thread{max-height:min(52vh,460px)}.theo-context label{max-width:none}.theo-handoff{flex-direction:column;align-items:flex-start;gap:6px}}.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:10;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-doors{flex-direction:column;gap:8px;margin:16px 0 24px;padding:0;list-style:none;display:flex}a.settings-door{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;flex-direction:column;gap:2px;padding:12px 14px;font-size:15px;display:flex}a.settings-door:hover{background:var(--surface);border-color: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-moved-note{max-width:640px}.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}.template-manage{width:100%}.template-manage summary{cursor:pointer;margin-bottom:8px}.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}.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{margin-bottom:12px}.out-of-stock-row td{background:var(--bg-alt)}.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}.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{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-key,.role-grid-desc{color:var(--text);opacity:.65;font-weight:400;display:block}.role-grid-key{font-size:11px}.role-grid-desc{margin-top:2px;font-size:12px;line-height:1.35}.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}.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}@media (width<=560px){.quick-add-grid{grid-template-columns:1fr}}.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-estimate-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:12px;display:flex}.shared-scope,.job-scope{white-space:pre-wrap}.shared-accept-box{border:1px solid var(--accent-border,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}.description-cell{width:210px;max-width:210px;position:relative}.description-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:13px;display:flex}.description-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.description-toggle:hover{color:var(--accent)}.description-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.description-pop-overlay{z-index:30;position:fixed;inset:0}.description-pop{z-index:31;background:var(--surface);border:1px solid var(--border);white-space:normal;text-align:left;border-radius:8px;min-width:280px;max-width:420px;margin-top:4px;padding:10px 12px;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0003}.description-pop p{margin:0 0 6px}.description-pop p:last-child{margin-bottom:0}.nickname-cell{min-width:0}.nickname-display-text{white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;max-width:240px;display:inline-block;overflow:hidden}.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-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}.parts-table th:first-child,.parts-table th:nth-child(2){min-width:84px}.parts-table th:nth-child(3),.parts-table td:nth-child(3){width:100%}.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-top{align-items:flex-start;gap:20px;display:flex}.part-detail-top>.part-detail{flex:1;min-width:0}@media (width<=560px){.part-detail-top{flex-direction:column;gap:12px}.part-detail-top .part-thumb-400{width:112px;height:112px}}.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}.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}.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(100vh - 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}.add-part-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.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:100vh;max-height:100vh}.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}.add-employee-form input[type=email]{flex:3 200px}@media (width<=560px){.add-employee-form{flex-direction:column;align-items:stretch}.add-employee-form input,.add-employee-form input[type=email]{flex:none}}.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;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:6px;padding:6px 8px}@media (prefers-color-scheme:dark){.day-nav-jump input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial}}.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)}.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}.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}.search-result-blocked{opacity:.6;cursor:not-allowed}.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}.job-costing-list th:first-child,.job-costing-list td:first-child{min-width:170px}.job-costing-list th:nth-child(n+3),.job-costing-list td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.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-grid th,.position-grid td{padding:6px}.position-note{max-width:90px}.position-caveats{padding-left:26px}}.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}}.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-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}.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}@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}}.table.costing-table th.planned-tick-col,.table.costing-table td.planned-tick-col{white-space:nowrap;text-align:center;width:1%;min-width:0;max-width:none}.planned-tick{cursor:pointer;align-items:center;margin:0;padding:4px 2px;display:inline-flex}.planned-tick input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;margin:0}.planned-tick input:disabled{cursor:default}.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-chips{flex-wrap:wrap;gap:10px;display:flex}.job-chip{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;flex-direction:column;flex:220px;gap:2px;min-width:200px;padding:8px 12px;display:flex}.job-chip-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text);opacity:.6;font-size:11px}.job-chip-line{color:var(--text-h);font-size:15px;font-weight:600;line-height:1.35}.job-chip-alert{border-color:var(--error)}.job-chip-alert .job-chip-line{color:var(--error)}.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-schedule-summary{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.job-schedule-line{color:var(--text-h);margin:0;font-size:17px}.job-schedule-summary p{margin:0}.job-schedule-summary .actions{margin-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}.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}.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}.week-sheet thead th:last-child{width:5em}.week-sheet thead th>span{display:block}.week-sheet-weekday{font-weight:600}.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-who{font-weight:400}.week-sheet-who button{margin-left:8px}.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{text-align:right;color:var(--text);opacity:.6;font-variant-numeric:tabular-nums}.week-sheet-clocked{opacity:.8;font-size:11px;display:block}.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}}.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-tick{align-items:flex-start;gap:10px}.todo-tick input[type=checkbox]{width:20px;height:20px;margin-top:2px}.todo-body{overflow-wrap:break-word;color:var(--text-h)}.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-manual{margin:6px 0 0}.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%}}.job-pile{margin-top:28px}.job-pile-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 8px;font-size:1.1rem;display:flex}.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{margin-top:10px}.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%}}
