:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1f2c2a;background:#f8f7f3;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{width:min(1200px,calc(100% - 48px));margin:auto}.topbar{border-bottom:1px solid #e5e5df;background:#fff}.topbar-inner{height:77px;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:-.8px}.brand small{display:block;letter-spacing:1.3px;font-weight:700;color:#83908b;font-size:8px;margin-top:1px}.brand-mark{width:37px;height:37px;background:#1e4440;color:#fff;border-radius:10px;display:grid;place-items:center;position:relative;font-family:Georgia,serif;font-size:28px}.brand-dot{color:#c6debb}.prototype-badge{margin-left:auto;color:#537368;background:#eaf1e8;border-radius:100px;padding:7px 11px;font-size:10px;font-weight:800;letter-spacing:.8px}.intro{padding:53px 0 39px}.eyebrow,.section-label,.side-eyebrow{color:#648376;font-size:10px;font-weight:800;letter-spacing:2px}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow-line{display:inline-block;width:17px;height:2px;background:#92ab9c}.intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(35px,4.4vw,59px);line-height:1.1;letter-spacing:-1.6px;margin:17px 0 13px;font-weight:500}.intro h1 em{font-weight:400;color:#4b7a65}.intro p{max-width:720px;font-size:16px;line-height:1.7;color:#5f6d67;margin:0}.intro-highlights{display:flex;gap:23px;flex-wrap:wrap;margin-top:23px;font-size:12px;font-weight:650;color:#4e7062}.steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e5e6df;border-radius:12px 12px 0 0;background:#fff;overflow:hidden}.step{display:flex;justify-content:center;align-items:center;gap:11px;padding:20px 8px;border:0;background:transparent;font-size:13px;color:#718078;font-weight:700;border-bottom:3px solid transparent}.step+.step{border-left:1px solid #edeee9}.step.active{border-bottom-color:#316c55;background:#f5faf5;color:#245742}.step-number{color:#a8b4ad;font-size:11px}.step.active .step-number{color:#3c896a}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;border:1px solid #e5e6df;border-top:0;border-radius:0 0 12px 12px;background:#fff;overflow:hidden}.workspace-main{padding:34px 37px;min-width:0}.side-panel{background:#fbfcf9;border-left:1px solid #eceee7;padding:32px 27px}.panel-heading{display:flex;justify-content:space-between;margin-bottom:28px}.panel h2{font-family:Georgia,serif;font-size:28px;line-height:1.2;letter-spacing:-.3px;font-weight:500;margin:9px 0}.panel-heading p{color:#7a857e;font-size:13px;line-height:1.6;margin:0;max-width:580px}.panel h3{font-size:14px;letter-spacing:-.1px;margin:26px 0 15px}.panel h3.subsection-heading{margin-top:32px}.project-types{display:grid;grid-template-columns:1fr 1fr;gap:13px}.project-choice input{position:absolute;opacity:0;width:1px;height:1px}.project-choice-inner{display:flex;flex-direction:column;gap:8px;border:1.5px solid #e3e6df;border-radius:12px;min-height:151px;padding:20px;cursor:pointer;transition:background .2s,border .2s}.project-choice input:checked+.project-choice-inner{border-color:#41896e;background:#f4faf4;box-shadow:0 0 0 2px #e0efe4}.project-choice input:focus-visible+.project-choice-inner{outline:3px solid #91b8ff;outline-offset:2px}.project-choice strong{font-size:16px}.project-choice small{color:#748079;font-size:12px;line-height:1.5}.type-icon{font-size:31px;line-height:1;color:#4a7965}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:30px}.field{display:flex;flex-direction:column;gap:8px;color:#33423e;font-size:12px;font-weight:750;min-width:0}.field-wide{grid-column:1/-1}.optional{display:inline;font-weight:500;color:#929d97}.field input,.field select,.field textarea,.quote-field input,.quote-field textarea{width:100%;border:1px solid #dfe5df;background:#fff;border-radius:8px;padding:12px 13px;outline:none;font-size:13px;color:#253d35;font-weight:400;transition:border .15s,box-shadow .15s}.field textarea,.quote-field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.quote-field input:focus,.quote-field textarea:focus{border-color:#4f8b73;box-shadow:0 0 0 3px #e7f2e9}.panel-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf0ea;margin-top:32px;padding-top:26px}.action-group{display:flex;gap:8px;flex-wrap:wrap}.helper{font-size:11px;color:#8c9991}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;padding:12px 17px;border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap;transition:transform .1s,background .2s}.button:active{transform:translateY(1px)}.button-primary{background:#275f49;color:white}.button-primary:hover{background:#1e4e3b}.button-dark{background:#233d34;color:#fff}.button-dark:hover{background:#172f26}.button-light{color:#315a49;background:#f4f7f2;border-color:#dde9df}.button-light:hover{background:#e7f0e7}.button-ghost{background:transparent;border-color:#e8eee7;color:#60746a}.button-small{padding:10px 12px;font-size:11px}.side-panel h3{font-size:13px;margin:0 0 15px}.side-divider{height:1px;background:#e5ebe3;margin:25px 0}.side-type{font-family:Georgia,serif;font-size:24px;margin:14px 0 6px}.side-meta{font-size:12px;color:#74867a;line-height:1.7}.side-budget{font-size:12px;font-weight:800;margin-top:12px;color:#43715b}.side-feature{display:flex;align-items:flex-start;gap:11px;margin:17px 0}.side-feature-icon{flex:0 0 29px;width:29px;height:29px;border-radius:7px;background:#e8f0e8;display:grid;place-items:center;font-size:10px;font-weight:800;color:#548369}.side-feature strong{font-size:12px}.side-feature small{display:block;font-size:11px;line-height:1.6;color:#839087;margin-top:3px}.privacy-note{font-size:11px;line-height:1.6;color:#7a8980}.project-backup{display:flex;gap:13px;flex-direction:column;align-items:flex-start;margin-top:16px}.text-button{border:0;background:transparent;padding:0;font-size:11px;font-weight:800;color:#3f735b;cursor:pointer}.upload-label{display:block}.footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#93a097;font-size:11px;padding:25px 0 45px}.selection-group{border:1px solid #e6ebe4;border-radius:12px;padding:20px;margin-top:15px}.selection-group h3{margin:0 0 16px}.selection-group p{font-size:12px;color:#849188;line-height:1.5;margin:-5px 0 16px}.selection-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.document-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.document-tab{border:1px solid #e1e7df;background:#fff;border-radius:9px;padding:15px 9px;font-size:12px;color:#596c61;font-weight:750;text-align:left}.document-tab small{display:block;margin-top:7px;font-size:8px;letter-spacing:.45px;color:#97a79b;line-height:1.5}.document-tab.selected{background:#eff7ef;border-color:#81af94;color:#285842}.document-tab.selected small{color:#618c73}.document-notice{margin-top:17px;padding:12px 14px;font-size:12px;line-height:1.6;border-radius:8px;background:#eef6ed;color:#3e7150}.document-notice.owner{background:#fff6e8;color:#84612b}.document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:26px 0 12px}.document-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.document-type{font-size:11px;font-weight:750;color:#6b7970}.document-paper{border:1px solid #e4e7e1;background:#fff;padding:34px 36px;box-shadow:0 4px 20px rgba(15,41,25,.04);min-height:350px}.document-paper h1{font-family:Georgia,serif;font-size:25px;font-weight:500;margin:0 0 10px}.document-paper h2{font-family:inherit;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin:26px 0 8px;color:#315e4a;border-bottom:1px solid #e3e9e2;padding-bottom:7px}.document-paper h3{font-size:13px;margin:18px 0 7px}.document-paper p,.document-paper li{font-size:12px;line-height:1.7;color:#424d46}.document-paper ul{padding-left:20px}.document-paper table{border-collapse:collapse;width:100%;font-size:11px}.document-paper th,.document-paper td{padding:9px 8px;text-align:left;border:1px solid #dce4dc;vertical-align:top}.document-paper th{background:#f0f5ef}.document-paper .doc-meta{color:#738275;font-size:11px}.document-paper .doc-private{background:#fff5e5;border:1px solid #f0dfc5;border-radius:5px;padding:10px 12px;margin:10px 0;color:#85602c;font-size:11px}.ve-option{border:1px solid #edf0ea;border-radius:9px;padding:13px;margin:11px 0}.ve-option h3{margin:0 0 6px}.ve-option p{margin:6px 0}.ve-controls{margin-top:8px;font-size:11px;color:#657969}.ve-controls label{display:flex;gap:8px;align-items:center;cursor:pointer}.quote-cards{display:flex;flex-direction:column;gap:16px}.quote-card{border:1px solid #e5eae3;border-radius:12px;padding:20px}.quote-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.quote-card-head h3{margin:0}.quote-remove{border:0;background:none;color:#a0574f;font-size:11px;font-weight:700}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quote-field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#647569;font-weight:700}.quote-field.wide{grid-column:1/-1}.quote-net{margin-top:14px;padding:12px;background:#f5f8f4;border-radius:8px;display:flex;justify-content:space-between;font-size:12px;font-weight:700}.quote-net strong{font-size:15px;color:#336b50}.comparison-summary{margin-top:24px}.comparison-summary table{width:100%;border-collapse:collapse;font-size:12px}.comparison-summary th,.comparison-summary td{padding:12px 8px;text-align:left;border-bottom:1px solid #e2e9e0}.comparison-summary th{color:#668071;font-size:10px;text-transform:uppercase;letter-spacing:.8px}.comparison-alert{background:#fff6e9;border:1px solid #f2e3c9;padding:13px;border-radius:8px;color:#80653d;font-size:12px;line-height:1.6;margin-top:15px}.toast{position:fixed;z-index:50;bottom:24px;left:50%;transform:translate(-50%,100px);padding:12px 18px;border-radius:8px;background:#284c3b;color:#fff;box-shadow:0 10px 35px #152c2526;transition:transform .25s;font-size:12px;pointer-events:none}.toast.show{transform:translate(-50%,0)}@media(max-width:850px){.workspace{grid-template-columns:1fr}.side-panel{border-left:0;border-top:1px solid #e7ebe5}.side-panel .side-feature{display:inline-flex;vertical-align:top;width:30%;padding-right:15px}.workspace-main{padding:27px}.intro{padding:38px 0 30px}}@media(max-width:580px){.shell{width:min(100% - 28px,1200px)}.topbar-inner{height:67px}.brand{font-size:16px}.brand small{font-size:7px}.prototype-badge{display:none}.intro h1{font-size:38px}.intro-highlights{gap:8px 17px}.steps .step{flex-direction:column;gap:4px;padding:13px 3px;font-size:10px}.workspace-main{padding:22px 17px}.panel h2{font-size:24px}.project-types{grid-template-columns:1fr 1fr;gap:8px}.project-choice-inner{padding:13px;min-height:144px}.form-grid,.selection-fields-grid,.quote-grid{grid-template-columns:1fr}.field-wide,.quote-field.wide{grid-column:auto}.panel-actions{align-items:stretch;flex-direction:column-reverse}.panel-actions .button{width:100%}.helper{text-align:center}.document-tabs{grid-template-columns:1fr}.document-tab{padding:11px}.document-tab small{margin-top:2px}.document-paper{padding:20px 15px;overflow-wrap:anywhere}.side-panel{padding:24px}.side-panel .side-feature{display:flex;width:100%}.quote-card{padding:14px}.document-paper table{font-size:9px}.action-group{flex-direction:column}}@media print{.topbar,.intro,.steps,.side-panel,.panel-actions,.document-tabs,.document-toolbar,.document-notice,.footer{display:none!important}.shell{width:100%}.workspace,.workspace-main{border:0;padding:0;display:block}.panel[hidden]{display:none!important}#panel-documents .panel-heading{display:none}.document-paper{border:0;box-shadow:none;padding:0;min-height:0}body{background:white}@page{margin:.65in}}
/* Conditional questionnaire improvements — visual style intentionally unchanged. */
.question-progress{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#f2f7f1;border:1px solid #e0ebe1;border-radius:9px;color:#47715a;font-size:12px;font-weight:750;line-height:1.5}
.question-errors{padding:12px 15px;margin-top:12px;border-radius:8px;border:1px solid #dfb8b2;background:#fff1ef;color:#8a3d32;font-size:12px;line-height:1.6}
.question-errors[hidden]{display:none}
.selection-group .selection-description{margin:0 0 15px;color:#768579;font-size:12px;line-height:1.5}
.field .field-hint{font-size:10px;line-height:1.5;color:#809086;font-weight:450;margin-top:-3px}
.field .required-mark{color:#8b6643;font-weight:650;font-size:10px}
.field input.field-error,.field select.field-error,.field textarea.field-error{border-color:#cf9186;background:#fff9f8}
.field input[type="number"]{appearance:textfield}
@media print{.toast,.question-progress,.question-errors{display:none!important}}


/* v0.3: validation and clear contractor bid status; retain existing site visual style. */
.review-panel{margin-top:25px;border:1px solid #dce7dd;background:#f7faf6;border-radius:11px;padding:21px 22px}
.review-panel[hidden]{display:none!important}
.review-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.review-heading h3{margin:0;font-size:17px}
.review-panel>p{color:#6a796f;font-size:12px;line-height:1.6;margin:10px 0 15px}
.review-count{color:#4b755e;font-size:11px;font-weight:750}
.review-issue{border:1px solid #e2e7df;background:white;padding:13px 15px;margin:10px 0;border-radius:8px}
.review-issue.attention{border-left:3px solid #c78254}
.review-issue.verify{border-left:3px solid #8494b2}
.review-issue.info{border-left:3px solid #7d9a82}
.review-issue strong{font-size:12px}
.review-issue p{margin:7px 0;font-size:12px;color:#495a50;line-height:1.6}
.review-issue .review-fix{font-size:11px;color:#52705d}
.review-ack{display:flex;align-items:flex-start;gap:9px;margin:17px 0;font-size:12px;color:#4a5e51;line-height:1.6;cursor:pointer}
.review-ack input{margin-top:3px;flex:0 0 auto}
.review-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.quote-status{color:#997047;background:#fff4e4;padding:5px 9px;font-size:10px;font-weight:750;border-radius:8px}
.quote-status.ready{color:#437054;background:#edf6ed}
.quote-warnings{font-size:11px;color:#8a6942;line-height:1.5;margin-top:10px}
.quote-net.invalid strong{color:#aa564b}
.comparison-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 17px}
.comparison-metric{background:#f5f8f4;border:1px solid #e6ede4;border-radius:9px;padding:14px}
.comparison-metric small{display:block;color:#718577;font-size:10px;font-weight:700;line-height:1.5}
.comparison-metric strong{display:block;font-size:18px;margin:5px 0;color:#2d5942}
.comparison-table-wrap{overflow-x:auto}
.comparison-summary td small{display:block;font-size:10px;line-height:1.5;color:#7c897d;margin-top:4px}
.comparison-drafts{border:1px solid #ecdcc7;background:#fffbf4;border-radius:9px;margin:14px 0;padding:12px;font-size:12px;color:#785c3a;line-height:1.6}
.comparison-drafts p{margin:5px 0}
.document-paper .doc-warnings{background:#fff6e8;padding:11px 13px;border-radius:6px;font-size:11px;color:#795a31}
.document-paper .doc-metric-row{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;margin:10px 0}
.document-paper .doc-metric-row strong{font-size:14px}
.document-paper h2,.document-paper h3{break-after:avoid-page;page-break-after:avoid}
.document-paper table tr,.document-paper .ve-option{break-inside:avoid-page;page-break-inside:avoid}
.document-paper .ve-option{margin:8px 0;padding:10px 12px}
.document-paper .ve-option p{margin:4px 0}
.document-paper ul{margin-top:5px}
@media(max-width:580px){.review-panel{padding:17px}.review-actions{flex-direction:column}.review-actions .button{width:100%}.comparison-metrics{grid-template-columns:1fr}.comparison-metric strong{font-size:17px}}
@media print{
  .toast,#toast,.review-panel,.comparison-summary,.project-backup{display:none!important}
  .document-paper .ve-option{break-inside:avoid-page;page-break-inside:avoid}
  .document-paper h2,.document-paper h3{break-after:avoid-page;page-break-after:avoid}
  .document-paper p,.document-paper li{orphans:3;widows:3}
}

.print-tip{color:#758275;font-size:11px;line-height:1.5;margin:-4px 0 12px}
@media print{
 .print-tip{display:none!important}
 .document-paper{font-size:11px}
 .document-paper h2{margin-top:17px}
 .document-paper .ve-option{padding:9px 11px;margin:7px 0}
 @page{size:letter;margin:.53in}
}
