.proposal-page{min-height:100vh;background:var(--bg);font-family:var(--font);color:var(--text)}main.sf-main.proposal-wrap{max-width:1180px;margin:0 auto;padding:30px 24px 80px}.proposal-back{display:inline-block;color:var(--action);font-size:14px;margin-bottom:28px}.proposal-heading{max-width:800px;margin-bottom:28px}.proposal-heading h1{font-size:clamp(30px,4vw,48px);line-height:1.1;letter-spacing:-.035em;color:var(--ink);margin:12px 0 16px;font-weight:800}.proposal-heading p{line-height:1.6;margin:8px 0}.proposal-heading h1:focus{outline:none}.proposal-steps{display:flex;list-style:none;gap:8px;padding:0;margin:0 0 28px;overflow-x:auto}.proposal-steps li{display:flex;align-items:center;gap:8px;padding:12px 16px 12px 0;color:var(--muted);font-size:13px;white-space:nowrap;border-bottom:2px solid var(--line);flex:1}.proposal-steps li span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;height:26px;width:26px;font-size:12px;flex-shrink:0}.proposal-steps li[aria-current]{color:var(--action);font-weight:700;border-bottom-color:var(--action)}.proposal-steps li[aria-current] span{background:var(--action);border-color:var(--action);color:#fff}.proposal-steps .done span{background:var(--ink);border-color:var(--ink);color:#fff}.proposal-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;margin-bottom:20px;min-width:0}.proposal-card h2{font-size:21px;line-height:1.3;color:var(--ink);margin:0 0 18px;font-weight:700}.proposal-card h3{font-size:16px;color:var(--ink);margin:24px 0 12px}.proposal-intake{max-width:840px}.proposal-field{display:flex;flex-direction:column;gap:8px;font-weight:500;color:var(--ink);font-size:14px;min-width:0;margin-bottom:16px}.proposal-page input:not([type=checkbox]),.proposal-page select,.proposal-page textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-family:var(--font);font-size:16px;border:1px solid #B8C5DB;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);line-height:1.4;min-height:46px}.proposal-page textarea{resize:vertical}.proposal-page input:focus-visible,.proposal-page select:focus-visible,.proposal-page textarea:focus-visible,.proposal-page button:focus-visible,.proposal-page a:focus-visible{outline:3px solid var(--light);outline-offset:3px}.proposal-page button:disabled{opacity:.5;cursor:not-allowed}.proposal-page .btn{min-height:46px;white-space:normal;text-align:center}.proposal-page .btn.sm{min-height:40px}.proposal-upload{background:var(--bg);border:1px dashed #93AFCA;border-radius:12px;padding:20px;margin:24px 0}.proposal-upload>label{display:block;color:var(--ink);font-weight:600;margin-bottom:12px}.proposal-upload p{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:0}.proposal-page input[type=file]{background:transparent;border:0;padding:0;font-size:14px}.proposal-file{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;border-top:1px solid var(--line)}.proposal-file span{overflow-wrap:anywhere}.proposal-file button{border:0;background:transparent;color:var(--red);font-size:24px;min-width:40px;min-height:40px;cursor:pointer}.proposal-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;padding:0 0 24px;cursor:pointer}.proposal-consent input,.proposal-check input{width:20px;height:20px;flex-shrink:0;margin:2px 0;accent-color:var(--action)}.proposal-consent a,.proposal-note a,.proposal-owner-link{color:var(--action);text-decoration:underline;text-underline-offset:3px}.proposal-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}.proposal-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.proposal-price{position:sticky;top:100px;border-top:4px solid var(--action)}.proposal-total{font-size:clamp(25px,2.5vw,34px);font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1.2;margin:16px 0;overflow-wrap:anywhere}.proposal-note{font-size:12px;line-height:1.65;color:var(--muted);font-weight:400}.proposal-lines,.proposal-payment{list-style:none;padding:0;margin:24px 0;font-size:13px}.proposal-lines li{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}.proposal-lines b{white-space:nowrap;font-size:12px;color:var(--ink)}.proposal-lines small,.proposal-payment small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.proposal-payment li{margin:12px 0}.proposal-payment b{display:block;margin-top:4px;color:var(--ink)}.proposal-price>p:not(.proposal-total){font-size:13px;line-height:1.6}.proposal-confirm{width:100%;margin-top:16px}.proposal-save-state{font-size:13px;margin-bottom:16px;color:var(--muted)}.proposal-module>header{display:flex;gap:12px;align-items:center;margin-bottom:24px}.proposal-module h2{margin:0;flex:1}.proposal-module-letter{font-family:var(--mono);font-size:14px;background:var(--bg);padding:8px 12px;border-radius:8px;color:var(--action)}.proposal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.proposal-input-block{min-width:0}.proposal-input-block:has(fieldset),.proposal-input-block:has(blockquote){grid-column:1/-1}.proposal-citation{border:0;border-left:3px solid var(--light);margin:0 0 16px;padding:8px 14px;background:#f1f7fc;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.proposal-citation>span{display:block;color:var(--action);font-weight:600;margin-bottom:4px}.proposal-citation cite{display:block;font-style:normal;color:var(--muted);margin-top:6px;font-size:11px}.proposal-badge{display:inline-block;background:#e8f3fb;color:var(--navy);font-size:12px;border-radius:6px;padding:5px 9px;margin-bottom:10px}.proposal-badge.warn{background:#fff2df;color:#864706}.proposal-notice{border:1px solid #E8C899;background:#fff7eb;border-radius:12px;padding:18px 22px;margin-bottom:20px;line-height:1.6;font-size:14px}.proposal-notice.error{border-color:#e6aaaa;background:#fff3f3;color:var(--red)}.proposal-warning{color:var(--amber)}.proposal-question{padding:24px 0;border-top:1px solid var(--line)}.proposal-question h2{font-size:18px}.proposal-text-btn{border:0;background:transparent;color:var(--action);padding:8px 0;font-family:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:40px}.proposal-nested,.proposal-multi{border:1px solid var(--line);border-radius:10px;margin:0 0 16px;padding:14px;min-width:0}.proposal-nested legend,.proposal-multi legend{font-size:14px;font-weight:500;color:var(--ink);padding:0 6px}.proposal-repeat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:8px}.proposal-repeat+.proposal-repeat{border-top:1px solid var(--line);margin-top:12px;padding-top:16px}.proposal-repeat>.proposal-text-btn{justify-self:start}.proposal-checks{display:flex;gap:20px;flex-wrap:wrap}.proposal-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:400;line-height:1.5;padding:8px 0;cursor:pointer}.proposal-geo-options{max-height:220px;overflow-y:auto}.proposal-assumptions{font-size:13px;line-height:1.7;padding-left:20px;overflow-wrap:anywhere}.proposal-assumptions li{margin:10px 0}.proposal-sources{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:20px;margin:20px 0}.proposal-sources summary{font-weight:600;color:var(--ink);cursor:pointer}.proposal-sources ul{list-style:none;padding:0}.proposal-sources li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;padding:12px 0;border-top:1px solid var(--line)}.proposal-sources strong{max-width:65%;overflow-wrap:anywhere}.proposal-sources small{width:100%;color:var(--muted)}.proposal-contact,.proposal-finish,.proposal-status{max-width:740px;line-height:1.65}.proposal-contact form{max-width:500px}.proposal-id{font-family:var(--mono);font-size:15px;overflow-wrap:anywhere}.proposal-resume{display:block;margin-bottom:24px;color:var(--action);font-size:14px}.proposal-difference{color:var(--action);font-weight:600}@media (max-width:900px){.proposal-layout{grid-template-columns:minmax(0,1fr) 310px;gap:16px}.proposal-card{padding:22px}.proposal-fields{grid-template-columns:1fr}}@media (max-width:720px){main.sf-main.proposal-wrap{padding:20px 16px 56px}.proposal-back{margin-bottom:18px}.proposal-heading{margin-bottom:20px}.proposal-steps{gap:12px}.proposal-steps li{flex:none;padding-right:4px;font-size:12px}.proposal-card{padding:20px;border-radius:12px}.proposal-layout{display:flex;flex-direction:column}.proposal-layout>div,.proposal-price{width:100%;box-sizing:border-box}.proposal-price{position:static;order:-1}.proposal-lines,.proposal-payment{margin:16px 0}.proposal-total{font-size:32px}.proposal-fields,.proposal-repeat{grid-template-columns:1fr}.proposal-actions{align-items:stretch}.proposal-actions>.btn{flex:1 1 100%}.proposal-upload{padding:16px}.proposal-consent{font-size:12px}.proposal-heading h1{font-size:32px}.proposal-price .proposal-confirm{margin-top:12px}}@media (prefers-reduced-motion:reduce){.proposal-page *{scroll-behavior:auto;transition:none!important}}.proposal-upload-title{display:block;margin-bottom:10px}.proposal-page input.proposal-file-input{position:absolute!important;width:1px!important;min-width:0!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0!important}.proposal-upload{position:relative}.proposal-pick{display:inline-flex;cursor:pointer}.proposal-file-input:focus-visible+.proposal-pick{outline:3px solid var(--action);outline-offset:2px}.proposal-file-input:disabled+.proposal-pick{opacity:.5;cursor:not-allowed}@media (max-width:720px){.proposal-steps li:not([aria-current]){font-size:0;gap:0;padding-right:0}.proposal-steps li:not([aria-current]) span{font-size:12px}.proposal-steps li{flex:none}}.proposal-builder h2{margin:0 0 6px;font-size:20px}.proposal-builder>p{margin:0 0 14px;color:var(--muted,#5b6472)}.proposal-blocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.proposal-blocks label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line,#dde3ea);border-radius:10px;padding:12px;cursor:pointer;background:#fff}.proposal-blocks label.on{border-color:var(--blue,#1559b5);box-shadow:0 0 0 1px var(--blue,#1559b5)}.proposal-blocks span{display:flex;flex-direction:column;gap:3px}.proposal-blocks small{color:var(--muted,#5b6472);font-size:13px;line-height:1.35}.proposal-builder .proposal-actions{margin-top:14px}.proposal-confirm-side{width:100%;margin-top:12px}
