/* v45.5 Paint & colours */
.pa-sw{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;border:1px solid rgba(0,0,0,.12);flex:none;font-size:11px;color:var(--muted);background:var(--surface-3)}
.pa-sw.big{width:44px;height:44px;border-radius:12px}
.pa-ct{display:flex;flex-direction:column;line-height:1.2}.pa-ct small{color:var(--muted)}
.pa-pill{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);white-space:nowrap}
.pa-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pa-prop-cta{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:4px 0 16px;border-radius:var(--radius);background:linear-gradient(135deg,var(--accent-soft),#fbecc9);border:1px solid var(--accent-line);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-1)}
.pa-prop-cta>span:nth-child(2){flex:1;display:flex;flex-direction:column}.pa-prop-cta small{color:var(--ink-2)}
.pa-prop-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--accent);color:#fff}
.pa-palette h3{display:flex;align-items:center;gap:8px;margin:0 0 10px}.pa-palette h3 small{color:var(--muted);font-weight:600}
.pa-pal-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}
.pa-pal{flex:none;width:112px;display:flex;flex-direction:column;gap:2px;scroll-snap-align:start;font-size:13px}
.pa-pal-chip{height:64px;border-radius:14px;border:1px solid rgba(0,0,0,.1);margin-bottom:4px;box-shadow:inset 0 -10px 18px rgba(0,0,0,.05)}
.pa-pal small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-rooms{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:14px}
.pa-room{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--tint,var(--surface));border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease)}
.pa-room:active{transform:scale(.985)}
.pa-room-band{display:flex;height:54px}.pa-room-band span{flex:1}.pa-band-empty{background:repeating-linear-gradient(45deg,rgba(0,0,0,.04) 0 8px,transparent 8px 16px)}
.pa-room-body{padding:12px 14px 14px;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.pa-room-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pa-room-top strong{font-size:17px}
.pa-dims{margin:2px 0 8px;font-size:13px}
.pa-mini-row{display:flex;flex-wrap:wrap;gap:6px}
.pa-mini{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:4px 9px 4px 4px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.pa-mini .pa-sw{width:18px;height:18px;border-radius:50%}.pa-mini em{font-style:normal;color:var(--muted)}
.pa-foot{margin-top:16px}
.pa-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:22px 18px 18px;border-radius:var(--radius);background:linear-gradient(135deg,var(--brand),var(--brand-2));color:var(--brand-ink);min-height:120px;margin:8px 0 14px;box-shadow:var(--shadow-2)}
.pa-hero h2{margin:0;font-size:26px}.pa-hero p{margin:2px 0;opacity:.85}.pa-hero .btn{background:rgba(255,255,255,.85);color:#18223a}
.pa-surfaces{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.pa-surface{display:flex;gap:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-1)}
.pa-surface-sw{flex:none;width:96px;border:0;cursor:pointer;display:grid;place-items:center;font:inherit;font-size:12px;font-weight:700}
.pa-surface-sw span{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted)}
.pa-surface-body{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.pa-surface .specs{margin:0}.pa-snote{margin:0;font-size:13px}
.pa-add-row{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.pa-add-row .chip{display:inline-flex;align-items:center;gap:4px}
.pa-colorbtn{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:inherit;text-align:left;min-height:var(--tap)}
.pa-colorbtn .pa-ct{flex:1}
.pa-picker{display:flex;flex-direction:column;gap:10px}
.pa-search{width:100%;font-size:16px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink)}
.pa-recent-row{display:flex;gap:6px;overflow-x:auto;padding:4px 0}
.pa-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:13px}
.pa-count{margin:0;font-size:13px}
.pa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;max-height:52vh;overflow-y:auto;padding:2px}
.pa-tile{aspect-ratio:1/1;border-radius:14px;border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:8px;font:inherit;text-align:left;cursor:pointer}
.pa-tile b{font-size:12.5px;line-height:1.15}.pa-tile small{font-size:11px;opacity:.85}
.pa-tile.on{outline:3px solid var(--accent);outline-offset:2px}
.pa-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 14px}
.pa-tot{display:flex;flex-direction:column;padding:12px 14px;border-radius:var(--radius-md);background:var(--info-bg);border:1px solid var(--line)}
.pa-tot:nth-child(3){background:var(--ok-bg)}.pa-tot span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.pa-tot b{font-size:20px}.pa-tot small{color:var(--ink-2)}
.pa-tot.big{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:0}.pa-tot.big span,.pa-tot.big small{color:rgba(255,255,255,.9)}.pa-tot.big b{font-size:26px}
@media (max-width:560px){.pa-totals{grid-template-columns:1fr 1fr}.pa-tot.big{grid-column:1/-1}}
.pa-internal{border:1px dashed var(--accent-line);background:var(--accent-soft)}
.pa-internal h3,.pa-approve h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;flex-wrap:wrap}.pa-internal h3 small{font-weight:600;color:var(--muted)}
.pa-sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:8px 0}
.pa-set{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.pa-set input{font-size:16px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink)}
.pa-settings summary{display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer;min-height:32px}.pa-small{font-size:13px}
.pa-est-rooms{display:grid;gap:12px;margin:14px 0}
.pa-est-room.off{opacity:.55}.pa-inc{display:flex;align-items:center;gap:10px}.pa-inc input{width:20px;height:20px}
.pa-lines{display:flex;flex-direction:column;margin-top:8px}
.pa-line{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.pa-line>span:nth-child(2){flex:1;display:flex;flex-direction:column;min-width:0}.pa-line small{color:var(--muted)}
.pa-amt{font-weight:700;white-space:nowrap}
.pa-warn{color:var(--warn);background:var(--warn-bg);padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;margin:8px 0 0}
.pa-ok{color:var(--ok);font-weight:700}
.pa-print-bar{margin-bottom:14px;flex-wrap:nowrap}.pa-print-bar .btn{white-space:nowrap}
.pa-doc{background:#fff;color:#18223a;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-1);max-width:820px}
.pa-doc-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:3px solid #c65d3b;padding-bottom:12px;margin-bottom:12px}
.pa-doc-head h1{margin:0;font-size:26px}.pa-doc-head p{margin:2px 0}.pa-doc-from{text-align:right;font-size:14px}
.pa-doc-room{margin:16px 0;break-inside:avoid}.pa-doc-rt{display:flex;justify-content:space-between;align-items:baseline}.pa-doc-rt h2{font-size:18px;margin:0 0 6px}
.pa-doc table{width:100%;border-collapse:collapse;font-size:13.5px}.pa-doc th{text-align:left;font-size:11px;text-transform:uppercase;color:#6a6f7a;border-bottom:1px solid #e5ddd0;padding:4px 6px}
.pa-doc td{padding:7px 6px;border-bottom:1px solid #f0ebe2}.pa-doc-c{display:inline-flex;align-items:center;gap:8px}
.pa-doc .muted{color:#6a6f7a}
.pa-doc-tot{margin:18px 0 0 auto;max-width:360px}.pa-doc-tot>div{display:flex;justify-content:space-between;padding:4px 0}.pa-doc-tot .grand{border-top:2px solid #18223a;font-size:18px;margin-top:4px;padding-top:8px}
.pa-doc-sign{margin-top:28px;break-inside:avoid}.pa-doc-sign h2{font-size:18px}
.pa-sig{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:30px}.pa-sig span{display:block;border-bottom:1px solid #18223a;height:30px}.pa-sig small{color:#6a6f7a}
@media (max-width:560px){.pa-doc{padding:16px}.pa-doc-from{text-align:left}.pa-doc th:nth-child(4),.pa-doc td:nth-child(4){display:none}}
@media print{.pa-doc{box-shadow:none;padding:0;max-width:none}.pa-sw{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.pa-picker,.pa-picker *{box-sizing:border-box;min-width:0}
.pa-picker-modal .pa-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:640px){.pa-picker-modal .pa-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}
.pa-spec{margin:0;font-size:13.5px;color:var(--ink-2)}
.pa-surface-sw{box-shadow:inset -1px 0 0 var(--line)}
.pa-surface .sel-actions{margin-top:auto}
.modal-backdrop:has(.pa-picker-modal){grid-template-columns:minmax(0,1fr);z-index:85}
.modal.pa-picker-modal{min-width:0;justify-self:center}
.pa-picker-modal .modal-body{min-width:0}
.pa-hero .btn{white-space:nowrap;flex:none}
.pa-hero>div{min-width:0}
/* v45.6 approval status, combine toggle, price list */
.pa-apcard{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius);margin:0 0 14px;border:1px solid var(--line);box-shadow:var(--shadow-1);background:var(--info-bg)}
.pa-apcard.tone-ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}
.pa-apcard.tone-warn{background:var(--warn-bg)}.pa-apcard.tone-bad{background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}
.pa-apic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--info);color:#fff}
.tone-ok .pa-apic{background:var(--ok)}.tone-warn .pa-apic{background:var(--warn)}.tone-bad .pa-apic{background:var(--bad)}
.pa-aptext{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.pa-aptext b{font-size:16px}.pa-aptext small{color:var(--ink-2)}
.pa-aptext .btn-row{margin-top:8px;flex-wrap:wrap;gap:8px}.pa-apnote{font-style:italic}
.pa-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:var(--surface-3)}
.pa-seg button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-radius:11px;background:transparent;color:var(--ink-2);font:inherit;font-weight:700;font-size:14px}
.pa-seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}
.pa-seg button.on:last-child{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}
.pa-combine-note{margin:10px 2px 0;font-size:14px}.pa-combine-note a{font-weight:700;color:var(--accent)}
.pa-pl{display:flex;flex-direction:column}
.pa-pl-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.pa-pl-row>span:first-child{flex:1;display:flex;flex-direction:column;min-width:0}.pa-pl-row small{color:var(--muted)}
.pa-pl-row.used b::after{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:6px;vertical-align:middle}
.pa-pl-in{display:flex;align-items:center;gap:4px;font-weight:700}
.pa-pl-in input{width:96px;font-size:16px;padding:9px 10px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);text-align:right}
.pa-doc-ap{padding:8px 10px;border-radius:8px;background:#eef3fb}.pa-doc-ap.tone-ok{background:#dcefe3;color:#1d5c3b}.pa-doc-ap.tone-bad{background:#f9ddd8;color:#8a2a20}
/* v45.6.1 paint lines locked in the estimate editor */
.est-paint-note{display:flex;align-items:center;gap:6px;margin:4px 0 8px;padding:8px 12px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:14px;color:var(--ink-2)}
.est-paint-note a{font-weight:700;color:var(--accent)}
.est-paint-line{opacity:.92}.est-paint-line input:disabled,.est-paint-line select:disabled{background:var(--surface-2);color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1}
