.builder-configuring.quote-builder{padding:54px 0 120px;background:#fff}
.builder-configuring .quote-builder-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"configuration" "preview";gap:72px;align-items:start}
.builder-pending .selected-service-overview{display:none}
.builder-configuring #coverage-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 48px;align-items:start}
.builder-configuring #coverage-step>header{grid-column:1/-1}
.builder-configuring #coverage-step>.selected-service-overview{grid-column:1;grid-row:2/span 2;position:sticky;top:105px;width:100%;min-width:0;max-width:100%;overflow:hidden}
.builder-configuring #coverage-step>.coverage-config:not([hidden]){display:contents}
.builder-configuring #coverage-step>.coverage-config:not([hidden])>.config-question{grid-column:1/-1}
.builder-configuring #coverage-step .config-question[data-gate="patrol_service_address"],.builder-configuring #coverage-step .config-question[data-gate="standard_service_address"]{grid-column:2;grid-row:2;width:100%;min-width:0;max-width:100%}
.builder-configuring #coverage-step .config-question[data-gate="patrol_contract"],.builder-configuring #coverage-step .config-question[data-gate="standard_contract"]{grid-column:2;grid-row:3;width:100%;min-width:0;max-width:100%}
.builder-configuring #coverage-step .address-card,.builder-configuring #coverage-step .field{min-width:0;max-width:100%}
.builder-configuring .selected-service-popup{overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.1)}
.builder-configuring .selected-service-popup .service-modal-summary{min-height:0;padding:46px 42px 38px}
.builder-configuring .selected-service-popup .service-modal-kicker{visibility:hidden;margin:0}
.builder-configuring .selected-service-popup .service-modal-summary h2{font-size:clamp(52px,5vw,76px)}
.builder-configuring .selected-service-popup .service-modal-summary>p:not(.service-modal-kicker){margin-top:26px;font-size:17px}
.builder-configuring .selected-service-popup .service-modal-rate{margin-top:38px}
.builder-configuring .selected-service-popup .service-modal-content{padding:0 42px 38px}
.builder-configuring .selected-service-popup .service-modal-footer{grid-template-columns:1fr}
.builder-configuring .selected-service-popup .service-modal-footer div+div{border-top:1px solid #d2d2d7}
.builder-configuring .quote-steps{grid-area:configuration;min-width:0}
.builder-configuring .quote-summary{grid-area:preview;position:static;width:100%}
.builder-configuring .summary-card{display:flex;min-height:0;flex-direction:column;padding:52px 48px 44px;border-radius:30px;background:#f5f5f7;box-shadow:none}
.builder-configuring .summary-kicker{margin:0 0 18px;color:#86868b;font-size:13px;letter-spacing:.08em}
.builder-configuring .summary-service{display:grid;gap:9px;padding:0 0 30px;border:0}
.builder-configuring .summary-service span{color:#86868b;font-size:14px;font-weight:600}
.builder-configuring .summary-service strong{max-width:540px;color:#1d1d1f;font-size:clamp(48px,5vw,76px);font-weight:700;line-height:.92;letter-spacing:-.065em;text-align:left}
.builder-configuring .summary-lines{margin-top:auto;padding-top:28px;border-top:1px solid #d2d2d7}
.builder-configuring .summary-lines>div{padding:12px 0;border-bottom:1px solid #d2d2d7;font-size:15px}
.builder-configuring .summary-price{padding:28px 0 6px}
.builder-configuring .summary-price strong{font-size:42px}
.builder-configuring .summary-disclaimer{max-width:540px;margin:12px 0 0;color:#6e6e73;font-size:13px;line-height:1.5}
.builder-configuring .summary-submit{min-height:52px;margin-top:25px;padding:0 20px}
.builder-configuring .summary-help{margin-top:18px;padding:22px 24px;border-radius:18px;background:#f5f5f7}
.builder-configuring .quote-step{margin:0 0 70px;padding:0;border:0}
.builder-configuring .quote-step>header{display:block;margin:0 0 25px}
.builder-configuring .quote-step>header>span{display:none}
.builder-configuring .quote-step>header p{margin-bottom:8px;color:#86868b;font-size:14px}
.builder-configuring .quote-step>header h2{font-size:clamp(30px,3.2vw,42px);line-height:1.06;letter-spacing:-.04em}
.builder-configuring .change-service{margin-top:15px;padding:0;border:0;background:none;color:#0071e3;font:inherit;font-size:14px;cursor:pointer}
.builder-configuring .coverage-config{gap:14px}
.builder-configuring .config-question{padding:27px 26px;border:2px solid #d2d2d7;border-radius:18px;background:#fff}
.builder-configuring .config-question h3{font-size:20px}
.builder-configuring .segmented{gap:10px}
.builder-configuring .segmented label{flex:1}
.builder-configuring .segmented label span{min-width:64px;height:58px;border-radius:13px}
.builder-configuring .option-stack label{padding:20px;border-radius:14px}
.builder-configuring .field-grid{gap:14px}
.builder-configuring .field{padding:20px;border:2px solid #d2d2d7;border-radius:18px;background:#fff}
.builder-configuring .field input,.builder-configuring .field select,.builder-configuring .field textarea{margin-top:9px;border:0!important;background:#f5f5f7!important}
.builder-configuring .carried-service-address{color:#6e6e73!important;cursor:not-allowed!important}.builder-configuring select.carried-service-address{pointer-events:none}
.builder-configuring .field.full{grid-column:1/-1}
.builder-configuring .quote-step:last-child{margin-bottom:0}
@media(max-width:980px){.builder-configuring .quote-builder-grid{grid-template-columns:1fr;grid-template-areas:"configuration" "preview";gap:58px}.builder-configuring #coverage-step{grid-template-columns:1fr;gap:14px}.builder-configuring #coverage-step>.selected-service-overview,.builder-configuring #coverage-step>.coverage-config:not([hidden])>.config-question{grid-column:1;grid-row:auto;position:static}.builder-configuring .quote-summary{position:static}.builder-configuring .summary-card{min-height:0}.builder-configuring .summary-help{display:none}}
@media(max-width:700px){.builder-configuring.quote-builder{padding:32px 0 80px}.builder-configuring .quote-builder-grid{gap:44px}.builder-configuring .summary-card{min-height:460px;padding:36px 28px 30px;border-radius:24px}.builder-configuring .summary-service strong{font-size:50px}.builder-configuring .quote-step{margin-bottom:54px}.builder-configuring .config-question{padding:22px 18px}.builder-configuring .field{padding:16px}}

/* Sequential plan builder */
.builder-configuring .quote-step{position:relative;transition:opacity .25s ease,transform .25s ease}
.builder-configuring .quote-step.is-locked{opacity:1;pointer-events:none}
.builder-configuring .quote-step.is-locked>header{margin-bottom:0;padding:26px 28px;border:1px solid #e5e5e7;border-radius:20px;background:#f5f5f7}
.builder-configuring .quote-step.is-locked>header p,.builder-configuring .quote-step.is-locked>header h2{color:#86868b}
.builder-configuring .quote-step.is-locked>header h2{font-size:28px}
.builder-configuring .quote-step.is-locked>header~*{display:none}
.step-lock-note{display:none;margin-top:9px;color:#86868b;font-size:14px;line-height:1.4}
.quote-step.is-locked .step-lock-note{display:block}
.builder-configuring .quote-step.is-current:not(.is-locked)>header{padding-top:4px}
.builder-configuring .quote-step.is-complete>header p::after{content:'  ✓ Complete';color:#1d1d1f;font-weight:700}
.builder-configuring .config-question{position:relative;overflow:hidden;transition:opacity .25s ease,border-color .25s ease,background .25s ease}
.builder-configuring .config-question.is-locked{min-height:105px;border-color:#e5e5e7;background:#f5f5f7;opacity:1;pointer-events:none}
.builder-configuring .config-question.is-locked>h3,.builder-configuring .config-question.is-locked>p,.builder-configuring .config-question.is-locked>.segmented,.builder-configuring .config-question.is-locked>.option-stack,.builder-configuring .config-question.is-locked>.field{display:none}
.gate-note{display:none;color:#86868b;font-size:14px;font-weight:650;line-height:1.4}
.config-question.is-locked .gate-note{display:flex;min-height:50px;align-items:center;padding-left:38px}
.config-question.is-locked .gate-note::before{position:absolute;left:26px;width:22px;height:22px;border:2px solid #b8b8bd;border-radius:50%;content:''}
.builder-configuring .field.standalone{padding:0;border:0;border-radius:0}
.builder-configuring .field.standalone input{min-height:58px}
.builder-configuring .summary-submit:disabled{background:#d2d2d7;color:#fff;cursor:not-allowed;opacity:1}
.builder-configuring .summary-submit:disabled span{opacity:.55}
.builder-configuring .quote-step:not(.is-locked){animation:quoteReveal .32s ease both}
@keyframes quoteReveal{from{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){.builder-configuring .quote-step.is-locked>header{padding:22px 20px;border-radius:16px}.builder-configuring .quote-step.is-locked>header h2{font-size:24px}.config-question.is-locked .gate-note{padding-left:34px}.config-question.is-locked .gate-note::before{left:20px}}
@media(prefers-reduced-motion:reduce){.builder-configuring .quote-step,.builder-configuring .config-question{transition:none}.builder-configuring .quote-step:not(.is-locked){animation:none}}
.builder-configuring .term-options,.builder-configuring .schedule-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.builder-configuring .term-options label,.builder-configuring .schedule-options label{margin:0}
.daily-patrol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.daily-patrol-grid label{display:grid;gap:8px;color:#1d1d1f;font-size:14px;font-weight:700}
.daily-patrol-grid select{width:100%;min-height:54px;padding:0 14px;border:1px solid #d2d2d7;border-radius:12px;background:#f5f5f7;color:#1d1d1f;font:inherit}
.daily-patrol-grid label:last-child{grid-column:1/-1}
@media(max-width:700px){.builder-configuring .term-options,.builder-configuring .schedule-options,.daily-patrol-grid{grid-template-columns:1fr}.daily-patrol-grid label:last-child{grid-column:auto}}
.mobile-step-label{display:block;margin-bottom:8px;color:#86868b;font-size:14px;font-weight:700;letter-spacing:.02em}
.weekly-schedule{display:grid;gap:10px;margin-top:22px}
.weekly-schedule>label{display:grid;grid-template-columns:24px minmax(0,1fr) 116px;gap:12px;align-items:center;padding:14px 16px;border:1px solid #d2d2d7;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.weekly-schedule>label.is-selected{border-color:#1d1d1f;background:#f5f5f7}
.weekly-schedule input[type="checkbox"]{width:20px;height:20px;margin:0;accent-color:#1d1d1f}
.weekly-schedule span{font-size:16px;font-weight:700}
.weekly-schedule select{min-height:44px;padding:0 10px;border:1px solid #d2d2d7;border-radius:10px;background:#fff;color:#1d1d1f;font:inherit}
.weekly-schedule select:disabled{background:#f5f5f7;color:#86868b}
.patrol-minimum{margin-top:14px;padding:13px 15px;border-radius:12px;background:#f5f5f7;color:#6e6e73;font-size:14px;font-weight:700}
.patrol-minimum.is-met{background:#edf8f0;color:#176b32}
.same-address{display:flex;align-items:center;gap:10px;margin:4px 0 18px;color:#1d1d1f;font-size:15px;font-weight:700;cursor:pointer}
.same-address input{width:20px;height:20px;margin:0;accent-color:#1d1d1f}
.submission-consent{margin:20px 0 0;color:#6e6e73;font-size:12px;line-height:1.5}
@media(max-width:700px){.weekly-schedule>label{grid-template-columns:22px minmax(0,1fr) 100px;padding:12px}.weekly-schedule span{font-size:15px}}
.coverage-config[hidden]{display:none!important}
.builder-configuring .coverage-config[data-panel="patrol"] .config-question.is-locked{min-height:112px;background:#f5f5f7}
.builder-configuring .coverage-config[data-panel="patrol"] .config-question.is-locked>.mobile-step-label,.builder-configuring .coverage-config[data-panel="patrol"] .config-question.is-locked>h3{display:block;color:#86868b}
.builder-configuring .coverage-config[data-panel="patrol"] .config-question.is-locked>.field-grid,.builder-configuring .coverage-config[data-panel="patrol"] .config-question.is-locked>.weekly-schedule,.builder-configuring .coverage-config[data-panel="patrol"] .config-question.is-locked>.same-address,.builder-configuring .coverage-config[data-panel="patrol"] .config-question.is-locked>.patrol-minimum,.builder-configuring .coverage-config[data-panel="patrol"] .config-question.is-locked>p{display:none}
.builder-configuring .address-card{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 14px;margin-top:20px}
.builder-configuring .address-card .field{grid-column:span 2;padding:0;border:0;border-radius:0;background:transparent}
.builder-configuring .address-card .field.full{grid-column:1/-1}
.builder-configuring .address-card .field input,.builder-configuring .address-card .field select{min-height:54px;border:1px solid #d2d2d7!important;background:#fff!important}
@media(max-width:700px){.builder-configuring .address-card{grid-template-columns:1fr}.builder-configuring .address-card .field,.builder-configuring .address-card .field.full{grid-column:1}}
