:root{font-family:Segoe UI,Arial,sans-serif;color:#1b1b1b;background:#f3f4f6;line-height:1.45;font-weight:400}*{box-sizing:border-box}html,body,#root{margin:0;min-width:100%;min-height:100%;background:#e5e7eb}body{min-height:100vh}.document-shell{padding:30px 20px 50px}.quotation-page{max-width:960px;margin:0 auto;background:#fff;box-shadow:0 12px 30px #0f172a14;padding:32px 44px 28px;border:1px solid #d8dfe7}.quotation-header{border-bottom:1px solid #d8dfe7;padding-bottom:12px}.header-title{font-size:18px;font-weight:700;margin-bottom:20px}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.meta-row{display:grid;grid-template-columns:minmax(160px,1.2fr) 1fr;gap:14px;align-items:center;font-size:12px;color:#333}.meta-row strong{font-weight:700;text-align:left}.section-block{padding-top:14px}.section-block h2{margin:0 0 8px;font-size:15px;font-weight:700;color:#1e1e1e}.section-block h3{margin:14px 0 8px;font-size:14px;font-weight:700}.section-block p,.section-block li{font-size:12px;line-height:1.7;margin:0 0 6px;color:#1e1e1e}.portal-group{margin-top:10px}.portal-group h3{font-size:13px;margin-bottom:4px}.portal-group ul,.terms-list{margin:0 0 0 18px;padding:0}table{width:100%;border-collapse:collapse;margin-top:12px;margin-bottom:16px;table-layout:fixed}th,td{border:1px solid #c9d1d8;padding:8px;vertical-align:top;text-align:left;font-size:11px;line-height:1.45;word-wrap:break-word}th,.total-row td{font-weight:700;background:#f8fafc}.signatures-block{margin-top:18px}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px}.signature-box{min-height:180px;display:flex;flex-direction:column;justify-content:flex-end}.signature-line{border-top:1.5px solid #3a3a3a;margin-bottom:10px;width:100%}.signature-label,.signature-name,.signature-company{font-size:11px}.signature-name{font-weight:700;margin-top:2px}.signature-company{margin-top:8px}.muted{color:#4b5563}.builder-shell{max-width:1240px;margin:0 auto;padding:36px 24px 64px}.builder-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 auto 28px}.builder-header h1{margin:2px 0 8px;font-size:30px}.builder-header p{margin:0;color:#657084}.builder-eyebrow{color:#5368b4!important;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.preview-button,.next-button{border:0;border-radius:10px;background:#374c9b;color:#fff;font-weight:700;padding:12px 18px;cursor:pointer;white-space:nowrap}.questionnaire-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}.step-navigation,.questionnaire-card{background:#fff;border:1px solid #e1e5eb;border-radius:14px;box-shadow:0 8px 24px #0f172a0b}.step-navigation{padding:12px}.step-button{display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:center;width:100%;margin:3px 0;padding:12px 9px;text-align:left;border:0;border-radius:10px;background:transparent;color:#253047;cursor:pointer}.step-button.active{background:#eef1fb;color:#2f448e}.step-button.complete .step-letter,.step-button.active .step-letter{background:#374c9b;color:#fff}.step-letter{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d7dce5;border-radius:50%;font-weight:700}.step-button strong,.step-button small{display:block}.step-button strong{font-size:13px}.step-button small{margin-top:3px;color:#738096;font-size:11px}.step-check{color:#348064;font-weight:700}.step-note{border-top:1px solid #e8ebf0;margin:12px 4px 0;padding:14px 5px 4px;color:#7a8494;font-size:11px;line-height:1.5}.questionnaire-card{padding:28px}.questionnaire-progress{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;color:#657084;font-size:12px;font-weight:700}.progress-track{width:160px;height:6px;overflow:hidden;border-radius:10px;background:#e9ecf3}.progress-track div{height:100%;border-radius:inherit;background:#4d62ac;transition:width .2s ease}.questionnaire-card h2{margin:0 0 23px;color:#202b40;font-size:21px}.step-form{display:flex;flex-direction:column;gap:17px}.questionnaire-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:7px;color:#374151;font-size:12px;font-weight:700}.form-field input,.form-field select,.form-field textarea,.editor-table input,.editor-table textarea{border:1px solid #d7dce5;border-radius:8px;background:#fff;padding:10px 11px;color:#202b40;font-size:13px;font-weight:400}.form-field textarea,.editor-table textarea{resize:vertical;line-height:1.5}.step-form h3{margin:8px 0 -6px;color:#293650;font-size:15px}.portal-editor,.plan-editor{display:flex;flex-direction:column;gap:12px;border:1px solid #e2e6ed;border-radius:10px;padding:15px;background:#fbfcfe}.editor-table{display:flex;flex-direction:column;gap:8px}.editor-table-head,.editor-table-row{display:grid;grid-template-columns:1.1fr 1.7fr .6fr .8fr;gap:8px}.editor-table-head span{color:#657084;font-size:11px;font-weight:700}.editor-table-row input,.editor-table-row textarea{min-width:0}.text-button{align-self:flex-start;padding:7px 0;border:0;background:transparent;color:#374c9b;font-weight:700;cursor:pointer}.editor-total{align-self:flex-end;color:#27395f}.plan-choice{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.plan-choice input{width:16px;height:16px}.helper-text{margin:-9px 0 0;color:#778196;font-size:12px;line-height:1.5}.questionnaire-actions{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid #e9ecf1}.back-button{border:1px solid #d6dbe4;border-radius:9px;background:#fff;color:#475569;padding:11px 18px;font-weight:700;cursor:pointer}.back-button:disabled{opacity:.45;cursor:not-allowed}.next-button span{margin-left:10px}.chat-assistant{margin-top:30px;border:1px solid #dfe4ed;border-radius:12px;background:#fbfcff;padding:17px}.chat-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid #e7eaf0}.chat-heading h3{margin:0 0 4px;color:#26344f;font-size:14px}.chat-heading p,.chat-target{margin:0;color:#778196;font-size:11px;line-height:1.5}.chat-model-badge{flex-shrink:0;border-radius:20px;background:#edf0fa;color:#455890;padding:5px 9px;font-size:10px;font-weight:700}.chat-transcript{display:flex;flex-direction:column;gap:12px;max-height:330px;overflow-y:auto;padding:16px 2px}.chat-empty{margin:0;color:#7a8494;font-size:12px}.chat-message{align-self:flex-start;max-width:90%;border-radius:10px;background:#f0f2f7;padding:10px 12px;color:#293247;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.user{align-self:flex-end;background:#e9edfb;color:#27395f}.chat-message p{margin:0;font-size:12px;line-height:1.6}.use-answer-button{margin-top:9px;border:0;background:transparent;color:#344c9e;padding:0;font-size:11px;font-weight:700;cursor:pointer}.use-answer-button:disabled{color:#99a1b1;cursor:not-allowed}.chat-composer{display:flex;align-items:flex-end;gap:10px}.chat-composer textarea{flex:1;min-width:0;resize:vertical;border:1px solid #d7dce5;border-radius:9px;background:#fff;padding:10px 11px;color:#202b40;font:inherit;font-size:12px}.chat-composer .next-button{padding:10px 16px}.chat-composer .next-button:disabled{opacity:.5;cursor:not-allowed}.chat-error{margin:0 0 10px;color:#a12c36;font-size:12px}.chat-target{margin-top:8px}.preview-actions{display:flex;justify-content:flex-end;padding-top:24px}.quotation-page{max-width:920px}@media (max-width: 720px){.builder-shell{padding:22px 12px 40px}.builder-header{flex-direction:column}.questionnaire-layout{grid-template-columns:1fr}.step-navigation{display:grid;grid-template-columns:1fr 1fr}.step-note{grid-column:1 / -1}.questionnaire-card{padding:20px 16px}.chat-heading{flex-direction:column}.chat-composer{align-items:stretch;flex-direction:column}.chat-composer .next-button{align-self:flex-end}.questionnaire-grid{grid-template-columns:1fr}.editor-table-head{display:none}.editor-table-row{grid-template-columns:1fr 1fr;padding:10px;border:1px solid #e2e6ed;border-radius:9px}.quotation-page{padding:24px 18px}.meta-grid,.signature-grid{grid-template-columns:1fr}table{display:block;overflow-x:auto}}@media print{body{background:#fff}.builder-header,.preview-actions{display:none}.document-shell{padding:0}.quotation-page{max-width:none;width:100%;box-shadow:none;border:none;margin:0}}
