:root{--bg:#f6f4f0;--card:#fff;--text:#16202c;--muted:#5d6b7c;--line:#d9dfe7;--brand:#131d29;--brand-text:#f4ede3;--primary:#a9531a;--primary-text:#fff;--accent:#e3a35f;--error:#b42318;--info-bg:#f6ece1;--new:#c2410c;--handled:#15803d;--t-complete:#15803d;--t-scope_change:#7c3aed;--t-material_pickup:#0369a1;--t-need_material:#c2410c;--t-problem:#b91c1c;--t-other:#475569;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f151c;--card:#19222d;--text:#e8edf3;--muted:#9aa7b6;--line:#2b3746;--brand:#0b121a;--primary:#e3a35f;--primary-text:#131d29;--info-bg:#2a2219;--error:#f87171;--new:#fb923c;--handled:#4ade80;--t-complete:#4ade80;--t-scope_change:#a78bfa;--t-material_pickup:#38bdf8;--t-need_material:#fb923c;--t-problem:#f87171;--t-other:#94a3b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f151c;--card:#19222d;--text:#e8edf3;--muted:#9aa7b6;--line:#2b3746;--brand:#0b121a;--primary:#e3a35f;--primary-text:#131d29;--info-bg:#2a2219;--error:#f87171;--new:#fb923c;--handled:#4ade80;--t-complete:#4ade80;--t-scope_change:#a78bfa;--t-material_pickup:#38bdf8;--t-need_material:#fb923c;--t-problem:#f87171;--t-other:#94a3b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h3{font-size:1.05rem}p{margin:.25rem 0}button,input,select,textarea{font:inherit;color:inherit}.shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:5;background:var(--brand);color:var(--brand-text);padding:calc(env(safe-area-inset-top) + .7rem) 1rem .7rem;align-items:center;gap:.5rem;display:flex;position:sticky;top:0}.brand{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;min-width:0;font-weight:700;display:flex;overflow:hidden}.brand img{border-radius:7px;flex:none}.who{opacity:.85;margin-left:auto;font-size:.9rem}.demo-pill{color:#000;background:#facc15;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.update-toast{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(4.9rem + env(safe-area-inset-bottom));z-index:6;color:#fff;background:#111827;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:.75rem;max-width:520px;margin:0 auto;padding:.7rem .6rem .7rem .8rem;animation:.35s ease-out toast-in;display:flex;position:fixed;box-shadow:0 10px 30px #00000059}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.update-toast{animation:none}}.update-icon{color:#60a5fa;background:#3b82f62e;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.update-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.update-text span{color:#aab4c3;font-size:.85rem}.update-go{background:var(--primary);color:var(--primary-text);border:0;border-radius:999px;flex:none;padding:.55rem 1.1rem;font-weight:700}.update-x{color:#8a96a8;background:0 0;border:0;flex:none;padding:.4rem;font-size:1rem}.content{width:100%;max-width:640px;padding:.75rem .75rem calc(5.5rem + env(safe-area-inset-bottom));flex:1;margin:0 auto}.tabbar{z-index:5;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.55rem 0 .6rem;font-size:.75rem;display:flex}.tabbar button.active{color:var(--primary);font-weight:700}svg.tab-icon{width:24px;height:24px}.splash,.center-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;max-width:420px;min-height:80dvh;margin:0 auto;padding:1.5rem;display:flex}.center-page .stack{text-align:left;width:100%}.logo{border-radius:12px}svg.big-check{width:64px;height:64px;color:var(--handled);margin:0 auto;display:block}.stack,.list,.form{flex-direction:column;gap:.75rem;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.pad{text-align:center;padding:1rem}.pad-x{margin:.25rem 0 0;padding:0 .25rem}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.error{color:var(--error);font-weight:600}.info{background:var(--info-bg);border-radius:10px;padding:.6rem .8rem}label,.label{flex-direction:column;gap:.3rem;font-size:.95rem;font-weight:600;display:flex}.label{margin-bottom:.3rem}input,select,textarea{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;padding:.75rem;font-size:1rem;font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px}textarea{resize:vertical}.btn{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;padding:.75rem 1rem;font-weight:600}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn-big{width:100%;padding:1rem;font-size:1.1rem}.btn-small{padding:.45rem .8rem;font-size:.9rem}.btn:disabled{opacity:.55}.btn-link{color:var(--primary);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:.4rem 0;font-weight:600}.center-page .btn-link{align-self:center}.icon-btn{color:var(--muted);background:0 0;border:0;padding:0 .4rem;font-size:1.1rem}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:.45rem .8rem;font-size:.9rem;font-weight:600}.chip.active{border-color:var(--primary);outline:1px solid var(--primary)}.segmented{background:var(--bg);border:1px solid var(--line);border-radius:12px;gap:3px;padding:3px;display:flex}.segmented button{background:0 0;border:0;border-radius:9px;flex:1;padding:.6rem .3rem;font-size:.9rem;font-weight:600}.segmented button.active{background:var(--card);color:var(--primary);box-shadow:0 1px 3px #00000026}.count{background:var(--new);color:#fff;border-radius:999px;margin-left:.35rem;padding:0 .45rem;font-size:.8rem;display:inline-block}.type-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.type-btn{--c:var(--t-other);border:2px solid var(--line);background:var(--bg);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;min-height:5.2rem;padding:.9rem .5rem;font-size:.95rem;font-weight:700;display:flex}svg.type-icon{width:30px;height:30px;color:var(--c)}.type-btn.active{border-color:var(--c);background:color-mix(in srgb, var(--c) 14%, var(--card))}.type-complete{--c:var(--t-complete)}.type-scope_change{--c:var(--t-scope_change)}.type-material_pickup{--c:var(--t-material_pickup)}.type-need_material{--c:var(--t-need_material)}.type-problem{--c:var(--t-problem)}.type-other{--c:var(--t-other)}.material-row{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.material-row .qty{flex:none;width:6rem}.materials{flex-direction:column;display:flex}.photo-row{flex-wrap:wrap;gap:.5rem;display:flex}.thumb{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:84px;height:84px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-x{color:#fff;background:#0009;border:0;border-radius:999px;width:26px;height:26px;font-size:.8rem;position:absolute;top:3px;right:3px}.add-photo{border-style:dashed;flex-direction:column;justify-content:center;align-items:center;font-size:1.6rem;display:flex}.add-photo span{font-size:.7rem;font-weight:600}.send-btn{box-shadow:0 4px 14px #0003}.update{border-left:5px solid var(--c);gap:.45rem}.update.handled{opacity:.85}.update.highlight{outline:3px solid var(--primary)}.update-head{justify-content:space-between;align-items:center;display:flex}.badge{color:var(--c);font-size:.9rem;font-weight:700}.status{text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:700}.status-new{color:var(--new)}.status-handled{color:var(--handled)}.update-job{font-size:1.05rem;font-weight:700}.note{white-space:pre-wrap}.urgency{color:var(--t-need_material);font-weight:700}.mat-table{border-collapse:collapse;width:100%;font-size:.95rem}.mat-table td{border-top:1px solid var(--line);padding:.35rem 0}.mat-table .qty{text-align:right;white-space:nowrap;padding-left:.75rem;font-weight:700}.update-actions{justify-content:flex-end;display:flex}.filters{flex-direction:column;gap:.5rem;display:flex}.filter-row{gap:.5rem;display:flex}.filter-row select{width:auto;max-width:45%}.member{flex-direction:row;justify-content:space-between;align-items:center}.member-name{font-weight:700}.steps{margin:0;padding-left:1.2rem;line-height:1.6}.signoff{border-top:1px solid var(--line);flex-direction:column;gap:.6rem;padding-top:.75rem;display:flex}.signoff-box{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.75rem}.sig-canvas{border:2px dashed var(--line);touch-action:none;background:#fff;border-radius:10px;width:100%;height:160px;display:block}.sig-foot{justify-content:space-between;align-items:center;display:flex}.signed img{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;max-width:260px;display:block}.signed{flex-direction:column;gap:.3rem;display:flex}.wo{--c:var(--primary);border-left:5px solid var(--c);gap:.45rem}.wo.done{--c:var(--line);opacity:.8}.wo-date{color:var(--c);font-weight:700}.wo-address{color:var(--primary);font-weight:600;text-decoration:none}.wo-files{flex-direction:column;gap:.4rem;display:flex}.wo-file{border:1px solid var(--line);background:var(--bg);color:inherit;overflow-wrap:anywhere;border-radius:10px;padding:.65rem .8rem;font-weight:600;text-decoration:none;display:block}.file-row{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.row-actions.start{justify-content:flex-start}.btn-danger{background:var(--error);border-color:var(--error);color:#fff}.login-details{border:2px solid var(--handled)}.creds{background:var(--bg);border-radius:10px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.creds div{overflow-wrap:anywhere;flex-direction:column;display:flex}.creds .pw{letter-spacing:.03em;font-variant-numeric:tabular-nums;font-size:1.3rem}.member-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.code-input{letter-spacing:.12em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem}.sub-tag{text-transform:uppercase;letter-spacing:.05em;background:color-mix(in srgb, var(--t-scope_change) 18%, transparent);color:var(--t-scope_change);vertical-align:middle;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700;display:inline-block}.section-gap{margin-top:1rem}.sub-link{overflow-wrap:anywhere;font-family:ui-monospace,Menlo,Consolas,monospace}.sub-header{background:var(--brand);color:var(--brand-text);padding:calc(env(safe-area-inset-top) + .75rem) max(16px, env(safe-area-inset-right)) .75rem max(16px, env(safe-area-inset-left));align-items:center;gap:.75rem;display:flex}.sub-header img{border-radius:10px}.sub-header div{flex-direction:column;line-height:1.25;display:flex}.sub-header span{opacity:.8;font-size:.9rem}.sub-page .content{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.sub-choices{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.redact{z-index:20;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.redact-head{background:var(--brand);color:var(--brand-text);padding:calc(env(safe-area-inset-top) + .75rem) max(16px, env(safe-area-inset-right)) .75rem max(16px, env(safe-area-inset-left))}.redact-head div{flex-direction:column;gap:.2rem;display:flex}.redact-head span{opacity:.85;font-size:.85rem}.redact-pages{padding:.75rem max(12px, env(safe-area-inset-right)) .75rem max(12px, env(safe-area-inset-left));flex-direction:column;flex:1;align-items:center;gap:.75rem;display:flex;overflow-y:auto}.redact-page{-webkit-user-select:none;user-select:none;background:#fff;width:100%;max-width:820px;position:relative;box-shadow:0 2px 10px #00000040}.redact-page img{pointer-events:none;width:100%;height:100%;display:block}.redact-box{cursor:pointer;background:#000;border:0;outline:2px solid #ef4444;padding:0;position:absolute}.redact-draft{background:#0000008c;outline:2px dashed #ef4444;position:absolute}.redact-foot{padding:.75rem max(16px, env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--card);border-top:1px solid var(--line);justify-content:flex-end;gap:.5rem;display:flex}.redact-page.drawing{touch-action:none;cursor:crosshair;outline:3px solid var(--primary)}.redact-draw{margin-right:auto}.redact-foot .btn{white-space:nowrap;padding:.7rem .85rem;font-size:.95rem}.date-input{margin-top:.5rem}.date-edit{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;width:100%;display:flex}.date-edit input{flex:100%}.warn{background:color-mix(in srgb, var(--t-need_material) 15%, var(--card));color:var(--text);border-radius:10px;margin:0;padding:.6rem .8rem;font-size:.9rem}.setup{z-index:30;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.setup-head{background:var(--brand);color:var(--brand-text);padding:calc(env(safe-area-inset-top) + .75rem) max(16px, env(safe-area-inset-right)) .75rem max(16px, env(safe-area-inset-left));align-items:center;gap:.75rem;display:flex}.setup-head img{border-radius:10px}.setup-head div{flex-direction:column;flex:1;line-height:1.25;display:flex}.setup-head span{opacity:.8;font-size:.85rem}.setup-progress{padding:.75rem max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));gap:.4rem;margin:0;list-style:none;display:flex}.setup-progress li{text-align:center;color:var(--muted);border-top:4px solid var(--line);flex:1;padding-top:.45rem;font-size:.78rem;font-weight:600}.setup-progress li.now{color:var(--primary);border-color:var(--primary)}.setup-progress li.done{color:var(--handled);border-color:var(--handled)}.setup-body{width:100%;max-width:560px;padding:1rem max(16px, env(safe-area-inset-right)) 1rem max(16px, env(safe-area-inset-left));flex:1;margin:0 auto;overflow-y:auto}.setup-body h2{text-wrap:balance;font-size:1.35rem}.setup-foot{padding:.75rem max(16px, env(safe-area-inset-right)) calc(.9rem + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--card);justify-content:center;gap:.6rem;display:flex}.setup-foot .btn-link{align-self:center}.setup-steps{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.setup-step{align-items:flex-start;gap:.8rem;display:flex}.setup-step>div{flex-direction:column;gap:.45rem;min-width:0;display:flex}.setup-n{background:var(--primary);width:30px;height:30px;color:var(--primary-text);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.setup-step-title{padding-top:.2rem;font-weight:600}.mock-bar{background:color-mix(in srgb, var(--muted) 14%, var(--card));border:1px solid var(--line);color:#0a84ff;border-radius:12px;justify-content:space-around;align-items:center;width:100%;max-width:300px;padding:.45rem .6rem;display:flex}.mock-dim{opacity:.35;font-size:1.1rem}.mock-hl{outline-offset:1px;border-radius:50%;outline:3px solid #ef4444;place-items:center;width:40px;height:40px;display:grid}.mock-row{background:var(--card);border:2px solid #ef4444;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;max-width:300px;padding:.7rem .9rem;font-weight:600;display:flex}.mock-btn{background:var(--card);border:2px solid #ef4444;border-radius:10px;align-self:flex-start;place-items:center;min-width:44px;padding:.35rem .9rem;font-size:1.1rem;font-weight:700;display:inline-grid}.mock-add{color:#0a84ff}.mock-appicon{flex-direction:column;align-self:flex-start;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:inline-flex}.mock-appicon img{border-radius:14px;box-shadow:0 2px 8px #0000004d}.setup-code{background:var(--info-bg);border-radius:12px;flex-direction:column;gap:.3rem;padding:.8rem;display:flex}.setup-code b{letter-spacing:.1em;font-variant-numeric:tabular-nums;font-size:1.5rem}svg.setup-bell{width:56px;height:56px;color:var(--primary);margin:0 auto;display:block}.setup-done{text-align:center;flex-direction:column;gap:.6rem;padding-top:1.5rem;display:flex}.tour-skip{color:inherit;opacity:.85;background:0 0;border:0;padding:.4rem;font-weight:600}.tour-body{flex-direction:column;justify-content:center;gap:.5rem;display:flex}.tour-icon{background:color-mix(in srgb, var(--primary) 14%, var(--card));width:64px;height:64px;color:var(--primary);border-radius:18px;place-items:center;display:grid}svg.lucide.tour-svg,.tour-icon svg.lucide{width:34px;height:34px}.tour-points{flex-direction:column;gap:.6rem;margin:.5rem 0 0;padding-left:1.2rem;font-size:1.05rem;line-height:1.45;display:flex}.tour-dots{justify-content:center;gap:.4rem;margin-top:1.25rem;display:flex}.tour-dots span{background:var(--line);border-radius:50%;width:8px;height:8px}.tour-dots span.on{background:var(--primary);border-radius:999px;width:22px}.tour-foot .btn{flex:1;max-width:200px}.kind-tag{background:color-mix(in srgb, var(--t-material_pickup) 16%, transparent);color:var(--t-material_pickup);border-radius:999px;margin-right:.5rem;padding:.05rem .5rem;font-size:.8rem;display:inline-block}.measure{gap:.6rem}.room{border:1px solid var(--line);background:var(--bg);border-radius:12px;flex-direction:column;gap:.4rem;padding:.6rem;display:flex}.room-top{align-items:center;gap:.4rem;display:flex}.room-name{font-weight:600}.room-size{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:.4rem;display:grid}.room-size input{min-width:0}.room-sqft{text-align:right;font-variant-numeric:tabular-nums;min-width:4.5rem;font-weight:700}.measure-total{background:var(--info-bg);border-radius:10px;padding:.6rem .8rem;font-size:1.1rem}.measure-extras{flex-direction:column;gap:.75rem;display:flex}.measure-view{flex-direction:column;gap:.4rem;display:flex}.total-row td{border-top:2px solid var(--text)}.measure-group{border-top:1px solid var(--line)}.measure-group-head{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.measure-group-head svg{flex:none;width:1.1rem;height:1.1rem;transition:transform .15s;transform:rotate(-90deg)}.measure-group.open .measure-group-head svg{transform:none}.measure-group-name{flex:1;font-weight:700}.measure-group-head .qty{white-space:nowrap;text-align:right;min-width:4.5rem;font-weight:700}.measure-group .mat-table td:first-child{padding-left:1.6rem}.measure-fold-all{justify-content:flex-end;display:flex}.clock-pill{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;background:0 0;border:1.5px solid #ffffff8c;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.clock-pill.on{background:#22c55e2e;border-color:#22c55e}.clock-dot{background:#22c55e;border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 3px #22c55e40}.topbar .who{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sheet-backdrop{z-index:25;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:520px;color:var(--text);padding:1.25rem max(16px, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-radius:20px 20px 0 0;flex-direction:column;gap:.75rem;animation:.25s ease-out toast-in;display:flex}.clock-big{font-variant-numeric:tabular-nums;margin:0;font-size:2.6rem;font-weight:800}.btn.clock-in{color:#fff;background:#16a34a;border-color:#16a34a}.btn.clock-out{color:#fff;background:#dc2626;border-color:#dc2626}.sheet-cancel{align-self:center}.timesheet-row{text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;width:100%;padding:0;display:flex}.timesheet-row .member-name{flex:1}.timesheet-total{font-variant-numeric:tabular-nums;font-weight:700}.shift-table td{vertical-align:top}.shift-links{gap:.75rem;margin-top:.2rem;display:flex}.member-name .clock-dot{vertical-align:middle;margin-right:.35rem}.sheet{max-height:92dvh;overflow-y:auto}.job-picker{flex-direction:column;gap:.5rem;display:flex}.job-list{flex-direction:column;gap:.4rem;display:flex}.job-choice{text-align:left;border:2px solid var(--line);background:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem .85rem;font-weight:600;display:flex}.job-choice.active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, var(--card))}.job-today{color:var(--primary);flex:none;font-size:.75rem;font-weight:700}.shift-job{margin-top:.15rem}.caught-up{text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:2.5rem 1rem;display:flex}.caught-up svg{color:var(--handled);margin-bottom:.25rem}:where(svg.lucide){vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}:where(.btn,.chip) :where(svg.lucide){margin-right:.15em}.icon-line{align-items:center;gap:.35rem;display:inline-flex}.up-for-grabs{color:var(--t-need_material);font-weight:600}.take{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.who-btn{color:inherit;opacity:1;background:0 0;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .65rem;display:inline-flex}.who-btn.active{background:#ffffff2e}.who-btn svg.lucide{flex:none;width:16px;height:16px}.sched-nav{align-items:center;gap:.4rem;display:flex}.sched-nav b{text-align:center;flex:1}.sched-nav .btn svg.lucide{margin:0}.sched-day{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.45rem;padding:.7rem .8rem;display:flex}.sched-day.today{border-color:var(--primary)}.sched-day h4{align-items:center;gap:.5rem;margin:0;font-size:.95rem;display:flex}.sched-day p{margin:0}.sched-today{background:var(--primary);color:var(--primary-text);border-radius:999px;padding:.05rem .45rem;font-size:.7rem}.sched-row{text-align:left;border:0;border-left:4px solid var(--t-material_pickup);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.5rem .65rem;display:flex}.sched-row.measure{border-left-color:var(--t-scope_change)}.sched-row.done{opacity:.6}.sched-title{align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.sched-who{color:var(--muted);align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}.sched-who.up-for-grabs{color:var(--t-need_material)}.sched-row svg.lucide{width:15px;height:15px}.sched-open{flex-direction:column;gap:.3rem;display:flex}.month{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(7,1fr);gap:3px;padding:.4rem;display:grid}.month-head{text-align:center;color:var(--muted);padding:.2rem 0;font-size:.75rem;font-weight:600}.month-day{color:var(--text);min-height:3.1rem;font:inherit;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:.15rem;padding:.25rem 0;font-size:.9rem;display:flex}.month-day.other{color:var(--muted);opacity:.5}.month-day.today>span:first-child{background:var(--primary);color:var(--primary-text);border-radius:999px;padding:0 .4rem;font-weight:700}.month-day.sel{background:var(--info-bg);outline:2px solid var(--primary)}.month-count{color:var(--muted);align-items:center;gap:2px;font-size:.7rem;font-weight:700;display:inline-flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot.install{background:var(--t-material_pickup)}.dot.measure{background:var(--t-scope_change)}.activity{color:var(--muted);margin-top:.15rem}.activity.never,.activity .warn-text,.flag{color:var(--t-need_material);font-weight:600}.site-ok{color:var(--handled);font-weight:600}.flag svg.lucide,.site-ok svg.lucide,svg.flag-icon{flex:none;width:15px;height:15px}svg.flag-icon{vertical-align:-2px;color:var(--t-need_material)}.flag-count{color:var(--t-need_material);align-items:center;gap:.2rem;margin-left:.45rem;font-size:.85rem;display:inline-flex}.flag-count svg.lucide{width:15px;height:15px}.btn-danger-text{color:var(--error);margin-right:auto}.trial-banner{background:var(--info-bg);justify-content:space-between;align-items:center;gap:.5rem;max-width:640px;margin:0 auto;padding:.45rem .9rem;font-size:.9rem;display:flex}.locked{border:2px solid var(--t-need_material)}.pay-week{align-items:center;gap:.5rem;display:flex}.pay-week select{width:auto}.trial-banner.warn{background:color-mix(in srgb, var(--t-need_material) 18%, var(--card))}.edit-history{border-left:3px solid var(--line);opacity:.85;padding-left:.6rem}.type-visit{--c:#0e7490}.kind-tag.service{color:#0e7490;background:#0e749029}.kind-tag.service.urgent{background:color-mix(in srgb, var(--t-problem) 18%, transparent);color:var(--t-problem);font-weight:700}.kind-tag svg.lucide{vertical-align:-2px;width:14px;height:14px}.card.wo.urgent{border:2px solid var(--t-problem)}.dot.service{background:#0e7490}.sched-row.service{border-left-color:#0e7490}.visit-result{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.next-step{color:#0e7490;background:#0e749024;border-radius:999px;padding:.15rem .6rem;font-size:.9rem;font-weight:700}.next-step.repair,.next-step.quote{background:color-mix(in srgb, var(--t-need_material) 16%, transparent);color:var(--t-need_material)}.next-step.fixed{background:color-mix(in srgb, var(--t-complete) 16%, transparent);color:var(--t-complete)}.floor-select{align-self:flex-start;width:auto;padding:.3rem .5rem;font-size:.85rem}.unit-toggle{flex:none}.unit-toggle button{padding:.35rem .6rem;font-size:.8rem}.card-inset{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:.75rem}.room-size.three{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.35rem;display:grid}.room-size.three input{width:100%;min-width:0}.timeoff-dates{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.timeoff-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.timeoff-row.pending{border-left:3px solid var(--t-need_material);padding-left:.5rem}.timeoff-pending{color:var(--t-need_material);font-weight:600}.timeoff-approved{color:var(--t-complete);font-weight:600}.timeoff-denied{color:var(--error);font-weight:600}.sched-off{color:var(--muted);align-items:center;gap:.3rem;font-size:.85rem;display:flex}.sched-off svg.lucide{width:15px;height:15px}.warn-off{color:var(--t-need_material);font-size:.85rem;font-weight:600}.help-head{justify-content:space-between;align-items:center;display:flex}.help-search{flex-direction:row;align-items:center;gap:.4rem;display:flex}.help-search svg.lucide{width:18px;height:18px;color:var(--muted)}.help-topic{border-bottom:1px solid var(--line);padding:.45rem 0}.help-topic summary{cursor:pointer;font-weight:600}.help-topic ul{margin:.4rem 0 .2rem;padding-left:1.2rem}.help-topic li{margin:.2rem 0}.gs-step{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;align-items:center;gap:.6rem;padding:.55rem 0;display:flex}.gs-step>span{flex-direction:column;flex:1;gap:.1rem;display:flex}.gs-step svg.lucide{width:20px;height:20px;color:var(--muted);flex:none}.gs-step.done{cursor:default;opacity:.7}.gs-step.done svg.lucide{color:var(--t-complete)}.gs-step.done b{font-weight:500;text-decoration:line-through}.jobs-map{border:1px solid var(--line);z-index:0;border-radius:12px;height:360px;overflow:hidden}.leaflet-marker-icon.map-pin{text-align:center;background:var(--t-material_pickup);color:#fff;border:2px solid #fff;border-radius:50%;font-size:.8rem;font-weight:700;line-height:26px;display:block;box-shadow:0 1px 4px #0006}.map-pin.measure{background:var(--t-scope_change)}.map-pin.service{background:#0e7490}.map-pin.done{opacity:.55}.map-pin.place{background:#475569;border-radius:6px}.map-pin.person{color:#111;border:3px solid var(--t-complete);background:#fff}.map-row{align-items:flex-start;gap:.5rem;display:flex}.map-row>:last-child{flex:1}.map-num{background:var(--primary);width:26px;height:26px;color:var(--primary-text);border-radius:50%;flex:none;place-items:center;margin-top:.45rem;font-size:.8rem;font-weight:700;display:grid}.more-sheet{gap:.25rem}.more-sheet h2{margin:0}.more-item{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:.75rem .25rem;display:flex}.more-item>span{flex-direction:column;flex:1;gap:.1rem;display:flex}.more-item b{font-size:1.05rem}.more-item.active b{color:var(--primary)}.more-item svg.lucide{color:var(--muted);flex:none}.more-item .more-icon{width:26px;height:26px;color:var(--primary)}.page-title{align-items:center;gap:.5rem;max-width:640px;margin:.9rem auto 0;padding:0 1rem;font-size:1.3rem;display:flex}.page-title svg.lucide{width:24px;height:24px;color:var(--primary)}.assistant .chips{flex-direction:column;align-items:stretch}.assistant .chip{text-align:left;white-space:normal}.bubble{white-space:pre-wrap;border-radius:16px;max-width:88%;padding:.6rem .85rem;line-height:1.4}.bubble.user{background:var(--primary);color:var(--primary-text);border-bottom-right-radius:4px;align-self:flex-end}.bubble.assistant{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.ask-bar{align-items:flex-end;gap:.5rem;display:flex}.ask-bar textarea{resize:none;field-sizing:content;flex:1;min-height:46px;max-height:140px}.ask-bar .btn{flex:none;height:46px}.tagline{color:var(--muted);margin:-.4rem 0 .4rem}.stack-tight{flex-direction:column;gap:.35rem;display:flex}.raised-tag{color:var(--t-need_material);align-items:center;gap:.35rem;font-size:.92rem;font-weight:700;display:flex}.raised-tag svg.lucide{width:17px;height:17px}.to-ceiling{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;justify-content:center;align-items:center;min-height:44px;font-size:.85rem;display:flex}.to-ceiling.flag{color:var(--t-need_material);border-color:var(--t-need_material)}.check-line{flex-direction:row;align-items:center;gap:.45rem;font-weight:500;display:flex}.check-line input{width:auto}.pm-close{color:inherit;align-self:flex-start}.plan-measure .redact-head{justify-content:space-between;gap:.5rem;display:flex}.pm-scale{color:var(--accent,#e3a35f);font-weight:600}.pm-view{-webkit-overflow-scrolling:touch;background:#8a8f96;flex:1;overflow:auto}.pm-page{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:#fff;position:relative}.pm-page.moving{touch-action:pan-x pan-y;cursor:grab}.pm-page img{pointer-events:none;width:100%;height:100%;display:block}.pm-box{border:2px solid var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);font:inherit;cursor:pointer;place-items:center;padding:0;display:grid;position:absolute;overflow:hidden}.pm-box.sel{background:color-mix(in srgb, var(--primary) 26%, transparent);border-width:3px}.pm-box.draft{pointer-events:none;border-style:dashed}.pm-box span{color:#111;text-align:center;pointer-events:none;background:#ffffffe0;border-radius:4px;padding:.1rem .3rem;font-size:.72rem;font-weight:700;line-height:1.2}.pm-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pm-line line{stroke:#e11d48;stroke-width:4px;vector-effect:non-scaling-stroke}.pm-line-label{color:#fff;pointer-events:none;white-space:nowrap;background:#e11d48;border-radius:6px;padding:.1rem .4rem;font-size:.85rem;font-weight:700;position:absolute;transform:translate(-50%,-130%)}.pm-panel{background:var(--card);border-top:1px solid var(--line);max-height:32vh;overflow-y:auto}.pm-row{padding:.6rem max(16px, env(safe-area-inset-right)) .6rem max(16px, env(safe-area-inset-left));flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pm-row select,.pm-row input{flex:1;width:auto;min-width:140px}.pm-rooms{flex-direction:column;display:flex}.pm-room{padding:.35rem max(16px, env(safe-area-inset-right)) .35rem max(16px, env(safe-area-inset-left));border-top:1px solid var(--line);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.pm-room.sel{background:var(--info-bg)}.pm-room input{flex:1;min-width:0;padding:.35rem .5rem}.pm-room span{white-space:nowrap;font-weight:600}.pm-foot{flex-wrap:wrap;align-items:center}.pm-tools{flex-wrap:wrap;gap:.35rem;margin-right:auto;display:flex}.pm-tools select{width:auto}.pm-foot .btn-small svg.lucide{width:18px;height:18px}.pm-snap{white-space:nowrap}.page-picks{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;display:grid}.page-pick{border:1px solid var(--line);background:var(--card);color:inherit;font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:.25rem;padding:.35rem;font-size:.85rem;display:flex}.page-pick img{background:#fff;border-radius:6px;width:100%}.wo-head{gap:inherit;flex-direction:column;display:flex}button.wo-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.wo-chevron{flex:none;width:1.2rem;height:1.2rem;margin-left:auto;transition:transform .15s}.wo.folded .wo-chevron{transform:rotate(-90deg)}.wo.foldable .update-head{justify-content:flex-start;gap:.5rem}.wo.foldable .update-head .status{margin-left:auto}.wo.foldable .update-head .status+.wo-chevron{margin-left:0}.tab-icon-wrap{display:inline-flex;position:relative}.tab-badge{color:#fff;text-align:center;background:#d93025;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-10px}.chat-row{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;flex-direction:row;align-items:center;gap:.75rem}.chat-row-icon{width:1.5rem;height:1.5rem;color:var(--primary);flex:none}.chat-row-text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.chat-row-text .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.unread-dot{background:#d93025;border-radius:50%;flex:none;width:10px;height:10px}.section-title{margin:.5rem 0 0;font-size:.95rem}.chat-thread{flex-direction:column;gap:.5rem;display:flex}.chat-head{z-index:2;background:var(--bg);align-items:center;gap:.5rem;padding:.5rem 0;display:flex;position:sticky;top:0}.chat-head svg{width:1.5rem;height:1.5rem}.chat-messages{flex-direction:column;gap:.4rem;display:flex}.chat-day{text-align:center;color:var(--muted);margin:.5rem 0 .25rem;font-size:.8rem}.chat-msg{background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;flex-direction:column;align-self:flex-start;gap:.3rem;width:fit-content;max-width:85%;padding:.45rem .65rem;display:flex}.chat-msg.mine{background:var(--primary);border-color:var(--primary);color:#fff;border-radius:14px 14px 4px;margin-left:auto}.chat-name{color:var(--primary);font-size:.8rem;font-weight:700}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-time{opacity:.7;align-self:flex-end;font-size:.7rem}.chat-media{flex-direction:column;gap:4px;display:flex}.chat-media.grid{grid-template-columns:1fr 1fr;display:grid}.chat-media img,.chat-media video{object-fit:cover;background:#000;border-radius:10px;width:100%;max-width:280px;max-height:360px;display:block}.chat-media.grid img,.chat-media.grid video{aspect-ratio:1;max-width:140px}.chat-compose{bottom:calc(4.2rem + env(safe-area-inset-bottom));z-index:2;background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.5rem;display:flex;position:sticky}.chat-input-row{align-items:flex-end;gap:.4rem;display:flex}.chat-input-row textarea{resize:none;field-sizing:content;flex:1;min-height:44px;max-height:140px}.chat-input-row .icon-btn{min-width:44px;min-height:44px}.chat-input-row .icon-btn svg{width:1.4rem;height:1.4rem}.chat-send{min-width:48px;min-height:44px;padding:0 .75rem}.chat-attach{gap:.4rem;display:flex;overflow-x:auto}.chat-attach-item{flex:none;position:relative}.chat-attach-item img,.chat-attach-item video{object-fit:cover;background:#000;border-radius:8px;width:72px;height:72px;display:block}.chat-attach-item .icon-btn{color:#fff;background:#0009;border-radius:50%;padding:2px;position:absolute;top:2px;right:2px}.chat-progress{background:var(--line);border-radius:11px;height:22px;position:relative;overflow:hidden}.chat-progress span{background:var(--primary);position:absolute;inset:0 auto 0 0}.chat-progress em{padding-left:.6rem;font-size:.75rem;font-style:normal;font-weight:700;line-height:22px;position:relative}.chat-job-btn{align-self:flex-start}.tabbar button{white-space:nowrap;min-width:0}.chat-thread{min-height:calc(100dvh - 9.5rem - env(safe-area-inset-bottom))}.chat-messages{flex:1}@media (width<=360px){.tabbar button{font-size:.7rem}}.chat-quote{opacity:.85;white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid;padding:.2rem .5rem;font-size:.85rem}.chat-quote.reply{border-left-color:var(--primary);background:var(--bg);opacity:1;border-radius:0 8px 8px 0;align-items:flex-start;gap:.4rem;display:flex}.chat-quote.reply span{flex:1}.trim-opts{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.inline-field{align-items:center;gap:.4rem;display:inline-flex}.inline-field input{width:5.5rem;min-height:40px}.trim-opts .inline-field input[type=number]{width:4rem}.small-seg button{min-width:2.5rem;min-height:36px;padding:.2rem .6rem}.trim-setting{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.trim-line{margin-top:-.2rem}label.inline-field{flex-direction:row;align-items:center;font-weight:600}.trim-opts label.check-line{flex-direction:row}label.inline-field.wide input{width:13rem}.file-btn{cursor:pointer;flex-direction:row;align-self:flex-start}.looks-good{color:var(--t-complete,#1a7f37);font-weight:700}.looks-good svg{vertical-align:-2px;width:1rem;height:1rem}.win-quote{border:1px solid var(--primary);border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.job-file{z-index:20;background:var(--bg);padding-bottom:calc(2rem + env(safe-area-inset-bottom));position:fixed;inset:0;overflow-y:auto}.job-file .list{max-width:640px;margin:0 auto;padding:0 .75rem}.job-file-head{z-index:2;background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:.5rem;padding:.75rem;font-size:1.05rem;display:flex;position:sticky;top:0}.job-file-head svg{width:1.5rem;height:1.5rem}.job-numbers{font-weight:700}.stage-pill{white-space:nowrap;background:var(--line);color:var(--text);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.stage-measure,.stage-measured{color:#1f4fbf;background:#e0ecff}.stage-quote,.stage-sent{color:#8a5300;background:#fff1d6}.stage-ordered,.stage-scheduled,.stage-active{color:#1a7f37;background:#dcf5e3}.stage-service{color:#b42318;background:#fde2e1}.stage-done,.stage-lost{background:var(--line);color:var(--muted)}.job-row{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;flex-direction:row;align-items:center;gap:.75rem}.job-row-text{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.job-row-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.search-box{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:row;align-items:center;gap:.5rem;padding:0 .75rem}.search-box input{background:0 0;border:0;flex:1;min-height:46px}.search-box svg{width:1.1rem;height:1.1rem;color:var(--muted)}.stage-chips{scrollbar-width:none;margin-top:-.25rem;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.4rem;margin-inline:-1rem;padding:.1rem 1rem .2rem;overflow-x:auto}.stage-chips::-webkit-scrollbar{display:none}.stage-chips .chip{white-space:nowrap;background:var(--card,#fff);flex:none;padding:.3rem .7rem;font-size:.82rem}.stage-chips .chip.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text);outline:none}.stage-chips .chip.active .chip-count{background:color-mix(in srgb, var(--primary-text) 25%, transparent);color:var(--primary-text)}.job-item{flex-direction:column;gap:.25rem;display:flex}.move-out{color:var(--muted);align-self:flex-end;align-items:center;gap:.3rem;margin-top:-.35rem;display:inline-flex}.move-out svg{width:.9rem;height:.9rem}.today-card{border:2px solid var(--primary)}.today-label{letter-spacing:.04em;text-transform:uppercase;color:var(--primary);font-size:.85rem;font-weight:800}.today-job{font-size:1.25rem;font-weight:800}.today-directions{text-align:left;align-items:center;gap:.75rem;text-decoration:none;display:flex}.today-directions>span{flex-direction:column;display:flex}.today-directions svg{flex:none;width:1.6rem;height:1.6rem}.today-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.today-actions .btn{justify-content:center;min-height:52px}.finish-check{flex-direction:column;gap:.4rem;display:flex}.finish-list{flex-direction:column;gap:.2rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.finish-list svg{vertical-align:-2px;width:1rem;height:1rem}.finish-list .done svg{color:#1a7f37}.finish-list .not-done{color:#b42318;font-weight:600}.thumb{position:relative}.photo-tag{color:#fff;background:#000000a6;border-radius:6px;padding:1px 6px;font-size:.7rem;font-weight:700;position:absolute;bottom:4px;left:4px}.label-with-mic{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.mic-btn{min-width:44px;min-height:44px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.mic-btn svg{width:1.4rem;height:1.4rem}.mic-btn.listening{color:#fff;background:#d93025;animation:1.2s ease-in-out infinite mic-pulse}@keyframes mic-pulse{50%{box-shadow:0 0 0 8px #d9302533}}.mic-hint{color:#d93025;font-weight:600}.chat-input-row .mic-hint{display:none}.job-hours svg{vertical-align:-2px;width:1rem;height:1rem}.material-row{flex-direction:column;gap:.3rem;display:flex}.material-row .segmented{width:100%}.material-row .segmented button{flex:1;padding-inline:.2rem;font-size:.8rem}.material-pill{white-space:nowrap;color:#8a5300;background:#fff1d6;border-radius:999px;margin-left:auto;padding:.1rem .5rem;font-size:.72rem;font-weight:700}.material-arrived{color:#1f4fbf;background:#e0ecff}.material-site{color:#1a7f37;background:#dcf5e3}.wo.foldable .update-head .material-pill+.status,.wo.foldable .update-head .material-pill+.wo-chevron{margin-left:0}.material-row>span{align-self:flex-start}.note.revised{border-left:3px solid var(--primary);padding-left:.5rem}.earlier summary{cursor:pointer;color:var(--primary);font-weight:600}.earlier-rev{flex-direction:column;gap:.2rem;margin-top:.4rem;display:flex}.earlier-rev a svg{vertical-align:-2px;width:.9rem;height:.9rem}.quote-links{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1.1rem;padding-top:.6rem;display:flex}.quote-links .btn-link{color:var(--muted);align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.quote-links .btn-link svg{width:1rem;height:1rem}.quote-links .btn-link.danger{color:#b42318}.feedback-q{grid-template-columns:1fr auto;align-items:start;gap:.35rem .5rem;display:grid}.feedback-q>span{grid-column:1/-1;font-weight:600}.feedback-q textarea{width:100%;min-width:0}.feedback-answer{border-top:1px solid var(--line);gap:.25rem;padding-top:.5rem;display:grid}.feedback-answer p{white-space:pre-wrap;margin:0}.ok-line{color:#1a7f37;align-items:center;gap:.4rem;margin:0;display:flex}.ok-line svg{flex:none;width:1.1rem;height:1.1rem}.questions-card{flex-direction:row;align-items:center;gap:.5rem}.questions-open{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:.75rem;padding:0;display:flex}.questions-open>span{gap:.15rem;display:grid}.questions-open>svg{color:var(--accent,#1f4fbf);flex:none}.suggestion-text{white-space:pre-wrap;margin:0}.job-row-name{font-weight:600}.job-file-name{color:var(--muted);font-weight:500}.job-name-field{gap:.25rem;display:grid}.job-row-add{color:var(--primary)}.edit-details{align-self:flex-start;align-items:center;gap:.35rem;display:inline-flex}.edit-details svg{width:.95rem;height:.95rem}.install-details-form{gap:.75rem;display:grid}.install-details-form>summary{cursor:pointer;padding:.25rem 0;font-weight:600}.install-details-form[open]>summary{margin-bottom:.5rem}.install-details-form label{gap:.25rem;margin-bottom:.6rem;display:grid}.install-details{background:var(--line);border-radius:10px;gap:.4rem;margin:0;padding:.6rem .75rem;display:grid}.install-details dt{color:var(--muted);font-size:.8rem;font-weight:700}.install-details dd{white-space:pre-wrap;margin:0}.add-order{gap:.5rem;display:grid}.chip-x{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:.35rem;padding:0 .1rem;font-size:1.05rem;line-height:1}.email-form{border-top:1px solid var(--line);padding-top:.75rem}.emails-sent>summary{cursor:pointer;color:var(--muted)}.email-sent{border-bottom:1px solid var(--line);padding:.5rem 0}.email-sent>summary{cursor:pointer;list-style:none}.email-sent>summary::-webkit-details-marker{display:none}.email-preview{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.email-sent[open] .email-preview{display:none}.email-sent p{white-space:pre-wrap;margin:.25rem 0 0}.order-box{border:2px solid var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent);border-radius:10px;margin:.5rem 0;padding:.6rem .8rem}.order-box-title{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin-bottom:.25rem;font-size:.75rem;font-weight:800}.order-line{grid-template-columns:1fr auto;gap:0 .75rem;padding:.3rem 0;display:grid}.order-line+.order-line{border-top:1px solid var(--line)}.order-what{min-width:0}.order-qty{white-space:nowrap;text-align:right;font-size:1.15rem;font-weight:800}.order-detail{color:var(--muted);grid-column:1/-1;font-size:.8rem}.area-materials td{color:var(--primary);font-size:.8rem;border-top:0!important;padding-top:0!important}.materials-total{text-transform:uppercase;letter-spacing:.04em;margin-top:.4rem;font-size:.72rem;font-weight:700}.job-closed{background:var(--line);border-radius:8px;margin:.25rem 0;padding:.4rem .6rem}.close-job{color:var(--muted);align-self:center}.shift-notes{border-top:1px solid var(--line);text-align:left;padding-top:.6rem}.shift-note-list{gap:.3rem;max-height:9rem;display:grid;overflow-y:auto}.shift-note{white-space:pre-wrap}.chip-count{background:var(--line);min-width:1.4em;color:var(--text);text-align:center;border-radius:999px;margin-left:.3rem;padding:0 .4em;font-size:.8em;font-weight:700;line-height:1.5;display:inline-block}.chip.active .chip-count{background:var(--primary);color:var(--primary-text)}.job-filter{border:1px solid var(--line);background:var(--card);border-radius:12px;align-items:center;gap:.6rem;margin-top:-.25rem;padding:0 .9rem;display:flex;position:relative}.job-filter-label{color:var(--muted);font-size:.85rem;font-weight:600}.job-filter select{appearance:none;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;flex:1;padding:.7rem 1.6rem .7rem 0;font-weight:700}.job-filter select:focus{outline:none}.job-filter:focus-within{border-color:var(--primary)}.job-filter-arrow{width:1.1rem;height:1.1rem;color:var(--muted);pointer-events:none;position:absolute;right:.8rem}.sub-chat .chat-messages{max-height:22rem;overflow-y:auto}.stage-billing,.stage-installed,.stage-invoiced{color:#5b2bbf;background:#ede4ff}.manage-job{margin-top:.75rem}.manage-job>h3{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.8rem}.manage-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:.4rem .75rem;padding-top:.6rem;display:grid}.manage-row>label{grid-column:1/-1}.manage-row .icon-line svg{width:1rem;height:1rem}.btn-danger-outline{color:#b42318;border-color:#e5a29b}.close-job-form{border-top:1px solid var(--line);padding-top:.6rem}.sidebar{display:none}@media (width>=1024px){.shell{--top:3.4rem;--side:232px;--panel:clamp(560px, calc((100vw - var(--side)) * .6), 1150px);padding:var(--top) 0 0 var(--side)}.topbar{height:var(--top);padding:0 1.25rem;position:fixed;inset:0 0 auto}.sidebar{top:var(--top);width:var(--side);z-index:4;background:var(--card);border-right:1px solid var(--line);flex-direction:column;gap:.1rem;padding:.9rem .6rem 1.5rem;display:flex;position:fixed;bottom:0;left:0;overflow-y:auto}.sidebar-brand{display:none}.sidebar-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.65rem;padding:.55rem .6rem;font-size:.92rem;display:flex}.sidebar-item svg{width:1.15rem;height:1.15rem;color:var(--muted);flex:none}.sidebar-item span:not(.count){flex:1}.sidebar-item:hover{background:var(--bg)}.sidebar-item.active{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);font-weight:700}.sidebar-item.active svg{color:var(--primary)}.sidebar-split{margin-top:1.1rem;position:relative}.sidebar-split:before{content:"";border-top:1px solid var(--line);position:absolute;top:-.6rem;left:.6rem;right:.6rem}.tabbar{display:none}.content,.page-title{max-width:1100px}.content{padding:1.25rem 1.5rem 2.5rem}.update-toast{left:calc(var(--side) + 1.5rem);bottom:1.5rem}.job-file{top:var(--top);width:var(--panel);border-left:1px solid var(--line);left:auto;box-shadow:-12px 0 30px #00000014}.job-file .list{max-width:1000px;padding-left:1.5rem;padding-right:1.5rem}.shell.panel-open .content,.shell.panel-open .page-title{width:auto;max-width:none;margin-left:0;margin-right:var(--panel)}}.catalog-top,.catalog-filters{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.catalog-top .segmented{flex:1;min-width:260px}.catalog-filters .search-box{flex:2;min-width:220px}.catalog-filters .job-filter{flex:1;min-width:200px;margin-top:0}.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table th{background:var(--card);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:.6rem .75rem;font-size:.75rem;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem .75rem}.data-table tr:last-child td{border-bottom:0}.data-table .num{text-align:right;white-space:nowrap}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background:var(--bg)}.data-table .up{color:#b42318;font-weight:700}.data-table .down{color:#1a7f37;font-weight:700}.mono{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.form-grid,.map-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.form-grid>label,.map-grid>label{gap:.25rem;display:grid}.vendor-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.vendor-card{overflow-wrap:anywhere;text-align:left;min-width:0;color:inherit;font:inherit;cursor:pointer;gap:.2rem;display:grid}.vendor-card .stale{color:#b54708}.import-counts{flex-wrap:wrap;gap:1.25rem;display:flex}.import-counts b{font-size:1.3rem}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.customer-head{align-items:center;gap:.6rem;display:flex}.customer-head h2{flex:1;margin:0}.data-table tr.group-row td{background:var(--bg,#f6f7f9);text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667085);padding-top:.9rem;font-size:.8rem;font-weight:700}.data-table .loss{color:#b42318;font-weight:700}.warn-line{color:#b42318;align-items:center;gap:.4rem;margin:0;display:flex}.warn-line svg{flex:none;width:1.1rem;height:1.1rem}.read-rows{max-height:60vh;overflow:auto}.read-rows .stale{color:#b54708}.import-progress{background:var(--bg);border-radius:999px;height:.5rem;overflow:hidden}.import-progress>div{background:var(--primary);height:100%;transition:width .4s}.file-results{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.file-results li{align-items:flex-start;gap:.45rem;font-size:.9rem;display:flex}.file-results svg{color:#1a7f37;flex:none;width:1.05rem;height:1.05rem;margin-top:.1rem}.file-results li.problem svg{color:#b54708}.estimate-screen{z-index:40;background:var(--bg);-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.estimate-top{z-index:2;padding:.6rem max(16px, env(safe-area-inset-left));padding-top:max(.6rem, env(safe-area-inset-top));background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:.6rem;display:flex;position:sticky;top:0}.estimate-title{flex-direction:column;flex:1;min-width:0;display:flex}.estimate-title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.estimate-body{flex-direction:column;gap:.9rem;max-width:1180px;margin:0 auto;padding:1rem 16px 3rem;display:flex}.estimate-settings{flex-flow:wrap;align-items:flex-end;gap:.8rem 1rem;display:flex}.estimate-settings label:not(.check-line){flex:1;min-width:200px}.estimate-customer{flex-basis:100%;margin:0}.add-results{border:1px solid var(--line);border-radius:10px;flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.add-result{border:0;border-bottom:1px solid var(--line);text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;align-items:center;gap:.6rem;padding:.55rem .75rem;display:flex}.add-result:last-child{border-bottom:0}.add-result:hover{background:var(--bg)}.add-name{flex:1;min-width:0}.kind-chip{text-transform:uppercase;letter-spacing:.03em;color:#1f4fbf;background:#e8f0fe;border-radius:999px;flex:none;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.kind-chip.labor{color:#1a7f37;background:#e7f6ec}.cell-input{font:inherit;border:1px solid var(--line);background:var(--card);color:inherit;text-align:right;border-radius:6px;width:4.5rem;padding:.3rem .4rem}.cell-input.money{width:5.5rem}.cell-input.wide{text-align:left;width:100%;min-width:12rem}select.cell-input{text-align:left;width:auto}.qty-cell{align-items:center;gap:.3rem;display:inline-flex}.estimate-lines .btn-link.small{justify-content:flex-end;margin-top:.2rem;margin-left:auto;font-size:.75rem;display:flex}.estimate-lines .btn-link.small svg{width:.8rem;height:.8rem}.estimate-bottom{grid-template-columns:1fr;gap:.9rem;display:grid}@media (width>=900px){.estimate-bottom{grid-template-columns:1fr 380px;align-items:start}}.estimate-totals{flex-direction:column;gap:.35rem;display:flex}.total-row{justify-content:space-between;gap:1rem;display:flex}.total-row.strong{border-top:1px solid var(--line);margin-top:.2rem;padding-top:.45rem;font-size:1.15rem}.office-only{border-top:1px dashed var(--line);flex-direction:column;gap:.35rem;margin-top:.6rem;padding-top:.6rem;display:flex}.total-row .loss,.office-only .loss{color:#b42318}.estimate-line{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.estimate-line svg{width:1rem;height:1rem}@media (width<=600px){.estimate-top .save-state:not(.error){display:none}.estimate-top .btn{padding-left:.7rem;padding-right:.7rem}.estimate-top .btn:not(.btn-primary) .btn-label{display:none}}.smart-bar{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;display:flex}.smart-add h3{align-items:center;gap:.4rem;margin:0;display:flex}.smart-add h3 svg{width:1.1rem;height:1.1rem;color:var(--primary)}.smart-group{border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.smart-group-title{background:var(--bg);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.5rem .75rem;font-size:.8rem;font-weight:700}.smart-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:.5rem .75rem;padding:.55rem .75rem;display:grid}.smart-row.off .smart-what span{opacity:.6}.smart-what{align-items:flex-start}.smart-pick{width:100%;min-width:0}.smart-none{grid-column:2/4}@media (width<=700px){.smart-row{grid-template-columns:minmax(0,1fr) auto}.smart-what,.smart-none{grid-column:1/-1}}.po-status{background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.po-status.po-sent{color:#b54708;background:#fff4e5;border-color:#fcd9a8}.po-status.po-confirmed{color:#1f4fbf;background:#e8f0fe;border-color:#c3d6fb}.po-status.po-received{color:#1a7f37;background:#e7f6ec;border-color:#b6e3c4}.po-steps{border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.po-steps button{font:inherit;border:0;border-left:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;padding:.6rem .4rem;font-weight:600}.po-steps button:first-child{border-left:0}.po-steps button.active{background:var(--primary);color:var(--primary-text)}.po-total{align-self:flex-end;gap:1rem;padding:0 .5rem;font-size:1.1rem;display:flex}.deposit-in{flex-direction:column;gap:.25rem;display:flex}.box-hint .btn-link.small{margin:0;display:inline}.quote-pill{z-index:35;left:50%;bottom:calc(5rem + env(safe-area-inset-bottom));background:var(--text);color:var(--card);border-radius:999px;align-items:center;gap:.25rem;max-width:calc(100vw - 32px);padding:.35rem .5rem .35rem .4rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.quote-pill-open{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:.45rem;padding:.35rem .6rem;display:flex;overflow:hidden}.quote-pill-open b{text-overflow:ellipsis;overflow:hidden}.quote-pill svg{flex:none;width:1.1rem;height:1.1rem}.quote-pill .btn-link{color:inherit;opacity:.75}@media (width>=1024px){.quote-pill{bottom:1.5rem;left:auto;right:1.5rem;transform:none}}.measure-total .product-row,.room-product .product-row{grid-template-columns:minmax(0,1fr) 8.5rem;align-items:start;gap:.5rem .75rem;margin-top:.6rem;display:grid}.product-pick{flex-direction:column;gap:.25rem;min-width:0;display:flex;position:relative}.product-pick label,.product-box{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.product-pick input,.product-box input{width:100%;min-height:40px}.product-pick-list{z-index:5;background:var(--card);margin-top:.25rem;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #00000026}.data-table .stale,.stale{color:#b54708}.stock-free{color:#1a7f37;font-weight:600}.stock-facts{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.stock-facts div{background:var(--bg);border-radius:10px;flex-direction:column;padding:.5rem .65rem;display:flex}.stock-history{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.stock-history li{border-bottom:1px solid var(--line);justify-content:space-between;gap:.75rem;padding-bottom:.3rem;font-size:.9rem;display:flex}.inline-row{gap:.5rem;display:flex}.inline-row input{flex:1;min-width:0}.receive h3{align-items:center;gap:.4rem;margin:0;display:flex}.cell-input.lot{text-align:left;width:6.5rem;min-width:0}.job-material{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.material-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.material-form{border-top:1px dashed var(--line);padding-top:.5rem}.add-cost{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.on-hand{color:#1a7f37;font-weight:600}.picked-product{background:var(--bg);border-radius:10px;padding:.6rem .75rem}.vendor-group{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-top:1px solid var(--line);padding-top:.6rem;font-size:.8rem;font-weight:700}.line-color{width:auto;max-width:14rem;margin-top:.3rem;display:block}.product-color{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.product-color select{min-height:40px}.smart-rules td{vertical-align:top}.smart-rules td .cell-input+.cell-input{margin-top:.3rem}.smart-rules .cell-input.wide{min-width:9rem}.change-orders{gap:.6rem}.co-head,.co-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.co-head .section-title{margin:0}.co-card{gap:.5rem}.co-card.co-requested{border-left:4px solid #f79009}.co-card.co-approved{border-left:4px solid #1a7f37}.co-card.co-declined{opacity:.85;border-left:4px solid #b42318}.co-status{align-items:center;gap:.3rem;font-size:.85rem;font-weight:700;display:inline-flex}.co-status svg{width:1rem;height:1rem}.co-status-requested{color:#b54708}.co-status-approved{color:#1a7f37}.co-status-declined{color:#b42318}.co-lines{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.co-lines li{justify-content:space-between;gap:.75rem;display:flex}.co-line-edit{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.co-line-edit>input,.co-line-name{flex:1;min-width:12rem}.co-totals{background:var(--bg);border-radius:10px;flex-wrap:wrap;gap:.4rem 1.25rem;padding:.5rem .75rem;display:flex}.co-photos{flex-wrap:wrap;gap:.4rem;display:flex}.co-photos img{object-fit:cover;border-radius:8px;width:72px;height:72px}.co-pending{color:#7a3e00;background:#fff4e5;border:1px solid #fcd9a8;border-radius:12px;align-items:flex-start;gap:.5rem;padding:.6rem .85rem;display:flex}.co-pending svg{flex:none;width:1.1rem;height:1.1rem;margin-top:.1rem}.labor-match{margin-top:.3rem;position:relative}.labor-match .add-results{z-index:5;background:var(--card);position:absolute;left:0;right:0}.member-perm{margin-top:.4rem}.po-status.inv-sent{color:#b54708;background:#fff4e5;border-color:#fcd9a8}.po-status.inv-paid{color:#1a7f37;background:#e7f6ec;border-color:#b6e3c4}.job-invoice{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.job-invoice-row{background:var(--bg);border:1px solid var(--line);width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.profit-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;display:grid}.profit-summary>div{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.15rem;padding:.7rem .85rem;display:flex}.profit-summary b{font-size:1.15rem}.profit-summary .loss,.data-table td.loss{color:#b42318}.member-pay{margin-top:.35rem}.logo-picker{flex-direction:column;gap:.4rem;display:flex}.logo-preview{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;align-self:flex-start;max-width:240px;max-height:90px;padding:.5rem}.brand-logo{object-fit:contain;border-radius:8px;flex:none;max-width:170px;height:40px;box-shadow:0 0 0 1px #ffffff29}@media (width<=480px){.brand-logo{max-width:120px;height:36px}}.catalog-filters .scan-box{flex:0 230px;min-width:180px}.check-row{align-items:center;gap:8px;font-weight:500;display:flex}.check-row input{width:auto}.laser-bar{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.laser-on{color:var(--ok,#16a34a);align-items:center;gap:6px;display:inline-flex}.laser-on svg,.laser-bar .btn-link svg{width:16px;height:16px}.room-product{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.room-product .product-row{width:100%;margin-top:.25rem}.room-product-add{align-self:flex-start}.same-as{flex-wrap:wrap;gap:6px;display:flex}.order-type+.order-type{border-top:1px solid var(--line)}.order-product{border-left:3px solid color-mix(in srgb, var(--primary) 35%, transparent);justify-content:space-between;gap:.75rem;margin:.15rem 0;padding:.15rem 0 .15rem .75rem;font-size:.9rem;display:flex}.order-product b{white-space:nowrap}.order-type:last-child .order-product:last-child{margin-bottom:.3rem}.auth{background:var(--bg);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-hero{color:#f4ede3;background:radial-gradient(60rem 40rem at 110% -10%,#e3a35f38,#0000 60%),radial-gradient(40rem 30rem at -20% 110%,#a9531a47,#0000 60%),linear-gradient(160deg,#131d29 0%,#0b121a 100%);flex-direction:column;justify-content:space-between;gap:2rem;padding:2.5rem clamp(2rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.auth-hero:after{content:"";pointer-events:none;opacity:.06;background-image:repeating-linear-gradient(0deg,#fff 0 1px,#0000 1px 64px),repeating-linear-gradient(90deg,#fff 0 1px,#0000 1px 256px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 40% 70%,#0000);mask-image:linear-gradient(#0000,#000 40% 70%,#0000)}.auth-hero>*{z-index:1;position:relative}.auth-brand{letter-spacing:-.02em;align-items:center;gap:.7rem;font-size:1.5rem;font-weight:800;display:flex}.auth-brand img{border-radius:11px;box-shadow:0 6px 20px #00000059}.auth-pitch{max-width:34rem}.auth-pitch h1{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(2rem,3.4vw,3.1rem);font-weight:800;line-height:1.08}.auth-pitch h1 em{color:#e3a35f;font-style:normal}.auth-pitch>p{color:#f4ede3c7;margin:0 0 2rem;font-size:1.1rem;line-height:1.5}.auth-points{gap:1.1rem;margin:0;padding:0;list-style:none;display:grid}.auth-points li{align-items:flex-start;gap:.9rem;display:flex}.auth-points svg{color:#e3a35f;background:#e3a35f1f;border:1px solid #e3a35f40;border-radius:11px;flex:none;width:40px;height:40px;padding:9px}.auth-points span{color:#f4ede3b3;flex-direction:column;gap:.1rem;font-size:.95rem;display:flex}.auth-points b{color:#f4ede3;font-size:1rem}.auth-foot{color:#f4ede380;margin:0;font-size:.85rem}.auth-main{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem 1.25rem;display:flex}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:20px;width:100%;max-width:420px;padding:2rem;box-shadow:0 1px 2px #1018280f,0 24px 48px -12px #1018282e}.auth-card h2{letter-spacing:-.02em;margin:0;font-size:1.6rem}.auth-sub{color:var(--muted);margin:.35rem 0 1.4rem}.auth-tabs{background:var(--bg);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:1.5rem;padding:4px;display:grid}.auth-tabs button{min-height:42px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:.4rem;font-weight:700;display:flex}.auth-tabs button svg{width:18px;height:18px}.auth-tabs button.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px #10182824}.auth-card label{font-weight:600}.auth-card .code-input{min-height:60px;font-size:1.8rem}.auth-label-row{justify-content:space-between;align-items:baseline;display:flex}.auth-label-row .btn-link{font-weight:600}.auth-hint{color:var(--muted);text-align:center;margin:0;font-size:.88rem;line-height:1.45}.auth-switch{text-align:center;color:var(--muted);margin:.25rem 0 0}.auth-switch .btn-link{font-weight:700}.auth-message{margin:1rem 0 0}.auth-legal{color:var(--muted);align-items:center;gap:.35rem;margin:0;font-size:.8rem;display:flex}.auth-legal svg{width:14px;height:14px}@media (width<=860px){.auth{grid-template-rows:auto 1fr;grid-template-columns:1fr}.auth-hero{gap:1rem;padding:1.5rem 1.25rem 3.5rem}.auth-pitch h1{margin-bottom:.4rem;font-size:1.6rem}.auth-pitch>p{margin:0;font-size:1rem}.auth-points,.auth-foot{display:none}.auth-main{z-index:2;justify-content:flex-start;margin-top:-2.25rem;padding:0 1rem 2rem;position:relative}.auth-pitch>p{font-size:.95rem}.auth-card{padding:1.5rem 1.25rem}}:root{font-feature-settings:"cv11", "ss01", "ss03";--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #1018280f;--shadow-md:0 4px 8px -2px #10182814, 0 2px 4px -2px #1018280d;--shadow-lg:0 20px 40px -12px #10182838;--frame:linear-gradient(160deg, #16212e 0%, #0d141c 100%);--frame-text:#f4ede3;--frame-muted:#f4ede39e;--ring:color-mix(in srgb, var(--primary) 35%, transparent);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 16px -4px #00000073;--line:#263241}}:root[data-theme=dark]{--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 16px -4px #00000073;--line:#263241}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{letter-spacing:-.015em}.topbar{background:var(--frame);color:var(--frame-text);border-bottom:1px solid #ffffff0f;box-shadow:0 1px #0003}.brand{letter-spacing:-.01em;font-weight:800}.topbar .who{background:#ffffff0d;transition:background .15s;border-color:#ffffff2e!important}.topbar .who:hover{background:#ffffff1a}.card{border-color:color-mix(in srgb, var(--line) 75%, transparent);box-shadow:var(--shadow-sm);border-radius:16px}button.card,a.card,.card.clickable,.card.job-row,.card.chat-row{transition:box-shadow .18s,transform .18s,border-color .18s}button.card:hover,a.card:hover,.card.clickable:hover,.card.job-row:hover,.card.chat-row:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--primary) 30%, var(--line));transform:translateY(-1px)}.btn{box-shadow:var(--shadow-sm);border-radius:11px;transition:background .15s,box-shadow .15s,transform 50ms,border-color .15s}.btn:not(:disabled):hover{border-color:color-mix(in srgb, var(--text) 25%, var(--line))}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 88%, #fff) 0%, var(--primary) 100%);box-shadow:0 1px 2px #1018281f,inset 0 1px #ffffff2e}.btn-primary:not(:disabled):hover{background:color-mix(in srgb, var(--primary) 90%, #000);border-color:color-mix(in srgb, var(--primary) 90%, #000)}.btn-link{transition:opacity .15s}.btn-link:hover{opacity:.8}input,select,textarea{border-radius:11px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}.search-box{border-radius:12px}.segmented{border-color:color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--line) 35%, var(--bg));border-radius:13px}.segmented button{color:var(--muted);transition:color .15s,background .15s}.segmented button:hover{color:var(--text)}.segmented button.active{color:var(--text);box-shadow:var(--shadow-sm);font-weight:700}.chip{transition:border-color .15s,background .15s}.chip:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--line))}.chip.active{background:color-mix(in srgb, var(--primary) 12%, var(--card));color:var(--primary);outline:0}.stage-pill{letter-spacing:.01em;--tone:var(--muted);background:color-mix(in srgb, var(--tone) 13%, transparent);color:color-mix(in srgb, var(--tone) 85%, var(--text));border:1px solid color-mix(in srgb, var(--tone) 22%, transparent);align-items:center;gap:.35rem;padding:.2rem .6rem .2rem .5rem;font-weight:650;display:inline-flex}.stage-pill:before{content:"";background:var(--tone);border-radius:50%;width:6px;height:6px}.stage-measure,.stage-measured{--tone:#3b82f6}.stage-quote{--tone:#d97706}.stage-sent{--tone:#ea580c}.stage-ordered{--tone:#8b5cf6}.stage-scheduled{--tone:#0891b2}.stage-active{--tone:#16a34a}.stage-installed,.stage-billing{--tone:#c2410c}.stage-invoiced{--tone:#7c3aed}.stage-service{--tone:#dc2626}.stage-done,.stage-lost{--tone:#94a3b8}.trial-banner{border:1px solid color-mix(in srgb, var(--primary) 25%, transparent);box-shadow:var(--shadow-sm);border-radius:999px;margin:.75rem auto 0;padding:.35rem .4rem .35rem 1rem}.sheet{box-shadow:var(--shadow-lg)}.sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080c128c}.tabbar{background:color-mix(in srgb, var(--card) 86%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(16px);border-top-color:color-mix(in srgb, var(--line) 70%, transparent)}.tabbar button .tab-icon-wrap{border-radius:999px;padding:.15rem 1rem;transition:background .2s}.tabbar button.active .tab-icon-wrap{background:color-mix(in srgb, var(--primary) 14%, transparent)}@media (width>=1024px){.sidebar{background:var(--frame);border-right:1px solid #ffffff0d;padding-top:1rem}.sidebar-item{color:var(--frame-muted);border-radius:10px;font-weight:500;transition:background .15s,color .15s}.sidebar-item svg{color:#f4ede380}.sidebar-item:hover{color:var(--frame-text);background:#ffffff0f}.sidebar-item:hover svg{color:var(--frame-text)}.sidebar-item.active{color:#f0b779;background:#e3a35f24;font-weight:650;position:relative}.sidebar-item.active svg{color:#e3a35f}.sidebar-item.active:before{content:"";background:#e3a35f;border-radius:0 3px 3px 0;width:3px;position:absolute;top:.45rem;bottom:.45rem;left:-.6rem}.sidebar-split:before{border-top-color:#ffffff14}.sidebar .count{color:#131d29;background:#e3a35f;font-weight:700}}.job-row{padding:1rem 1.1rem}.job-row-top b{letter-spacing:-.01em;font-size:1.08rem}.job-row-name{color:var(--muted);margin-top:-.1rem;font-weight:500}.job-row-numbers{font-variant-numeric:tabular-nums;margin-top:.2rem;font-weight:600}.job-row-address{align-items:center;gap:.3rem;display:flex}.job-row-address svg{flex:none;width:14px;height:14px}.job-row-meta{border-top:1px dashed color-mix(in srgb, var(--line) 80%, transparent);margin-top:.35rem;padding-top:.5rem}.job-row>svg{color:var(--muted);transition:transform .15s}.job-row:hover>svg{color:var(--primary);transform:translate(2px)}.job-file-head{background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(12px);gap:.75rem;padding:.85rem 1rem}.job-avatar{letter-spacing:.02em;color:#fff;width:40px;height:40px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#e3a35f,#a9531a);border-radius:12px;flex:none;place-items:center;font-size:.95rem;font-weight:800;display:grid}.job-file-title{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.job-file-title b{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;overflow:hidden}.job-file-title .job-file-name{font-size:.9rem}.job-file-head .stage-pill{flex:none}.job-summary{gap:.85rem;padding:1.15rem 1.25rem}.job-summary .job-numbers{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.05rem}.job-summary .wo-address{align-items:center;gap:.5rem;display:flex}.job-divider{background:color-mix(in srgb, var(--line) 75%, transparent);height:1px;margin:.15rem -1.25rem}.job-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.job-actions>*{align-self:auto}.job-actions .chat-job-btn{color:var(--text);align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.job-actions .chat-job-btn svg{width:16px;height:16px;color:var(--primary)}.job-actions>:not(.chat-job-btn){flex-basis:100%}.panel-open .trial-banner{display:none}.job-file .section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1.1rem 0 .1rem;font-size:.75rem;font-weight:800}.update{border-left:1px solid color-mix(in srgb, var(--line) 75%, transparent);gap:.55rem;padding:1.05rem 1.2rem;position:relative;overflow:hidden}.update:before{content:"";background:var(--c);opacity:.85;height:3px;position:absolute;inset:0 0 auto}.update.handled:before{opacity:.35}.update .badge{background:color-mix(in srgb, var(--c) 12%, transparent);border:1px solid color-mix(in srgb, var(--c) 22%, transparent);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .65rem .25rem .5rem;font-size:.82rem;display:inline-flex}.update .badge svg{width:15px;height:15px}.update .status{letter-spacing:.06em;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.7rem;display:inline-flex}.update .status-new{background:color-mix(in srgb, var(--new) 12%, transparent)}.update .status-new:before{content:"";background:var(--new);border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite new-pulse}@keyframes new-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--new) 55%, transparent)}50%{box-shadow:0 0 0 4px #0000}}.update .status-handled{background:color-mix(in srgb, var(--handled) 12%, transparent)}.update-job{letter-spacing:-.01em;margin-top:.15rem;font-size:1.12rem;font-weight:750}.update .mat-table{margin-top:.15rem}.update .mat-table td{padding:.5rem 0}.update .urgency{background:color-mix(in srgb, var(--t-need_material) 12%, transparent);border-radius:8px;align-self:flex-start;padding:.3rem .7rem;font-size:.92rem}.update .note{background:color-mix(in srgb, var(--line) 30%, transparent);border-radius:10px;margin:0;padding:.65rem .85rem;line-height:1.5}.update .update-actions{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--line) 14%, transparent);flex-wrap:wrap;gap:.5rem;margin:.35rem -1.2rem -1.05rem;padding:.75rem 1.2rem}.getting-started{padding:1.15rem 1.25rem}.gs-progress{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:6px;margin-top:-.25rem;overflow:hidden}.gs-progress span{border-radius:inherit;background:linear-gradient(90deg, #e3a35f, var(--primary));height:100%;transition:width .4s;display:block}.sched-day{border-color:color-mix(in srgb, var(--line) 75%, transparent);box-shadow:var(--shadow-sm);border-radius:16px}.sched-day.dated{flex-direction:row;align-items:flex-start;gap:.9rem;padding:.8rem .9rem}.sched-date{background:color-mix(in srgb, var(--line) 35%, transparent);border-radius:12px;flex-direction:column;flex:none;align-items:center;width:3.4rem;padding:.35rem 0 .4rem;line-height:1.1;display:flex}.sched-dow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.sched-dnum{letter-spacing:-.02em;font-size:1.45rem;font-weight:800}.sched-mon{color:var(--muted);font-size:.7rem}.sched-day.today{border-color:color-mix(in srgb, var(--primary) 45%, transparent);box-shadow:var(--shadow-sm), 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.sched-day.today .sched-date{background:linear-gradient(160deg, #e3a35f, var(--primary));color:#fff}.sched-day.today .sched-dow,.sched-day.today .sched-mon{color:#ffffffd9}.sched-body{flex-direction:column;flex:1;justify-content:center;align-self:stretch;gap:.45rem;min-width:0;display:flex}.sched-day.dated.empty{box-shadow:none;background:color-mix(in srgb, var(--card) 60%, transparent);padding-block:.5rem}.sched-day.dated.empty .sched-date{background:0 0;flex-direction:row;align-items:baseline;gap:.35rem;width:auto;min-width:3.4rem;padding:.25rem .5rem}.sched-day.dated.empty .sched-dnum{font-size:1rem}.sched-day.dated.empty .sched-mon{display:none}.sched-row{background:color-mix(in srgb, var(--line) 22%, var(--card));cursor:pointer;border-left-width:3px;border-radius:10px;padding:.6rem .75rem;transition:background .15s,transform .15s}.sched-row:hover{background:color-mix(in srgb, var(--primary) 7%, var(--card))}.sched-title{font-weight:650}.sched-who{flex-wrap:wrap;gap:.35rem;margin-top:.15rem}.crew-chip{background:var(--card);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);color:var(--text);border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .5rem .1rem .15rem;font-size:.8rem;display:inline-flex}.crew-chip i{color:#fff;background:linear-gradient(135deg,#64748b,#334155);border-radius:50%;place-items:center;width:20px;height:20px;font-size:.6rem;font-style:normal;font-weight:800;display:grid}.sched-done{color:var(--handled);font-size:.75rem;font-weight:700}.sched-nav{align-items:center}.sched-nav b,.sched-nav h3,.sched-nav span{letter-spacing:-.01em;font-size:1.05rem}.sched-day.dated.empty .sched-date{justify-content:flex-start;width:4.6rem;min-width:0}.estimate-screen{background:var(--bg)}.estimate-top{background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);padding-block:.7rem}.estimate-title b{letter-spacing:-.01em;font-size:1.1rem}.estimate-top .save-state{background:color-mix(in srgb, var(--line) 40%, transparent);border-radius:999px;padding:.2rem .6rem;font-size:.78rem}.estimate-lines{overflow:hidden}.estimate-lines td{vertical-align:middle}.estimate-lines tbody tr:not(.group-row){transition:background .12s}.estimate-lines tbody tr:not(.group-row):hover{background:color-mix(in srgb, var(--primary) 4%, transparent)}.estimate-lines .danger svg,.estimate-lines button[aria-label^=Remove] svg,.estimate-lines button[aria-label^=Delete] svg{opacity:.45;transition:opacity .12s}.estimate-lines tr:hover .danger svg,.estimate-lines tr:hover button[aria-label^=Remove] svg,.estimate-lines tr:hover button[aria-label^=Delete] svg{opacity:1}.estimate-lines .cell-input{border-radius:8px}.estimate-totals{gap:.45rem;padding:1.15rem 1.25rem}@media (width>=900px){.estimate-totals{position:sticky;top:5rem}}.estimate-totals .total-row.strong{letter-spacing:-.02em;margin-top:.35rem;padding-top:.7rem;font-size:1.45rem;font-weight:800}.estimate-totals .total-row.strong b{color:var(--primary)}.estimate-totals .office-only{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--line) 18%, transparent);border-radius:0 0 16px 16px;margin:.75rem -1.25rem -1.15rem;padding:.85rem 1.25rem 1rem}.estimate-totals .office-only>.muted.small:first-child{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.next-step-bar{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 14%, var(--card)), var(--card) 70%);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);box-shadow:var(--shadow-sm);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.85rem;padding:.9rem 1.1rem;display:flex}.next-step-bar.waiting{background:var(--card);border-color:color-mix(in srgb, var(--line) 80%, transparent)}.next-step-bar.done{background:color-mix(in srgb, var(--handled) 10%, var(--card));border-color:color-mix(in srgb, var(--handled) 35%, transparent)}.next-step-icon{color:#fff;background:linear-gradient(135deg, #e3a35f, var(--primary));border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.next-step-bar.waiting .next-step-icon{color:var(--muted);background:color-mix(in srgb, var(--line) 50%, transparent)}.next-step-bar.done .next-step-icon{background:var(--handled)}.next-step-icon svg{width:20px;height:20px}.next-step-text{flex-direction:column;flex:1;gap:.1rem;min-width:12rem;display:flex}.next-step-label{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.7rem;font-weight:800}.next-step-bar.waiting .next-step-label{color:var(--muted)}.next-step-bar.done .next-step-label{color:var(--handled)}.next-step-text b{letter-spacing:-.01em;font-size:1.02rem}.next-step-actions{flex-wrap:wrap;gap:.5rem;display:flex}.next-step-actions .btn{align-items:center;gap:.35rem;display:inline-flex}.next-step-actions svg{width:16px;height:16px}.chat-row{padding:.85rem 1rem}svg.chat-row-icon,.chat-row-icon{width:42px;height:42px;color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);box-sizing:border-box;border-radius:13px;padding:10px}.chat-row-text b{letter-spacing:-.01em;font-size:1rem}.unread-dot{background:var(--new);box-shadow:0 0 0 3px color-mix(in srgb, var(--new) 20%, transparent)}.chat-head{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);margin:0 -.25rem;padding:.65rem .5rem;font-size:1.05rem}.chat-day{background:color-mix(in srgb, var(--line) 40%, transparent);border-radius:999px;align-self:center;margin:.75rem 0 .35rem;padding:.15rem .7rem;font-size:.72rem;font-weight:600}.chat-msg{border-color:color-mix(in srgb, var(--line) 70%, transparent);box-shadow:var(--shadow-sm);border-radius:18px 18px 18px 6px;padding:.55rem .8rem;line-height:1.45}.chat-msg.mine{background:linear-gradient(160deg, color-mix(in srgb, var(--primary) 85%, #fff), var(--primary));box-shadow:0 2px 6px color-mix(in srgb, var(--primary) 30%, transparent);border-color:#0000;border-radius:18px 18px 6px}.chat-msg.mine .chat-name{color:#ffffffd9}.chat-time{font-size:.68rem}.chat-compose{border-color:color-mix(in srgb, var(--line) 80%, transparent);box-shadow:var(--shadow-md);border-radius:22px;padding:.4rem .45rem}.chat-input-row textarea{background:color-mix(in srgb, var(--line) 28%, transparent);border-color:#0000;border-radius:16px}.chat-input-row textarea:focus{background:var(--card)}.chat-send{border-radius:999px;min-width:44px;padding:0}.chat-input-row .icon-btn{border-radius:999px;transition:background .15s}.chat-input-row .icon-btn:hover{background:color-mix(in srgb, var(--line) 40%, transparent)}.bubble{box-shadow:var(--shadow-sm);border-radius:18px;line-height:1.5}.bubble.user{background:linear-gradient(160deg, color-mix(in srgb, var(--primary) 85%, #fff), var(--primary));border-bottom-right-radius:6px}.bubble.assistant{border-color:color-mix(in srgb, var(--line) 70%, transparent);border-bottom-left-radius:6px}.page-title{letter-spacing:-.025em;gap:.65rem;font-size:1.55rem;font-weight:800}.page-title svg.lucide{background:color-mix(in srgb, var(--primary) 12%, transparent);box-sizing:border-box;border-radius:11px;width:36px;height:36px;padding:8px}@media (width>=1024px){.page-title{max-width:none;margin-top:1.25rem}}.list>section.card.stack:has(>b:first-child+p.muted:last-child){text-align:center;box-shadow:none;background:color-mix(in srgb, var(--card) 70%, transparent);border-style:dashed;align-items:center;padding:2.25rem 1.5rem}.list>section.card.stack>b:first-child:has(+p.muted){font-size:1.05rem}.muted.pad{padding:2rem 1rem}.data-table{border-collapse:separate;border-spacing:0}.data-table thead th{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb, var(--line) 25%, var(--card));font-size:.7rem;font-weight:800}.data-table tbody tr.clickable:hover{background:color-mix(in srgb, var(--primary) 5%, transparent)}.table-wrap{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb, var(--line) 75%, transparent);border-radius:16px}.member-name{letter-spacing:-.01em;font-size:1rem}.vendor-card b{letter-spacing:-.01em;font-size:1.05rem}.card>h3:first-child,.card>.help-head h3{letter-spacing:-.015em}.today-card{border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 9%, var(--card)), var(--card) 45%);box-shadow:var(--shadow-md), 0 0 0 3px color-mix(in srgb, var(--primary) 8%, transparent);padding:1.15rem 1.2rem}.today-label{background:linear-gradient(135deg, #e3a35f, var(--primary));border-radius:999px;align-self:flex-start;align-items:center;gap:.35rem;padding:.2rem .65rem;display:inline-flex;color:#fff!important;font-size:.72rem!important}.today-directions{color:var(--text);border-color:color-mix(in srgb, var(--line) 80%, transparent)}.today-directions svg{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;width:2.4rem;height:2.4rem;padding:.55rem}.today-directions>span>:first-child{font-weight:750}.today-directions>span>:last-child{color:var(--muted);font-size:.92rem;font-weight:500}.chat-day{width:fit-content}@media (width>=1024px){.page-title{padding:0 .15rem}}.settings-profile{flex-direction:row;align-items:center;gap:.9rem}.settings-profile .job-avatar{border-radius:14px;width:48px;height:48px;font-size:1.05rem}.settings-profile h3{margin:0 0 .1rem}.page-title{margin-bottom:.4rem}.type-btn{border-width:1px;border-color:color-mix(in srgb, var(--line) 85%, transparent);background:var(--card);box-shadow:var(--shadow-sm);transition:border-color .15s,background .15s,transform .1s}.type-btn:active{transform:scale(.98)}.type-btn svg.type-icon{box-sizing:border-box;width:44px;height:44px;color:var(--c);background:color-mix(in srgb, var(--c) 12%, transparent);border-radius:14px;padding:10px}.type-btn.active{box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 25%, transparent), var(--shadow-sm);border-width:1px}.type-btn.active svg.type-icon{color:#fff;background:var(--c)}.sched-day.dated.empty.today .sched-date{background:linear-gradient(160deg, #e3a35f, var(--primary));color:#fff;border-radius:999px;padding:.2rem .65rem}.sched-day.dated.empty.today .sched-dow{color:#ffffffe6}.import-progress.working>div{background:linear-gradient(90deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 55%, #fff) 50%, var(--primary) 100%);background-size:200% 100%;animation:1.4s linear infinite import-shine}@keyframes import-shine{0%{background-position:100% 0}to{background-position:-100% 0}}.import-pill{z-index:20;left:50%;bottom:calc(5rem + env(safe-area-inset-bottom));font:inherit;color:#fff;box-shadow:var(--shadow-lg);cursor:pointer;white-space:nowrap;background:linear-gradient(160deg,#16212e,#0d141c);border:0;border-radius:999px;align-items:center;gap:.55rem;padding:.6rem 1.1rem;font-size:.92rem;font-weight:650;display:inline-flex;position:fixed;transform:translate(-50%)}.import-pill.done{background:linear-gradient(160deg, #e3a35f, var(--primary))}@media (width>=1024px){.import-pill{bottom:1.5rem;left:calc(50% + var(--side,0px) / 2)}}.import-pill-spin{border:2px solid #ffffff4d;border-top-color:#e3a35f;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite pill-spin}@keyframes pill-spin{to{transform:rotate(360deg)}}.pick-search{flex-direction:column;grid-column:2/-1;gap:.35rem;min-width:0;display:flex}.pick-search .add-results{max-height:260px;overflow-y:auto}.estimate-lines .group-row.area-row td{color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--card));font-size:.8rem}.area-pick{width:auto;max-width:100%;min-height:0;color:var(--muted);border-color:color-mix(in srgb, var(--line) 80%, transparent);background-color:#0000;border-radius:999px;margin-top:.3rem;padding:.15rem 1.6rem .15rem .5rem;font-size:.75rem;display:block}.trim-setting .trim-pick{flex:16rem;min-width:14rem}.trim-setting .trim-pick .product-clear,.trim-setting .trim-pick .ok-line{font-size:.75rem}.line-change{margin-left:.25rem;padding:0;font-size:.75rem;display:inline}.where-input{border-color:color-mix(in srgb, var(--line) 80%, transparent);background:0 0;border-radius:8px;width:100%;max-width:22rem;min-height:0;margin-top:.3rem;padding:.25rem .55rem;font-size:.8rem;display:block}.lay-direction{width:100%;font-size:.9rem}.trim-opts .lay-direction{flex-basis:100%}.lay-note{font-weight:600}.page-pick-btn{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.25rem;padding:0;display:flex}.page-pick-btn span{align-items:center;gap:.25rem;display:inline-flex}.page-pick-btn svg{width:1em;height:1em}.page-pick.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.page-pick.on .page-pick-btn span{font-weight:700}.page-pick select{width:100%;font-size:.8rem}.area-trim{flex-direction:column;gap:.25rem;width:100%;display:flex}.area-trim input{width:100%}.trim-opts .inline-field input[aria-label^=Tile\ size]{width:9rem}.shower-badge{background:color-mix(in srgb, var(--accent) 22%, transparent);color:inherit;white-space:nowrap;border-radius:999px;flex:none;align-self:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.quote-breakdown{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:.6rem .8rem}.quote-breakdown summary{cursor:pointer;font-size:.95rem}.quote-breakdown summary svg{vertical-align:-.12em;width:1em;height:1em}.qb-section{margin-top:.8rem}.qb-head{background:var(--brand);color:#fff;border-radius:8px;justify-content:space-between;gap:.5rem;padding:.35rem .6rem;font-size:.9rem;display:flex}.qb-head .muted{color:#ffffffbf}.qb-lines,.qb-totals{border-collapse:collapse;width:100%;font-size:.88rem}.qb-lines td{border-bottom:1px solid var(--line);vertical-align:top;padding:.4rem .3rem}.qb-kind td{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;border-bottom:0;padding-top:.6rem;font-size:.72rem;font-weight:700}.qb-qty{white-space:nowrap;text-align:right;color:var(--muted,inherit)}.qb-amt{white-space:nowrap;text-align:right;font-weight:600}.qb-totals{max-width:26rem;margin-top:.8rem;margin-left:auto}.qb-totals td{padding:.25rem .3rem}.qb-totals td:last-child{text-align:right;white-space:nowrap}.qb-total td{border-top:2px solid var(--line);font-size:1rem;font-weight:700}.qb-cost td{color:var(--muted,inherit);font-size:.82rem}@media (width<=560px){.qb-qty{white-space:normal}}.job-photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;display:grid}.job-photo{flex-direction:column;gap:.2rem;min-width:0;display:flex;position:relative}.job-photo-thumb{aspect-ratio:1;border:1px solid var(--line);background:var(--card);color:inherit;cursor:zoom-in;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.job-photo-thumb img{object-fit:cover;width:100%;height:100%}.job-photo-file svg{width:2rem;height:2rem}.job-photo-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-photo-x{color:#fff;background:#0000008c;border-radius:999px;position:absolute;top:.25rem;right:.25rem}.photo-viewer{z-index:1000;cursor:zoom-out;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1rem;display:flex;position:fixed;inset:0}.photo-viewer-name{color:#fff;font-size:.9rem}.photo-viewer-x{color:#fff;position:absolute;top:1rem;right:1rem}.builders-intro{max-width:46rem;line-height:1.5}.builders-empty{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2.2rem 1.5rem;display:flex}.builders-empty p{max-width:28rem;margin:0 0 .4rem}.builders-empty-icon{background:color-mix(in srgb, var(--accent) 22%, transparent);width:3.2rem;height:3.2rem;color:var(--brand);border-radius:999px;place-items:center;display:grid}.builders-empty-icon svg{width:1.5rem;height:1.5rem}.builder-card-head{align-items:center;gap:.7rem;display:flex}.builder-badge{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #000));color:#fff;border-radius:10px;flex:none;place-items:center;width:2.4rem;height:2.4rem;font-weight:700;display:grid}.builder-name{flex:1;font-size:1.1rem;font-weight:600}.builders label .muted.small{font-weight:400}.job-group{color:var(--muted,inherit);letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem;font-size:.72rem;font-weight:700}.job-row{justify-content:flex-start;gap:.7rem}.job-row-icon{background:color-mix(in srgb, var(--primary) 12%, transparent);width:2.2rem;height:2.2rem;color:var(--primary);border-radius:10px;flex:none;place-items:center;display:grid}.job-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.job-row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.job-row-sub{text-overflow:ellipsis;white-space:nowrap;color:var(--muted,inherit);font-size:.8rem;font-weight:500;overflow:hidden}.job-row-date{color:var(--muted,inherit);flex:none;font-size:.75rem;font-weight:600}.job-tiles{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.45rem;display:grid}.job-tile{text-align:center;flex-direction:column;justify-content:center;gap:.3rem;min-height:4.4rem;padding:.6rem;font-size:.85rem}.job-tile svg{width:1.4rem;height:1.4rem;color:var(--primary)}.job-list-scroll{max-height:18rem;padding-right:.15rem;overflow-y:auto}.measure-viewer{z-index:900;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.measure-viewer-head{border-bottom:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem max(1rem,50% - 26rem);display:flex}.measure-viewer-title{font-size:1.2rem;font-weight:700}.measure-viewer-body{flex:1;padding:1rem max(1rem,50% - 26rem) 2rem;overflow-y:auto}@media print{body:has(.measure-viewer)>:not(.measure-viewer){display:none!important}.measure-viewer{position:static}.measure-viewer-head .row-actions,.measure-viewer .measure-fold-all{display:none}.measure-viewer-body{overflow:visible}}.bill-tiles{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem;display:grid}.bill-tile{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;gap:.15rem;padding:.85rem 1rem;display:flex}.bill-tile b{font-size:1.35rem}.bill-tile-bad{border-color:color-mix(in srgb, #c0392b 55%, var(--line));background:color-mix(in srgb, #c0392b 7%, var(--card))}.bill-tile-bad b{color:#b03a2e}.bill-tile-warn{border-color:color-mix(in srgb, var(--accent) 60%, var(--line))}.bill-vendor-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:.5rem;padding-bottom:.3rem;display:flex}.bill-row-wrap+.bill-row-wrap{border-top:1px solid var(--line)}.bill-row{align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.bill-row input[type=checkbox]{flex:none;width:1.15rem;height:1.15rem}.bill-row-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:.1rem;padding:0;display:flex}.bill-row-title{font-weight:600}.bill-row-amt{flex-direction:column;flex:none;align-items:flex-end;display:flex}.bill-state{vertical-align:.1em;background:var(--line);border-radius:999px;margin-left:.35rem;padding:.05rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.bill-paid{color:#23744a;background:#2e8b572e}.bill-overdue{color:#b03a2e;background:#c0392b29}.bill-due-soon{background:color-mix(in srgb, var(--accent) 25%, transparent)}.bill-detail{padding:.2rem 0 .7rem 1.8rem}.bill-po span{font-weight:400}.modal-back{z-index:950;background:#0a0f168c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{width:min(32rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto}@media print{.no-print{display:none!important}}.estimate-fieldset{border:0;min-width:0;margin:0;padding:0;display:contents}.edit-lock{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 12%, var(--card));border-radius:12px;justify-content:space-between;align-items:center;gap:.8rem;width:calc(100% - 2rem);max-width:72rem;margin:.6rem auto 0;padding:.7rem .9rem;font-size:.9rem;display:flex}.edit-lock-lost{border-color:color-mix(in srgb, #c0392b 50%, var(--line));background:color-mix(in srgb, #c0392b 8%, var(--card))}@media (width<=560px){.edit-lock{flex-direction:column;align-items:flex-start}}.sent-check{border:1px solid color-mix(in srgb, var(--primary) 45%, var(--line));background:color-mix(in srgb, var(--primary) 9%, var(--card));border-radius:12px;justify-content:space-between;align-items:center;gap:.8rem;width:calc(100% - 2rem);max-width:72rem;margin:.6rem auto 0;padding:.7rem .9rem;font-size:.9rem;display:flex}.invoice-editor .sent-check,.estimate-body .sent-check{width:100%}@media (width<=560px){.sent-check{flex-direction:column;align-items:flex-start}}.picked-job{border:2px solid var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--card));border-radius:12px;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .85rem;display:flex}.new-project{gap:.5rem;display:flex}.new-project input{flex:1;min-width:0}.job-photo-file{cursor:pointer;flex-direction:column;gap:.3rem;position:relative}.job-photo-tag{color:#fff;letter-spacing:.04em;background:#b03a2e;border-radius:6px;padding:.05rem .4rem;font-size:.65rem;font-weight:700;position:absolute;bottom:.35rem;left:.35rem}.job-photo-hint{color:var(--muted,inherit);font-size:.75rem;font-weight:600}.cancel-measure{align-self:center;margin-top:.4rem}.sidebar-item .count{color:#131d29;text-align:center;background:#e3a35f;border-radius:999px;min-width:1.35rem;margin-left:auto;padding:.05rem .45rem;font-size:.75rem;font-weight:800;box-shadow:0 0 0 2px #e3a35f40}.more-item .count{font-weight:700}.check-setup summary{cursor:pointer}.check-nudge{align-items:center}.job-bills-totals{border-top:1px solid var(--line);flex-wrap:wrap;gap:.4rem 1.2rem;padding-top:.3rem;display:flex}.profit-bills{margin-top:-.2rem}.import-row{align-items:center;gap:.6rem}.import-row.active{outline:2px solid var(--accent,#1f4f7a);outline-offset:2px;border-radius:8px}.import-row .grow{overflow-wrap:anywhere;flex:1;min-width:0}.import-row .block{display:block}.import-row .ok{color:var(--ok,#2e7d4f)}.import-lines td{vertical-align:top}.import-lines .check-cell{width:1.8rem;padding-top:.55rem}.import-lines .check-cell input{width:1.15rem;height:1.15rem}.import-lines .import-area{width:100%;margin-top:.35rem;padding:.3rem .5rem;font-size:.85rem}.import-lines .qty{white-space:nowrap;text-align:right}.customer-quote{flex-direction:column;gap:1rem;max-width:720px;margin:0 auto;padding:1rem 16px 3rem;display:flex}.customer-quote .block{display:block}.cq-head{align-items:center;gap:.9rem;display:flex}.cq-logo{object-fit:contain;max-width:140px;max-height:56px}.cq-company{font-size:1.2rem;display:block}.cq-section{border-top:1px solid var(--line,#e5e5e5);padding-top:.6rem}.cq-section-head{text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;gap:1rem;margin-bottom:.35rem;font-size:.85rem;display:flex}.cq-line{justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex}.cq-amount{text-align:right;white-space:nowrap;flex-direction:column;display:flex}.cq-totals{border-top:2px solid var(--line,#e5e5e5);flex-direction:column;gap:.3rem;padding-top:.6rem;display:flex}.cq-totals>div{justify-content:space-between;gap:1rem;display:flex}.cq-total{font-size:1.15rem;font-weight:700}.cq-deposit{color:inherit;background:#e3a35f29;border:1px solid #e3a35f8c;border-radius:8px;justify-content:space-between;gap:1rem;padding:.5rem .7rem;font-weight:600;display:flex}.cq-done h3{align-items:center;gap:.4rem;display:flex}.customer-signed{border:1px solid var(--ok,#2e7d4f);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.8rem;margin:.5rem 0;padding:.7rem .8rem;display:flex}.customer-signed .block{display:block}.customer-signed b{align-items:center;gap:.35rem;display:flex}.customer-signature{border:1px solid var(--line,#e5e5e5);background:#fff;border-radius:6px;width:120px;height:auto}.check-line .block{display:block}.report-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.report-head h3{margin:0}.report-tiles{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;display:grid}.report-tiles>div{border:1px solid var(--line,#e5e5e5);border-radius:10px;flex-direction:column;gap:.1rem;padding:.5rem .7rem;display:flex}.report-tiles>div.late b{color:var(--danger,#b42318)}.report-tiles>div.total{border-color:var(--accent,#e3a35f)}.report-table .num{text-align:right;white-space:nowrap}.report-table .flag-row td:last-child{color:var(--danger,#b42318);font-weight:600}.lead-card.lead-due{border-left:3px solid var(--accent,#e3a35f)}.lead-name{font-size:1.05rem}.lead-contact{flex-wrap:wrap;gap:.35rem .9rem;margin-top:.25rem;display:flex}.lead-contact a,.lead-contact span{align-items:center;gap:.3rem;display:inline-flex}.lead-contact svg{width:14px;height:14px}.lead-notes{margin:0;padding-left:1.1rem}.lead-date,.lead-status{width:auto}.follow-row{border-top:1px solid var(--line,#e5e5e5);flex-direction:column;gap:.35rem;padding:.5rem 0;display:flex}.job-steps{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.job-steps li{color:var(--muted,#6b7280);align-items:flex-start;gap:.6rem;display:flex}.job-steps li.done{color:inherit;font-weight:600}.job-steps .dot{border:2px solid var(--line,#d1d5db);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.job-steps li.done .dot{background:var(--ok,#2e7d4f);border-color:var(--ok,#2e7d4f);color:#fff}.job-steps .dot svg{width:14px;height:14px}.job-steps .block{font-weight:400;display:block}.job-photos-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.4rem;display:grid}.job-photo{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0;overflow:hidden}.job-photo img{object-fit:cover;width:100%;height:100%}.photo-viewer{z-index:100;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.photo-viewer img{object-fit:contain;max-width:100%;max-height:100%}.roll-cuts{border-top:1px solid var(--line,#e5e5e5);padding-top:.6rem}.trial-banner.stack-tight{border-radius:14px;flex-direction:column;align-items:flex-start;padding:.8rem 1rem}.quote-lit>.card{outline:2px solid var(--accent,#e3a35f);outline-offset:2px}.top-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.top-actions+.who{margin-left:0}.top-icon{color:inherit;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:relative}.top-icon:hover,.top-icon.active{background:#ffffff1f}.top-icon svg{width:20px;height:20px}.top-icon .tab-badge{top:2px;right:0}.new-menu{position:relative}.new-btn{align-items:center;gap:.3rem;display:inline-flex}.new-pop{z-index:40;background:var(--card);width:min(300px,100vw - 32px);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:.35rem;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000038}.new-item{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.7rem;padding:.55rem .6rem;display:flex}.new-item:hover{background:var(--bg)}.new-item svg{width:20px;height:20px;color:var(--primary);flex:none}.new-item .block,.home .block,.search-sheet .block{display:block}@media (width<=560px){.who-name,.new-btn .btn-label{display:none}}.home-hello h2{margin:.2rem 0 0;font-size:1.45rem}.home h3{align-items:center;gap:.45rem;margin:0;display:flex}.home h3 svg{width:20px;height:20px;color:var(--primary)}.home-approve{border-left:4px solid var(--primary)}.home-quote,.home-row,.search-hit{text-align:left;border:0;border-top:1px solid var(--line);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:.7rem .15rem;display:flex}.home-quote>span:first-child,.home-row>span,.search-hit>span{flex:1;min-width:0}.home-quote:hover,.home-row:hover,.search-hit:hover{background:var(--bg)}.home-rows>:first-child{border-top:0}.home-row-icon{width:22px;height:22px;color:var(--muted);flex:none}.home-row.urgent .home-row-icon{color:var(--primary)}.home-row>svg:last-child{color:var(--muted);flex:none}.home-new{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.5rem;display:grid}.home-new-item{border:1px solid var(--line);background:var(--card);color:inherit;font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.75rem;font-weight:600;display:flex}.home-new-item:hover{border-color:var(--primary)}.home-new-item svg{width:22px;height:22px;color:var(--primary)}.more-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.9rem .2rem .25rem;font-size:.72rem;font-weight:700}.sidebar-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.95rem .6rem .3rem;font-size:.7rem;font-weight:700}.sidebar-entry{display:contents}.muted-count{background:var(--line)!important;color:var(--text)!important}.search-backdrop{align-items:flex-start}.search-sheet{width:min(640px,100%);margin-top:max(10px, env(safe-area-inset-top));max-height:calc(100vh - 40px);overflow-y:auto}.search-row{border:1px solid var(--line);border-radius:12px;align-items:center;gap:.5rem;padding:.2rem .6rem;display:flex}.search-row input{background:0 0;border:0;outline:none;flex:1;padding:.55rem 0;font-size:1rem}.search-group{flex-direction:column;display:flex}.search-hit svg{width:20px;height:20px;color:var(--muted);flex:none}.field-parts button{white-space:nowrap;font-size:.9rem}.search-row input:focus{box-shadow:none;outline:none}@media (width<=700px){.new-pop{width:auto;left:16px;right:16px;top:calc(env(safe-area-inset-top) + 64px);position:fixed}.topbar:has(.top-actions) .brand{flex:none;gap:0;font-size:0}}.jf{margin-top:-.25rem;position:relative}.jf-button{border:1px solid var(--line);background:var(--card);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:.55rem;padding:.7rem .9rem;transition:border-color .15s,box-shadow .15s;display:flex}.jf-button:hover,.jf-button.open{border-color:var(--primary)}.jf-button.open{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent)}.jf-show{color:var(--muted);font-size:.85rem;font-weight:600}.jf-current{font-weight:700}.jf-badge{background:var(--info-bg);min-width:1.5rem;color:var(--primary);text-align:center;border-radius:999px;padding:.05rem .45rem;font-size:.78rem;font-weight:700}.jf-arrow{width:1.1rem;height:1.1rem;color:var(--muted);margin-left:auto;transition:transform .15s}.jf-button.open .jf-arrow{transform:rotate(180deg)}.jf-menu{z-index:40;border:1px solid var(--line);background:var(--card);border-radius:14px;width:min(340px,100%);max-height:min(70vh,32rem);padding:.4rem;animation:.12s ease-out jf-in;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 32px #0f172a24,0 2px 6px #0f172a0f}@keyframes jf-in{0%{opacity:0;transform:translateY(-4px)}}.jf-top{border-bottom:1px solid var(--line);margin-bottom:.2rem;padding-bottom:.3rem}.jf-group+.jf-group{margin-top:.15rem}.jf-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.55rem .7rem .25rem;font-size:.7rem;font-weight:700}.jf-row{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.65rem;padding:.55rem .7rem;font-size:.93rem;display:flex}.jf-row:hover{background:var(--bg)}.jf-row.on{background:var(--info-bg);font-weight:700}.jf-label{flex:1}.jf-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.jf-check{width:1rem;color:var(--primary);display:inline-flex}.jf-check svg{width:1rem;height:1rem}.jf .jf-dot{background:var(--tone,var(--muted));border-radius:50%;flex:none;width:8px;height:8px;padding:0}.jf .jf-dot-all{box-shadow:inset 0 0 0 1.5px var(--muted);background:0 0}.card.job-row{align-items:flex-start;gap:.9rem;padding:1.05rem 1.1rem .95rem 1.35rem;position:relative;overflow:hidden}.job-row .jr-accent{background:var(--tone,var(--line));border-radius:0;width:4px;padding:0;position:absolute;top:0;bottom:0;left:0}.jr-avatar{letter-spacing:.03em;color:#fff;width:42px;height:42px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#e3a35f,#a9531a);border-radius:12px;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.jr-title{flex-direction:column;min-width:0;line-height:1.25;display:flex}.jr-title b{letter-spacing:-.012em;font-size:1.06rem}.jr-title .job-row-name{margin-top:.1rem;font-size:.92rem}.jr-details{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin-top:.45rem;display:flex}.jr-chip{border:1px solid var(--line);background:var(--bg);font-variant-numeric:tabular-nums;color:var(--muted);border-radius:7px;padding:.18rem .55rem;font-size:.8rem;font-weight:600}.jr-chip-strong{color:var(--text)}.jr-address{color:var(--muted);align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}.jr-address svg{flex:none;width:14px;height:14px}.jr-foot{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin-top:.7rem;padding-top:.6rem;font-size:.8rem;display:flex}.jr-counts,.jr-when{flex-wrap:wrap;align-items:center;gap:.25rem;display:inline-flex}.jr-icon{flex:none;width:13px;height:13px}.job-row>.jr-chev{align-self:center}@media (width<=520px){.jr-avatar{border-radius:10px;width:36px;height:36px;font-size:.8rem}.card.job-row{gap:.7rem;padding-left:1.1rem}.job-row>.jr-chev{display:none}}label.option-card{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;flex-direction:row;align-items:flex-start;gap:.75rem;max-width:34rem;padding:.8rem .95rem;transition:border-color .15s,background .15s;display:flex}label.option-card:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--line))}label.option-card.on{border-color:var(--primary);background:var(--info-bg)}label.option-card input{width:1.15rem;height:1.15rem;box-shadow:none;accent-color:var(--primary);background:0 0;border:0;flex:none;margin:.1rem 0 0;padding:0}label.option-card>span{flex-direction:column;gap:.15rem;display:flex}.card.qc{gap:.8rem;padding:1.1rem 1.15rem 1rem 1.4rem;position:relative;overflow:hidden}.qc-draft{--qc:#94a3b8;--qc-bg:#94a3b829;--qc-text:var(--muted)}.qc-await{--qc:#d97706;--qc-bg:#fff1d6;--qc-text:#8a5300}.qc-approved{--qc:#0891b2;--qc-bg:#dff4f8;--qc-text:#0e6a80}.qc-sent{--qc:#ea580c;--qc-bg:#ffe9dc;--qc-text:#a33b06}.qc-won{--qc:#16a34a;--qc-bg:#dcf5e3;--qc-text:#1a7f37}.qc-lost{--qc:#94a3b8;--qc-bg:#94a3b829;--qc-text:var(--muted)}.qc-accent{background:var(--qc);width:4px;position:absolute;top:0;bottom:0;left:0}.qc-head{align-items:flex-start;gap:.85rem;display:flex}.qc-avatar{letter-spacing:.03em;color:#fff;width:42px;height:42px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#e3a35f,#a9531a);border-radius:12px;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.qc-title{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.qc-title b{letter-spacing:-.012em;font-size:1.06rem}.qc-job{color:var(--muted);margin-top:.1rem;font-size:.92rem;font-weight:500}.qc-sub{font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:.35rem;margin-top:.3rem;font-size:.8rem;font-weight:600;display:inline-flex}.qc-sub svg{width:13px;height:13px}.qc-rev{background:var(--info-bg);color:var(--primary);border-radius:6px;padding:.05rem .4rem;font-size:.72rem;font-weight:700}.qc-pill{background:var(--qc-bg);color:var(--qc-text);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:.4rem;padding:.2rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.qc-pill:before{content:"";background:var(--qc);border-radius:50%;width:6px;height:6px}.qc-contact{flex-wrap:wrap;gap:.4rem 1.1rem;padding-left:calc(42px + .85rem);display:flex}.qc-contact a{color:var(--muted);align-items:center;gap:.35rem;font-size:.87rem;text-decoration:none;display:inline-flex}.qc-contact a:hover{color:var(--primary)}.qc-contact svg{flex:none;width:14px;height:14px}.qc-money{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:var(--bg);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:.6rem 1.75rem;padding:.75rem .95rem;display:flex}.qc-money>span{font-variant-numeric:tabular-nums;flex-direction:column;gap:.1rem;display:flex}.qc-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.qc-total b{letter-spacing:-.02em;font-size:1.35rem}.qc-stat>span:last-child{font-size:.95rem;font-weight:600}.qc-meta{color:var(--muted);font-size:.8rem}.qc-actions{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);padding-top:.8rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .qc-await{--qc-bg:#3a2a10;--qc-text:#f5c26b}:root:not([data-theme=light]) .qc-approved{--qc-bg:#0f3440;--qc-text:#7dd3e8}:root:not([data-theme=light]) .qc-sent{--qc-bg:#3d2112;--qc-text:#fdba8c}:root:not([data-theme=light]) .qc-won{--qc-bg:#12331d;--qc-text:#86efac}}:root[data-theme=dark] .qc-await{--qc-bg:#3a2a10;--qc-text:#f5c26b}:root[data-theme=dark] .qc-approved{--qc-bg:#0f3440;--qc-text:#7dd3e8}:root[data-theme=dark] .qc-sent{--qc-bg:#3d2112;--qc-text:#fdba8c}:root[data-theme=dark] .qc-won{--qc-bg:#12331d;--qc-text:#86efac}@media (width<=520px){.qc-avatar{border-radius:10px;width:36px;height:36px;font-size:.8rem}.qc-contact{padding-left:0}.qc-head{flex-wrap:wrap}}.qc .qc-actions{border-top:0;padding-top:.15rem}.qc .update-actions{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--line) 14%, transparent);justify-content:flex-start;margin:.1rem -1.15rem 0 -1.4rem;padding:.8rem 1.15rem .8rem 1.4rem}.qc .update-actions .row-actions{justify-content:flex-start}.qc .quote-links{background:color-mix(in srgb, var(--line) 14%, transparent);flex-wrap:wrap;justify-content:flex-start;gap:.35rem 1.1rem;margin:0 -1.15rem -1rem -1.4rem;padding:0 1.15rem .85rem 1.4rem;display:flex}.qc .quote-links .btn-link:not(.danger){color:var(--muted)}.qc-sub{white-space:nowrap}@media (width<=520px){.qc-head{grid-template-columns:auto 1fr;column-gap:.75rem;display:grid}.qc-pill{grid-column:2;justify-self:start;margin-top:.45rem}}.qc .update-actions+.quote-links{border-top:0;margin-top:-.8rem;padding-top:.15rem}.qc .update-actions:last-child{margin-bottom:-1rem}@media (width<=520px){.qc-head{row-gap:0}.qc .update-actions .row-actions{flex-wrap:nowrap;width:100%}.qc .update-actions .row-actions .btn{white-space:nowrap;flex:1;justify-content:center;padding-left:.6rem;padding-right:.6rem;font-size:.9rem}}select{appearance:none;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d6b7c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:1.05rem;padding-right:2.4rem}select:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}select:focus,input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);outline:none}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent)}.search-box input:focus{box-shadow:none}select.cell-input{background-position:right .4rem center;background-size:.9rem;padding-right:1.8rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa7b6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa7b6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.search-box{display:flex}p.muted.pad{border:1px dashed color-mix(in srgb, var(--line) 90%, transparent);background:color-mix(in srgb, var(--card) 55%, transparent);text-align:center;border-radius:16px;margin:.25rem 0;padding:2rem 1.25rem;font-size:.95rem;line-height:1.55}.list>p.muted.small.pad-x:first-child,.list>p.muted.pad-x:first-child,.builders-intro{max-width:72ch;margin:0 0 .25rem;font-size:.92rem;line-height:1.55}.segmented button{white-space:nowrap}.job-filter select{box-shadow:none;background-image:none;padding-right:1.6rem}.catalog-filters .job-filter select{text-overflow:clip}.field-parts{flex-wrap:nowrap}@media (width<=520px){.field-parts button{flex:auto;padding-left:.35rem;padding-right:.35rem;font-size:.84rem}.field-parts .count{margin-left:.2rem}}.catalog-filters .search-box{flex:2 260px}.catalog-filters .job-filter{flex:215px;min-width:215px}.catalog-filters .scan-box{flex:0 215px}.job-summary{gap:.9rem;container-type:inline-size}.job-summary .job-numbers{flex-wrap:wrap;gap:.45rem;font-size:.9rem;display:flex}.jn-chip{border:1px solid var(--line);background:var(--bg);font-variant-numeric:tabular-nums;color:var(--muted);border-radius:8px;padding:.25rem .65rem;font-weight:600}.jn-chip.jn-strong{color:var(--text);font-weight:700}.job-contact{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;display:flex}.job-summary .job-contact .wo-address{color:var(--text);align-items:center;gap:.4rem;font-size:.93rem;font-weight:500;text-decoration:none;display:inline-flex}.job-summary .job-contact .wo-address svg{width:15px;height:15px;color:var(--primary)}.job-summary .job-contact a.wo-address:hover{color:var(--primary)}.job-summary .job-contact .edit-details,.job-summary .add-order .btn-link{font-size:.85rem}.job-summary .material-row{margin:0}.job-summary .material-row>span{letter-spacing:.02em;color:var(--muted);font-size:.8rem}.job-summary .material-row>span b{color:var(--text);font-size:.88rem}@container (width>=440px){.job-summary .material-row{grid-template-columns:5.5rem 1fr;align-items:center;gap:.75rem;display:grid}.job-summary .material-row>span{align-self:center}}.job-summary .job-hours{color:var(--muted);font-size:.85rem}.job-summary .job-actions{gap:.5rem}.job-file .section-title{color:var(--muted);align-items:center;gap:.75rem;margin:1.35rem 0 .15rem;display:flex}.job-file .section-title:after{content:"";background:color-mix(in srgb, var(--line) 85%, transparent);flex:1;height:1px}.co-head .section-title:after{display:none}.job-item{gap:.15rem}.move-out{opacity:.7;margin-top:0;font-size:.78rem;transition:opacity .15s,color .15s}.move-out:hover{opacity:1;color:var(--error)}.card.job-row{container-type:inline-size}@container (width<=380px){.job-row .jr-avatar,.job-row>.jr-chev{display:none}.job-row .job-row-top{flex-direction:column;gap:.35rem}.job-row .stage-pill{white-space:normal}.job-row .jr-foot{flex-direction:column}}.job-photos>.btn-small{border:1.5px dashed color-mix(in srgb, var(--primary) 45%, var(--line));background:color-mix(in srgb, var(--info-bg) 55%, transparent);min-height:52px;color:var(--primary);box-shadow:none}.job-photos>.btn-small:hover{border-color:var(--primary);background:var(--info-bg)}.job-summary .add-order .btn-link{text-align:left;justify-content:flex-start;align-self:flex-start}.getting-started{max-width:none;margin:0}.home-new{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.home-new-item{text-align:center;align-items:center;padding:.9rem .5rem .8rem;font-size:.88rem;font-weight:600;transition:border-color .15s,transform .15s,box-shadow .15s}.home-new-item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.home-new-item svg{box-sizing:content-box;background:var(--info-bg);border-radius:10px;padding:.5rem}@media (width<=520px){.home-new{grid-template-columns:repeat(4,1fr)}.home-new-item{padding:.7rem .25rem;font-size:.78rem}}.group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.6rem;margin:.6rem 0 0;font-size:.75rem;font-weight:800;display:flex}.group-title:after{content:"";background:color-mix(in srgb, var(--line) 85%, transparent);flex:1;height:1px}.group-count{background:color-mix(in srgb, var(--line) 60%, transparent);color:var(--text);letter-spacing:0;border-radius:999px;padding:.05rem .45rem;font-size:.72rem}.team-head{align-items:center;gap:.75rem;display:flex}.team-head .group-title{flex:1;margin:0}.team-note{margin:-.25rem 0 0}.card.member{align-items:flex-start;gap:.9rem;padding:1rem 1.1rem}.member-avatar{letter-spacing:.03em;color:#fff;width:40px;height:40px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#e3a35f,#a9531a);border-radius:12px;flex:none;place-items:center;font-size:.85rem;font-weight:800;display:grid}.member-avatar.crew{background:linear-gradient(135deg,#64748b,#334155)}.member-avatar.sub{background:linear-gradient(135deg,#a78bfa,#6d28d9)}.member.off .member-avatar{filter:grayscale();opacity:.6}.member-main{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.member-name{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.role-pill{background:var(--info-bg);color:var(--primary);border-radius:999px;padding:.05rem .5rem;font-size:.7rem;font-weight:700}.role-pill.crew{color:#475569;background:#64748b24}.member .member-actions{align-self:center}@media (width<=600px){.card.member{flex-wrap:wrap}.member .member-actions{justify-content:flex-start;width:100%;padding-left:calc(40px + .9rem)}}.card.wo{padding-left:1.3rem;position:relative;overflow:hidden}.card.wo:before{content:"";background:#c2410c;width:4px;position:absolute;top:0;bottom:0;left:0}.card.wo.measure:before{background:#3b82f6}.card.wo:has(.kind-tag:not(.service)):before{background:#3b82f6}.card.wo:has(.kind-tag.service):before{background:#dc2626}.card.wo.done:before{background:#94a3b8}.card.wo .wo-address{color:var(--text);align-items:center;gap:.4rem;font-weight:500;display:inline-flex}.card.wo .wo-address svg{width:15px;height:15px;color:var(--primary);flex:none}.card.wo a.wo-address:hover{color:var(--primary)}.card.wo .wo-date{letter-spacing:-.005em}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-family:inherit;font-weight:600}.line-name{flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;display:flex}.line-code{background:color-mix(in srgb, var(--line) 55%, transparent);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:6px;padding:.05rem .4rem;font-size:.72rem;font-weight:600}.line-name .line-change{opacity:.85;margin-left:auto;font-size:.75rem}.line-name .line-change:hover{opacity:1}.estimate-lines tbody td{padding-top:.75rem;padding-bottom:.75rem}.estimate-lines .group-row td{padding-top:.55rem;padding-bottom:.55rem}label.tax-toggle{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;align-self:end;min-height:46px;padding:.45rem .8rem;line-height:1.2}label.tax-toggle.on{border-color:var(--primary);background:var(--info-bg)}label.tax-toggle input{accent-color:var(--primary);width:1.05rem;height:1.05rem;box-shadow:none;background:0 0;margin:0;padding:0}.save-state:empty{display:none}.po-steps{border-color:color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--line) 25%, var(--bg));border-radius:12px}.po-steps button{background:0 0;transition:background .15s,color .15s}.po-steps button:hover:not(.active){color:var(--text)}.po-steps button.done{color:#1a7f37;background:#16a34a14}.po-steps button.done:before{content:"✓ "}.po-steps button.active{background:var(--primary);color:var(--primary-text);box-shadow:inset 0 -2px #00000026}.bill-tile b{font-variant-numeric:tabular-nums}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:color-mix(in srgb, var(--primary) 4%, transparent)}.cust-cell{align-items:center;gap:.75rem;display:flex}.cust-avatar,.lead-avatar{letter-spacing:.03em;color:#fff;width:36px;height:36px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#e3a35f,#a9531a);border-radius:10px;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:grid}.cust-avatar.biz{background:linear-gradient(135deg,#64748b,#334155)}.type-pill{background:color-mix(in srgb, var(--line) 55%, transparent);white-space:nowrap;border-radius:999px;margin:0 .3rem .2rem 0;padding:.12rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.type-pill.exempt{color:#1a7f37;background:#dcf5e3}.data-table td{vertical-align:middle}.lead-card{padding:1.05rem 1.15rem}.lead-head{align-items:flex-start;gap:.8rem;display:flex}.lead-avatar{border-radius:12px;width:40px;height:40px}.lead-title{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.lead-wants{color:var(--muted);font-size:.9rem}.lead-pill{white-space:nowrap;background:color-mix(in srgb, var(--line) 55%, transparent);color:var(--muted);border-radius:999px;flex:none;padding:.2rem .65rem;font-size:.74rem;font-weight:700}.lead-pill.lead-new{color:#a33b06;background:#ffe9dc}.lead-pill.lead-contacted{color:#8a5300;background:#fff1d6}.lead-pill.lead-measure{color:#1f4fbf;background:#e0ecff}.lead-pill.lead-quoted{color:#5b2bbf;background:#ede4ff}.lead-pill.lead-won{color:#1a7f37;background:#dcf5e3}.lead-body{flex-direction:column;gap:.35rem;padding-left:calc(40px + .8rem);display:flex}.lead-source{border:1px solid var(--line);color:var(--muted);border-radius:6px;align-self:flex-start;padding:.1rem .5rem;font-size:.74rem;font-weight:600}.lead-contact a,.lead-contact span{color:var(--text);font-weight:500;text-decoration:none}.lead-contact a:hover,.lead-contact svg{color:var(--primary)}.lead-follow{background:color-mix(in srgb, var(--line) 45%, transparent);color:var(--muted);border-radius:8px;align-self:flex-start;align-items:center;gap:.35rem;padding:.18rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.lead-follow.due{background:var(--info-bg);color:var(--primary)}.lead-follow svg{width:14px;height:14px}.lead-card.lead-due{box-shadow:inset 4px 0 0 var(--accent,#e3a35f), var(--shadow-sm);border-left:0}@media (width<=520px){.lead-body{padding-left:0}.lead-head{flex-wrap:wrap}}.report-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.35rem .5rem .35rem 0;font-size:.72rem;font-weight:700}.report-table th.num{text-align:right}.report-table td{padding:.5rem .5rem .5rem 0}.report-table tbody tr:hover td{background:color-mix(in srgb, var(--primary) 4%, transparent)}.profit-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid!important}td.nowrap{white-space:nowrap}
