/* Use the available browser width; forms retain their own natural document height. */
.content { width:100%; max-width:none; margin:0; padding:26px 28px 36px; }
.topbar { padding:0 28px; }.page-head { margin-bottom:22px; }.project-layout { gap:28px; }
.project-record-head { margin-bottom:14px; }.project-tabs { margin:0 0 24px; padding:0; }
.project-tab-panel { min-width:0; }.project-tab { font-size:13px; }
.project-hero { padding:22px 0; }.progress,.work-list { margin-top:24px; }
.studio-state { min-height:260px; display:grid; align-content:center; justify-items:center; padding:30px; border:1px dashed var(--line); gap:12px; }.studio-state h3 { font:28px var(--serif); margin:0; }.studio-state p { margin:0; line-height:1.6; }
.builder-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }.builder-heading .eyebrow { margin:0 0 6px; }.builder-heading p { color:var(--muted); margin:8px 0 0; }.builder-heading .action-row { flex-wrap:wrap; justify-content:flex-end; }
.estimate-title { font:30px var(--serif); width:min(620px,100%); background:transparent; color:var(--ink); border:1px solid transparent; padding:4px 0; }.estimate-title:hover,.estimate-title:focus { border-bottom-color:var(--walnut); }
.save-state { color:var(--meadow); font-size:13px; }.estimate-summary { display:grid; grid-template-columns:repeat(5,1fr); background:var(--white); border:1px solid var(--line); margin-bottom:20px; }.estimate-summary > div { padding:17px 20px; border-right:1px solid var(--line); }.estimate-summary > div:last-child { border:0; }.estimate-summary span { font-size:13px; color:#625c55; display:block; margin-bottom:8px; }.estimate-summary strong { font-size:25px; font-weight:500; font-variant-numeric:tabular-nums; }.estimate-summary > div:nth-child(2) { background:var(--meadow); color:white; }.estimate-summary > div:nth-child(2) span { color:#e7eddb; }
.builder-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:20px; align-items:start; }.estimate-sheet { min-width:0; background:var(--white); border:1px solid var(--line); }.sheet-toolbar { display:flex; align-items:center; gap:16px; padding:14px; flex-wrap:wrap; border-bottom:1px solid var(--line); }.sheet-toolbar > span { color:#625c55; font-size:13px; margin-left:auto; }.estimate-search { display:flex; gap:10px; align-items:center; }.estimate-search input { width:230px; border:1px solid #b4aa9b; background:var(--white); padding:9px 12px; }
.estimate-table-scroll { overflow:auto; max-height:65svh; scrollbar-gutter:stable; }.estimate-grid { width:100%; border-collapse:separate; border-spacing:0; min-width:940px; table-layout:fixed; }.estimate-grid thead th { position:sticky; top:0; z-index:1; background:#ece7de; text-align:left; color:#4f483e; font-size:12px; padding:13px 7px; border-bottom:1px solid var(--line); }.estimate-grid th:nth-child(1) { width:34px; }.estimate-grid th:nth-child(2) { width:27%; }.estimate-grid th:nth-child(3) { width:115px; }.estimate-grid th:nth-child(4) { width:80px; }.estimate-grid th:nth-child(5) { width:80px; }.estimate-grid th:nth-child(6) { width:108px; }.estimate-grid th:nth-child(7) { width:82px; }.estimate-grid th:nth-child(8) { width:135px; }.estimate-grid th:nth-child(9) { width:34px; }
.estimate-grid td { border-bottom:1px solid #e9e4da; padding:5px 4px; }.estimate-grid input:not([type=checkbox]),.estimate-grid select { width:100%; min-height:38px; border:1px solid transparent; background:transparent; color:var(--ink); padding:6px 5px; font-size:14px; }.estimate-grid input:hover,.estimate-grid select:hover { border-color:#bcb2a4; background:#fff; }.estimate-grid input:focus,.estimate-grid select:focus { border-color:var(--walnut); background:white; }.estimate-grid input[type=checkbox] { width:16px; height:16px; accent-color:var(--meadow); }.estimate-grid .row-price { text-align:right; padding:8px 10px; font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }.estimate-grid .excluded { background:#f0eeea; }.estimate-grid .excluded .row-price { text-decoration:line-through; color:#766f68; }.estimate-grid .estimate-group th { width:auto; padding:12px; background:#f2efe8; color:var(--walnut); text-align:left; font-size:14px; border-bottom:1px solid var(--line); }.estimate-group span { font-size:12px; font-weight:400; color:#625c55; margin-left:15px; }.remove-item { border:0; background:transparent; padding:8px; color:var(--red); font-size:19px; }.remove-item:hover { background:#f4e5df; }
.estimate-sheet-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; font-size:13px; }.estimate-sheet-footer p { color:#625c55; }.estimate-no-results { padding:22px; }.estimate-inspector-panel { border:1px solid var(--line); background:var(--white); padding:20px; display:grid; gap:14px; }.estimate-inspector-panel h3 { font:26px/1.2 var(--serif); margin:0; }.estimate-inspector-panel p { font-size:14px; line-height:1.6; color:#625c55; margin:0; }.estimate-inspector-panel > button { width:100%; }.estimate-inspector-panel label { display:grid; gap:9px; font-size:14px; }.estimate-inspector-panel textarea { width:100%; background:var(--white); border:1px solid #aaa196; padding:12px; font-size:14px; line-height:1.6; }.estimate-inspector-panel hr { width:100%; border:0; border-top:1px solid var(--line); }.estimate-inspector-panel .estimate-help { font-size:12px; }.estimate-publish-state { display:grid; gap:8px; padding:12px; background:#f0f1e8; line-height:1.4; font-size:13px; }.estimate-publish-state span { color:#625c55; }.estimate-inspector-panel [data-est-error] { color:var(--red); }
.template-catalog { display:grid; gap:12px; margin-top:20px; }.template-catalog > div { padding:14px; border:1px solid var(--line); }.template-catalog p { margin:7px 0; color:#625c55; }.template-catalog small { color:var(--meadow); }
.homeowner-management { display:grid; grid-template-columns:1.5fr 1fr; gap:40px; border-top:1px solid var(--line); padding:30px 0; }.homeowner-management h3 { font:38px var(--serif); margin:10px 0; }.homeowner-management p { max-width:700px; font-size:16px; line-height:1.65; color:#625c55; }.homeowner-management aside { border:1px solid var(--line); background:var(--white); padding:24px; }.homeowner-management aside h4 { font-size:18px; margin:0; }.homeowner-management aside p { font-size:14px; }.homeowner-management aside button { margin:0 12px 16px 0; }.homeowner-management input { width:100%; }.portal-feature-row { display:flex; gap:12px; margin:26px 0; flex-wrap:wrap; }.portal-feature-row span { padding:10px; background:#e8ecde; color:var(--meadow); font-size:14px; }
.portal-preview-bar { position:sticky; top:0; z-index:10; background:#28251f; color:#f7f4f0; padding:12px 28px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:14px; }.portal-preview-bar button { color:white; border:1px solid #a69d90; background:transparent; padding:9px 14px; white-space:nowrap; }.portal-preview-bar button:hover { background:#494337; }
.homeowner-shell { padding:0 36px; max-width:1800px; margin:auto; background:var(--cream); }.homeowner-header { display:flex; gap:25px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); }.homeowner-header img { width:180px; }.homeowner-header > span { color:#625c55; font-family:var(--serif); font-size:21px; }.homeowner-header > strong { margin-left:auto; font-size:14px; }.homeowner-hero { display:grid; grid-template-columns:1.6fr 1fr; align-items:center; gap:35px; padding:36px 0 30px; }.homeowner-hero h1 { font:clamp(34px,3vw,56px)/1.1 var(--serif); margin:10px 0 16px; }.homeowner-hero p:not(.eyebrow) { max-width:630px; font-size:16px; line-height:1.7; color:#625c55; }.homeowner-phase { background:var(--meadow); padding:26px 30px; color:white; display:grid; gap:12px; }.homeowner-phase small { text-transform:uppercase; font-size:12px; letter-spacing:.1em; color:#e5ebd5; }.homeowner-phase strong { font:30px var(--serif); }.homeowner-phase span { font-size:14px; color:#e5ebd5; }
.homeowner-journey { display:grid; grid-template-columns:repeat(5,1fr); list-style:none; padding:0; border:1px solid var(--line); margin:0 0 36px; background:var(--white); }.homeowner-journey li { display:flex; align-items:center; gap:12px; padding:20px 16px; border-right:1px solid var(--line); color:#625c55; }.homeowner-journey li:last-child { border:0; }.homeowner-journey li > span { border:1px solid #c1b8aa; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; font-size:13px; }.homeowner-journey strong { display:block; font-size:14px; }.homeowner-journey small { display:block; margin-top:6px; font-size:12px; }.homeowner-journey .current { background:#e8ecdd; color:#3d4b1e; }.homeowner-journey .current > span,.homeowner-journey .complete > span { background:var(--meadow); color:white; border-color:var(--meadow); }
.homeowner-content { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr); gap:30px; align-items:start; }.homeowner-section-head { display:flex; justify-content:space-between; gap:18px; margin-bottom:24px; align-items:center; }.homeowner-section-head h2,.homeowner-estimate h2 { font:32px var(--serif); margin:6px 0; }.homeowner-section-head p { color:#625c55; font-size:14px; line-height:1.5; }.selection-summary { display:grid; gap:8px; text-align:right; max-width:180px; }.selection-summary strong { font-size:25px; font-weight:500; }.selection-summary span { color:#625c55; font-size:12px; line-height:1.4; }
.selection-card { background:var(--white); border:1px solid var(--line); padding:22px; margin-bottom:22px; }.selection-card > header { display:flex; justify-content:space-between; align-items:center; gap:16px; }.selection-card h3 { font:28px var(--serif); margin:8px 0; }.selection-card header small { color:#625c55; font-size:12px; }.selection-status { font-size:12px; background:#eee7d7; padding:7px 10px; white-space:nowrap; color:#69501e; }.selection-allowance { color:#625c55; font-size:14px; margin:6px 0 20px; }.selection-allowance strong { color:var(--ink); margin-left:8px; }.selection-options { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.selection-option { display:flex; align-items:stretch; text-align:left; flex-direction:column; gap:10px; padding:12px; background:var(--white); border:1px solid #c4bbac; color:var(--ink); }.selection-option:hover { border-color:var(--walnut); background:#f8f6ef; }.selection-option.selected { outline:2px solid var(--meadow); outline-offset:-2px; background:#f1f4e9; }.selection-option > strong { font-size:15px; line-height:1.4; }.selection-option > span:not(.material-swatch) { font-size:13px; color:#625c55; line-height:1.5; }.selection-option b { margin-top:auto; font-size:14px; }.selection-option small { border-top:1px solid var(--line); padding-top:10px; font-size:13px; color:var(--meadow); }.selection-option:disabled { opacity:.65; cursor:wait; }.material-swatch { height:70px; display:block; border:1px solid #0001; background:#ded8cd; }.swatch-oak-cabinetry,.swatch-oak-finishes { background:repeating-linear-gradient(92deg,#bb986c 0 8px,#c9aa7f 9px 12px,#bd9e76 13px 19px); }.swatch-painted-cabinetry { background:#eee8dc; }.swatch-walnut-cabinetry { background:repeating-linear-gradient(92deg,#695039 0 8px,#7d6144 10px 14px); }.swatch-quartz-surfaces { background:linear-gradient(130deg,#e7e4de 35%,#d0cdc5 36%,#eeeae5 38%,#e7e4de 70%); }.swatch-quartzite-surfaces { background:repeating-linear-gradient(135deg,#d1bfa1 0 25px,#e0d2bb 28px 32px,#d7c9b0 38px 54px); }.swatch-soapstone-surfaces { background:#56615c; }.swatch-tile-finishes { background:linear-gradient(90deg,#c6c0b3 49%,#eee 50%,#c6c0b3 51%); }.swatch-wide-finishes { background:repeating-linear-gradient(92deg,#a9865c 0 20px,#bd9f75 21px 25px); }
.homeowner-estimate { background:var(--white); border:1px solid var(--line); padding:26px; }.homeowner-total { display:block; font:40px var(--serif); color:var(--meadow); margin-top:24px; }.homeowner-estimate > p:not(.eyebrow) { color:#625c55; font-size:14px; line-height:1.7; }.homeowner-scope { margin-top:24px; }.homeowner-scope details { border-top:1px solid var(--line); padding:14px 0; }.homeowner-scope summary { cursor:pointer; font-size:14px; font-weight:600; }.homeowner-scope summary strong { float:right; font-size:14px; }.homeowner-scope details p { display:flex; justify-content:space-between; align-items:start; gap:16px; font-size:13px; line-height:1.5; color:#625c55; }.homeowner-scope details b { color:var(--ink); white-space:nowrap; font-weight:500; }.homeowner-assumptions { white-space:pre-wrap; }.selection-notice { background:#f3f0e8; padding:18px; margin-top:25px; font-size:14px; line-height:1.6; }.selection-notice p { margin:7px 0 0; color:#625c55; }.homeowner-footer { padding:28px 0; color:#625c55; font-size:13px; text-align:center; border-top:1px solid var(--line); margin-top:24px; }[data-selection-status] { color:var(--meadow); font-size:14px; margin-bottom:0; }
@media(min-width:1700px){.builder-layout{grid-template-columns:minmax(0,1fr) 320px;}.estimate-grid{min-width:1000px;}}
@media(max-width:1250px){.builder-layout{grid-template-columns:1fr;}.estimate-inspector-panel{grid-template-columns:1fr 1fr;}.estimate-inspector-panel hr{grid-column:1/-1;}.builder-heading{align-items:start;flex-direction:column;}.homeowner-journey li{padding:16px 10px;gap:8px;}.homeowner-content{grid-template-columns:1fr;}.homeowner-estimate{max-width:none;}}
@media(max-width:850px){.estimate-summary{grid-template-columns:repeat(3,1fr);}.homeowner-hero,.homeowner-management{grid-template-columns:1fr;}.homeowner-header>span{display:none;}.homeowner-journey{grid-template-columns:1fr;}.homeowner-journey li{border-bottom:1px solid var(--line);border-right:0;}.homeowner-journey li div{display:flex;gap:15px;align-items:center;}.homeowner-journey small{margin:0;}.portal-preview-bar{flex-wrap:wrap;padding:12px 18px;}.homeowner-shell{padding:0 20px;}.homeowner-hero{padding:24px 0;gap:15px;}.homeowner-hero h1{font-size:38px;}}
@media(max-width:600px){.content{padding:20px 16px 30px;}.topbar{padding:0 16px;}.estimate-summary{grid-template-columns:1fr 1fr;}.estimate-summary>div{padding:14px;}.estimate-summary strong{font-size:22px;}.estimate-inspector-panel{grid-template-columns:1fr;}.sheet-toolbar{gap:10px;}.estimate-search{width:100%;}.estimate-search input{width:100%;}.selection-options{grid-template-columns:1fr;}.selection-option{display:grid;grid-template-columns:72px 1fr;}.material-swatch{grid-row:1/5;height:100%;min-height:100px;}.selection-card{padding:16px;}.selection-card>header{flex-wrap:wrap;}.selection-option small{grid-column:2;}.homeowner-section-head{align-items:start;}.homeowner-header{gap:12px;}.homeowner-header img{width:140px;}.homeowner-header strong{font-size:12px;}.homeowner-hero h1{font-size:32px;}.homeowner-estimate{padding:20px;}}
@media print{.portal-preview-bar,.homeowner-header,.homeowner-hero,.homeowner-journey,.homeowner-content>section,.homeowner-footer,.homeowner-estimate button,.selection-notice{display:none!important;}.homeowner-content{display:block;}.homeowner-estimate{border:0;}.homeowner-shell{padding:0;}.homeowner-scope details{break-inside:avoid;}}

.project-record-head { flex-wrap:wrap; }
.project-record-head .action-row { flex-wrap:wrap; }
