:root{--bg:#fffaf1;--border:#d8c7aa;--border-strong:#bda987;--heading:#241f1a;--muted:#5f5549;--text:#241f1a;--surface:#fffdf8;--surface-soft:#fbf4e5;--ink:#241f1a;--ink-2:#245b59;--teal:#245b59;--teal-strong:#1b4745;--teal-soft:#e6f3f1;--yellow:#f0b849;--yellow-soft:#fff5d7;--brick:#e55d3f;--brick-soft:#ffede7;--green:#2f8a61;--green-soft:#e9f7ef;--blue:#2f78a6;--blue-soft:#eaf4fb;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Aptos,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.app-shell{background:var(--bg);color:var(--text);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:18px;width:100%;max-width:420px;padding:24px;display:grid;box-shadow:0 24px 70px #171b1f26}.auth-card h1{color:var(--heading);margin:0 0 8px;font-size:25px}.auth-card p{color:var(--muted);margin:0;line-height:1.45}.auth-card label{color:var(--heading);gap:7px;font-size:13px;font-weight:800;display:grid}.auth-card input{background:var(--surface);border:1px solid var(--border);border-radius:8px;height:42px;padding:0 12px}.auth-brand .brand-mark{color:var(--surface)}.auth-error{background:var(--brick-soft);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--brick)!important}.text-button{color:var(--teal);cursor:pointer;background:0 0;border:0;justify-self:center;font-weight:800}.sidebar{background:var(--surface-soft);border-right:1px solid var(--border);color:var(--heading);flex-direction:column;gap:28px;min-height:100vh;padding:22px 16px;display:flex;position:sticky;top:0;box-shadow:12px 0 32px #241f1a0d}.brand,.nav-item,.scope-health,.topbar,.section-header,.table-head,.table-row,.scope-section-title,.bottom-summary,.markup-control span,.metric-grid,.quote-row,.tick-item,.photo-add,.visibility-chip{align-items:center;display:flex}.brand{gap:12px}.brand-mark{background:linear-gradient(135deg, var(--yellow) 0 20%, transparent 20%), var(--teal);color:#fffdf8;letter-spacing:0;border-radius:8px 8px 8px 3px;place-items:center;width:38px;height:38px;font-size:14px;font-weight:900;display:grid;position:relative}.brand-mark:after{background:var(--yellow);content:"";border-radius:999px;width:5px;height:5px;position:absolute;bottom:7px;right:7px}.brand-mark span{font-family:Inter,Aptos,ui-sans-serif,system-ui,sans-serif;line-height:1;transform:translateY(-1px)}.brand strong{font-size:15px;line-height:1.15;display:block}.brand>div:not(.brand-mark) span,.scope-health span,.scope-health p{color:var(--muted);font-size:12px}.nav-list{gap:6px;display:grid}.nav-item,.ghost-button,.primary-button,.secondary-button,.icon-button,.visibility,.preset-tab,.optional-label,.visibility-chip{cursor:pointer;border:0}.nav-item{color:var(--muted);text-align:left;background:0 0;border-radius:8px;gap:10px;height:40px;padding:0 11px;transition:background .16s,color .16s}.nav-item:hover,.nav-item.active{background:var(--surface);color:var(--heading)}.nav-item.active{box-shadow:inset 3px 0 0 var(--yellow)}.scope-health{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:stretch;gap:12px;margin-top:auto;padding:14px}.scope-health>div{justify-content:space-between;display:flex}.scope-health strong{color:var(--yellow)}.scope-health p{margin:0;line-height:1.45}.workspace{background:var(--bg);min-width:0;padding:18px 22px 28px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;gap:18px;min-height:68px}.project-title{margin-right:auto}.project-title span,.metric-card span,.bottom-summary span,.section-header p,.work-cell p,.tick-list-heading span,.tick-item small,.quote-row span,.quote-row small,.photo-card p,.client-card dt,.client-preview p{color:var(--muted)}.project-title span{text-transform:uppercase;font-size:12px;font-weight:800;display:block}.project-title h1{color:var(--heading);margin:2px 0 0;font-size:24px;line-height:1.15}.topbar-actions,.preset-tabs,.line-tags{gap:10px;display:flex}.demo-pill{background:var(--yellow-soft);color:var(--heading);border-radius:999px;align-items:center;height:30px;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}.ghost-button,.primary-button,.secondary-button,.icon-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.ghost-button,.icon-button{background:var(--surface);border:1px solid var(--border);color:var(--heading)}.primary-button{background:var(--teal);color:#fffdf8;box-shadow:0 8px 18px #245b592e}.secondary-button{background:var(--teal-soft);color:var(--teal-strong)}.icon-button{aspect-ratio:1;padding:0}.full-width{width:100%}.mobile-only{display:none}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.metric-grid.expanded{grid-template-columns:repeat(6,minmax(0,1fr))}.launch-panel{grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:14px;margin:0 0 18px;display:grid}.launch-panel span{color:var(--muted);font-size:12px;font-weight:800;display:block}.launch-panel strong{color:var(--heading);margin-top:3px;font-size:15px;display:block}.billing-actions{justify-content:flex-end;gap:10px;display:flex}.launch-error{background:var(--brick-soft);color:var(--brick);border-radius:8px;grid-column:1/-1;margin:0;padding:10px 12px}.metric-card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px}.metric-card{min-height:82px;padding:14px 16px;position:relative}.metric-card:before{background:var(--yellow);content:"";border-radius:999px;width:24px;height:5px;position:absolute;top:14px;right:14px}.metric-card strong{color:var(--heading);margin-top:4px;font-size:27px;display:block}.metric-card.success strong{color:var(--teal)}.dashboard-grid{grid-template-columns:minmax(0,1fr) 342px;gap:18px;margin-bottom:18px;display:grid}.dashboard-grid.lower{align-items:start}.panel{min-width:0;padding:16px}.section-header{justify-content:space-between;gap:14px;margin-bottom:14px}.section-header.compact{align-items:flex-start}.section-header h2{color:var(--heading);margin:0;font-size:18px}.section-header p{margin:4px 0 0;font-size:13px;line-height:1.45}.quote-list{gap:8px;display:grid}.quote-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) 94px 96px 74px;gap:12px;min-height:66px;padding:10px 12px;display:grid}.quote-row strong{color:var(--heading)}.quote-row span,.quote-row small{font-size:12px;display:block}.status-pill{border-radius:999px;justify-content:center;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex!important}.status-pill.draft{background:var(--surface-soft);color:#665f54}.status-pill.sent,.status-pill.viewed{background:var(--teal-soft);color:var(--teal-strong)}.status-pill.accepted{background:var(--green-soft);color:var(--green)}.status-pill.declined{background:var(--brick-soft);color:var(--brick)}.status-pill.change_requested,.status-pill.job-unscheduled{background:var(--yellow-soft);color:#7c5c00}.status-pill.job-scheduled,.status-pill.job-in_progress{background:var(--teal-soft);color:var(--teal-strong)}.status-pill.job-complete{background:var(--green-soft);color:var(--green)}.client-card dl{gap:10px;margin:0;display:grid}.client-card div{border-top:1px solid var(--border);padding-top:10px}.client-card dt{font-size:12px;font-weight:800}.client-card dd{color:var(--heading);overflow-wrap:anywhere;margin:3px 0 0;font-size:14px;font-weight:800}.editor-grid{grid-template-columns:minmax(0,1fr) 342px;gap:18px;margin-bottom:18px;display:grid}.package-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.package-card{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;gap:5px;min-height:104px;padding:14px;display:grid}.package-card.active{border-color:var(--teal);box-shadow:inset 0 0 0 2px var(--teal-soft)}.package-card span,.package-card strong,.package-card small{display:block}.package-card span{color:var(--heading);font-size:14px;font-weight:900}.package-card strong{color:var(--teal-strong);font-size:18px}.package-card small{color:var(--muted);font-size:12px;line-height:1.35}.scope-editor,.preset-panel{min-width:0}.scope-table{border:1px solid var(--border);border-radius:8px;overflow:hidden}.table-head,.table-row{grid-template-columns:minmax(260px,1.6fr) 62px 82px 68px 86px 44px;gap:10px;display:grid}.table-head.enhanced,.table-row{grid-template-columns:minmax(260px,1.7fr) 72px 82px 82px 64px 44px}.table-head{background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--muted);text-transform:uppercase;min-height:42px;padding:0 16px;font-size:11px;font-weight:900}.scope-section-title{border-bottom:1px solid var(--border);color:var(--heading);gap:8px;min-height:42px;padding:0 16px}.scope-section-title span{color:var(--muted);font-size:12px}.table-row{border-bottom:1px solid var(--border);min-height:78px;padding:12px 16px}.table-row:last-child{border-bottom:0}.table-row.child-line{background:var(--surface-soft)}.table-row.child-line .work-cell{padding-left:26px}.work-cell{grid-template-columns:72px minmax(0,1fr);align-items:flex-start;gap:11px;min-width:0;display:grid}.work-cell strong{color:var(--heading);font-size:14px;line-height:1.25;display:block}.work-cell p{margin:4px 0 0;font-size:12px;line-height:1.4}.stage-chip,.optional-label,.photo-tag{border-radius:999px;justify-content:center;height:24px;padding:0 9px;font-size:11px;font-weight:900;line-height:24px;display:inline-flex}.stage-chip{background:var(--teal-soft);color:var(--teal-strong);padding:0}.line-tags{flex-wrap:wrap;gap:6px;margin-top:7px}.optional-label{background:var(--yellow-soft);color:#7c5c00}.optional-label.off{background:var(--surface-soft);color:#6d675d}.photo-tag{color:#4c5d52;background:#e8ece8;align-items:center;gap:5px}.table-row>span,.table-row>strong{color:var(--heading);align-self:center;min-width:0;font-size:13px}.number-cell{color:var(--muted)!important}.low-margin{font-weight:900;color:var(--brick)!important}.visibility{background:var(--surface-soft);color:#7b8583;border-radius:7px;align-self:center;place-items:center;width:34px;height:30px;display:grid}.visibility.on{background:var(--green-soft);color:var(--green)}.preset-tabs{flex-wrap:wrap;margin-bottom:14px}.preset-tab{background:var(--surface-soft);color:#41504f;border-radius:999px;height:30px;padding:0 11px;font-size:12px;font-weight:900}.preset-tab.active{background:var(--teal);box-shadow:inset 0 -3px 0 var(--yellow);color:#fffdf8}.tick-list{gap:10px;display:grid}.tick-list-heading{border:1px solid var(--border);border-radius:8px;padding:12px}.tick-list-heading strong,.tick-list-heading span{display:block}.tick-list-heading strong{color:var(--heading);font-size:14px}.tick-list-heading span{margin-top:4px;font-size:12px;line-height:1.35}.tick-item{border:1px solid var(--border);border-radius:8px;gap:10px;min-height:58px;padding:10px 12px}.tick-item.read-only{background:var(--surface)}.tick-item input{accent-color:var(--teal);width:17px;height:17px}.tick-item span,.tick-item strong,.tick-item small{display:block}.tick-item strong{color:var(--heading);font-size:13px}.tick-item small{margin-top:2px;font-size:12px}.calculator-field{color:var(--heading);grid-template-columns:minmax(0,1fr) 84px 34px;align-items:center;gap:8px;font-size:13px;font-weight:900;display:grid}.calculator-field span{color:var(--muted);font-size:12px}.photos-panel{grid-column:span 1}.photo-add{gap:8px}.photo-add input,.calculator-input{background:var(--surface);border:1px solid var(--border);color:var(--heading);border-radius:8px;height:38px;padding:0 10px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.photo-card{border:1px solid var(--border);border-radius:8px;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:10px;display:grid}.photo-thumb{background:var(--teal-soft);color:var(--teal);border-radius:8px;place-items:center;width:52px;height:52px;display:grid}.photo-thumb.before{background:var(--brick-soft);color:var(--brick)}.photo-thumb.after{background:var(--green-soft);color:var(--green)}.photo-thumb.during{background:var(--yellow-soft);color:#7c5c00}.photo-card strong{color:var(--heading);font-size:13px;line-height:1.25;display:block}.photo-card p{margin:4px 0 8px;font-size:12px;line-height:1.35}.visibility-chip{background:var(--surface-soft);color:#687876;border-radius:999px;height:25px;padding:0 9px;font-size:11px;font-weight:900}.visibility-chip.client{background:var(--green-soft);color:var(--green)}.photo-meta{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.photo-meta span{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.timeline-list,.review-list,.pricebook-list,.followup-list,.job-list{gap:10px;display:grid}.timeline-event{grid-template-columns:34px minmax(0,1fr);gap:10px;display:grid}.timeline-icon{background:var(--teal-soft);color:var(--teal);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.timeline-icon.photo{background:var(--yellow-soft);color:#7c5c00}.timeline-icon.change{background:var(--brick-soft);color:var(--brick)}.timeline-icon.payment{background:var(--green-soft);color:var(--green)}.timeline-event strong,.pricebook-row strong,.followup-row strong,.job-card strong{color:var(--heading);font-size:13px;display:block}.timeline-event p,.timeline-event small,.pricebook-row span,.followup-row span,.followup-row small,.job-card span{color:var(--muted);font-size:12px;line-height:1.35}.timeline-event p{margin:2px 0}.pricebook-row,.followup-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) 72px auto;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:grid}.pricebook-row small,.followup-row small{color:var(--muted);font-weight:900}.review-row{border-radius:8px;align-items:center;gap:9px;min-height:42px;padding:10px 12px;display:flex}.review-row.warning{background:var(--yellow-soft);color:#7c5c00}.review-row.ready{background:var(--green-soft);color:var(--green)}.review-row span{font-size:13px;font-weight:800}.followup-row.done{background:var(--surface-soft);opacity:.72}.job-card{border:1px solid var(--border);border-radius:8px;gap:12px;padding:12px;display:grid}.job-meta{flex-wrap:wrap;gap:8px;display:flex}.job-meta span:not(.status-pill){background:var(--surface-soft);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.58}.acceptance-box{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:10px;padding:14px;display:grid}.acceptance-box strong{color:var(--heading)}.acceptance-box p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.client-preview-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.bottom-summary{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:18px;min-height:68px;padding:10px 14px;box-shadow:0 20px 48px #171b1f24}.bottom-summary>div,.markup-control{min-width:90px}.bottom-summary span{font-size:12px;font-weight:800;display:block}.bottom-summary strong{color:var(--heading);margin-top:4px;font-size:15px;display:block}.markup-control{gap:7px;display:grid}.markup-control span{gap:5px;font-size:12px;font-weight:900}.markup-control input{accent-color:var(--teal);width:132px}.margin-warning{background:var(--teal-soft);color:var(--teal);border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:0 8px;padding:8px 10px;display:grid}.margin-warning svg{grid-row:span 2}.margin-warning.active{background:var(--brick-soft);color:var(--brick)}.grand-total{margin-left:auto}.grand-total strong{color:var(--teal-strong);font-size:22px}@media (width<=1180px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding:12px 14px 24px}.mobile-only{display:inline-flex}}@media (width<=980px){.topbar,.topbar-actions,.bottom-summary{flex-wrap:wrap}.topbar-actions{width:100%}.metric-grid,.metric-grid.expanded,.launch-panel,.package-strip,.dashboard-grid,.editor-grid,.photo-grid{grid-template-columns:1fr}.pricebook-row,.followup-row{grid-template-columns:1fr;align-items:stretch}.quote-row{grid-template-columns:1fr}.table-head{display:none}.table-row{grid-template-columns:minmax(0,1fr) auto 34px;min-width:0}.work-cell{grid-column:1/-1}.table-row>.number-cell{grid-column:1}.table-row>span:not(.number-cell){display:none}.table-row>strong{grid-column:2;justify-self:end}.table-row>.visibility{grid-column:3}.grand-total{margin-left:0}}@media (width<=620px){.project-title h1{font-size:20px}.ghost-button,.primary-button,.secondary-button{flex:auto}.section-header,.photo-add{flex-direction:column;align-items:stretch}.work-cell{grid-template-columns:72px minmax(0,1fr)}}
