:root{--ink:#202226;--muted:#686d73;--paper:#f7f5ef;--surface:#fffdf8;--line:#ded7c9;--green:#366656;--green-soft:#e3eee7;--blue:#376c8a;--clay:#b85f43;--gold:#b8984d;--shadow:0 18px 38px #1f20231a;--sans:Avenir Next, Avenir, ui-sans-serif, system-ui, sans-serif;--heading:Optima, Avenir Next, ui-sans-serif, system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;font:15px/145% var(--sans);letter-spacing:0;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100svh}body{margin:0}*{box-sizing:border-box}button,input,select{font:inherit}h1,h2{font-family:var(--heading);color:var(--ink);letter-spacing:0;font-weight:650}h1{margin:0;font-size:31px;line-height:1}h2{margin:0;font-size:21px;line-height:1.1}p{margin:0}button{cursor:pointer;border:0}input,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;outline:none;padding:10px 11px}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #36665621}.app-shell{min-height:100svh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fbfaf5;flex-direction:column;gap:22px;width:266px;height:100svh;padding:20px 14px;display:flex;position:sticky;top:0}.brand-lockup{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:6px 8px 14px;display:flex}.mobile-menu-button{background:var(--green-soft);width:38px;height:38px;color:var(--green);border-radius:8px;place-items:center;margin-left:auto;display:none}.brand-lockup strong,.brand-lockup span,.sidebar-footer strong,.sidebar-footer span{display:block}.brand-lockup span,.sidebar-footer span{color:var(--muted);font-size:12px}.brand-mark,.metric-icon{background:var(--green);color:#fff;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.nav-list{gap:5px;display:grid}.nav-item{color:#3c4045;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:10px;min-height:38px;padding:0 10px;display:flex}.nav-item:hover,.nav-item.active{background:var(--green-soft);color:var(--green)}.sidebar-footer{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.status-dot{background:#38a36a;border-radius:99px;width:10px;height:10px;box-shadow:0 0 0 4px #38a36a24}.workbench{flex:1;min-width:0;padding:22px}.topbar,.panel-heading,.entity-toolbar,.line-item-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar{margin-bottom:20px}.eyebrow{color:var(--green);text-transform:uppercase;font-size:11px;font-weight:800}.topbar-actions{align-items:center;gap:10px;display:flex}.user-chip{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.search-box{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:8px;width:330px;padding:0 10px;display:flex}.search-box input{box-shadow:none;background:0 0;border:0;padding-left:0}.icon-button,.row-button{background:var(--surface);border:1px solid var(--line);width:40px;height:40px;color:var(--ink);border-radius:8px;place-items:center;display:grid}.module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric,.panel,.quote-panel,.total-panel,.table-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.metric{gap:8px;padding:16px;display:grid}.metric span,.metric small,.compact-row span,.compact-row small,.task span,.lead-card span,.lead-card small,.automation-card span,.receipt-drop span{color:var(--muted)}.metric strong{font-size:25px;font-family:var(--heading)}.metric-icon{color:var(--green);background:#eef4f0}.panel,.table-panel{padding:18px}.wide{grid-column:span 2}.pipeline{grid-template-columns:repeat(5,1fr);gap:9px;margin-top:18px;display:grid}.stage{border:1px solid var(--line);background:#f6f3ea;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:84px;padding:12px;display:flex}.stage strong{font-size:25px}.primary-button,.text-button{border-radius:7px;align-items:center;gap:8px;min-height:38px;padding:0 13px;display:inline-flex}.primary-button{background:var(--green);color:#fff}.primary-button:disabled,.text-button:disabled{cursor:wait;opacity:.7}.text-button{color:var(--green);background:var(--green-soft)}.compact-list{gap:10px;margin-top:16px;display:grid}.compact-row,.task,.automation-card{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.compact-row div,.task div,.automation-card div{gap:3px;display:grid}.task-list{gap:10px;margin-top:16px;display:grid}.task{justify-content:flex-start}.task svg{color:var(--green);flex:none}.quote-layout{grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);gap:16px;display:grid}.quote-panel{padding:18px}.control-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.control-grid label,.quote-panel label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.input-with-suffix{align-items:center;display:flex}.input-with-suffix input{border-radius:7px 0 0 7px}.input-with-suffix span{border:1px solid var(--line);background:#f6f3ea;border-left:0;border-radius:0 7px 7px 0;min-width:34px;padding:10px 9px}.toggle-row{gap:14px;margin:18px 0;display:flex}.toggle-row label{grid-auto-flow:column;align-items:center;gap:8px;display:inline-flex}.toggle-row input{width:16px}.line-items{border-top:1px solid var(--line);padding-top:16px}.line-item-header{margin-bottom:10px}.line-item{grid-template-columns:1fr 78px 118px 92px;align-items:center;gap:9px;margin-bottom:8px;display:grid}.line-item span{text-align:right;font-weight:800}.render-column{align-content:start;gap:14px;display:grid}.render-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.visual-grid{gap:12px;display:grid}.render-window{border:1px solid var(--line);height:390px;box-shadow:var(--shadow);background:linear-gradient(145deg,#f5efe4,#edf5f4 58%,#e7e3d9);border-radius:8px;position:relative;overflow:hidden}.render-window canvas{min-height:100%}.plan-window{border:1px solid var(--line);min-height:278px;box-shadow:var(--shadow);background:#fffdf8;border-radius:8px;position:relative;overflow:hidden}.view-label{z-index:2;color:var(--green);background:#fffdf8e0;border:1px solid #36665629;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;top:10px;left:10px}.plan-render{place-items:center;width:100%;height:100%;min-height:278px;padding:12px;display:grid}.plan-render svg{width:100%;height:100%;min-height:250px}.plan-title{fill:#202226;font:700 18px Avenir Next,sans-serif}.plan-note{fill:#686d73;font:600 12px Avenir Next,sans-serif}.plan-dimension{fill:#2d5f51;font:800 13px Avenir Next,sans-serif}.share-card,.error-banner{border:1px solid var(--line);background:#fff;border-radius:8px;gap:5px;padding:12px;display:grid}.share-card a{color:var(--green);overflow-wrap:anywhere;font-weight:800}.share-card span{color:var(--muted)}.error-banner{color:#9a3d2b;background:#fff3ef;border-color:#d88b79}.total-panel{padding:16px}.total-row,.balance-row,.grand-total{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px 0;display:flex}.grand-total{border-bottom:0;align-items:center;padding-top:15px}.grand-total strong{font-size:30px;font-family:var(--heading)}.balance-row{color:var(--green);border:0}.table-panel{overflow:hidden}.data-table-wrap{margin-top:16px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:780px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:13px 12px}.data-table th{color:var(--muted);text-transform:uppercase;font-size:12px}.data-table tbody tr:hover{background:#f9f6ee}.board{grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;padding-bottom:6px;display:grid;overflow-x:auto}.board-column{border:1px solid var(--line);background:#f7f3ea;border-radius:8px;min-height:340px;padding:10px}.board-title,.lead-card div{justify-content:space-between;align-items:center;display:flex}.lead-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;margin-top:10px;padding:12px;display:grid}.receipt-drop{border:1px dashed var(--line);min-height:220px;color:var(--green);text-align:center;border-radius:8px;align-content:center;place-items:center;gap:8px;margin-top:18px;display:grid}.automation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.automation-card b{color:var(--green)}.login-shell{background:linear-gradient(120deg, #3666560f, transparent 42%), var(--paper);grid-template-columns:minmax(360px,.72fr) 1fr;min-height:100svh;display:grid}.login-panel{background:var(--surface);border-right:1px solid var(--line);align-content:center;gap:28px;min-height:100svh;padding:34px;display:grid}.login-brand{border-bottom:0;padding:0}.login-copy{gap:10px;max-width:520px;display:grid}.login-copy h1{font-size:36px;line-height:1.08}.login-form{gap:14px;max-width:430px;display:grid}.login-form label{color:var(--muted);gap:6px;font-weight:800;display:grid}.login-button{justify-content:center}.login-preview{align-content:center;justify-items:center;gap:28px;padding:34px;display:grid}.login-preview-header{color:var(--green);align-items:center;gap:9px;font-weight:800;display:inline-flex}.mini-device{aspect-ratio:4/3;border:1px solid var(--line);width:min(520px,90%);box-shadow:var(--shadow);background:#fffdf8;border-radius:18px;grid-template-rows:.26fr 1fr;grid-template-columns:.38fr 1fr;gap:14px;padding:24px;display:grid}.mini-device div{background:#eef4f0;border-radius:8px}.mini-device div:first-child{background:#d8e7de;grid-row:span 2}.loading-screen,.share-shell{place-items:center;min-height:100svh;padding:20px;display:grid}.loading-screen{align-content:center;gap:12px}.share-design-card{background:var(--surface);border:1px solid var(--line);width:min(1180px,100%);box-shadow:var(--shadow);border-radius:8px;padding:18px}.share-header{justify-content:space-between;gap:16px;margin-bottom:16px;display:flex}.share-header p{color:var(--muted);margin-top:6px}.share-actions{align-items:flex-start;display:flex}.share-visuals{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:14px;display:grid}.share-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.share-summary div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:12px;display:grid}.share-summary span{color:var(--muted);font-size:12px;font-weight:800}.proposal-shell{background:var(--paper);min-height:100svh;padding:20px}.proposal-room{background:var(--surface);border:1px solid var(--line);width:min(1260px,100%);box-shadow:var(--shadow);border-radius:8px;margin:0 auto;padding:18px}.proposal-header,.proposal-header-actions,.catalog-meta{justify-content:space-between;gap:14px;display:flex}.proposal-header{align-items:flex-start;margin-bottom:16px}.proposal-header p,.proposal-detail-grid p,.catalog-card p,.photo-card p,.schedule-card p{color:var(--muted);margin-top:5px}.proposal-header-actions{align-items:flex-start}.proposal-status{border:1px solid var(--line);background:var(--green-soft);color:var(--green);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.proposal-hero-grid{grid-template-columns:minmax(0,1fr) 360px;gap:14px;display:grid}.proposal-visuals{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:14px;display:grid}.proposal-approval-panel,.catalog-card,.proposal-row-card,.profit-card,.schedule-card,.photo-card{border:1px solid var(--line);background:#fff;border-radius:8px}.proposal-approval-panel{align-content:start;gap:13px;padding:14px;display:grid}.proposal-total{border-bottom:1px solid var(--line);gap:5px;padding-bottom:12px;display:grid}.proposal-total span,.proposal-total small,.proposal-summary-grid span,.catalog-card small,.schedule-card span,.schedule-card small,.photo-card small,.muted-copy{color:var(--muted)}.proposal-total strong{font-family:var(--heading);font-size:34px;line-height:1}.approval-form{gap:11px;display:grid}.approval-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.terms-check{grid-template-columns:18px 1fr;align-items:start;color:var(--ink)!important}.terms-check input{width:16px;margin-top:2px}.success-banner{background:var(--green-soft);color:var(--green);border:1px solid #36665638;border-radius:8px;padding:10px 12px;font-weight:800}.full-button{justify-content:center}.proposal-summary-grid,.proposal-detail-grid{gap:12px;margin-top:14px;display:grid}.proposal-summary-grid{grid-template-columns:repeat(4,1fr)}.proposal-summary-grid div,.proposal-detail-grid section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:13px}.proposal-summary-grid div{gap:4px;display:grid}.proposal-detail-grid{grid-template-columns:1.2fr .8fr 1fr}.proposal-detail-grid ul{color:var(--ink);margin:10px 0 0;padding-left:20px}.proposal-detail-grid li+li{margin-top:7px}.proposal-list,.profit-list,.schedule-board,.photo-grid,.catalog-grid{gap:12px;margin-top:16px;display:grid}.proposal-list,.profit-list{grid-template-columns:1fr}.proposal-row-card,.profit-card{align-items:center;padding:13px}.proposal-row-card{grid-template-columns:1fr auto minmax(150px,.42fr);gap:14px;display:grid}.proposal-row-card div,.profit-card div,.photo-card div{gap:3px;display:grid}.proposal-row-card span,.proposal-row-card small,.profit-card span,.profit-card small{color:var(--muted)}.proposal-row-card a{color:var(--green);font-weight:800}.catalog-grid,.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-card{gap:12px;padding:14px;display:grid}.catalog-card h3,.schedule-card h3{margin:0;font-size:18px}.catalog-visual,.photo-thumb{min-height:112px;color:var(--green);background:linear-gradient(145deg,#eee5d4,#e3eee7);border-radius:8px;place-items:center;display:grid}.swatch-row{gap:7px;display:flex}.finish-swatch{border:1px solid var(--line);border-radius:99px;width:25px;height:25px}.catalog-meta{border-top:1px solid var(--line);align-items:center;padding-top:10px}.catalog-meta b{color:var(--green)}.profit-card{grid-template-columns:1fr 1.5fr auto}.profit-meter{background:#ede6d8;border-radius:999px;height:10px;overflow:hidden}.profit-meter span{border-radius:inherit;background:var(--green);height:100%;display:block}.schedule-board{grid-template-columns:1fr}.schedule-card{grid-template-columns:96px 1fr auto minmax(120px,.3fr);align-items:center;gap:14px;padding:12px;display:grid}.schedule-date{border-right:1px solid var(--line);gap:2px;width:92px;display:grid}.photo-card{overflow:hidden}.photo-card>div:last-child{padding:13px}.photo-thumb{color:#fff;min-height:150px}@media (width<=1160px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-layout{grid-template-columns:1fr}.visual-grid,.share-visuals,.proposal-visuals,.proposal-summary-grid,.proposal-detail-grid,.catalog-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-hero-grid{grid-template-columns:1fr}}@media (width<=820px){.app-shell{display:block}.sidebar{z-index:20;gap:10px;width:100%;height:auto;padding:12px;position:sticky;top:0}.mobile-menu-button{display:grid}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:54svh;padding-top:4px;display:none;overflow:auto}.sidebar.mobile-open .nav-list{display:grid}.sidebar-footer{display:none}.workbench{padding:14px}.topbar{flex-direction:column;align-items:stretch}.topbar-actions,.search-box{width:100%}.topbar-actions{flex-wrap:wrap}.user-chip{flex:auto;justify-content:center}.module-grid,.control-grid,.automation-grid,.visual-grid,.share-visuals,.share-summary,.proposal-visuals,.proposal-summary-grid,.proposal-detail-grid,.catalog-grid,.photo-grid,.profit-card,.proposal-row-card,.schedule-card{grid-template-columns:1fr}.proposal-header,.proposal-header-actions,.render-actions,.catalog-meta{flex-direction:column;align-items:stretch}.proposal-shell{padding:12px}.schedule-date{border-right:0;border-bottom:1px solid var(--line);width:auto;padding-bottom:8px}.wide{grid-column:auto}.pipeline,.line-item{grid-template-columns:1fr}.render-window{height:330px}.login-shell{grid-template-columns:1fr}.login-panel{border-right:0;min-height:auto;padding:22px}.login-preview{padding:18px}.login-copy h1{font-size:29px}.share-header{flex-direction:column}}@media print{body{background:#fff}.share-shell{padding:0}.share-actions{display:none}.share-design-card{box-shadow:none;border:0}.proposal-shell{padding:0}.proposal-room{box-shadow:none;border:0}.proposal-header-actions,.proposal-approval-panel{display:none}}
