@font-face{font-family:Neue Haas Unica;src:url(/assets/NeueHaasUnica-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Unica;src:url(/assets/NeueHaasUnica-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Domaine Text;src:url(/assets/test-domaine-text-light.woff2) format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Domaine Text;src:url(/assets/test-domaine-text-light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}:root{--ink:#2c2c2c;--charcoal:#3a3732;--taupe:#545142;--muted:#6b6b6b;--soft:#8a8378;--line:#e5e7eb;--line-warm:#ddd9d1;--cream:#fffefc;--beige:#f7f6f2;--paper:#f7f6f2;--white:#fff;--surface-primary:#fffefc;--surface-field:#fff;--surface-secondary:#f7f6f2;--border-default:#ddd9d1;--focus-accent:#577591;--font:"Neue Haas Unica",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:"Domaine Text",Georgia,"Times New Roman",serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--white);color:var(--ink);font-family:var(--font)}a{color:inherit}button,input,select,textarea{font-family:inherit}.app-shell{min-height:100vh;background:var(--white)}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px rgba(0,0,0,.05)}.dashboard-header-inner{display:flex;justify-content:space-between;align-items:center}.dashboard-brand{display:flex;align-items:center;gap:16px;text-decoration:none}.dashboard-brand-title{font-size:18px;font-weight:200;color:#2c2c2c;font-family:var(--serif);letter-spacing:-.02em}.dashboard-user{display:flex;align-items:center;gap:12px;font-size:14px;color:#6b7280;font-family:var(--font)}.dashboard-shell-body{display:flex;align-items:flex-start;gap:0}.dashboard-sidebar{position:-webkit-sticky;position:sticky;top:65px;align-self:flex-start;max-height:calc(100vh - 65px);overflow-y:auto;border-right:1px solid var(--border-default);background:#fff;flex:0 0 236px;width:236px;padding:10px 12px 24px}.dashboard-sidebar.collapsed{flex-basis:64px;width:64px;padding:10px 8px 24px}.sidebar-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;background:none;cursor:pointer;text-align:left;font-family:var(--font);font-size:14px;color:#2c2c2c;border-radius:0 8px 8px 0;border:none;border-left:2px solid transparent;text-decoration:none}.sidebar-item.active{background:var(--surface-secondary);border-left-color:#2c2c2c;font-weight:500}.dashboard-main{flex:1 1;min-width:0;padding:24px 48px 64px 24px}.page-title{font-size:35px;font-weight:200;font-family:var(--serif);color:#2c2c2c;margin:0;letter-spacing:-.02em}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:32px}.page-header--proposal{align-items:flex-start;margin-bottom:20px}.page-header__actions{gap:10px;max-width:280px}.page-header__actions,.page-header__project-nav{display:flex;flex-direction:column;align-items:flex-end}.page-header__project-nav{gap:3px;text-align:right}.page-header__project-link{padding:0;border:0;background:none;font-family:var(--font);font-size:13px;font-weight:500;line-height:1.3;color:#545142;text-decoration:none;cursor:pointer}.page-header__project-link:focus-visible,.page-header__project-link:hover{color:#2c2c2c;text-decoration:underline;text-underline-offset:3px}.page-header__project-help{margin:0;max-width:248px;font-size:12px;font-weight:400;line-height:1.35;color:#8a8378}@media (max-width:640px){.page-header__actions{align-items:flex-start;max-width:100%}.page-header__project-nav{align-items:flex-start;text-align:left}.page-header__project-help{max-width:28em}}.section-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b6b6b;margin-bottom:12px;font-family:var(--font)}.search-input{width:100%;box-sizing:border-box;padding:6px 2px 8px 30px;border:none;border-bottom:1px solid var(--border-default);border-radius:0;font-size:18px;font-family:var(--font);background:transparent;color:#3a3732;outline:none}.search-input:focus{border-bottom-color:var(--focus-accent)}.dashboard-notice{display:flex;align-items:flex-start;gap:8px;margin:-8px 0 20px;padding:8px 12px;background:var(--surface-secondary);border:1px solid var(--border-default);border-radius:8px}.dashboard-notice__icon{flex:0 0 auto;margin-top:2px;color:#9a9488}.dashboard-notice__text{margin:0;font-size:13px;font-weight:400;line-height:1.45;color:#3a3732;font-family:var(--font)}@media (min-width:1100px){.dashboard-notice{align-items:center}.dashboard-notice__icon{margin-top:0}}.proposals-controls-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr);grid-gap:44px;gap:44px;align-items:start;margin-bottom:28px}.dashboard-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dashboard-filter{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:32px;min-width:124px;max-width:100%;padding:0 28px 0 10px;border:1px solid var(--border-default);border-radius:8px;background-color:var(--surface-field);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%239A9488' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;font-family:var(--font);font-size:13px;font-weight:400;color:#4a4843;cursor:pointer}.dashboard-filter:focus{outline:none;border-color:var(--focus-accent)}.dashboard-filters__clear{background:none;border:none;padding:0 2px;margin:0;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:400;color:#9a9488}.dashboard-filters__clear:hover{color:#545142;text-decoration:underline;text-underline-offset:2px}.proposal-type{font-weight:400;color:#3a3732;white-space:nowrap}.proposal-type--extension{color:#8a8378}.property-address{display:block;min-width:0;outline:none}.property-address:focus-visible{border-radius:4px;box-shadow:0 0 0 1px var(--border-default)}.property-address__street{color:#3a3732}.property-address__locality,.property-address__street{display:block;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-address__locality{margin-top:4px;font-size:12px;line-height:1.45;color:#8a8378}.property-address__tip{position:fixed;z-index:80;max-width:280px;padding:6px 10px;background:#fff;border:1px solid var(--border-default);border-radius:6px;color:#3a3732;font-family:var(--font);font-size:12px;font-weight:400;line-height:1.4;pointer-events:none}.filter-chip{background:none;border:none;padding:2px 0;cursor:pointer;font-size:13px;font-weight:500;color:#8a8378;font-family:var(--font)}.filter-chip.active{color:#3a3732}.sort-header{background:none;border:none;padding:0;margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.sort-header--end{width:100%;justify-content:flex-end}.sort-header.is-active,.sort-header:hover{color:#2c2c2c}.sort-header__mark{font-size:10px;font-weight:400;letter-spacing:0;text-transform:none;color:#d4cfc6;line-height:1}.sort-header:hover .sort-header__mark{color:#9a9488}.sort-header.is-active .sort-header__mark{color:#8a8378}.dashboard-sort-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:400;color:#8a8378;letter-spacing:0;text-transform:none}.estimates-table-wrap{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04);border-radius:0 0 6px 6px;border:1px solid var(--border-default);overflow-x:auto}.estimates-table{width:100%;min-width:960px;border-collapse:collapse;table-layout:fixed}.estimates-table thead{background:var(--surface-secondary)}.estimates-table th{padding:12px 16px;text-align:left;font-size:10.5px;font-weight:600;color:#6b6b6b;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border-default);font-family:var(--font)}.estimates-table td{padding:14px 16px;font-size:13px;line-height:1.62;color:#3a3732;font-family:var(--font);border-bottom:1px solid rgba(74,72,67,.065);vertical-align:middle}.estimates-table tbody tr{cursor:pointer;transition:background-color .15s ease}.estimates-table tbody tr:hover{background:var(--surface-secondary)}.primary-title{font-size:13px;font-weight:500;color:#1a1a1a;line-height:1.45}.primary-meta{margin-top:6px;font-size:12px;font-weight:400;color:#8a8378;line-height:1.5}.status-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-badge.pending{background:var(--surface-secondary);color:#6b6b6b}.status-badge.confirmed{background:#eef4f0;color:#3f6b52}.status-badge.current{background:var(--surface-secondary);color:#545142}.status-badge.completed{background:#f3f3f1;color:#8a8378}.status-badge.active{background:#eef4f0;color:#3f6b52}.status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-default);background:var(--surface-field);color:#3a3732;font-family:var(--font);font-size:12px;font-weight:500;padding:5px 28px 5px 10px;border-radius:999px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236B6B6B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.num-cell{text-align:right;color:#1a1a1a;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.field-label{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8a8378;margin-bottom:8px;font-family:var(--font)}.field-input,.field-select,.field-textarea{width:100%;border:1px solid var(--border-default);background:var(--surface-field);color:var(--charcoal);border-radius:8px;padding:10px 12px;font-size:14px;font-family:var(--font);outline:none}.dashboard-filter:focus,.field-input:focus,.field-select:focus,.field-textarea:focus,.status-select:focus{outline:none;border-color:var(--focus-accent);box-shadow:0 0 0 1px var(--focus-accent)}.field-input.is-invalid:focus,.field-select.is-invalid:focus,.field-textarea.is-invalid:focus{border-color:#c4a398;box-shadow:0 0 0 1px #c4a398}.field-input:-webkit-autofill,.field-select:-webkit-autofill,.field-textarea:-webkit-autofill{-webkit-text-fill-color:var(--charcoal);caret-color:var(--charcoal);box-shadow:0 0 0 1000px var(--surface-field) inset;-webkit-box-shadow:0 0 0 1000px var(--surface-field) inset}.field-input:-webkit-autofill:focus,.field-select:-webkit-autofill:focus,.field-textarea:-webkit-autofill:focus{border-color:var(--focus-accent);box-shadow:0 0 0 1000px var(--surface-field) inset,0 0 0 1px var(--focus-accent);-webkit-box-shadow:0 0 0 1000px var(--surface-field) inset,0 0 0 1px var(--focus-accent)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--focus-accent);outline-offset:2px}.field-textarea{min-height:84px;resize:vertical}.pac-container{z-index:2000!important;font-family:var(--font);border:1px solid var(--border-default);box-shadow:0 8px 24px rgba(58,55,50,.08)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px 20px;gap:18px 20px}.form-grid .full{grid-column:1/-1}.form-grid--dates{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid+.form-grid{margin-top:18px}.project-context{margin:0 0 22px}.project-context__name{font-size:14px;font-weight:500;color:#2c2c2c;line-height:1.4}.project-context__meta{margin-top:4px;font-size:12px;color:#8a8378;line-height:1.45}.project-context__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}.choice-row{display:flex;flex-wrap:wrap;gap:10px 22px}.choice-option{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:13px;color:#3a3732;cursor:pointer}.choice-option input{margin:0;accent-color:#2c2c2c}.field-help{margin:8px 0 0;font-size:12px;line-height:1.45;color:#8a8378}.project-picker{margin-top:10px;max-width:520px}.project-picker__results{margin-top:8px;border:1px solid var(--line-warm);border-radius:8px;overflow:hidden;background:#fff}.project-picker__result{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--border-default);background:#fff;cursor:pointer;font-family:var(--font)}.project-picker__result:last-child{border-bottom:0}.project-picker__result:hover{background:var(--surface-secondary)}.project-picker__empty{padding:12px;font-size:13px;color:#8a8378}.project-picker__selected{padding-top:4px}.text-button{display:inline-block;margin-top:8px;padding:0;border:0;background:none;color:#8a8378;font-family:var(--font);font-size:12px;cursor:pointer}.text-button:hover{color:#2c2c2c}.page-meta{margin:8px 0 0;font-size:13px;color:#9a9488;letter-spacing:.01em}.page-meta--status{font-size:12px;color:#8a8378;line-height:1.45}.room-table{width:100%;border-collapse:collapse;table-layout:fixed}.space-suggest{position:relative}.space-suggest__list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:6px 0;list-style:none;max-height:240px;overflow-y:auto;background:#fff;border:1px solid var(--border-default);border-radius:8px;box-shadow:0 8px 24px rgba(58,55,50,.08)}.space-suggest__option{display:block;width:100%;padding:8px 12px;border:none;background:none;text-align:left;font-family:var(--font);font-size:13px;color:#3a3732;cursor:pointer}.space-suggest__option.is-active,.space-suggest__option:hover{background:var(--surface-secondary)}.room-table th{text-align:left;font-size:10.5px;font-weight:600;color:#6b6b6b;text-transform:uppercase;letter-spacing:.1em;font-family:var(--font)}.fee-list{display:grid;grid-gap:10px;gap:10px}.fee-list label{display:flex;align-items:center;gap:8px;font-size:13px;color:#3a3732}.section-title{font-size:16px;font-weight:500;margin:28px 0 8px;color:#2c2c2c;font-family:var(--font)}.estimate-doc{background:var(--surface-primary);color:var(--ink);padding:48px 44px}.estimate-doc h1{font-family:var(--serif);font-weight:200;font-size:38px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px}.estimate-doc__lede{margin:0;max-width:34em;font-size:14px;line-height:1.55;color:#6b6560}.estimate-doc__top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.estimate-doc__brand{text-align:right;min-width:160px;font-size:12px;color:#6b6560}.estimate-doc__brand-name{margin-top:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#2c2c2c}.estimate-doc__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 28px;gap:16px 28px;margin:36px 0 0}.estimate-doc__details div{margin:0}.estimate-doc__details dt{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#8a8378;margin-bottom:4px}.estimate-doc__details dd{margin:0;font-size:14px}.estimate-doc table{width:100%;border-collapse:collapse}.estimate-doc td,.estimate-doc th{padding:10px 0;text-align:left;vertical-align:top;font-family:var(--font)}.estimate-doc .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.estimate-doc__scope{margin-top:36px}.estimate-doc__scope th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b}.estimate-doc__scope td,.estimate-doc__scope th{border-bottom:1px solid var(--border-default)}.estimate-doc__totals{margin:8px 0 0 auto;max-width:360px}.estimate-doc__grand td{padding-top:14px;border-top:1px solid #2c2c2c;font-family:var(--serif);font-weight:200;font-size:20px}.print-only{display:none}@media print{@page{size:letter;margin:.6in}.client-web,.no-print{display:none!important}.print-only{display:block!important}.client-portal,body,html{background:#fff!important}.client-portal__main{max-width:none;padding:0}.estimate-doc{padding:0;box-shadow:none;background:#fff}}.proposal-form-stack{display:flex;flex-direction:column;gap:44px}.form-section-title{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#2c2c2c;margin:0 0 16px;font-family:var(--font)}.form-helper{margin:-6px 0 14px;font-size:12px;color:#9a9488;line-height:1.45}.scope-section{padding-top:0}.client-activity{margin:0;padding:12px 0 0;font-size:13px;color:#8a8378;line-height:1.5}.scope-price{min-height:38px}.scope-price,.scope-price__line{min-width:0;display:flex;align-items:center}.scope-price__line{flex-wrap:wrap;gap:8px;width:100%}.scope-price__stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.scope-price__meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.scope-price__amount{font-size:14px;font-weight:400;color:#3a3732;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scope-price__amount.is-button{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:14px;font-weight:400;color:#3a3732;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scope-price__dot,.scope-price__note{font-size:12px;color:#9a9488}.scope-price__input{max-width:140px;min-width:0}.override-action{background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:var(--font);font-size:11px;font-weight:400;color:#b5b0a8;text-decoration:none;letter-spacing:.01em}.override-action:hover{color:#8a8378;text-decoration:underline;text-underline-offset:2px}.room-table .field-input{min-width:0;max-width:100%}.room-table col.room{width:42%}.room-table col.sf{width:26%}.room-table col.price{width:24%}.room-table col.actions{width:40px}.room-table th{padding:0 16px 6px 0;border-bottom:none}.room-table td:last-child,.room-table th:last-child{padding-right:0;width:40px}.room-table__actions{text-align:right;white-space:nowrap}.room-table td{padding:8px 16px 8px 0;border-bottom:1px solid var(--border-default);vertical-align:middle;overflow:visible}.room-table tbody tr:last-child td{border-bottom:none}.scope-actions{display:flex;align-items:center;gap:16px;margin-top:10px}.add-room-btn{margin-top:0}.scope-quick-add-trigger{padding:0;font-size:13px;font-weight:400;color:#8a8378}.scope-quick-add-trigger:hover{color:#545142}.scope-quick-add{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-default)}.scope-quick-add__title{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8a8378}.scope-quick-add__empty,.scope-quick-add__hint{margin:0 0 10px;font-size:13px;line-height:1.5;color:#6b6560}.scope-quick-add__example{margin:8px 0 0;font-size:12px;line-height:1.45;color:#9a9488}.scope-quick-add__textarea{min-height:88px;max-height:160px}.scope-quick-add__status{font-size:12px;color:#8a8378}.scope-quick-add__exceptions{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.scope-quick-add__exception-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(110px,.8fr);grid-gap:10px;gap:10px}.scope-quick-add__exception-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:8px}.scope-quick-add__exception-actions .text-link-btn,.scope-quick-add__footer .text-link-btn{padding:0;font-size:13px;font-weight:400;color:#8a8378}.scope-quick-add__exception-actions .text-link-btn:hover,.scope-quick-add__footer .text-link-btn:hover{color:#545142}.scope-quick-add__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.scope-room-cell{display:flex;align-items:center;gap:8px;min-width:0}.scope-room-cell .space-suggest{flex:1 1 auto;min-width:0}.scope-row__added{flex:0 0 auto;font-size:11px;font-weight:500;line-height:1;color:#9a9488}.scope-row__note{margin:6px 0 0;font-size:12px;line-height:1.4;color:#8a8378}.internal-accordion-stack{display:flex;flex-direction:column;gap:10px}.proposal-form-collapsible{background:#fff;border:1px solid var(--border-default);border-radius:10px;overflow:hidden;box-shadow:none}.proposal-form-collapsible__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:var(--font);outline:none}.proposal-form-collapsible__trigger:focus-visible{background:hsla(60,17%,98%,.9);box-shadow:inset 0 0 0 1px #c4bdb2}.proposal-form-collapsible__title-row{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:#2c2c2c;text-transform:uppercase;letter-spacing:.08em}.proposal-form-collapsible__icon{display:inline-flex;align-items:center;justify-content:center;color:#9a9488;flex-shrink:0;line-height:0}.proposal-form-collapsible__description{margin:6px 0 0;font-size:12px;font-weight:400;color:#9a9488;text-transform:none;letter-spacing:0}.proposal-form-collapsible__description.has-icon{margin-left:25px}.proposal-form-collapsible__chevron{display:inline-flex;align-items:center;justify-content:center;color:#b5afa4;line-height:0;flex-shrink:0;transition:transform .2s ease,color .15s ease}.proposal-form-collapsible__chevron.is-open{transform:rotate(180deg)}.proposal-form-collapsible__trigger:focus-visible .proposal-form-collapsible__chevron,.proposal-form-collapsible__trigger:hover .proposal-form-collapsible__chevron{color:#8a8378}.proposal-form-collapsible__body{padding:24px 28px 28px;border-top:1px solid var(--border-default)}.internal-body{gap:22px}.internal-body,.internal-field{display:flex;flex-direction:column}.internal-field{gap:8px}.internal-empty{margin:0;font-size:13px;color:#b5b0a8}.internal-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.internal-doc-list{display:flex;flex-direction:column;gap:10px}.internal-doc-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) auto;grid-gap:10px;gap:10px;align-items:center}.internal-doc-actions{display:flex;align-items:center;gap:12px}.internal-generated{margin:12px 0 0;font-size:12px;color:#b5b0a8}.internal-tracking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.payment-form-stack{display:flex;flex-direction:column;gap:16px}.payment-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 20px;gap:16px 20px}.payment-summary-grid .field-input:disabled,.payment-summary-grid .field-select:disabled{background:var(--surface-secondary);color:#3a3732}@media (max-width:800px){.payment-summary-grid{grid-template-columns:1fr}}.agreement-fields{display:grid;grid-gap:16px;gap:16px}.agreement-fields__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 20px;gap:16px 20px}.agreement-panel__hint{margin:0;color:#8a8378;font-size:13px;line-height:1.45}@media (max-width:800px){.agreement-fields__row{grid-template-columns:1fr}}.agreement-panel{margin:8px 0 28px;padding:18px 20px;border:1px solid var(--border-default);background:var(--surface-primary)}.agreement-panel__copy{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}.agreement-panel__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.agreement-panel__error{margin:10px 0 0;color:#dc2626;font-size:13px}.system-id{margin:0;min-height:42px;display:flex;align-items:center;font-size:14px;color:#3a3732}.system-id.is-empty{color:#b5b0a8;font-size:13px}.quiet-action{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font);font-size:12px;color:#9a9488;text-decoration:none}.quiet-action:hover{color:#545142}@media (max-width:800px){.internal-doc-row,.internal-tracking-grid{grid-template-columns:1fr}}.custom-fee-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.custom-fee-row{display:grid;grid-template-columns:minmax(0,1fr) 132px 36px;grid-gap:10px;gap:10px;align-items:center}.proposal-link-block{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:4px}.proposal-link-label{font-size:12px;font-weight:500;color:#8a8378}.proposal-link-dot{color:#b5b0a8;line-height:1}.summary-group{display:flex;flex-direction:column;gap:10px}.summary-group-title{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8a8378}.summary-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:13px;color:#2c2c2c}.summary-line.is-muted{color:#6b6b6b}.summary-line.is-total{font-size:14px;font-weight:500}.summary-line__value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;color:#2c2c2c;font-weight:500}.summary-line.is-total .summary-line__value{font-weight:600}.summary-note{margin:0;font-size:12px;color:#9a9488}.summary-empty{margin:0;font-size:13px;color:#9a9488;line-height:1.5}.icon-btn,.pencil-btn,.text-link-btn{background:none;border:none;cursor:pointer;font-family:var(--font);color:#545142}.icon-btn,.pencil-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:50%;color:#b5b0a8}.icon-btn:hover:not(:disabled),.pencil-btn:hover{background:var(--surface-secondary);color:#545142}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.row-menu{position:relative;display:inline-flex}.row-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:transparent;color:#b5b0a8;font-size:18px;line-height:1;cursor:pointer}.row-menu-trigger:hover,.row-menu-trigger[aria-expanded=true]{background:var(--surface-secondary);color:#545142}.row-menu-pop{position:fixed;z-index:80;min-width:176px;padding:6px 0;background:#fff;border:1px solid var(--border-default);border-radius:8px;box-shadow:0 8px 24px rgba(44,44,44,.08)}.row-menu-item{display:block;width:100%;padding:8px 14px;border:0;background:transparent;text-align:left;font-family:var(--font);font-size:13px;font-weight:400;line-height:1.3;color:#4a4843;cursor:pointer}.row-menu-item:hover:not(:disabled){background:var(--surface-secondary)}.row-menu-item--danger{color:#b85c5c}.row-menu-item:disabled{opacity:.4;cursor:not-allowed}.text-link-btn{padding:0;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px}.text-link-btn:hover{color:#2c2c2c}.summary-panel{position:-webkit-sticky;position:sticky;top:100px;align-self:flex-start;width:100%;max-width:360px;padding:28px 24px;background:var(--surface-primary);border:1px solid var(--border-default);border-radius:10px;box-shadow:0 1px 3px rgba(58,55,50,.05)}.summary-kicker{font-size:12px;font-weight:600;color:#2c2c2c;margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em}.summary-helper{font-size:11px;color:#9a9488;margin:0;line-height:1.45}.summary-meta{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border-default);display:flex;flex-direction:column;gap:26px}.summary-meta__group{display:flex;flex-direction:column;gap:16px}.summary-meta-label{font-size:10px;font-weight:600;color:#8a8378;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.summary-meta-value{font-size:13px;color:#2c2c2c}.summary-rate-edit{display:inline}.summary-rate-edit .override-action{margin-left:8px}.summary-rate-edit__amount{background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px}.summary-rate-edit__input{width:72px;padding:4px 8px;font-size:13px}.summary-rows{gap:14px}.summary-calc,.summary-calc__lines,.summary-rows{display:flex;flex-direction:column}.summary-calc__lines{gap:10px}.summary-total{margin-top:8px;padding-top:10px;border-top:1px solid var(--border-default)}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-gap:40px;gap:40px;align-items:start}@media (max-width:1100px){.editor-grid{grid-template-columns:1fr}.dashboard-main{padding:24px 20px 64px}}@media (max-width:800px){.scope-section{overflow-x:auto;padding-bottom:8px}.room-table{min-width:520px}.client-portal__header-inner{padding:10px 16px}.form-grid,.proposals-controls-grid{grid-template-columns:1fr}.estimate-doc{padding:20px}.client-details,.estimate-doc__details{grid-template-columns:1fr}.client-detail:nth-child(2n),.client-detail:nth-child(odd){grid-column:auto}.dashboard-sidebar{display:none}}.client-portal{min-height:100vh;background:#fff;color:#2c2c2c}.client-portal__header{position:fixed;top:0;left:0;right:0;z-index:30;background:#fff;border-bottom:1px solid #e5e7eb}.client-portal__header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:760px;margin:0 auto;padding:12px 28px;box-sizing:border-box}.client-portal__menu{position:relative;display:flex;align-items:center;flex-shrink:0;gap:12px}.client-portal__menu-caret{margin-left:4px;font-size:10px;line-height:1}.client-portal__menu-list{position:absolute;top:calc(100% + 8px);right:0;min-width:196px;padding:6px 0;background:#fff;border:1px solid var(--border-default);border-radius:8px;box-shadow:0 8px 24px rgba(44,44,44,.08);z-index:40}.client-portal__menu-item{display:block;width:100%;padding:8px 14px;border:0;background:transparent;text-align:left;font-family:var(--font);font-size:13px;font-weight:500;line-height:1.3;color:#4a4843;cursor:pointer}.client-portal__menu-item:hover{background:var(--surface-secondary)}.client-portal__menu-item--primary{color:#2c2c2c;font-weight:600}.client-portal__menu-item--utility{font-weight:400;color:#6b6560}.client-portal__menu-rule{height:1px;margin:6px 12px;background:var(--border-default)}.client-portal__status{font-size:12px;font-weight:500;letter-spacing:.02em;color:#4a4843}.client-portal__brand{display:flex;align-items:center;flex-shrink:0;gap:10px}.client-portal__wordmark{display:block;height:18px;width:auto}.client-portal__mark{display:block;height:25px;width:auto}.client-portal__main{max-width:760px;margin:0 auto;padding:88px 28px}.client-portal__error{color:#dc2626}.client-portal__loading{color:#8a8378}.client-web{--proposal-cols:minmax(0,52fr) minmax(0,24fr) minmax(0,24fr)}.client-proposal h1{font-family:var(--serif);font-weight:200;font-size:24px;letter-spacing:0;text-transform:none;margin:0}.client-details{display:grid;grid-template-columns:var(--proposal-cols);grid-column-gap:0;column-gap:0;grid-row-gap:20px;row-gap:20px;margin:22px 0 0}.client-detail:nth-child(odd){grid-column:1}.client-detail:nth-child(2n){grid-column:2/-1}.client-detail__label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a8378;margin-bottom:5px}.client-detail__value{font-size:14px;line-height:1.4}.client-scope{margin-top:34px}.client-scope h2{font-family:var(--serif);font-weight:200;font-size:20px;margin:0 0 16px}.client-scope table{width:100%;table-layout:fixed;border-collapse:collapse}.client-scope .client-col-1{width:52%}.client-scope .client-col-2,.client-scope .client-col-3{width:24%}.client-scope td,.client-scope th{padding:10px 0;text-align:left;font-family:var(--font);font-size:13px}.client-scope th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6b6b6b}.client-scope td,.client-scope th{border-bottom:1px solid var(--border-default)}.client-scope .sf{text-align:left;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.client-scope .num,.client-totals span:last-child{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.client-totals{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding-top:14px}.client-totals__row,.client-totals__rule,.client-totals__total{display:grid;grid-template-columns:var(--proposal-cols)}.client-totals__row{font-size:13px}.client-totals__row span:first-child,.client-totals__total span:first-child{grid-column:2}.client-totals__row span:last-child,.client-totals__total span:last-child{grid-column:3}.client-totals__rule{margin-top:6px}.client-totals__rule:after{content:"";grid-column:2/-1;border-top:1px solid #2c2c2c}.client-totals__total{font-family:var(--serif);font-weight:200;font-size:20px}.proposal-modal-backdrop{position:fixed;inset:0;background:rgba(44,44,44,.28);display:flex;align-items:center;justify-content:center;padding:24px;z-index:40}.proposal-modal{width:min(440px,100%);background:var(--surface-primary);border:1px solid var(--border-default);border-radius:10px;padding:28px 26px}.proposal-modal__title{margin:0 0 10px;font-family:var(--serif);font-weight:200;font-size:26px}.proposal-modal__copy{margin:0 0 18px;font-size:14px;line-height:1.55;color:#6b6560}.proposal-modal__field{display:block}.proposal-modal__recap{margin:0 0 20px;display:flex;flex-direction:column;gap:10px}.proposal-modal__recap div{display:flex;justify-content:space-between;gap:16px;font-size:13px}.proposal-modal__recap dt{color:#8a8378}.proposal-modal__recap dd{margin:0;text-align:right}.proposal-modal__error{color:#dc2626;font-size:13px}.proposal-modal__actions{margin-top:18px}.proposal-modal-backdrop--changes{z-index:50}.proposal-modal--changes{width:min(560px,100%);max-height:92vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.request-changes__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 0}.request-changes__header .proposal-modal__title{margin-bottom:8px}.request-changes__header .proposal-modal__copy{margin-bottom:0;max-width:420px}.request-changes__body{padding:20px 26px 8px;overflow:auto;flex:1 1}.request-changes__heading{margin:28px 0 14px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5c564e}.request-changes__body>.request-changes__heading:first-child{margin-top:0}.request-changes__optional{margin-left:6px;font-weight:500;letter-spacing:.04em;text-transform:none;color:#8a8378}.request-changes__rooms,.request-changes__stack{display:grid;grid-gap:10px;gap:10px}.request-changes__item,.request-changes__room{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:4px 0}.request-changes__item.is-editing,.request-changes__room.is-requested{padding:10px 12px;margin:0 -12px;background:var(--surface-secondary);border-radius:8px}.request-changes__item-main{min-width:0;flex:1 1}.request-changes__label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a8378;margin-bottom:4px}.request-changes__room-name,.request-changes__value{font-size:14px;line-height:1.45;color:var(--ink)}.request-changes__room-name.is-struck{text-decoration:line-through;color:#8a8378}.request-changes__count,.request-changes__quiet,.request-changes__status{font-size:12px;line-height:1.4;color:#8a8378}.request-changes__quiet{display:block;margin-bottom:4px}.request-changes__status{margin-top:3px}.request-changes__compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:8px}.request-changes__add,.request-changes__add-submit,.request-changes__text-btn{border:none;background:none;color:#6b6560;font-family:var(--font);font-size:13px;cursor:pointer;padding:0;white-space:nowrap}.request-changes__add{justify-self:start;padding:6px 0 2px;color:var(--ink)}.request-changes__add-submit{color:var(--ink);font-weight:500}.request-changes__composer{display:grid;grid-gap:10px;gap:10px;padding:10px 12px;margin:0 -12px;background:var(--surface-secondary);border-radius:8px}.request-changes__add-row{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:12px;gap:12px}.request-changes__composer-actions,.request-changes__footer{display:flex;justify-content:space-between;align-items:center}.request-changes__footer{gap:12px;flex-wrap:wrap;padding:14px 26px 20px;border-top:1px solid var(--border-default)}.request-changes__footer-end{display:flex;align-items:center;gap:14px}.proposal-modal-backdrop--approve{z-index:50}.proposal-modal--approve{width:min(680px,100%);max-height:92vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.approve-flow__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 0}.approve-flow__header .proposal-modal__title{margin-bottom:8px}.approve-flow__header .proposal-modal__copy{margin-bottom:0;max-width:440px}.approve-flow__close{border:none;background:none;color:#8a8378;cursor:pointer;font-size:22px;line-height:1;padding:4px;flex-shrink:0}.approve-flow__body{padding:20px 26px 28px;overflow:auto;flex:1 1}.approve-flow__heading{margin:28px 0 14px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5c564e}.approve-flow__body>div>.approve-flow__heading:first-child,.approve-flow__review-section:first-child .approve-flow__heading{margin-top:0}.approve-flow__stack{display:grid;grid-gap:16px;gap:16px}.approve-flow__optional{margin-left:6px;font-weight:500;letter-spacing:.04em;text-transform:none;color:#8a8378}.approve-flow__hint{margin:-4px 0 12px;font-size:12px;line-height:1.45;color:#8a8378}.approve-flow__disclaimer{margin:0;font-size:12px;line-height:1.5;color:#8a8378}.approve-flow__remit{margin:10px 0 0;font-size:13px;line-height:1.55;color:#6b6560}.approve-flow__download{display:inline-block;margin-top:10px;font-size:13px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.field-textarea--compact{min-height:72px;max-height:140px}.field-textarea--design{min-height:56px;max-height:none;field-sizing:content}.field-input:disabled,.field-textarea:disabled{background:var(--surface-secondary);color:#8a8378;cursor:default}.approve-flow__row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.approve-flow__row-3{grid-template-columns:1fr 1fr 1fr}.approve-flow__design,.approve-flow__row-3{display:grid;grid-gap:12px;gap:12px}.approve-flow__check{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;font-size:13px;line-height:1.4;color:#6b6560;cursor:pointer}.approve-flow__check input{margin:0}.approve-flow__hint--tight{margin:6px 0 0}.approve-flow__readonly,.approve-flow__review-value{font-size:14px;line-height:1.45;color:var(--ink)}.approve-flow__readonly{min-height:42px;display:flex;align-items:center;padding:10px 0 2px}.approve-flow__help,.approve-flow__muted,.approve-flow__status{margin:8px 0 0;font-size:13px;line-height:1.5;color:#6b6560}.approve-flow__review{display:flex;flex-direction:column;gap:18px}.approve-flow__review-section{margin:0}.approve-flow__review-section .approve-flow__heading{margin:0 0 8px}.approve-flow__review-body{display:flex;flex-direction:column;gap:16px}.approve-flow__review-field{padding:0}.approve-flow__review-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a8378;margin-bottom:3px}.approve-flow__recap-list{margin:0;display:grid;grid-gap:6px;gap:6px}.approve-flow__recap-row{display:grid;grid-template-columns:88px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:baseline}.approve-flow__recap-row dt{font-size:13px;color:#8a8378}.approve-flow__recap-row dd{margin:0;font-size:14px;line-height:1.45;color:var(--ink)}.approve-flow__recap-block{min-width:0}.approve-flow__timing{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px 16px;gap:12px 16px;margin-top:16px}.approve-flow__review-quote{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}.approve-flow__pricing-note{margin:0;font-size:12px;line-height:1.5;color:#8a8378}.approve-flow__investment{margin:0;display:flex;flex-direction:column;gap:8px}.approve-flow__investment div{display:flex;justify-content:space-between;gap:16px;font-size:13px}.approve-flow__investment dt{color:#8a8378}.approve-flow__investment dd{margin:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.approve-flow__investment-rule{height:0;margin:4px 0 0;border-top:1px solid #2c2c2c}.approve-flow__investment-total{font-family:var(--serif);font-weight:200;font-size:20px}.approve-flow__investment-total dt{color:var(--ink)}.approve-flow__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 26px 20px;border-top:1px solid var(--border-default)}.approve-flow__footer:has(>button:only-child){justify-content:flex-end}.approve-flow__back{border:none;background:none;color:#6b6560;font-family:var(--font);font-size:13px;cursor:pointer;padding:0}.field-input.is-invalid,.field-select.is-invalid{border-color:#c4a398}.client-portal__approved{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.client-portal__status-note{font-size:11px;line-height:1.4;color:#8a8378}.client-confirmation{padding:12px 14px;background:var(--surface-secondary);border:1px solid var(--border-default);border-radius:8px}.client-confirmation__title{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a8378}.client-confirmation__list{margin:0;display:grid;grid-gap:10px;gap:10px}.client-confirmation__list div{display:grid;grid-gap:3px;gap:3px}.client-confirmation__list dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#8a8378}.client-confirmation__list dd{margin:0;font-size:13px;line-height:1.45;color:var(--ink)}@media (max-width:640px){.proposal-modal-backdrop--approve{padding:0}.proposal-modal--approve{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.approve-flow__row,.approve-flow__row-3,.approve-flow__timing,.request-changes__add-row,.request-changes__compare{grid-template-columns:1fr}.proposal-modal-backdrop--changes{padding:0}.proposal-modal--changes{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.scope-quick-add__exception-fields{grid-template-columns:1fr}}