:root{--paper:#f5f7f5;--surface:#fff;--sunk:#eef1ee;--ink:#16211c;--muted:#667069;--faint:#97a19b;--line:#dde3df;--line-strong:#c5cec8;--interior:#2f6f4f;--interior-wash:#e7f1eb;--exterior:#97572a;--exterior-wash:#f6ece3;--danger:#a83228;--room-0:#4f7c82;--room-0-wash:#e8f0f1;--room-1:#8b5a7c;--room-1-wash:#f3eaf0;--accent:var(--interior);--accent-wash:var(--interior-wash);--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--serif:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--radius:9px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#10150f;--surface:#171d18;--sunk:#1d241e;--ink:#e7ece7;--muted:#97a29a;--faint:#6d7873;--line:#29322c;--line-strong:#3a453e;--interior:#79c49c;--interior-wash:#1b2a22;--exterior:#d29a67;--exterior-wash:#2b2119;--danger:#e07a6f;--room-0:#8fc0c6;--room-0-wash:#1b2829;--room-1:#cf9cc0;--room-1-wash:#2a1f27}}:root[data-theme=dark]{--paper:#10150f;--surface:#171d18;--sunk:#1d241e;--ink:#e7ece7;--muted:#97a29a;--faint:#6d7873;--line:#29322c;--line-strong:#3a453e;--interior:#79c49c;--interior-wash:#1b2a22;--exterior:#d29a67;--exterior-wash:#2b2119;--danger:#e07a6f;--room-0:#8fc0c6;--room-0-wash:#1b2829;--room-1:#cf9cc0;--room-1-wash:#2a1f27}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}[data-discipline=interior]{--accent:var(--interior);--accent-wash:var(--interior-wash)}[data-discipline=exterior]{--accent:var(--exterior);--accent-wash:var(--exterior-wash)}.muted{color:var(--muted)}.pad{padding:2rem 0}.error{color:var(--danger)}.boot{max-width:34rem;margin:0 auto;padding:5rem 1.5rem}.boot h1{font-family:var(--serif);font-weight:600}.boot pre{font-family:var(--mono);background:var(--sunk);border-radius:var(--radius);padding:.75rem;font-size:.8rem;overflow-x:auto}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:30;align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex;position:sticky;top:0}.brand{font-family:var(--serif);letter-spacing:-.01em;margin-right:auto;font-size:1.1rem;font-weight:600}.lang{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:7px;padding:.3rem .5rem;font-size:.85rem}.body{flex:1;align-items:flex-start;display:flex}.content{flex:1;min-width:0;max-width:62rem;padding:1.25rem 1.5rem 6rem}.seg{background:var(--sunk);border:1px solid var(--line);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.35rem .9rem;font-size:.875rem}.seg button[aria-pressed=true]{background:var(--surface);font-weight:600;box-shadow:0 1px 2px #00000017}.seg button.interior[aria-pressed=true]{color:var(--interior)}.seg button.exterior[aria-pressed=true]{color:var(--exterior)}button{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:7px;padding:.4rem .8rem;font-size:.875rem}button:hover{border-color:var(--ink)}button[disabled]{opacity:.45;cursor:not-allowed}button[disabled]:hover{border-color:var(--line-strong)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:600}button.soft{background:var(--accent-wash);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent);font-weight:600}button.soft:hover{border-color:var(--accent)}button.quiet{color:var(--muted);border-color:#0000}button.quiet:hover{border-color:var(--line-strong);color:var(--ink)}button.link{color:var(--muted);text-underline-offset:2px;background:0 0;border:0;padding:.15rem .3rem;font-size:.8rem;text-decoration:underline}button.link:hover{color:var(--ink)}input[type=search],input[type=number],input[type=text],select{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:7px;padding:.35rem .6rem}input::placeholder{color:var(--faint)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.library-controls{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem;display:flex}.library-controls input[type=search]{flex:15rem;min-width:0}.toggle{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.toggle input{accent-color:var(--accent);width:1rem;height:1rem}.pill{font-family:var(--mono);background:var(--sunk);color:var(--muted);border-radius:999px;padding:.05rem .4rem;font-size:.7rem}.chips{flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;display:flex}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:baseline;gap:.4rem;padding:.2rem .7rem;font-size:.78rem;display:inline-flex}.chip .n{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:.72rem}.chip[aria-pressed=true]{color:var(--accent);background:var(--accent-wash);border-color:currentColor;font-weight:600}.chip[aria-pressed=true] .n{color:inherit}section.family h3{font-family:var(--serif);align-items:baseline;gap:.6rem;margin:0 0 .5rem;font-size:1.1rem;font-weight:600;display:flex}section.family h3 .count{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:400}.table-scroll{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.45rem .7rem}tbody tr:last-child td{border-bottom:0}.rate-label{min-width:15rem}.markers{flex-wrap:wrap;gap:.3rem;margin-left:.5rem;display:inline-flex}.tag{font-family:var(--mono);color:var(--muted);background:var(--sunk);white-space:nowrap;border-radius:4px;padding:.05rem .35rem;font-size:.66rem;font-style:normal}.tag.mine{color:var(--accent);background:var(--accent-wash)}.tag.edited{color:var(--exterior);background:var(--exterior-wash)}.rate-value{width:7rem}.rate-value input{width:100%;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border-color:#0000}.rate-value input:hover{border-color:var(--line-strong)}.rate-value input:focus{border-color:var(--accent);background:var(--surface)}.rate-coats{white-space:nowrap;width:6.5rem}.rate-coats .unit{color:var(--faint);font-size:.8rem}.rate-unit{width:6rem;color:var(--muted);white-space:nowrap;font-size:.8rem}.rate-actions{text-align:right;white-space:nowrap;width:11rem}.new-rate{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem}.new-rate h4{font-family:var(--serif);margin:0 0 .75rem;font-size:.95rem}.new-rate-fields{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;display:grid}.new-rate-fields .wide{grid-column:span 2}.new-rate-fields label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.can-sizes{border:0;border-top:1px solid var(--line);margin:.85rem 0 0;padding:.6rem 0 0}.can-sizes legend{color:var(--muted);padding:0 .4rem 0 0;font-size:.78rem}.can-sizes p{margin:0 0 .5rem}.can-row{grid-template-columns:minmax(6rem,9rem) minmax(6rem,9rem) auto;align-items:end;gap:.75rem;margin-bottom:.5rem;display:grid}.can-row label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.can-row>.link{justify-self:start;padding-bottom:.45rem}.can-row.invalid input{border-color:var(--danger)}.new-rate-actions{gap:.5rem;margin-top:.85rem;display:flex}@media (width<=860px){.body{flex-direction:column}.rail{border-bottom:1px solid var(--line);flex-direction:row;flex:none;width:100%;padding:.6rem 1rem;position:static;overflow-x:auto}.content{padding:1rem 1rem 5rem}.new-rate-fields{grid-template-columns:1fr}}.screen-title{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 .35rem;font-size:1.35rem;font-weight:600}.section-title{font-family:var(--serif);margin:0 0 .35rem;font-size:1.1rem;font-weight:600}.general-section,.panel-card,section.family,.template-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1rem 1.25rem 1.25rem}.general-section,section.family,.template-card{margin-top:1rem}:is(.general-section,.panel-card,section.family,.template-card) :is(.general-section,.panel-card,section.family,.template-card){border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;margin-top:1rem;padding:1rem 0 0}.screen-lede{color:var(--muted);max-width:44rem;margin:0 0 1.5rem}.small{font-size:.82rem}.method{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1rem;display:flex}.worked{flex-direction:column;gap:.4rem;display:flex}.worked-label{color:var(--faint);text-transform:uppercase;letter-spacing:.07em;font-size:.78rem}.worked-grid{gap:1.5rem;display:flex}.worked-grid>div{border-left:2px solid var(--line);gap:.1rem;padding-left:.7rem;display:grid}.worked-grid>div.on{border-left-color:var(--accent)}.worked-grid dt{color:var(--muted);font-size:.78rem}.worked-grid dd{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0;font-size:1.15rem}.worked-grid>div.on dd{color:var(--accent);font-weight:600}.worked-grid small{color:var(--faint);font-size:.72rem}thead th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);white-space:nowrap;padding:.5rem .7rem;font-size:.68rem;font-weight:600}th.num,td.num{text-align:right}td.num input,td.narrow input{width:100%;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}td.narrow{width:7rem}input.row-name{background:0 0;border-color:#0000;width:100%;max-width:14rem}input.row-name:hover{border-color:var(--line)}input.row-name:focus{border-color:var(--line-strong);background:var(--surface)}tr.off-row td:not(.rate-actions){opacity:.55}tr.total-row td{border-top:1px solid var(--line-strong);background:var(--sunk);border-bottom:0;font-weight:600}.add-row{margin-top:.85rem}.new-rate-fields.two{grid-template-columns:2fr 1fr}.field-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.field{flex-direction:column;gap:.3rem;display:flex}.field-label{color:var(--muted);font-size:.82rem}.field-input{background:var(--surface);border:1px solid var(--line-strong);border-radius:7px;align-items:center;gap:.35rem;padding:0 .5rem;display:flex}.field-input:focus-within{border-color:var(--accent)}.field-input i{color:var(--faint);font-size:.85rem;font-style:normal}.field-input input{min-width:0;font-family:var(--mono);font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding:.4rem 0}.field-input input:focus{outline:none}.field small{color:var(--faint);font-size:.74rem;line-height:1.35}.trim-widths{margin-top:2rem}.trim-widths h3{font-family:var(--serif);margin:0 0 .25rem;font-size:1rem}.edit-bar{gap:.5rem;margin:0 0 1rem;display:flex}.field-value{font-family:var(--mono);font-variant-numeric:tabular-nums;padding:.4rem 0;font-size:.95rem}.field-input.invalid{border-color:var(--danger)}.callout{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;color:var(--muted);max-width:46rem;margin-top:2rem;padding:.9rem 1.1rem;font-size:.875rem}.callout b{color:var(--ink)}.rail-heading{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:0 0 .3rem .8rem;font-size:.68rem;font-weight:600}.two-pane{align-items:flex-start;gap:1.5rem;display:flex}.pane-list{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);flex:0 0 17rem;overflow:hidden}.pane-head{border-bottom:1px solid var(--line);gap:.5rem;padding:.7rem;display:flex}.pane-list>.pad{margin:0;padding:1.25rem .8rem}.pane-head input,.pane-detail{flex:1;min-width:0}.customer-list{max-height:70vh;margin:0;padding:0;list-style:none;overflow-y:auto}.customer-list button{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-direction:column;gap:.1rem;width:100%;padding:.6rem .8rem;display:flex}.customer-list button:hover{background:var(--sunk)}.customer-list button[aria-current=true]{background:var(--accent-wash);box-shadow:inset 3px 0 0 var(--accent)}.customer-list strong{font-size:.92rem;font-weight:600}.customer-list small{color:var(--muted);font-size:.78rem}.detail-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.detail-actions{flex-shrink:0;gap:.4rem;display:flex}.note-text{background:var(--sunk);border-radius:var(--radius);color:var(--muted);white-space:pre-wrap;margin:0 0 1.25rem;padding:.7rem .9rem;font-size:.875rem}.estimate-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.estimate-card{background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:var(--radius);overflow:hidden}.estimate-list>.estimate-card:nth-child(2n){background:var(--sunk)}.estimate-card .estimate-name{color:var(--accent)}.estimate-open{text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:.85rem;width:100%;padding:.75rem .9rem;display:flex}.estimate-open:hover{background:var(--accent-wash)}.estimate-name{flex:1;font-weight:600}.estimate-figures{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;display:flex}.estimate-figures b{font-family:var(--mono)}.estimate-figures small{color:var(--muted);font-size:.75rem}.status{text-transform:uppercase;letter-spacing:.06em;background:var(--sunk);color:var(--muted);border-radius:999px;padding:.1rem .45rem;font-size:.7rem}.status-accepted,.status-booked{background:var(--interior-wash);color:var(--interior)}.status-declined{color:var(--danger)}.status-expired{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);margin-left:.25rem}.customer-stage{align-self:center}.stage-accepted,.stage-booked{background:var(--interior-wash);color:var(--interior)}.stage-lost{color:var(--danger)}.start-date{align-items:center;gap:.4rem;display:inline-flex}.start-date input[type=number]{width:4.5rem}.start-date.needs-date input{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)}.email-tab{gap:1rem;max-width:52rem;display:grid}.email-tab textarea,.email-template-form textarea{width:100%;font:inherit}.email-attach{border:0;gap:.35rem;margin:.75rem 0;padding:0;display:grid}.email-history{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.email-template-list{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.email-template-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;display:flex}.email-template-text{gap:.15rem;min-width:0;display:grid}.email-template-row .rate-actions{flex-shrink:0;gap:.75rem;width:auto;display:flex}.email-template-form{justify-items:start;gap:.5rem;display:grid}.email-template-form .field{width:100%}.estimate-actions{border-top:1px solid var(--line);gap:.5rem;padding:.35rem .9rem .5rem;display:flex}.field.wide{margin-top:1rem}textarea{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);resize:vertical;border-radius:7px;padding:.45rem .6rem}.back{margin-bottom:.75rem}.totals-strip{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1px;margin:0 0 1.5rem;display:grid;overflow:hidden}.totals-strip>div{background:var(--surface);padding:.75rem .9rem}.totals-strip dt{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:.2rem;font-size:.7rem}.totals-strip dd{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0;font-size:1.15rem}@media (width<=860px){.two-pane{flex-direction:column}.pane-list{flex:none;width:100%}}.room-tone-0{--room:var(--room-0);--room-wash:var(--room-0-wash)}.room-tone-1{--room:var(--room-1);--room-wash:var(--room-1-wash)}.room-pane{background:0 0;border:0;border-radius:0;overflow:visible}.room-pane .pane-head{border-bottom:0;padding:0 0 .75rem}.room-pane .pane-head button{flex:1;padding:.75rem 1rem;font-size:1rem}.room-pane>.pad{padding:.5rem 0}.room-list{gap:.5rem;max-height:none;display:grid;overflow:visible}.room-list li>button{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--room);border-radius:var(--radius);box-shadow:none}.room-list li>button:hover{background:var(--sunk)}.room-list li>button[aria-current=true]{background:var(--room-wash);border-color:var(--room);box-shadow:none}.lock-fence[class*=room-tone-] .room-head{border-left:4px solid var(--room);padding-left:.5rem}.scope-area[class*=room-tone-]{border-left-color:var(--room)}.scope-area[class*=room-tone-]>header{background:var(--room-wash)}.room-name{font-family:var(--serif);background:0 0;border-color:#0000;flex:1;min-width:0;padding:.25rem .4rem;font-size:1.15rem;font-weight:600}.room-name:hover{border-color:var(--line-strong)}.room-name:focus{border-color:var(--accent);background:var(--surface)}.estimate-title{font-size:1.35rem}.room-head{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.dims{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.room-editor section{margin-top:1.5rem}.room-editor h4{font-family:var(--serif);margin:0 0 .5rem;font-size:1rem;font-weight:600}.room-editor h5{font-family:var(--serif);margin:0;font-size:.9rem}.derived{background:var(--sunk);border-radius:var(--radius);padding:.85rem 1rem}.derived dl{grid-template-columns:1fr auto 1fr auto;gap:.3rem .75rem;margin:0;font-size:.875rem;display:grid}.derived dt{color:var(--muted)}.derived dd{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0}.deduction-list{border-top:1px solid var(--line);color:var(--muted);gap:.2rem;margin:.75rem 0 0;padding:.6rem 0 0;font-size:.8rem;list-style:none;display:grid}.narrow-input{flex:none;width:8rem}.accent-head{align-items:center;margin-top:1.25rem;margin-bottom:.5rem}.accent-list{gap:.4rem;margin:0 0 .5rem;padding:0;list-style:none;display:grid}.accent-list li{align-items:center;gap:.5rem;display:flex}.accent-list li>input:first-child{flex:1;min-width:0}.surface-grid{gap:.4rem;display:grid}.surface-row{grid-template-columns:9rem minmax(10rem,1fr) 5.5rem minmax(0,1.1fr);align-items:center;gap:.6rem;display:grid}.surface-paint{align-items:center;gap:.4rem;min-width:0;display:flex}.surface-paint select{flex:1;min-width:0}.coats{flex:0 0 5rem}.coats input{width:100%}.surface-label{color:var(--muted);font-size:.875rem}.surface-qty{font-family:var(--mono);color:var(--faint);text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem}.surface-row select{width:100%}.excluded{color:var(--faint);text-decoration:line-through}@media (width<=860px){.dims{grid-template-columns:1fr 1fr}.surface-row{grid-template-columns:1fr;gap:.25rem}.surface-qty{text-align:left}.derived dl{grid-template-columns:1fr auto}}.choice-picker{align-items:center;gap:.4rem;display:inline-flex}.choice-picker select{max-width:16rem}.confirm{background:var(--flag-wash,var(--sunk));border:1px solid var(--danger);border-radius:7px;align-items:center;gap:.4rem;padding:.2rem .35rem .2rem .6rem;display:inline-flex}.confirm-question{color:var(--ink);font-size:.8rem}.confirm-yes{background:var(--danger);border-color:var(--danger);color:var(--surface);font-weight:600}.confirm-yes:hover{border-color:var(--danger);filter:brightness(1.08)}.tabs{background:var(--sunk);border:1px solid var(--line);border-radius:calc(var(--radius) + 3px);gap:.25rem;margin:0 0 1.25rem;padding:.25rem;display:flex;overflow-x:auto}.tabs button{border-radius:var(--radius);min-width:max-content;color:var(--muted);background:0 0;border:1px solid #0000;flex:1 1 0;padding:.6rem 1rem;font-size:1rem;font-weight:500}.tabs button:hover{color:var(--ink);background:color-mix(in srgb, var(--surface) 55%, transparent)}.tabs button[aria-selected=true]{color:var(--accent);background:var(--surface);border-color:var(--line);font-weight:650;box-shadow:0 1px 3px #00000014}.closing-bar{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.present-button{border-radius:var(--radius);flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.9rem 1rem;display:flex}.present-title{font-size:1.15rem;font-weight:600}.present-hint{opacity:.85;font-size:.8rem}.leave-presenting{margin-left:auto}.totals-strip dd.headline{font-size:1.6rem;font-weight:600}.presenting .totals-strip{grid-template-columns:1fr;margin:1.5rem 0 0}.presenting .totals-strip>div:first-child{background:var(--brand-main,var(--surface));color:var(--brand-main-ink,var(--ink))}.presenting .totals-strip>div:first-child dt{color:inherit;letter-spacing:normal;text-transform:none;margin:0;font-size:1rem;font-weight:600}.presenting .totals-strip>div:first-child{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.present-brand{border:1px solid var(--line);border-bottom:3px solid var(--brand-main,var(--line));border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;gap:.9rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.present-brand img{object-fit:contain;max-width:18rem;max-height:4.5rem}.present-brand strong{font-family:var(--serif);color:var(--brand-main,#16211c);font-size:1.3rem}dd.warn,p.warn{color:var(--danger)}p.warn{margin:.35rem 0 0}.closing-grid{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1.5rem;display:grid}.presenting .closing-grid{grid-template-columns:minmax(0,1fr)}.presenting .levers section:first-child{margin-top:0}.scope-area{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}.scope-area header{border-bottom:1px solid var(--line);background:var(--sunk);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;display:flex}.toggle.big{color:var(--ink);font-size:1rem}.toggle.big input{width:1.15rem;height:1.15rem}.scope-price{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}.scope-area ul{margin:0;padding:0;list-style:none}.scope-area li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .9rem;display:flex}.scope-area li:last-child{border-bottom:0}.line-price{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.85rem}.levers section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.45rem;margin-bottom:.75rem;padding:.85rem 1rem;display:flex}.levers h4{font-family:var(--serif);margin:0;font-size:.95rem}.levers .muted.small{margin:0}.discount-row{align-items:center;gap:.5rem;display:flex}.discount-row select{flex:1;min-width:0}.reason{width:100%}.purchase-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.purchase-list li{justify-content:space-between;gap:.75rem;font-size:.85rem;display:flex}.purchase-name{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.purchase-amount{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.purchase-amount i{color:var(--muted);font-style:normal}.purchase-list input.gallons{text-align:right;font-variant-numeric:tabular-nums;width:4.5rem}.purchase-cans{flex-basis:100%}.purchase-list b{font-family:var(--mono);font-variant-numeric:tabular-nums}@media (width<=860px){.closing-grid{grid-template-columns:minmax(0,1fr)}}.total-cell{font-family:var(--mono);font-variant-numeric:tabular-nums;background:var(--sunk);font-weight:600}.measure-hint{color:var(--faint);font-size:.72rem}.elevation-table{min-width:48rem}.elevation-table th:first-child{min-width:11rem}.elevation-table td.narrow input{min-width:4.5rem;padding-left:.4rem;padding-right:.4rem}.elevation-table input[type=number]{appearance:textfield}.elevation-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.elevation-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.elevation-table th.num{text-align:right;padding-right:1.1rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button-like{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-wash);color:var(--accent);cursor:pointer;border-radius:7px;padding:.4rem .8rem;font-size:.875rem;font-weight:600;display:inline-block}.button-like:hover{border-color:var(--accent)}.visually-hidden:focus-visible+.button-like{outline:2px solid var(--accent);outline-offset:2px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.photo-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.photo-card img{aspect-ratio:4/3;object-fit:cover;background:var(--sunk);width:100%;display:block}.photo-card input[type=text],.photo-card>input{border:0;border-top:1px solid var(--line);border-radius:0;width:100%;font-size:.82rem}.photo-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:.4rem;padding:.35rem .5rem;display:flex}.pdf-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin:-.5rem 0 1.25rem;display:flex}.quote-meta dl>div,.quote-totals dl>.total-row{display:contents}.panel-card{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}.panel-title{font-family:var(--serif);margin:0;font-size:1.1rem;font-weight:600}.panel-card .pdf-actions,.panel-card .quote-controls{margin:0}.quote-layout{gap:1.25rem;display:grid}.quote-side{align-content:start;gap:1rem;display:grid}.preview-title{color:var(--muted);margin-bottom:.5rem}@media (width>=1100px){.quote-layout{grid-template-columns:minmax(19rem,22rem) minmax(0,1fr);align-items:start}.quote-side{max-height:calc(100vh - 5.5rem);position:sticky;top:4.5rem;overflow-y:auto}.quote-side .quote-controls,.quote-side .proposal-fields{gap:.6rem;display:grid}.quote-side .proposal-fields,.quote-side .quote-controls{grid-template-columns:minmax(0,1fr)}.quote-side .quote-note-field,.quote-side textarea{min-width:0}.quote-side select{width:100%;min-width:0}.quote-side .valid-for{flex-wrap:wrap}.quote-side .pdf-actions .valid-for{width:100%;display:grid}}@media (width<=1099px){.proposal-tab .quote-main{order:-1}}.proposal-fields{flex-wrap:wrap;gap:.75rem;display:flex}.proposal-status{margin:0}.quote-photo-picker{gap:.5rem;display:grid}.cover-strip{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.cover-thumb{flex:none;justify-items:center;gap:.35rem;width:9rem;display:grid}.cover-thumb img,.cover-template{object-fit:cover;opacity:.55;border:3px solid #0000;border-radius:6px;width:9rem;height:6.75rem;display:block}.cover-thumb.is-on img,.cover-thumb.is-on .cover-template{border-color:var(--interior);opacity:1}.cover-choice{background:0 0;border:0;border-radius:8px;padding:0}.cover-template{box-sizing:border-box;text-align:center;color:var(--muted);background:var(--sunk);border-style:dashed;border-color:var(--line-strong);place-items:center;padding:.5rem;font-size:.8rem;display:grid}.quote-pill{width:100%;color:var(--muted);background:var(--sunk);border:1px solid var(--line-strong);border-radius:999px;padding:.3rem .5rem;font-size:.8rem}.quote-pill.on{color:var(--surface);background:var(--interior);border-color:var(--interior)}.photo-move{gap:.15rem;display:inline-flex}.template-list{gap:.35rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.template-list li{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.button-row{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.quote-controls{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.quote{--surface:#fff;--ink:#16211c;--muted:#667069;--faint:#97a19b;--line:#dde3df;--line-strong:#c5cec8;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:48rem;padding:2.25rem}.quote h1{font-family:var(--serif);color:var(--brand-main,var(--ink));margin:0 0 .35rem;font-size:1.4rem}.quote-from{flex-direction:column;gap:.7rem;min-width:0;display:flex}.quote-identity{align-items:center;gap:.9rem;display:flex}.quote-identity h1{margin:0}.quote-logo{object-fit:contain;object-position:left center;max-width:min(18rem,100%);max-height:5.5rem;display:block}.quote-contact{margin:0;line-height:1.55}.quote-line{display:block}.quote h2{font-family:var(--serif);text-align:right;margin:0 0 .5rem;font-size:1.6rem}.quote h3{letter-spacing:.09em;text-transform:uppercase;color:var(--brand-second,var(--faint));margin:1.75rem 0 .6rem;font-size:.72rem}.quote-head{border-bottom:2px solid var(--brand-main,var(--ink));justify-content:space-between;gap:2rem;padding-bottom:1.25rem;display:flex}.quote-meta dl{grid-template-columns:auto auto;justify-content:end;gap:.15rem .75rem;margin:0;font-size:.8rem;display:grid}.quote-meta dt{color:var(--muted);white-space:nowrap}.quote-meta dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0}.quote-for p{margin:0;line-height:1.6}.quote-table{border-collapse:collapse;width:100%;font-size:.9rem}.quote-table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--brand-second,var(--faint));border-bottom:1px solid var(--line);padding:.35rem 0;font-size:.68rem}.quote-table td{border-bottom:1px solid var(--line);padding:.4rem 0}.quote-table td.num,.quote-table th.num{text-align:right;font-variant-numeric:tabular-nums}.scope-words{margin:0;padding-left:1.1rem;line-height:1.8}.quote-totals{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem);align-items:start;gap:2rem;margin-top:1.5rem;display:grid}@media (width<=600px){.quote-totals{grid-template-columns:minmax(0,1fr)}}.quote-notes{color:var(--muted);font-size:.82rem;line-height:1.5}.quote-notes p{margin:0 0 .5rem}.quote-notes-label{letter-spacing:.07em;text-transform:uppercase;color:var(--brand-second,var(--faint));margin-bottom:.3rem;font-size:.68rem;display:block}.quote-totals .deposit>*{padding-top:.35rem;font-size:.85rem}.quote-note-field{flex-direction:column;flex:16rem;gap:.25rem;display:flex}.quote-note-field textarea{width:100%}.quote-totals dl{grid-template-columns:1fr auto;gap:.3rem 1.5rem;margin:0 0 .75rem;font-size:.9rem;display:grid}.quote-totals dt{color:var(--muted)}.quote-totals dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.quote-totals .grand{background:var(--brand-main,var(--ink));color:var(--brand-main-ink,#fff);-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:6px;grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.4rem;padding:.5rem .75rem;font-size:1.15rem;font-weight:600;display:flex}.quote-totals .grand dt,.quote-totals .grand dd{color:inherit;margin:0}.add-ons{border-top:1px dashed var(--line-strong);padding-top:.5rem}.quote-photo-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem;display:grid}.quote-photo-grid figure{margin:0}.quote-photo-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;width:100%;display:block}.quote-photo-grid figcaption{color:var(--muted);margin-top:.2rem;font-size:.75rem}.pre{white-space:pre-wrap}@page{size:letter;margin:.55in .6in}@media print{.topbar,.tabs,.no-print{display:none!important}.quote{font-size:.9rem}.quote-table td{padding:.3rem 0}body,.shell,.content,.quote-wrap{color:#111!important;background:#fff!important;max-width:none!important;margin:0!important;padding:0!important}.quote{border:0;border-radius:0;max-width:none;padding:0;color:#111!important;background:#fff!important}.quote h3,.quote-table th{color:var(--brand-second,#666)!important}.quote-head{border-bottom-color:var(--brand-main,#111)!important}.quote h1{color:var(--brand-main,#111)!important}.quote-totals .grand{color:var(--brand-main-ink,#fff)!important}.quote-totals,.add-ons,.quote-photos,.quote-for,.quote-table tr{break-inside:avoid}}.missing-keys{font-family:var(--mono);flex-wrap:wrap;gap:.3rem;margin:0;padding:0;font-size:.72rem;list-style:none;display:flex}.missing-keys li{background:var(--sunk);color:var(--muted);border-radius:4px;padding:.1rem .4rem}.quick-fill{background:var(--sunk);border-radius:var(--radius);margin-top:1rem;padding:.85rem 1rem}.quick-fill h4{margin-top:0}.quick-fill .dims{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.6rem;display:grid}.quick-fill p{margin:.6rem 0 0}.measure-list{margin-top:1.5rem}.measure-list.tinted{--wash:13%;--wash-inner:6%;border-left:4px solid var(--group-colour);border-radius:var(--radius);background:color-mix(in srgb, var(--group-colour) var(--wash), var(--paper));padding:.75rem .9rem .9rem}.measure-list.tinted .table-scroll,.measure-list.tinted .work-cards{background:color-mix(in srgb, var(--group-colour) var(--wash-inner), var(--surface));border-color:color-mix(in srgb, var(--group-colour) 30%, var(--line))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .measure-list.tinted{--wash:20%;--wash-inner:10%}}:root[data-theme=dark] .measure-list.tinted{--wash:20%;--wash-inner:10%}.work-card .wc-effect{grid-column:1/-1;margin:0}.rate-label-inner{flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;display:flex}.rate-pills{flex-wrap:wrap;gap:.3rem;margin-top:.2rem;display:flex}.tag.note{white-space:normal;font-family:inherit;font-size:.72rem}.rate-paint{white-space:nowrap}.rate-paint .unit{color:var(--faint);font-size:.75rem}.rate-value.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.opening-size-fields{align-items:center;gap:.3rem;display:inline-flex}.opening-size-fields input{width:4rem}tr.rate-editing>td{padding:.5rem}tr.rate-editing .new-rate{margin-bottom:0}.rate-order{white-space:nowrap;width:3.5rem}.rate-meaning{max-width:48rem;margin:0 0 .75rem}.rate-group-note{color:var(--muted);margin:-.5rem 0 .9rem;font-size:.85rem}.settings-scroll-target{scroll-margin-top:4.5rem}.chips-label{align-self:center}.templates>p{margin:0 0 .85rem}.inline-field{color:var(--muted);align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.template-head{align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.template-head .template-title{flex:1;font-weight:600}.template-head input.template-title{flex:0 22rem}.template-head .tag,.template-card .chips{margin-bottom:0}.template-chip{align-items:center;min-height:2rem}.template-chip .n{font-family:inherit;font-size:.72rem}.template-card:not(.editing) .template-chip:disabled{opacity:1;cursor:default}.template-card.editing{border-color:var(--accent)}.template-head .toggle{margin-left:auto}.template-chip[aria-pressed=true] .n{color:var(--muted);font-weight:400}.template-chip[aria-pressed=true][style]{color:var(--ink);border-color:var(--group-colour);background:color-mix(in srgb, var(--group-colour) 16%, var(--paper));border-left-width:4px;font-weight:600}.group-picker{margin-top:1rem}.group-picker .chips{align-items:center;margin-bottom:.5rem}.group-picker p{margin:0}.chips-label{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);min-width:5rem;font-size:.72rem}.chip:disabled{opacity:.45}.group-chip{cursor:grab;align-items:center;min-height:2.25rem;padding:.3rem .85rem}.group-chip[style]{color:var(--ink);border-color:var(--group-colour);background:color-mix(in srgb, var(--group-colour) 13%, var(--paper));border-left-width:4px}.template-name{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.template-name input{width:12rem}.group-remove{flex-shrink:0}.group-editor .field input.group-swatch{flex:none;align-self:flex-start;width:2.4rem;height:2.4rem}.group-dot{vertical-align:middle;border-radius:50%;width:1rem;height:1rem;margin-right:.5rem;display:inline-block}.new-group{border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);margin-bottom:1rem;padding:.75rem 1rem}.group-swatch{border:1px solid var(--line-strong);vertical-align:middle;cursor:pointer;background:0 0;border-radius:50%;width:1.6rem;height:1.6rem;margin-right:.5rem;padding:0}.group-swatch::-webkit-color-swatch-wrapper{padding:0}.group-swatch::-webkit-color-swatch{border:none;border-radius:50%}.group-swatch::-moz-color-swatch{border:none;border-radius:50%}.measure-list .detail-head{align-items:center;margin-bottom:.5rem}.measure-list h4{flex:1;align-items:baseline;gap:.6rem;margin:0;display:flex}.measure-list h4 .count{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:400}.segment-table{min-width:34rem}.segment-table td.narrow{width:6.5rem}.segment-table td.narrow input{text-align:right;width:100%;min-width:4rem}.work-cards{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.table-scroll+.work-cards{margin-top:.6rem}.work-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"type numbers delete""paint colour delete";gap:.7rem .9rem;padding:.85rem .9rem;display:grid}.work-card.no-numbers{grid-template-areas:"type type delete""paint colour delete"}.work-card+.work-card{border-top:1px solid var(--line)}.wc-type{grid-area:type}.wc-numbers{flex-wrap:wrap;grid-area:numbers;gap:.6rem;display:flex}.wc-paint{grid-area:paint}.wc-colour{grid-area:colour}.wc-delete{grid-area:delete;align-self:center;padding-left:.4rem}.wc-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.wc-label{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:.68rem;font-weight:600}.wc-field select,.wc-field input[type=text]{width:100%}.wc-field select,.wc-field input{box-sizing:border-box;height:2.3rem}.wc-number input{text-align:right;font-variant-numeric:tabular-nums;width:5rem}.wc-total{font-family:var(--mono);font-variant-numeric:tabular-nums;padding:.35rem 0;font-weight:600}.work-card input[type=number]{appearance:textfield}.work-card input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.work-card input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media (width<=640px){.work-card,.work-card.no-numbers{grid-template-columns:minmax(0,1fr);grid-template-areas:"type""numbers""paint""colour""delete"}.wc-delete{justify-self:end}}.segment-table input[type=number],.work-table input[type=number]{appearance:textfield}.segment-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.segment-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.work-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.work-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.work-table{min-width:42rem}.work-table td{vertical-align:middle}.work-table td.narrow{width:7rem}.work-table td.narrow input{text-align:right;width:100%}input.overridden{border-color:var(--exterior);background:var(--exterior-wash);font-weight:600}.unit-cell{white-space:nowrap;color:var(--muted);width:8rem;font-size:.8rem}.unit-cell .link{margin-left:.4rem}.deduction-note{color:var(--muted);margin-top:.15rem;font-size:.75rem}.calc-note{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.6rem;line-height:1.5}@media (width<=860px){.quick-fill .dims{grid-template-columns:1fr 1fr}}.nav{align-items:center;gap:.4rem;display:flex}.nav-menu{position:relative}.nav-trigger[aria-current=page]{background:var(--accent-wash);border-color:var(--accent);color:var(--accent)}.nav-current{font-weight:400}.nav-current:before{content:"·";margin-right:.4rem}.nav-trigger{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.nav-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.nav-pop{z-index:50;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:.15rem;min-width:13rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 2px 4px #0000000f,0 12px 32px #0000001f}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group+.nav-group{margin-top:.75rem}.nav-pop button{text-align:left;color:var(--muted);background:0 0;border:0;border-radius:6px;width:100%;padding:.45rem .7rem}.nav-pop button:hover{background:var(--sunk);color:var(--ink);border-color:#0000}.nav-pop button[aria-current=page]{background:var(--accent-wash);color:var(--accent);font-weight:600}.content{max-width:74rem;margin:0 auto;padding:1.25rem 1.5rem 6rem}.section-hint{margin:-.25rem 0 .5rem}.quick-fill .dims{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.surface-work{background:var(--sunk);border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:-.4rem 0 0;padding:.7rem .9rem;display:flex}.surface-work .field{flex:13rem;min-width:0}.surface-work .field select{width:100%}.surface-work .coats-field{flex:0 0 5rem}.surface-work .coats-field input{text-align:right;width:100%}.surface-work .include-toggle{padding-bottom:.45rem}.accent-section{margin-top:1.25rem}.effect-cell{color:var(--muted);min-width:11rem;font-size:.78rem;line-height:1.35}.opening-table{min-width:30rem}.segment-table input[type=number]{text-align:right}@media (width<=860px){.surface-work .field{flex:100%}}.scope-area li>.toggle:first-child{flex:0 auto}.estimate-title-field{max-width:34rem;margin-bottom:.75rem;display:block}.estimate-type{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.type-badge{background:var(--accent-wash);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:999px;padding:.2rem .65rem;font-size:.8rem;font-weight:600}.new-estimate .primary.exterior{background:var(--exterior);border-color:var(--exterior)}.new-estimate .primary.interior{background:var(--interior);border-color:var(--interior)}.new-estimate{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.estimate-title{border:1px solid #0000;border-bottom:1px dashed var(--line-strong);border-radius:6px 6px 0 0;width:100%}.estimate-title:hover{border-bottom-color:var(--ink)}.estimate-title:focus{border-color:var(--accent);background:var(--surface);border-bottom-style:solid}.rename-row{align-items:center;gap:.5rem;padding:.6rem .9rem;display:flex}.rename-row input{flex:1;min-width:0;font-weight:600}.drift-notice{background:var(--exterior-wash);border:1px solid var(--exterior);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.7rem .9rem;font-size:.875rem;display:flex}.drift-notice b{color:var(--ink)}.drift-notice .muted{max-width:46rem;margin-top:.15rem}.lock-fence{border:0;min-width:0;margin:0;padding:0;display:contents}.lock-notice{background:var(--sunk);border:1px solid var(--line-strong);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.7rem .9rem;font-size:.875rem;display:flex}.lock-actions{flex-wrap:wrap;gap:.5rem;display:flex}.lost-notice{border-color:var(--danger)}.lost-lines{border:1px solid var(--danger);border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-left-width:4px;margin-top:1rem;padding:.75rem .9rem}.lost-lines h4{color:var(--danger);margin:0 0 .5rem}.lost-lines ul{margin:0;padding:0;list-style:none}.lost-lines li{flex-wrap:wrap;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.lost-lines li>span:first-child{flex:12rem}.group-editor{background:var(--sunk);border-radius:var(--radius);flex-direction:column;gap:.9rem;padding:1rem 1.1rem 1.2rem;display:flex}.group-editor h4{margin:.4rem 0 0}.group-editor .field-grid{align-items:end}.group-editor .field select,.group-editor .field input{width:100%}.behaviour-row{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.behaviour-row select{max-width:14rem}.behaviour-row .choice-picker{flex-wrap:wrap;gap:.4rem .8rem}.surface-work>.field-label{white-space:nowrap;align-self:center}.rate-picker{flex-direction:column;gap:.6rem;display:flex}.rate-picker .detail-head{margin:0}.rate-picker h4{align-items:baseline;gap:.6rem;margin:0;display:flex}.rate-picker h4 .count{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:400}.rate-picker-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);max-height:18rem;padding:.4rem .6rem;overflow-y:auto}.rate-picker-row{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.rate-picker-row>span:first-of-type{flex:auto;min-width:0}.contact-line{flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;display:flex}.contact-line>a+a:before{content:"·";color:var(--faint);margin-right:.5rem}.contact-line a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:.18em}.contact-line a:hover{color:var(--accent);text-decoration-color:currentColor}.address-field{position:relative}.address-suggestions{z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);max-height:14rem;margin:.2rem 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 24px #0000001f}.address-suggestions button{text-align:left;border-radius:calc(var(--radius) - 2px);width:100%;font:inherit;cursor:pointer;background:0 0;border:0;padding:.4rem .55rem;display:block}.address-suggestions button:hover,.address-suggestions button:focus-visible{background:var(--sunk)}.cost-note{margin-top:1.4rem}.unit-case{text-transform:none}.texts-controls{margin-top:1.25rem}.texts-table td.text-cell{white-space:normal;vertical-align:top;max-width:28rem}.texts-table td.text-cell .rate-pills{margin-top:.25rem;display:flex}.text-fields{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem;display:grid}.text-fields label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.text-fields textarea{width:100%;font:inherit;color:var(--ink);font-size:.9rem}.text-fields textarea.invalid{border-color:var(--danger)}.add-language{margin-top:.75rem}.add-language-form{margin-top:1rem}.add-language-fields{grid-template-columns:repeat(auto-fit,minmax(14rem,18rem));align-items:start;gap:1rem;display:grid}.add-language-fields select,.add-language-fields input{width:100%}.add-language-form .new-rate-actions{margin-top:1rem}.add-language-form p{margin:.75rem 0 0}.add-language-form h4{margin:0 0 .75rem}.text-reference{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.text-reference p{color:var(--ink);background:var(--sunk);border-radius:6px;margin:0;padding:.45rem .6rem;font-size:.9rem}.popup-backdrop{z-index:100;background:#0a140f73;justify-content:center;align-items:stretch;padding:2rem 1rem;display:flex;position:fixed;inset:0}.popup{background:var(--paper);border-radius:var(--radius);flex-direction:column;width:min(64rem,100%);display:flex;overflow:hidden;box-shadow:0 12px 48px #00000040}.popup-head{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex}.popup-head .section-title{margin:0}.popup-body{padding:1rem 1.25rem 1.5rem;overflow-y:auto}@media (width<=640px){.popup-backdrop{padding:0}.popup{border-radius:0}}.gap-lines{margin:.35rem 0 0;padding-left:1.1rem;font-size:.85rem}.gap-lines li{margin:.1rem 0}.gap-dot{background:var(--exterior);color:#fff;vertical-align:middle;border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;margin-left:.4rem;font-size:.7rem;font-weight:700;display:inline-grid}.gap-warn{margin:.35rem 0 0;display:block}.surface-work .gap-warn{flex-basis:100%;margin:0}.adjustments{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.adjustments>summary{cursor:pointer;flex-direction:column;gap:.15rem;padding:.75rem .9rem;list-style:none;display:flex}.adjustments>summary::-webkit-details-marker{display:none}.adjustments>summary:after{content:"▾";color:var(--muted);position:absolute;right:.9rem}.adjustments{position:relative}.adjustments[open]>summary:after{content:"▴"}.adjust-title{font-family:var(--serif);font-weight:600}.adjust-active{color:var(--muted);font-size:.8rem}.adjust-active.set{color:var(--accent);font-weight:600}.adjustments>section{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}.levers>section,.levers>.adjustments{border-left:4px solid var(--accent);margin-bottom:.75rem}.levers>section>h4,.adjust-title{font-family:var(--serif);font-size:1.05rem;font-weight:600}.levers>section{padding:.9rem 1rem 1rem}.company-layout{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1.5rem;display:grid}@media (width<=860px){.company-layout{grid-template-columns:minmax(0,1fr)}}.field-value.plain{font-family:inherit}.company-notes,.company-logo,.company-colours{margin-top:1.25rem}.logo-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.logo-thumb{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:6px;max-width:14rem;max-height:4rem;padding:.35rem}.logo-actions{align-items:center;gap:.75rem;display:flex}.colour-value,.colour-edit{align-items:center;gap:.5rem;display:flex}.swatch{border:1px solid var(--line-strong);border-radius:4px;width:1.25rem;height:1.25rem}.colour-edit input[type=color]{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:7px;width:2.6rem;height:2.2rem;padding:.15rem}.colour-edit .field-input{font-family:var(--mono);flex:1}.from-logo{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.4rem;display:flex}.swatch-button{border:1px solid var(--line-strong);cursor:pointer;border-radius:50%;width:1.7rem;height:1.7rem;padding:0}.swatch-button.on{outline:2px solid var(--ink);outline-offset:2px}.brand-preview-wrap{flex-direction:column;gap:.35rem;margin:0;display:flex}.brand-preview{color:#16211c;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1rem;font-size:.8rem}.brand-preview-head{border-bottom:2px solid var(--brand-main);justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.55rem;display:flex}.brand-identity{align-items:center;gap:.5rem;min-width:0;display:flex}.brand-identity img{object-fit:contain;max-width:8rem;max-height:2.4rem}.brand-identity strong{font-family:var(--serif);color:var(--brand-main);font-size:.95rem}.brand-preview-title{font-family:var(--serif)}.brand-preview-h{letter-spacing:.09em;text-transform:uppercase;color:var(--brand-second);margin:.8rem 0 .4rem;font-size:.62rem;display:block}.brand-preview-line{background:#e6eae7;border-radius:3px;height:.4rem;margin-bottom:.35rem;display:block}.brand-preview-line.short{width:60%}.brand-total{background:var(--brand-main);color:var(--brand-main-ink);border-radius:6px;justify-content:space-between;margin-top:.8rem;padding:.45rem .6rem;font-weight:600;display:flex}.valid-for{align-items:center;gap:.4rem;font-size:.875rem;display:inline-flex}.valid-for .field-input input{width:4rem}.company-notes textarea{width:100%;max-width:40rem}.list-filters{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.search-input{flex:18rem}.search-input input{width:100%}.estimate-who{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.estimate-who small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drive-line,.drive-links{flex-wrap:wrap;align-items:center;gap:.35rem .9rem;margin:.5rem 0 0;display:flex}.drive-links{border-top:1px solid var(--line);padding:.5rem .75rem .6rem}.pdf-preview{gap:.75rem;display:grid}.pdf-preview canvas{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;height:auto}.proposal-tab .quote-main{align-content:start;gap:1rem;display:grid}button.busy:before{content:"";vertical-align:-.15em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.95em;height:.95em;margin-right:.5em;animation:.7s linear infinite busy-spin;display:inline-block}button.busy[disabled]{opacity:.85;cursor:progress}@keyframes busy-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){button.busy:before{animation-duration:2s}}.visit-list{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:.5rem 0;padding:0;list-style:none}.visit-list:empty{display:none}.visit-list>li+li{border-top:1px solid var(--line)}.visit-list>li:not(.visit-row){padding:.6rem .9rem}.visit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.6rem .9rem;display:flex}.visit-text{gap:.15rem;display:grid}.visit-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.visits .email-tab>.quiet{justify-self:start}.visit-row>.error{flex-basis:100%;margin:0}.signature-box{border:1px solid var(--line);color:#222;background:#fff;border-radius:8px;margin:.5rem 0;padding:.75rem 1rem;font:small Arial,Helvetica,sans-serif;overflow-x:auto}.signature-box *{all:revert}.signature-box a{color:#15c}.signature-row{gap:.25rem;display:grid}.signature-row .signature-box{margin:0}.email-template-form .signature-box{width:100%}.signature-edit{outline:none;min-height:6rem}.signature-edit:focus{border-color:var(--accent)}.colour-swatches{flex-wrap:wrap;gap:.35rem;display:flex}.colour-swatch{border:2px solid #0000;border-radius:50%;width:1.6rem;height:1.6rem;min-height:0;padding:0}.colour-swatch.own{background:conic-gradient(#039be5,#33b679,#f6bf26,#d50000,#039be5)}.colour-swatch[aria-checked=true]{border-color:var(--ink,#222);box-shadow:0 0 0 2px var(--surface) inset}.colour-dot{vertical-align:middle;border-radius:50%;width:.8rem;height:.8rem;margin-right:.4rem;display:inline-block}.field>button.soft{place-self:flex-start start}.visit-time{gap:.4rem;display:flex}.job-hours{align-items:center;gap:.4rem;display:inline-flex}.customer-table{min-width:56rem}.customer-table tbody tr{cursor:pointer}.customer-table tbody tr:hover{background:var(--sunk)}.customer-table td{white-space:nowrap}.customer-table td:first-child{white-space:normal;min-width:12rem}.customer-table td small{display:block}.customer-table-name{text-align:left;font-weight:600}.sort-heading{all:unset;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}.sort-heading:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-list{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:.5rem 0 0;padding:0;list-style:none}.history-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.3rem 1rem;padding:.5rem .9rem;display:flex}.history-row:last-child{border-bottom:0}.history-row.replaced .history-day,.history-row.replaced .history-what{color:var(--faint);text-decoration:line-through}.history-row .tag{margin-left:.4rem;text-decoration:none;display:inline-block}.history-day{min-width:7.5rem;font-family:var(--mono);font-size:.85rem}.history-what{flex:1;min-width:10rem}.history-row .rate-actions{gap:.75rem;width:auto;display:flex}.history-edit{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.calendar-status{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 .5rem;display:flex}.calendar-checks{gap:.3rem;display:grid}.calendar-checks .check{align-items:center;gap:.4rem;display:flex}.visit-week{width:100%}.week-strip{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(6.5rem,1fr));gap:1px;display:grid;overflow-x:auto}.week-day{background:var(--surface);align-content:start;gap:.25rem;min-height:5rem;padding:.4rem;font-size:.75rem;display:grid}.week-day.chosen{background:var(--accent-wash)}.week-day-name{color:var(--muted);font-weight:600}.week-day.today .week-day-name{color:var(--accent)}.week-item{overflow-wrap:anywhere;line-height:1.3}.week-item b{white-space:nowrap}.week-item .colour-dot{vertical-align:middle;margin-right:.25rem;display:inline-block}.week-item.proposal{background:var(--accent);color:#fff;border-radius:4px;padding:.15rem .3rem}.week-item.clash{color:var(--danger);font-weight:600}.cal-event.pending{border:1.5px dashed var(--surface);outline:1px dashed var(--line-strong)}.colour-dot.pending{border:1.5px dashed var(--accent);background:0 0}.week-free{color:var(--faint)}.job-clash{flex-basis:100%;gap:.25rem;display:grid}.calendar-nav{align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.calendar-nav .section-title{margin:0 0 0 .5rem}.week-scroll{max-height:70vh;overflow:auto}.week-grid{grid-template-columns:3.5rem repeat(7,minmax(6rem,1fr));min-width:46rem;display:grid}.week-head,.week-corner{z-index:2;background:var(--surface);position:sticky;top:0}.week-corner{z-index:3;border-bottom:1px solid var(--line);left:0}.week-head{color:var(--muted);border-bottom:1px solid var(--line);padding:.3rem;font-size:.8rem;font-weight:600}.week-head.today{color:var(--accent)}.week-all-day{gap:2px;margin-top:.2rem;display:grid}.week-hours{z-index:1;background:var(--surface);grid-column:1;position:sticky;left:0}.week-hour{color:var(--faint);text-align:right;padding-right:.4rem;font-size:.68rem;transform:translateY(-.45rem)}.week-column{border-left:1px solid var(--line);cursor:copy;background-image:linear-gradient(var(--line) 1px, transparent 1px);background-size:100% 3rem;position:relative}.week-column.today{background-color:var(--accent-wash)}.cal-event,.cal-chip{all:unset;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;color:#fff;background:var(--accent);cursor:pointer;border-radius:4px;padding:.1rem .3rem;font-size:.72rem;line-height:1.3;display:block;overflow:hidden}.cal-event{white-space:normal;border:1px solid var(--surface);flex-direction:column;justify-content:flex-start;display:flex;position:absolute}.cal-event>span{overflow:hidden}.cal-event.short{white-space:nowrap;flex-direction:row;gap:.3rem}.cal-event.short>span{text-overflow:ellipsis}.cal-event:focus-visible,.cal-chip:focus-visible{outline:2px solid var(--ink)}.month-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.month-weekday{background:var(--sunk);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:.3rem;font-size:.7rem}.month-day{all:unset;box-sizing:border-box;background:var(--surface);cursor:pointer;align-content:start;gap:.15rem;min-width:0;min-height:6rem;padding:.3rem;font-size:.72rem;display:grid}.month-day.other{background:var(--sunk);color:var(--faint)}.month-day.today .month-date{color:var(--accent);font-weight:700}.month-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.month-date{font-weight:600}.month-item{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.25rem;display:flex;overflow:hidden}.month-item .colour-dot{flex-shrink:0}.book-picker{margin-bottom:.75rem}.book-picker-list{gap:.3rem;margin:.4rem 0;padding:0;list-style:none;display:grid}.week-item .colour-dot:not([style]),.month-item .colour-dot:not([style]){background:var(--accent)}.book-picker .seg{margin-bottom:.6rem}.book-job{gap:.4rem;display:grid}.book-job p{margin:0}.booked-note{margin:0 0 .6rem}.pair-offer{flex-wrap:wrap;align-items:flex-start;gap:1rem 1.5rem;display:flex}.qr-code{border:1px solid var(--line);background:#fff;border-radius:8px;width:13rem;height:13rem;display:block}.pair-code{letter-spacing:.12em;margin:.25rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.6rem}.qr-scanner{background:#000;border-radius:8px;width:100%;max-width:22rem;margin:.5rem 0;display:block}.recovery-key{word-spacing:.2em;overflow-wrap:anywhere;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:.6rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;line-height:1.6}.sync-recovery{margin-top:1rem}.sync-recovery>summary{cursor:pointer;color:var(--muted);font-size:.875rem}.update-bar{background:var(--accent-wash);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;font-size:.9rem;display:flex}
