.fr-workflow{width:min(1180px,calc(100% - 32px));margin:32px auto;color:#14213d}.fr-intro{max-width:850px;margin-bottom:24px}.fr-intro h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2;margin:10px 0}.fr-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0f766e}.fr-workflow #public-quote-form{display:block;background:#fff;border:1px solid #dbe3ee;border-radius:18px;padding:clamp(16px,3vw,30px);max-height:78vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;box-shadow:0 14px 40px #14213d0d}.fr-workflow fieldset{min-width:0;border:0;border-bottom:1px solid #dbe3ee;margin:0 0 22px;padding:0 0 22px}.fr-workflow legend{font-size:1.1rem;font-weight:750;margin-bottom:16px}.fr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fr-grid .full{grid-column:1/-1}.fr-grid .field{min-width:0}.fr-workflow label{display:block;font-size:.95rem;font-weight:600;margin-bottom:7px}.fr-workflow :is(input,select,textarea){box-sizing:border-box;width:100%;max-width:100%;min-width:0;border:1px solid #bdcad7;border-radius:8px;padding:11px;font:inherit;background:#fff;color:#14213d}.fr-workflow :is(input,select,textarea):focus-visible{outline:3px solid #0f766e55;outline-offset:2px}.fr-workflow .fr-check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.fr-workflow [type=checkbox]{width:18px;height:18px;flex-shrink:0}.fr-workflow .fr-actions{display:flex;gap:12px;flex-wrap:wrap}.fr-workflow button:disabled{opacity:.55;cursor:not-allowed}.fr-workflow [hidden]{display:none!important}.fr-workflow .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.fr-workflow #quote-live-message{padding:16px;border:1px solid #96bcaf;background:#edf8f4;border-radius:10px}.fr-workflow #quote-live-message[data-error=true],#payment-message[data-error=true]{color:#b42318}#payment-dialog{width:min(510px,calc(100% - 36px));max-height:86vh;overflow-y:auto;box-sizing:border-box;padding:26px;border:1px solid #cbd5e1;border-radius:18px;color:#14213d;background:white}#payment-dialog::backdrop{background:#07152bbd}#payment-dialog :is(input,button){margin:8px 0}#payment-dialog dl{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}#payment-dialog dd{margin:0;font-weight:650;overflow-wrap:anywhere}#payment-dialog dt{color:#52677b}.fr-schema-group{grid-column:1/-1;margin:8px 0 0;font-size:1rem}.fr-table-scroll{overflow:auto;max-height:65vh}.fr-table-scroll table{border-collapse:collapse;width:100%;min-width:1000px}.fr-table-scroll th,.fr-table-scroll td{padding:12px;text-align:left;border-bottom:1px solid #dbe3ee;vertical-align:top}.fr-table-scroll th{position:sticky;top:0;background:#f1f6f8;z-index:1}.fr-pagination{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:16px 0}.fr-history{background:#fff;border:1px solid #dbe3ee;border-radius:16px;padding:24px}.fr-history h2{margin-top:0}.fr-note{padding:10px;background:#edf8f4;border-radius:8px}.fr-table-scroll details pre{max-width:420px;white-space:pre-wrap;overflow-wrap:anywhere}.fr-catalogue-editor{margin:18px 0;padding:16px;border:1px solid #dbe3ee;border-radius:12px}.fr-catalogue-editor form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fr-catalogue-editor textarea,.fr-catalogue-editor .full{grid-column:1/-1}.fr-catalogue-editor :is(input,select,textarea){width:100%;box-sizing:border-box;padding:9px}.fr-catalogue-editor label{display:block}.fr-catalogue-editor textarea{font-family:monospace}.fr-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0}@media(max-width:760px){.fr-grid{grid-template-columns:minmax(0,1fr)}.fr-workflow{width:calc(100% - 20px);margin:20px auto}.fr-workflow #public-quote-form{max-height:76vh}.fr-catalogue-editor form{grid-template-columns:minmax(0,1fr)}}

/* V4.2: the page, rather than the form card, owns vertical scrolling. */
.fr-workflow #public-quote-form{max-height:none;height:auto;overflow:visible;overscroll-behavior:auto}
.fr-workflow .quote-step{min-width:0}
.quote-progress{margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid #dbe3ee}
.quote-progress ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:0;position:relative}
.quote-progress li{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;color:#617286;font-size:.82rem;font-weight:750;letter-spacing:.05em;text-align:center}
.quote-progress li:not(:last-child)::after{content:"";height:2px;position:absolute;left:calc(50% + 18px);right:calc(-50% + 18px);top:16px;background:#dbe3ee;z-index:0}
.quote-progress li[data-complete="true"]:not(:last-child)::after{background:#167a72}
.quote-progress li span{position:relative;z-index:1;width:34px;height:34px;border:2px solid #bdcad7;border-radius:50%;display:grid;place-items:center;background:#fff;color:#52677b}
.quote-progress li[aria-current="step"]{color:#123f63}.quote-progress li[aria-current="step"] span,.quote-progress li[data-complete="true"] span{border-color:#167a72;background:#167a72;color:#fff}
.quote-step>h2{font-size:clamp(1.2rem,3vw,1.55rem);margin:0 0 20px;scroll-margin-top:120px}.quote-step fieldset{padding-bottom:18px}.quote-review-summary{padding:16px 18px;border:1px solid #dbe3ee;border-radius:12px;background:#f7fafc;margin:16px 0}.quote-review-summary dl{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(0,1.5fr);gap:10px 18px;margin:0}.quote-review-summary dt{font-weight:700;color:#52677b}.quote-review-summary dd{margin:0;overflow-wrap:anywhere}.fr-workflow .quote-step .fr-actions{position:static;padding-top:16px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:560px){.quote-progress li{gap:6px;font-size:.68rem}.quote-progress li span{width:30px;height:30px}.quote-progress li:not(:last-child)::after{left:calc(50% + 16px);right:calc(-50% + 16px);top:14px}.quote-review-summary dl{grid-template-columns:1fr;gap:4px}.quote-review-summary dd{margin-bottom:10px}.fr-workflow .fr-actions button{flex:1 1 auto;min-height:46px}}
