@import url('/assets/shared/tokens.css?v=20261004-ds1');
@import url('/assets/shared/motion.css?v=20261004-ds1');
@import url('/assets/shared/buttons.css?v=20261004-ds1');
@import url('/assets/shared/overlays.css?v=20261004-ds1');
@import url('/assets/shared/alerts.css?v=20261004-ds1');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Roboto+Condensed:wght@500;600;700&display=swap');

:root {
  /* Aliased onto shared/tokens.css so onboarding uses the same one cobalt accent and semantic colours as the rest of Handled. */
  --ob-ink: var(--color-primary-ink, #0a0d1b);
  --ob-muted: var(--color-secondary-ink, #4d6080);
  --ob-blue: var(--color-action-cobalt, #3568ee);
  --ob-blue-dark: var(--color-action-cobalt-hover, #2857d8);
  --ob-blue-tint: var(--color-cobalt-soft, #e7edff);
  --ob-mist: var(--color-workspace-mist, #f1f3f6);
  --ob-line: var(--color-divider, #d5dbe5);
  --ob-card: var(--color-surface-paper, #ffffff);
  --ob-navy: var(--color-navigation-navy, #090d1c);
  --ob-green: var(--color-success, #277a58);
  --ob-green-tint: var(--color-success-soft, #e6f4ed);
  --ob-amber: var(--color-warning, #a35b06);
  --ob-amber-tint: var(--color-warning-soft, #fff0d8);
  --ob-red: var(--color-danger, #c9363e);
  --ob-radius: 20px;
  --ob-content: 1120px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--ob-mist); }
body { margin: 0; min-width: 320px; min-height: 100vh; color: var(--ob-ink); background: var(--ob-mist); font-family: Inter, Arial, sans-serif; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
::selection { color: #fff; background: var(--ob-blue); }
:focus-visible { outline: 3px solid rgba(53,104,238,.3); outline-offset: 3px; }

.ob-header { position: sticky; z-index: 20; top: 0; display: grid; grid-template-columns: 210px minmax(420px,760px) 210px; align-items: center; justify-content: space-between; min-height: 84px; padding: 0 34px; background: rgba(241,243,246,.96); border-bottom: 1px solid var(--ob-line); }
.ob-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ob-ink); font-size: 22px; text-decoration: none; }
.ob-brand img { width: 39px; height: 39px; }
.ob-progress { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; width: 100%; }
.ob-progress span { position: relative; display: grid; gap: 5px; color: #8b95a6; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 12px; text-align: center; }
.ob-progress i { display: block; height: 4px; background: #d6dbe4; border-radius: 999px; }
.ob-progress span.is-complete i, .ob-progress span.is-active i { background: var(--ob-blue); }
.ob-progress span.is-active { color: var(--ob-ink); }
.ob-progress span.is-active i::after { position: absolute; top: -2px; left: 50%; width: 8px; height: 8px; content: ""; background: var(--ob-blue); border-radius: 50%; transform: translateX(-50%); }
.ob-saved { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: 0; color: #4e596b; font-size: 11px; opacity: 0; visibility: hidden; transform: translateY(-2px); transition: opacity .18s ease, transform .18s ease, visibility .18s; pointer-events: none; }
.ob-saved.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.ob-saved span { width: 7px; height: 7px; background: var(--ob-green); border-radius: 50%; }

.ob-main { width: min(var(--ob-content), calc(100% - 48px)); margin: 0 auto; padding: 48px 0 96px; }
.ob-main h1 { max-width: 780px; margin: 0 0 12px; font-family: "Roboto Condensed", Inter, sans-serif; font-size: clamp(46px,5vw,58px); font-weight: 700; letter-spacing: -.025em; line-height: .96; text-wrap: balance; }
.ob-main h2, .ob-modal h2 { margin: 0; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 25px; line-height: 1.05; }
.ob-lead { max-width: 670px; margin: 0 0 30px; color: var(--ob-muted); font-size: 15px; line-height: 1.65; }
.ob-time { display: block; margin-top: 11px; font-size: 11px; }
.ob-card { background: var(--ob-card); border: 1px solid var(--ob-line); border-radius: var(--ob-radius); }
.ob-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(290px,1fr); gap: 20px; }
.ob-plan-card { padding: 36px; border: 2px solid var(--ob-blue); }
.ob-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; color: var(--ob-green); background: var(--ob-green-tint); border-radius: 99px; font: 700 11px "Roboto Condensed", Inter, sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.ob-pill::before { width: 6px; height: 6px; content: ""; background: currentColor; border-radius: 50%; }
.ob-price { display: flex; align-items: baseline; gap: 6px; margin: 22px 0 3px; font-family: "Roboto Condensed", Inter, sans-serif; }
.ob-price strong { font-size: 48px; line-height: 1; }
.ob-price span { color: var(--ob-muted); font-size: 13px; }
.ob-plan-card h2 { font-size: 30px; }
.ob-plan-card > p { max-width: 450px; color: var(--ob-muted); font-size: 13px; line-height: 1.6; }
.ob-saving { display: flex; justify-content: space-between; gap: 20px; margin: 20px 0; padding: 14px 16px; color: var(--ob-green); background: var(--ob-green-tint); border-radius: 14px; font-size: 12px; }
.ob-feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 30px; margin: 25px 0; padding: 0; list-style: none; font-size: 12px; font-weight: 600; }
.ob-feature-list li { display: flex; align-items: center; gap: 9px; }
.ob-feature-list svg { width: 16px; height: 16px; flex: 0 0 16px; color: var(--ob-green); stroke-width: 2; }
.ob-side-card { overflow: hidden; background: #e9edf5; }
.ob-side-card .ob-dark-head { padding: 28px 25px; color: #fff; background: var(--ob-navy); }
.ob-side-card > div:not(.ob-dark-head) { padding: 25px; }
.ob-side-card p { color: var(--ob-muted); font-size: 12px; line-height: 1.65; }
.ob-side-card hr { height: 1px; margin: 26px 0; background: var(--ob-line); border: 0; }
.ob-side-card strong { font-size: 13px; }
.ob-side-note { display: flex; align-items: flex-start; gap: 14px; }
.ob-side-note p { margin-top: 7px; }
.ob-arrow > svg, .ob-back > svg { width: 17px; height: 17px; flex: 0 0 17px; stroke-width: 2; }
.ob-note { color: var(--ob-muted); font-size: 11px; }

.ob-form-card { padding: 28px; }
.ob-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 16px; }
.ob-field { display: grid; gap: 8px; min-width: 0; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 13px; font-weight: 700; }
.ob-field input, .ob-field select, .ob-field textarea, .ob-control { width: 100%; min-height: 50px; padding: 0 15px; color: var(--ob-ink); background: #fff; border: 1px solid #c8d1df; border-radius: 15px; }
.ob-field textarea { min-height: 78px; padding-top: 14px; resize: vertical; }
.ob-field input:focus, .ob-field select:focus, .ob-field textarea:focus { border-color: var(--ob-blue); outline: 3px solid rgba(53,104,238,.12); }
.ob-field.is-invalid input { background: #fffafa; border-color: var(--ob-red); }
.ob-error { min-height: 18px; margin: 7px 0 0; color: var(--ob-red); font-size: 11px; }
.ob-error:empty { display: none; }
.ob-success { min-height: 18px; margin: 12px 0 0; color: var(--ob-green); font-size: 11px; }
.ob-password-field > span { position: relative; display: block; }
.ob-password-field input { padding-right: 50px; }
.ob-password-field button { position: absolute; top: 50%; right: 8px; display: grid; width: 36px; height: 36px; place-items: center; color: #69778f; background: transparent; border: 0; border-radius: 9px; transform: translateY(-50%); }
.ob-password-field button svg { width: 19px; height: 19px; }
.ob-password-checklist { display: grid; grid-column: 1/-1; grid-template-columns: 1fr 1fr; gap: 10px 20px; padding: 15px 17px; background: #f6f7f9; border-radius: 14px; color: #69758a; font-size: 11px; }
.ob-password-checklist span { display: flex; align-items: center; gap: 8px; }
.ob-password-checklist svg { width: 16px; height: 16px; padding: 2px; color: #8b95a6; background: #e5e8ee; border-radius: 50%; }
.ob-password-checklist .is-valid { color: var(--ob-green); font-weight: 600; }
.ob-password-checklist .is-valid svg { color: #fff; background: var(--ob-green); }
.ob-existing { margin: 18px 0 0; color: var(--ob-muted); font-size: 12px; text-align: center; }
.ob-existing button { padding: 0; color: var(--ob-blue); background: transparent; border: 0; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ob-check { display: flex; grid-column: 1/-1; align-items: center; gap: 12px; color: var(--ob-muted); font-size: 12px; }
.ob-check input { width: 19px; height: 19px; accent-color: var(--ob-blue); }
.ob-check a { color: var(--ob-blue); }
.ob-account-legal { grid-column: 1/-1; padding-top: 20px; border-top: 1px solid var(--ob-line); }
.ob-account-legal h2 { margin: 0 0 14px; font-size: 20px; }
.ob-account-legal .ob-check { align-items: flex-start; gap: 12px; font-size: 13px; line-height: 1.6; }
.ob-account-legal .ob-check input { flex: 0 0 19px; margin: 1px 0 0; }
.ob-account-legal p { margin: 8px 0 0 31px; color: var(--ob-muted); font-size: 12px; line-height: 1.6; }
.ob-account-legal a { color: var(--ob-blue-dark); text-underline-offset: 3px; }
.ob-account-legal a:hover { text-decoration-thickness: 2px; }
.ob-account-legal .ob-account-cookies { margin-top: 6px; }
.ob-contact-toggle { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; background: var(--ob-blue-tint); border-radius: 14px; }
.ob-contact-toggle strong { display: block; font-size: 13px; }
.ob-contact-toggle small { display: block; margin-top: 5px; color: var(--ob-muted); }
.ob-toggle { position: relative; flex: 0 0 47px; width: 47px; height: 27px; padding: 0; background: #aeb8c8; border: 0; border-radius: 99px; cursor: pointer; transition: background .16s ease; }
.ob-toggle::after { position: absolute; top: 4px; left: 4px; width: 19px; height: 19px; content: ""; background: white; border-radius: 50%; box-shadow: 0 1px 3px rgba(10,13,27,.2); transition: transform .16s ease; }
.ob-toggle.is-on { background: var(--ob-blue); }
.ob-toggle.is-on::after { transform: translateX(20px); }
.ob-toggle:disabled { opacity: .55; cursor: not-allowed; }
.ob-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ob-choice-title { grid-column: 1/-1; margin: -1px 0 -7px; }
.ob-choice-title h2 { font-size: 22px; }
.ob-choice-title p { margin: 7px 0 0; color: var(--ob-muted); font-size: 12px; }
.ob-radio-cards { display: grid; grid-column: 1/-1; grid-template-columns: 1fr 1fr; gap: 16px; }
.ob-radio-card { position: relative; display: flex; min-height: 104px; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 18px; text-align: left; background: #fff; border: 1px solid var(--ob-line); border-radius: 16px; cursor: pointer; }
.ob-radio-card:hover { border-color: #9eacd0; }
.ob-radio-card.is-selected { background: #f1f4ff; border: 2px solid var(--ob-blue); }
.ob-radio-icon { display: grid; width: 24px; height: 24px; place-items: center; color: #345a91; }
.ob-radio-icon svg { display: block; width: 21px; height: 21px; }
.ob-radio-card b { display: block; font: 700 15px "Roboto Condensed", Inter, sans-serif; }
.ob-radio-card .ob-selected-dot { position: absolute; top: 16px; right: 16px; width: 20px; height: 20px; background: var(--ob-blue); border-radius: 50%; }

.ob-search { display: flex; align-items: center; gap: 10px; min-height: 50px; margin: 28px 0 17px; padding: 0 16px; color: var(--ob-muted); background: #fff; border: 1px solid var(--ob-line); border-radius: 15px; }
.ob-search input { flex: 1; border: 0; outline: 0; }
.ob-service-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.ob-service-choice { position: relative; min-height: 103px; padding: 18px 15px; text-align: left; background: #fff; border: 1px solid var(--ob-line); border-radius: 17px; cursor: pointer; }
.ob-service-choice.is-selected { background: #f1f4ff; border: 2px solid var(--ob-blue); }
.ob-service-choice .ob-service-icon { color: #345a91; font-size: 20px; }
.ob-service-choice strong { position: absolute; right: 14px; bottom: 14px; left: 15px; font: 700 15px "Roboto Condensed", Inter, sans-serif; }
.ob-selected-dot { position: absolute; top: 16px; right: 16px; width: 20px; height: 20px; background: var(--ob-blue); border-radius: 50%; }

.ob-summary { overflow: hidden; }
.ob-summary-head { padding: 25px; color: #fff; background: var(--ob-navy); }
.ob-summary-head h2 { font-size: 24px; }
.ob-summary-head p { margin: 7px 0 0; color: #c8d4ec; font-size: 11px; }
.ob-summary-body { padding: 20px; }
.ob-summary-row { display: flex; justify-content: space-between; gap: 15px; padding: 13px 0; color: var(--ob-muted); border-bottom: 1px solid var(--ob-line); font-size: 11px; }
.ob-summary-row:last-child { border-bottom: 0; }
.ob-summary-row b { color: var(--ob-ink); text-align: right; }
.ob-service-list { display: grid; gap: 11px; }
.ob-service-row { display: grid; grid-template-columns: 45px minmax(0,1fr) auto 42px; align-items: center; gap: 13px; padding: 14px; background: #fff; border: 1px solid var(--ob-line); border-radius: 16px; }
.ob-icon-tile { display: grid; width: 45px; height: 45px; place-items: center; color: #365d92; background: #eef5f9; border-radius: 12px; }
.ob-service-row strong { display: block; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 17px; }
.ob-service-row small { display: block; margin-top: 3px; color: var(--ob-muted); font-size: 10px; }
.ob-service-meta { text-align: right; }
.ob-menu { width: 42px; height: 42px; padding: 0; background: #fff; border: 1px solid var(--ob-line); border-radius: 12px; font-size: 20px; }
.ob-add-row { width: 100%; min-height: 57px; color: #315a9b; background: transparent; border: 1px dashed #9eb1d3; border-radius: 14px; font-weight: 700; }

.ob-question-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); overflow: hidden; background: #fff; border: 1px solid var(--ob-line); border-radius: var(--ob-radius); }
.ob-tabs { padding: 18px; background: #f6f7f9; border-right: 1px solid var(--ob-line); }
.ob-tab { display: flex; width: 100%; align-items: center; gap: 10px; margin-bottom: 8px; padding: 12px; text-align: left; background: transparent; border: 1px solid transparent; border-radius: 12px; }
.ob-tab.is-active { background: #fff; border-color: var(--ob-blue); }
.ob-tab strong { display: block; font-size: 12px; }
.ob-tab small { color: var(--ob-muted); font-size: 9px; }
.ob-question-panel { padding: 26px; }
.ob-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.ob-panel-head p { margin: 5px 0 0; color: var(--ob-muted); font-size: 11px; }
.ob-question-list { display: grid; gap: 10px; }
.ob-question { display: grid; grid-template-columns: 25px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--ob-line); border-radius: 14px; }
.ob-question strong { display: block; font-size: 12px; }
.ob-question small { color: var(--ob-muted); font-size: 9px; }
.ob-actions-mini { display: flex; gap: 7px; }
.ob-icon-btn { display: grid; width: 34px; height: 34px; place-items: center; color: var(--ob-muted); background: transparent; border: 0; border-radius: 8px; }

.ob-pricing-list { padding: 27px; }
.ob-money-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 55px; border-bottom: 1px solid var(--ob-line); font: 700 14px "Roboto Condensed", Inter, sans-serif; }
.ob-money { display: flex; align-items: center; gap: 8px; }
.ob-money input { width: 75px; height: 38px; text-align: right; border: 1px solid #c8d1df; border-radius: 11px; font-weight: 700; }
.ob-stripe { display: flex; align-items: center; gap: 16px; margin: 20px 0; padding: 18px; background: #f0ecff; border-radius: 14px; }
.ob-stripe-mark { color: #6557ff; font-size: 23px; font-weight: 800; }
.ob-stripe strong { display: block; font-size: 12px; }
.ob-stripe small { display: block; margin-top: 5px; color: var(--ob-muted); }
.ob-promotion { display: grid; gap: 8px; margin-top: 18px; font-size: 12px; font-weight: 700; }
.ob-promotion small { margin-left: 5px; color: var(--ob-muted); font-weight: 500; }
.ob-promotion input { min-height: 50px; padding: 0 15px; border: 1px solid #c8d1df; border-radius: 15px; text-transform: uppercase; }

.ob-confirm-card { padding: 28px; text-align: center; }
.ob-confirm-card > p { color: var(--ob-muted); font-size: 12px; line-height: 1.6; }
.ob-confirm-actions { display: flex; justify-content: center; gap: 10px; margin-top: 22px; }
.ob-check-tile { display: grid; width: 72px; height: 72px; margin: 0 auto 22px; place-items: center; color: var(--ob-green); background: var(--ob-green-tint); border-radius: 20px; font-size: 36px; }
.ob-option-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ob-option-card { padding: 25px; }
.ob-option-card h2 { margin: 15px 0 8px; }
.ob-option-card p { min-height: 55px; color: var(--ob-muted); font-size: 12px; line-height: 1.6; }
.ob-upload { padding: 28px; }
.ob-drop { display: grid; min-height: 255px; place-items: center; padding: 30px; text-align: center; border: 1px dashed #93a9ca; border-radius: 18px; }
.ob-drop h2 { margin: 14px 0 5px; }
.ob-drop p { margin: 0 0 16px; color: var(--ob-muted); font-size: 12px; }
.ob-file-input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.ob-file-banner { margin-bottom: 20px; padding: 16px; background: var(--ob-blue-tint); border-radius: 14px; color: #315a9b; font-size: 11px; }
.ob-map-row { display: grid; grid-template-columns: 1fr 1.5fr .65fr; align-items: center; gap: 20px; padding: 13px 10px; border-bottom: 1px solid var(--ob-line); font-size: 12px; }
.ob-map-row select { min-height: 42px; padding: 0 12px; border: 1px solid #c8d1df; border-radius: 12px; }
.ob-review-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding-bottom: 25px; border-bottom: 1px solid var(--ob-line); }
.ob-review-stats h2 { margin-top: 10px; }
.ob-attention { display: grid; gap: 11px; padding: 24px; }
.ob-attention-row { display: flex; align-items: center; gap: 15px; padding: 13px; border: 1px solid var(--ob-line); border-radius: 14px; font-size: 12px; }
.ob-ready { max-width: 650px; margin: 0 auto; text-align: center; }
.ob-ready .ob-card { margin-top: 23px; padding: 28px; text-align: left; }

.ob-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 28px; }
.ob-footer-left, .ob-footer-right { display: flex; align-items: center; gap: 16px; }
.ob-back, .ob-skip { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; color: #55647b; background: transparent; border: 0; font-size: 12px; font-weight: 700; cursor: pointer; }

.ob-modal-root { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 24px; background: var(--overlay-backdrop, rgba(8,13,23,.42)); }
.ob-modal-root[hidden] { display: none; }
.ob-modal { width: min(620px,100%); max-height: calc(100vh - 48px); overflow: auto; background: #fff; border-radius: 22px; box-shadow: 0 24px 70px rgba(4,8,18,.28); }
@supports (transition-behavior: allow-discrete) {
  .ob-modal-root {
    opacity: 1;
    transition: opacity var(--motion-surface, .22s) ease, overlay var(--motion-surface, .22s) allow-discrete, display var(--motion-surface, .22s) allow-discrete;
  }
  .ob-modal-root[hidden] { opacity: 0; }
  @starting-style { .ob-modal-root:not([hidden]) { opacity: 0; } }
  .ob-modal { transition: opacity var(--motion-surface, .22s) ease, transform var(--motion-surface, .22s) ease; }
  @starting-style { .ob-modal-root:not([hidden]) .ob-modal { opacity: 0; transform: translateY(10px) scale(.98); } }
}
.ob-modal-head, .ob-modal-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 22px; border-bottom: 1px solid var(--ob-line); }
.ob-modal-body { display: grid; gap: 17px; padding: 22px; }
.ob-modal-foot { justify-content: flex-end; border-top: 1px solid var(--ob-line); border-bottom: 0; }
.ob-quote-result { padding: 20px; color: #fff; background: var(--ob-navy); border-radius: 16px; }
.ob-quote-result small { color: #c9d4e8; }
.ob-quote-result strong { display: block; margin: 8px 0; font: 700 38px "Roboto Condensed", Inter, sans-serif; }



/* Finish and data import */
.ob-finish-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr); gap:18px; align-items:stretch; }
.ob-payment-success { padding:34px; text-align:left; }
.ob-payment-success .ob-check-tile { margin:0 0 24px; }
.ob-payment-success.is-checking .ob-check-tile { color:var(--ob-blue); background:var(--ob-blue-tint); }
.ob-payment-success h2 { margin:8px 0 9px; font-size:28px; }
.ob-payment-success > div > p { max-width:620px; margin:0; color:var(--ob-muted); font-size:13px; line-height:1.65; }
.ob-finish-kicker { display:inline-flex; align-items:center; gap:7px; color:var(--ob-blue); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ob-payment-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:28px 0 24px; }
.ob-payment-meta > span { padding:15px 16px; background:#f7f9fd; border:1px solid var(--ob-line); border-radius:14px; }
.ob-payment-meta small,.ob-payment-meta b { display:block; }
.ob-payment-meta small { margin-bottom:5px; color:var(--ob-muted); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.ob-payment-meta b { font-size:12px; }
.ob-payment-success .ob-btn { min-width:190px; justify-content:center; }
.ob-finish-note { display:flex; flex-direction:column; justify-content:center; padding:30px; background:linear-gradient(150deg,#f8faff,#eef3ff); }
.ob-finish-note .ob-icon-tile { margin-bottom:20px; }
.ob-finish-note h3 { margin:0 0 9px; font-size:18px; }
.ob-finish-note p { margin:0; color:var(--ob-muted); font-size:12px; line-height:1.65; }
.ob-import-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:26px 28px; margin-bottom:18px; background:linear-gradient(135deg,#fff,#f5f7ff); }
.ob-import-hero h2 { margin:6px 0 7px; font-size:22px; }
.ob-import-hero p { max-width:720px; margin:0; color:var(--ob-muted); font-size:12px; line-height:1.6; }
.ob-import-hero .ob-btn { flex:0 0 auto; white-space:nowrap; }
.ob-import-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ob-export-help { margin-bottom: 18px; min-width: 0; }
.ob-export-summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; cursor: pointer; list-style: none; }
.ob-export-summary::-webkit-details-marker { display: none; }
.ob-export-summary-copy { display: grid; gap: 6px; min-width: 0; }
.ob-export-summary-copy strong { font: 700 22px/1.2 "Roboto Condensed", Inter, sans-serif; }
.ob-export-summary-copy > span { color: var(--ob-muted); font-size: 13px; line-height: 1.6; }
.ob-export-action { display: flex; align-items: center; gap: 8px; flex-shrink: 0; color: var(--ob-blue-dark); font-size: 13px; font-weight: 600; }
.ob-export-action svg, .ob-export-footer svg { width: 20px; height: 20px; flex: 0 0 20px; }
.ob-export-help .ob-export-expanded-copy, .ob-export-help[open] .ob-export-collapsed-copy { display: none; }
.ob-export-help[open] .ob-export-expanded-copy { display: inline; }
.ob-export-help[open] .ob-export-action svg { transform: rotate(180deg); }
.ob-export-summary:hover { background: var(--ob-mist); border-radius: var(--ob-radius); }
.ob-export-summary:focus-visible, .ob-export-footer a:focus-visible, #ob-import-choices:focus-visible { outline: 2px solid var(--ob-blue); outline-offset: 3px; }
.ob-export-body { padding: 0 28px 26px; border-top: 1px solid var(--ob-line); overflow-wrap: anywhere; }
.ob-export-body p, .ob-export-body li, .ob-export-body dd { color: var(--ob-muted); font-size: 13px; line-height: 1.7; }
.ob-export-body > p:first-child { margin-top: 22px; }
.ob-export-body p { max-width: 75ch; margin: 10px 0; }
.ob-export-platform { max-width: 420px; margin: 22px 0 26px; }
.ob-export-platforms { display: flex; align-items: flex-end; gap: 24px; margin: 24px 0 28px; }
.ob-export-platforms .ob-export-platform { flex: 1; max-width: 300px; margin: 0; }
.ob-export-squeegee { min-height: 50px; }
.ob-export-squeegee[aria-pressed="false"] { background: var(--ob-card); color: var(--ob-ink); border-color: var(--ob-line); }
.ob-import-complete { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 32px; padding: 36px; border: 2px solid var(--ob-blue); }
.ob-import-complete h2 { font-size: 34px; }
.ob-import-complete p { max-width: 65ch; color: var(--ob-muted); font-size: 14px; line-height: 1.7; margin: 12px 0 0; }
.ob-import-complete .ob-import-complete-help { font-size: 12px; }
.ob-import-complete-button { flex: 0 0 auto; min-height: 60px; padding-inline: 28px; font-size: 17px; gap: 10px; }
.ob-import-complete-button svg { width: 22px; height: 22px; }
.ob-main .ob-import-individual-title { margin: 0 0 16px; font-size: 20px; }
.ob-export-platform select { min-width: 0; font-family: Inter, Arial, sans-serif; font-size: 14px; }
.ob-export-instructions h3 { margin: 0 0 16px; font: 700 22px/1.2 "Roboto Condensed", Inter, sans-serif; }
.ob-export-instructions h4 { margin: 0 0 8px; font: 700 17px/1.3 "Roboto Condensed", Inter, sans-serif; }
.ob-export-section { margin: 22px 0; }
.ob-export-instructions ol { max-width: 75ch; margin: 10px 0; padding-left: 24px; }
.ob-export-instructions li { padding-left: 4px; margin: 5px 0; }
.ob-export-datasets, .ob-export-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; max-width: 850px; }
.ob-export-datasets .ob-export-section { margin: 12px 0 0; }
.ob-export-body .ob-export-note { font-size: 12px; }
.ob-export-body a:not(.ob-btn) { color: var(--ob-blue-dark); text-underline-offset: 3px; }
.ob-export-body .ob-export-sources { margin-top: 20px; font-size: 12px; }
.ob-export-instructions .ob-export-checklist-title { margin-top: 28px; }
.ob-export-checklist { margin: 18px 0; }
.ob-export-checklist dt { font-weight: 700; font-size: 14px; }
.ob-export-checklist dd { margin: 6px 0 0; }
.ob-export-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--ob-line); }
.ob-export-footer .ob-btn { gap: 8px; flex-shrink: 0; text-decoration: none; }
#ob-import-choices { scroll-margin-top: 110px; }
@media (max-width: 760px) {
  .ob-export-summary { align-items: flex-start; flex-direction: column; gap: 14px; padding: 20px; }
  .ob-export-action { width: 100%; justify-content: space-between; }
  .ob-export-body { padding: 0 20px 20px; }
  .ob-export-platform { max-width: none; }
  .ob-export-platforms { flex-direction: column; align-items: stretch; gap: 18px; }
  .ob-export-platforms .ob-export-platform { max-width: none; }
  .ob-import-complete { flex-direction: column; align-items: stretch; gap: 24px; padding: 24px 20px; }
  .ob-import-complete h2 { font-size: 30px; }
  .ob-import-complete-button { width: 100%; justify-content: center; }
  .ob-export-datasets, .ob-export-checklist { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .ob-export-footer { flex-direction: column; align-items: stretch; gap: 12px; }
  .ob-export-footer .ob-btn { width: 100%; justify-content: center; }
}
.ob-import-card { display:flex; min-height:275px; flex-direction:column; padding:22px; }
.ob-import-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.ob-import-card h2 { margin:18px 0 8px; font-size:19px; }
.ob-import-card p { flex:1; margin:0 0 20px; color:var(--ob-muted); font-size:11px; line-height:1.65; }
.ob-import-card .ob-btn { width:100%; justify-content:center; }
.ob-import-card.is-future { background:#fafbfe; }
.ob-import-card.is-future .ob-icon-tile { color:#78869d; background:#eef1f6; }
.ob-import-card.is-future .ob-btn[disabled] { opacity:.7; cursor:default; }
.ob-status-badge { display:inline-flex; min-height:24px; align-items:center; padding:0 9px; color:#66748a; background:#edf0f5; border-radius:999px; font-size:8px; font-weight:800; white-space:nowrap; text-transform:uppercase; letter-spacing:.05em; }
.ob-status-badge.is-live { color:#247448; background:#eaf7ef; }

@media (max-width: 760px) {
  .ob-finish-layout, .ob-import-grid { grid-template-columns: 1fr; }
  .ob-import-hero { align-items: stretch; flex-direction: column; }
  .ob-import-hero .ob-btn { width:100%; justify-content:center; }
  .ob-payment-meta { grid-template-columns: 1fr; }
  .ob-payment-success, .ob-finish-note { padding:24px; }
  .ob-import-card { min-height:0; }
  .ob-header { min-height: 70px; grid-template-columns: 1fr auto; padding: 0 16px 16px; }
  .ob-brand { font-size: 20px; }
  .ob-brand img { width: 36px; height: 36px; }
  .ob-saved { font-size: 9px; }
  .ob-progress { grid-column: 1/-1; gap: 8px; margin-top: 10px; }
  .ob-progress b { display: none; }
  .ob-progress i { height: 3px; }
  .ob-progress span.is-active i::after { display: none; }
  .ob-main { width: 100%; padding: 29px 16px 110px; }
  .ob-main h1 { font-size: 35px; line-height: 1; }
  .ob-lead { margin-bottom: 23px; font-size: 13px; line-height: 1.65; }
  .ob-grid, .ob-form-grid, .ob-option-grid { grid-template-columns: 1fr; }
  .ob-plan-card, .ob-form-card, .ob-option-card { padding: 24px; }
  .ob-side-card:not(.ob-mobile-priority) { display: none; }
  .ob-feature-list { grid-template-columns: 1fr; }
  .ob-saving { display: grid; }
  .ob-form-grid { gap: 18px; }
  .ob-password-checklist { grid-template-columns: 1fr; }
  .ob-contact-toggle, .ob-choice-title, .ob-radio-cards, .ob-check { grid-column: 1; }
  .ob-radio-cards { grid-template-columns: 1fr 1fr; }
  .ob-service-grid { grid-template-columns: 1fr 1fr; }
  .ob-service-choice { min-height: 103px; }
  .ob-service-row { grid-template-columns: 45px minmax(0,1fr) 42px; }
  .ob-service-meta { display: none; }
  .ob-service-layout { display: flex; flex-direction: column; }
  .ob-service-layout .ob-summary { order: -1; }
  .ob-question-layout { grid-template-columns: 1fr; overflow: visible; }
  .ob-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 12px; border-right: 0; border-bottom: 1px solid var(--ob-line); scrollbar-width: thin; }
  .ob-tab { min-width: 142px; margin: 0; }
  .ob-question-panel { padding: 18px; }
  .ob-panel-head { display: grid; }
  .ob-panel-head .ob-btn { width: 100%; }
  .ob-question { grid-template-columns: 18px minmax(0,1fr); }
  .ob-actions-mini { grid-column: 2; }
  .ob-pricing-layout { display: flex; flex-direction: column; }
  .ob-pricing-layout .ob-summary { order: -1; }
  .ob-map-row { grid-template-columns: 1fr; gap: 7px; padding: 15px 0; }
  .ob-review-stats { grid-template-columns: 1fr; }
  .ob-option-card p { min-height: 0; }
  .ob-confirm-actions { display: grid; }
  .ob-footer { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; min-height: 76px; margin: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: var(--ob-mist); border: 0; }
  .ob-footer .ob-btn { min-width: 150px; }
  .ob-footer-left { gap: 5px; }
  .ob-modal-root { align-items: end; padding: 0; }
  .ob-modal { width: 100%; max-height: calc(100vh - 28px); border-radius: 24px 24px 0 0; }
  .ob-modal-foot { position: sticky; bottom: 0; background: #fff; }
  .ob-modal-foot .ob-btn { flex: 1; }
}

/* Phase 2 visual acceptance - forms */
.ob-field input, .ob-field select, .ob-field textarea, .ob-control, .ob-promotion input, .ob-money input {
  font-family: Inter, Arial, sans-serif; font-weight: 400; letter-spacing: 0;
}
.ob-field input::placeholder, .ob-field textarea::placeholder, .ob-promotion input::placeholder { color: #98a2b3; opacity: 1; font-weight: 400; }
.ob-modal-root { backdrop-filter: blur(3px); background: rgba(10, 15, 28, .46); }
.ob-modal { width: min(560px, 100%); border: 1px solid #d7dde7; border-radius: 20px; box-shadow: 0 28px 80px rgba(10,18,35,.22); }
.ob-modal-head { padding: 24px 26px 20px; }
.ob-modal-body { gap: 18px; padding: 24px 26px 28px; }
.ob-modal-foot { padding: 18px 26px 22px; background: #fbfcfe; border-radius: 0 0 20px 20px; }
.ob-modal .ob-field input, .ob-modal .ob-field select { min-height: 54px; }
.ob-modal .ob-btn { min-height: 48px; }
.ob-error { padding: 0; line-height: 1.45; }
.ob-error:not(:empty) { padding: 11px 13px; background: #fff1f2; border: 1px solid #ffd4d8; border-radius: 11px; }
.ob-close svg { width:22px; height:22px; }
.ob-question-copy { min-width:0; }
.ob-question-copy b { display:block; }
.ob-question-copy small { display:block; margin-top:5px; line-height:1.35; }
.ob-build-own { display:flex; flex-direction:column; justify-content:space-between; }
.ob-build-own > b { font-size:26px; font-weight:400; }
.ob-icon-picker { display:grid; gap:10px; }
.ob-icon-picker > p { margin:0; color:var(--ob-muted); font-size:11px; }
.ob-field-label { font-family:"Roboto Condensed",Inter,sans-serif; font-size:13px; font-weight:700; }
.ob-icon-options { display:grid; grid-template-columns:repeat(6,1fr); gap:9px; }
.ob-icon-choice { display:grid; min-height:58px; place-items:center; color:#365d92; background:#f7f9fc; border:1px solid var(--ob-line); border-radius:12px; cursor:pointer; }
.ob-icon-choice svg { width:26px; height:26px; }
.ob-icon-choice.is-selected { color:var(--ob-blue); background:#eef2ff; border:2px solid var(--ob-blue); }
.ob-editor-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ob-question-type select { min-height:46px !important; border-radius:12px !important; }
.ob-option-editor { display:grid; gap:11px; }
.ob-option-edit-row { display:grid; grid-template-columns:22px minmax(0,1fr) 150px; align-items:end; gap:12px; padding:14px; border:1px solid var(--ob-line); border-radius:14px; }
.ob-option-edit-row .ob-field input { min-height:46px; }
.ob-add-option { min-height:44px; color:#315a9b; background:#fff; border:1px dashed #9eb1d3; border-radius:12px; font-weight:700; cursor:pointer; }
.ob-question-hint { padding:15px; color:var(--ob-muted); background:#f6f8fb; border-radius:12px; font-size:12px; line-height:1.5; }
.ob-modal-sub { margin:5px 0 0; color:var(--ob-muted); font-size:11px; }
.ob-test-quote { grid-template-columns:minmax(0,1fr) 190px; align-items:start; }
.ob-test-service-picker, .ob-test-builder { grid-column:1; }
.ob-test-service-picker > p { margin:0 0 10px; font-weight:700; }
.ob-test-service-picker > div { display:flex; flex-wrap:wrap; gap:8px; }
.ob-test-service { display:flex; align-items:center; gap:9px; padding:10px 12px; text-align:left; background:#fff; border:1px solid var(--ob-line); border-radius:12px; cursor:pointer; }
.ob-test-service svg { width:22px; height:22px; color:#365d92; }
.ob-test-service span,.ob-test-service small { display:block; }
.ob-test-service small { margin-top:2px; color:var(--ob-muted); font-size:9px; }
.ob-test-service.is-selected { background:#eef2ff; border:2px solid var(--ob-blue); }
.ob-test-builder { display:grid; gap:14px; margin-top:6px; }
.ob-test-service-questions { display:grid; gap:10px; padding-top:8px; border-top:1px solid var(--ob-line); }
.ob-test-service-questions h3 { margin:0; font-size:14px; }
.ob-test-question { margin:0; padding:0; border:0; }
.ob-test-question legend { margin-bottom:7px; font-size:12px; font-weight:700; }
.ob-test-options { display:flex; flex-wrap:wrap; gap:7px; }
.ob-test-options label { cursor:pointer; }
.ob-test-options input { position:absolute; opacity:0; pointer-events:none; }
.ob-test-options span { display:block; padding:9px 11px; background:#fff; border:1px solid var(--ob-line); border-radius:10px; font-size:11px; }
.ob-test-options input:checked + span { color:#234fba; background:#eef2ff; border-color:var(--ob-blue); }
.ob-test-options small { color:var(--ob-green); }
.ob-live-price { position:sticky; top:0; grid-column:2; grid-row:1 / span 3; padding:18px; color:#fff; background:var(--ob-navy); border-radius:15px; }
.ob-live-price span,.ob-live-price small { display:block; color:#c9d4e8; font-size:10px; }
.ob-live-price strong { display:block; margin:8px 0; font:700 32px "Roboto Condensed",Inter,sans-serif; }
.ob-test-upload { display:grid; gap:5px; color:var(--ob-ink); font-size:12px; font-weight:700; }
.ob-test-upload small { color:var(--ob-muted); font-weight:400; }
.ob-stripe { padding:16px 18px; }
@media (min-width:761px){.ob-modal:has(.ob-test-quote){width:min(860px,calc(100vw - 48px));}}
@media (max-width:760px){.ob-editor-two{grid-template-columns:1fr}.ob-icon-options{grid-template-columns:repeat(3,1fr)}.ob-option-edit-row{grid-template-columns:20px 1fr}.ob-option-edit-row .ob-field:last-child{grid-column:2}.ob-test-quote{grid-template-columns:1fr}.ob-test-service-picker,.ob-test-builder,.ob-live-price{grid-column:1}.ob-live-price{position:static;grid-row:auto;order:-1}.ob-question-copy small{margin-top:4px}}

/* Explicit SVG sizing: inline SVGs otherwise use the browser's large intrinsic size. */
.ob-search > svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: block;
  stroke-width: 2;
}
.ob-service-choice .ob-service-icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
}
.ob-service-choice .ob-service-icon svg {
  display: block;
  width: 30px;
  height: 30px;
  max-width: 30px;
  max-height: 30px;
  flex: 0 0 30px;
  stroke-width: 1.8;
}

/* Compact horizontal business-type cards */
.ob-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ob-service-choice {
  display: flex;
  min-height: 82px;
  align-items: center;
  gap: 15px;
  padding: 13px 16px;
  text-align: left;
}
.ob-service-choice .ob-choice-logo {
  display: grid;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  place-items: center;
  color: #345a91;
  background: #eef3fb;
  border-radius: 13px;
}
.ob-service-choice .ob-choice-logo svg { width: 30px; height: 30px; max-width: 30px; max-height: 30px; display:block; }
.ob-service-choice .ob-choice-copy { display: grid; min-width: 0; gap: 4px; padding-right: 20px; }
.ob-service-choice .ob-choice-copy strong { position: static; font: 700 15px "Roboto Condensed", Inter, sans-serif; line-height: 1.15; }
.ob-service-choice .ob-choice-copy small { color: var(--ob-muted); font-size: 11px; line-height: 1.35; }
.ob-service-choice.is-selected .ob-choice-logo { background: #dfe8ff; }
.ob-build-own { flex-direction: row; justify-content: flex-start; }
.ob-choice-plus { font-size: 25px; font-weight: 400; }
@media (max-width: 700px) {
  .ob-service-grid { grid-template-columns: 1fr; }
  .ob-service-choice { min-height: 76px; padding: 12px 14px; }
  .ob-service-choice .ob-choice-logo { width: 46px; height: 46px; flex-basis: 46px; }
}

/* Tabler service icon catalogue */
.ob-tabler-icon{display:block;width:100%;height:100%;object-fit:contain}
.ob-service-choice .ob-selected-dot{top:50%;right:16px;display:grid;width:28px;height:28px;place-items:center;transform:translateY(-50%);color:#fff;background:var(--ob-blue);border-radius:50%;box-shadow:0 0 0 4px rgba(64,103,235,.10)}
.ob-service-choice .ob-selected-dot svg{width:16px;height:16px;stroke-width:2.8}
.ob-service-choice.is-selected .ob-choice-copy{padding-right:42px}
.ob-icon-current{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 12px;text-align:left;background:#fff;border:1px solid var(--ob-line);border-radius:13px;cursor:pointer}
.ob-icon-current>span:first-child{display:grid;width:48px;height:48px;padding:10px;place-items:center;color:#345a91;background:#eef5f9;border-radius:11px}
.ob-icon-current b,.ob-icon-current small{display:block}.ob-icon-current small{margin-top:3px;color:var(--ob-muted);text-transform:capitalize}.ob-icon-change{color:var(--ob-blue);font-weight:700;font-size:12px}
.ob-icon-library{display:grid;gap:14px}.ob-icon-library .ob-search{margin:0}.ob-icon-library-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-height:500px;overflow:auto;padding:2px}
.ob-library-icon{position:relative;display:grid;min-height:92px;place-items:center;align-content:center;gap:7px;padding:10px 6px;color:#345a91;background:#fff;border:1px solid var(--ob-line);border-radius:12px;cursor:pointer}
.ob-library-icon:hover{background:#f7f9ff;border-color:#9db1ed}.ob-library-icon.is-selected{background:#eef2ff;border:2px solid var(--ob-blue)}
.ob-library-icon>.ob-tabler-icon{width:30px;height:30px}.ob-library-icon small{max-width:100%;overflow:hidden;color:var(--ob-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}
.ob-library-icon i{position:absolute;top:6px;right:6px;display:grid;width:18px;height:18px;place-items:center;color:#fff;background:var(--ob-blue);border-radius:50%}.ob-library-icon i svg{width:11px;height:11px;stroke-width:2.8}.ob-icon-empty{margin:0;padding:22px;text-align:center;color:var(--ob-muted)}
@media(max-width:760px){.ob-icon-library-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:55vh}.ob-library-icon{min-height:82px}.ob-icon-current{grid-template-columns:44px minmax(0,1fr) auto}.ob-icon-current>span:first-child{width:44px;height:44px}}

/* Compact service actions */
.ob-menu{display:grid;width:34px;height:34px;place-items:center;padding:0;background:#fff;border:1px solid var(--ob-line);border-radius:10px;color:#0b1020;cursor:pointer}
.ob-menu svg{width:18px;height:18px}.ob-menu:hover{background:#f5f7fb;border-color:#bcc7d8}
.ob-service-actions{position:fixed;z-index:90;width:178px;padding:6px;background:#fff;border:1px solid #d7dde7;border-radius:12px;box-shadow:0 14px 40px rgba(10,18,35,.16)}
.ob-service-actions button{display:flex;width:100%;align-items:center;gap:9px;padding:9px 10px;text-align:left;background:transparent;border:0;border-radius:8px;color:#111827;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.ob-service-actions button:hover{background:#f4f6fa}.ob-service-actions button svg{width:17px;height:17px}.ob-service-actions .is-danger{color:#c93636}.ob-service-actions .is-danger:hover{background:#fff0f0}.ob-remove-copy{margin:0;color:var(--ob-muted);font-size:13px;line-height:1.55}
/* Quote builder refinements */
.ob-tab-copy{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;gap:4px}
.ob-tab-copy b{display:block;max-width:100%;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.ob-tab-copy small{display:block!important;margin:0;color:var(--ob-muted);font-size:9px;line-height:1.2}
.ob-option-edit-row{grid-template-columns:22px minmax(0,1fr) 120px 120px}
.ob-test-upload input[type=text],.ob-test-upload input[type=number],.ob-test-upload input[type=date],.ob-test-upload textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--ob-line);border-radius:10px;font:inherit}
@media(max-width:720px){.ob-option-edit-row{grid-template-columns:22px 1fr}.ob-option-edit-row .ob-field{grid-column:2}}
/* Quote tester - wide customer journey with full-height summary rail */
.ob-test-quote{display:grid;grid-template-columns:minmax(0,1fr) 270px!important;gap:0!important;padding:0!important;align-items:stretch!important;min-height:560px}
.ob-test-main{grid-column:1;padding:28px 30px;min-width:0}
.ob-test-service-picker,.ob-test-builder{grid-column:auto!important}
.ob-test-service-picker>div{gap:10px!important}
.ob-test-service{min-width:170px;padding:10px 12px!important}
.ob-test-service svg{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;max-height:28px!important;flex:0 0 28px!important}
.ob-test-builder{margin-top:24px!important}
.ob-test-empty{display:flex;min-height:230px;align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center;color:var(--ob-muted);border-top:1px solid var(--ob-line)}
.ob-test-empty strong{color:var(--ob-ink);font-size:16px}.ob-test-empty span{font-size:12px}
.ob-live-price{position:relative!important;top:auto!important;grid-column:2!important;grid-row:1!important;display:flex;flex-direction:column;justify-content:flex-start;gap:30px;padding:34px 28px!important;border-radius:0!important;background:var(--ob-navy);min-height:100%;box-sizing:border-box}
.ob-live-price>div{padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.14)}
.ob-live-price span{font-size:11px!important}.ob-live-price strong{margin:8px 0 2px!important;font-size:36px!important}.ob-live-price .ob-live-label{color:#fff!important;font-size:11px!important;font-weight:600}.ob-live-price p{margin:0;color:#aebbd0;font-size:10px;line-height:1.5}
.ob-live-duration strong{font-size:28px!important}
@media (min-width:761px){.ob-modal:has(.ob-test-quote){width:min(1120px,calc(100vw - 48px))!important;max-height:min(820px,calc(100vh - 40px))}.ob-modal:has(.ob-test-quote) .ob-modal-body{overflow:auto}}
@media (max-width:760px){.ob-test-quote{display:flex!important;flex-direction:column;min-height:0}.ob-test-main{padding:20px 16px}.ob-test-service-picker>div{display:grid!important;grid-template-columns:1fr}.ob-test-service{width:100%;min-width:0}.ob-live-price{order:2!important;width:100%;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px 18px!important}.ob-live-price>div{padding:0 0 16px}.ob-live-price p{grid-column:1/-1}.ob-live-price strong{font-size:28px!important}.ob-live-duration strong{font-size:22px!important}}

/* Quote builder interaction + visual balance */
.ob-tab { cursor: grab; }
.ob-tab:active, .ob-question:active { cursor: grabbing; }
.ob-tab.is-dragging, .ob-question.is-dragging { opacity: .45; transform: scale(.99); }
.ob-tab.is-drop-target, .ob-question.is-drop-target { outline: 2px solid var(--ob-blue); outline-offset: 2px; }
.ob-drag { cursor: grab; touch-action: none; }
.ob-question { min-height: 92px; padding: 18px 16px; }
.ob-question strong, .ob-question-copy b { font-size: 16px; line-height: 1.25; }
.ob-question small, .ob-question-copy small { font-size: 11px; }

/* Quote tester: compact services, readable questions, hard SVG constraints */
.ob-test-service-picker > p { margin: 0 0 10px; font-size: 14px; font-weight: 700; }
.ob-test-service { min-height: 66px; max-width: 245px; padding: 10px 13px; }
.ob-test-service > svg { width: 28px !important; height: 28px !important; max-width: 28px !important; max-height: 28px !important; flex: 0 0 28px !important; display: block; }
.ob-test-service > span { font-size: 13px; line-height: 1.15; }
.ob-test-service small { font-size: 10px; }
.ob-test-builder { gap: 22px; }
.ob-test-service-questions { gap: 16px; padding-top: 18px; }
.ob-test-service-questions h3 { font-size: 18px; }
.ob-test-question legend, .ob-test-question-title { margin-bottom: 9px; font-size: 14px; font-weight: 700; }
.ob-test-options span { padding: 10px 13px; font-size: 13px; }
.ob-test-upload { gap: 7px; font-size: 14px; }
.ob-test-upload input[type="number"], .ob-test-upload input[type="text"], .ob-test-upload input[type="date"], .ob-test-upload textarea { min-height: 46px; padding: 10px 12px; border: 1px solid var(--ob-line); border-radius: 11px; font: inherit; }
.ob-photo-drop { display:flex; min-height:92px; align-items:center; gap:14px; padding:16px; background:#f8faff; border:1px dashed #9eb1d3; border-radius:14px; cursor:pointer; }
.ob-photo-drop:hover { background:#f1f5ff; border-color:var(--ob-blue); }
.ob-photo-drop input { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.ob-photo-icon { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; color:#315a9b; background:#eaf0ff; border-radius:11px; }
.ob-photo-icon svg { width:22px; height:22px; }
.ob-photo-drop b, .ob-photo-drop small { display:block; }
.ob-photo-drop small { margin-top:4px; color:var(--ob-muted); font-size:11px; font-weight:400; }
.ob-photo-files { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.ob-photo-files span { padding:6px 9px; background:#eef2f8; border-radius:8px; color:#52617a; font-size:10px; }

/* Pricing starts neutral - user chooses the service */
.ob-pricing-service-picker { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.ob-pricing-service { display:flex; min-width:190px; align-items:center; gap:10px; padding:10px 12px; text-align:left; background:#fff; border:1px solid var(--ob-line); border-radius:13px; cursor:pointer; }
.ob-pricing-service.is-selected { background:#eef2ff; border:2px solid var(--ob-blue); }
.ob-pricing-service .ob-icon-tile { width:38px; height:38px; flex:0 0 38px; }
.ob-pricing-service .ob-icon-tile svg { width:24px !important; height:24px !important; max-width:24px !important; max-height:24px !important; }
.ob-pricing-service b, .ob-pricing-service small { display:block; }
.ob-pricing-service small { margin-top:3px; color:var(--ob-muted); font-size:10px; }
.ob-pricing-empty { display:grid; min-height:330px; place-items:center; align-content:center; padding:35px; text-align:center; }
.ob-pricing-empty > span { display:grid; width:54px; height:54px; place-items:center; color:#315a9b; background:#eef3fb; border-radius:15px; }
.ob-pricing-empty > span svg { width:28px; height:28px; }
.ob-pricing-empty h2 { margin:16px 0 5px; }
.ob-pricing-empty p { margin:0; color:var(--ob-muted); font-size:12px; }

@media (max-width:760px){
 .ob-pricing-service-picker{display:grid;grid-template-columns:1fr 1fr}
 .ob-pricing-service{min-width:0}
 .ob-test-service{max-width:none;flex:1 1 calc(50% - 5px)}
 .ob-question{min-height:78px;padding:14px 12px}
 .ob-question strong,.ob-question-copy b{font-size:14px}
}

/* Required quote questions */
.ob-required-toggle{display:flex;align-items:center;gap:12px;padding:13px 14px;background:#f8faff;border:1px solid var(--ob-line);border-radius:12px;cursor:pointer}
.ob-required-toggle input{position:absolute;opacity:0;pointer-events:none}
.ob-required-box{width:20px;height:20px;flex:0 0 20px;border:1.5px solid #aab5c6;border-radius:6px;background:#fff;position:relative}
.ob-required-toggle input:checked + .ob-required-box{background:var(--ob-blue);border-color:var(--ob-blue)}
.ob-required-toggle input:checked + .ob-required-box:after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ob-required-toggle b,.ob-required-toggle small{display:block}.ob-required-toggle b{font-size:13px}.ob-required-toggle small{margin-top:2px;color:var(--ob-muted);font-size:10px;font-weight:400}
.ob-required-mark{margin-left:3px;color:#d92d20;font-size:.9em;line-height:0;vertical-align:super}

/* Quote tester answer cards: answer above, adjustment below */
.ob-test-options span{display:flex!important;min-width:58px;min-height:50px;box-sizing:border-box;align-items:center;justify-content:center;flex-direction:column;gap:3px;text-align:center}
.ob-test-options span b{font-size:13px;font-weight:500;line-height:1.15}
.ob-test-options span small{display:block!important;margin:0!important;font-size:10px!important;line-height:1.1}

/* Fully custom photo uploader - never expose the native file control */
.ob-test-upload input[type="file"]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important}
.ob-photo-drop{display:flex!important;min-height:104px!important;align-items:center!important;gap:14px!important;padding:16px 18px!important;background:#f8faff!important;border:1.5px dashed #9eb1d3!important;border-radius:14px!important;cursor:pointer!important;box-sizing:border-box}
.ob-photo-drop:hover,.ob-photo-drop:focus-within{background:#f1f5ff!important;border-color:var(--ob-blue)!important}
.ob-photo-help{color:var(--ob-muted)!important;font-size:11px!important;font-weight:400!important}
\n\n/* Phase 2 completion polish */
.ob-tab{position:relative;padding-left:34px}.ob-tab-drag{position:absolute;left:9px;top:50%;display:grid;width:18px;height:28px;place-items:center;transform:translateY(-50%);color:#667085;cursor:grab}.ob-tab-drag svg{width:16px;height:16px}.ob-tab:active .ob-tab-drag{cursor:grabbing}
.ob-test-service>.ob-tabler-icon{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;max-height:28px!important;flex:0 0 28px!important;object-fit:contain!important}
.ob-test-options label>span{display:grid!important;min-width:68px;min-height:52px;place-items:center;align-content:center;gap:3px;text-align:center}.ob-test-options label>span>b{font-size:13px;line-height:1.15}.ob-test-options label>span>small{display:block!important;margin:0!important;font-size:10px!important;line-height:1.1!important}
.ob-photo-drop{position:relative!important;overflow:hidden!important}.ob-photo-drop input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;font-size:0!important;color:transparent!important}.ob-photo-drop input[type=file]::file-selector-button{display:none!important}.ob-photo-help{display:block;margin-top:7px;color:var(--ob-muted);font-size:11px}
.ob-adjustment-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px;align-items:end;gap:12px;padding:13px 0;border-bottom:1px solid var(--ob-line)}.ob-adjustment-row>span b,.ob-adjustment-row>span small{display:block}.ob-adjustment-row>span small{margin-top:3px;color:var(--ob-muted);font-size:10px}.ob-adjustment-row label{display:grid;gap:5px;color:var(--ob-muted);font-size:10px;font-weight:700}.ob-adjustment-row label>span{display:flex;align-items:center;gap:6px;color:var(--ob-ink);font-size:12px}.ob-adjustment-row input{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--ob-line);border-radius:9px;font:inherit}.ob-pricing-rule-heading{display:grid;gap:3px;margin-top:18px;padding-top:14px;border-top:1px solid var(--ob-line)}.ob-pricing-rule-heading small,.ob-pricing-no-rules{color:var(--ob-muted);font-size:11px}.ob-pricing-no-rules{margin-top:16px;padding:14px;background:#f8faff;border-radius:10px}.ob-advanced-label{margin-top:18px!important}
@media(max-width:760px){.ob-adjustment-row{grid-template-columns:1fr 1fr}.ob-adjustment-row>span{grid-column:1/-1}.ob-tab{padding-left:32px}.ob-test-options label>span{min-width:62px}}

/* Business logo upload - files live outside /app in ../uploads */
.ob-business-logo-field{grid-column:1/-1;margin-bottom:4px}.ob-logo-upload{display:flex;align-items:center;gap:14px;border:1px dashed #cbd3e1;border-radius:14px;padding:14px 16px;cursor:pointer;background:#fbfcff;transition:.18s ease}.ob-logo-upload:hover{border-color:#7898ef;background:#f7f9ff}.ob-logo-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ob-logo-preview{width:64px;height:64px;flex:0 0 64px;border-radius:13px;background:#edf2ff;color:#4267df;display:grid;place-items:center;overflow:hidden}.ob-logo-preview svg{width:24px;height:24px}.ob-logo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.ob-logo-upload span:last-child{display:grid;gap:4px}.ob-logo-upload b{font-size:14px;color:#111827}.ob-logo-upload small,.ob-logo-status{font-size:12px;color:#667085}.ob-logo-status{margin:7px 2px 0}.ob-test-photo-ignored{display:flex;align-items:center;gap:12px;border:1px dashed #cfd7e6;border-radius:12px;padding:14px;background:#f8faff;color:#667085}.ob-test-photo-ignored .ob-photo-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eaf0ff;color:#4169e1;flex:0 0 auto}.ob-test-photo-ignored .ob-photo-icon svg{width:20px;height:20px}.ob-test-photo-ignored span:last-child{display:grid;gap:3px}.ob-test-photo-ignored b{color:#344054;font-size:13px}.ob-test-photo-ignored small{font-size:12px;line-height:1.4}

/* Refined business-logo field */
.ob-business-logo-field{display:grid;gap:12px;margin:4px 0 8px}.ob-business-logo-field .ob-choice-title{margin:0}.ob-business-logo-field .ob-choice-title h2{margin:0;font-size:20px}.ob-business-logo-field .ob-choice-title p{margin:5px 0 0}.ob-business-logo-field .ob-logo-upload{margin:0;min-height:88px;padding:12px 14px}.ob-business-logo-field .ob-logo-preview{width:58px;height:58px;flex-basis:58px}.ob-business-logo-field .ob-logo-status:empty{display:none}


/* Polished onboarding MFA */
.ob-modal:has(.ob-mfa-head){width:min(680px,calc(100vw - 32px));overflow:hidden}
.ob-mfa-head{align-items:flex-start;padding:28px 30px 22px}.ob-mfa-head>div{display:grid;grid-template-columns:46px 1fr;column-gap:14px;align-items:center}.ob-mfa-head h2{font-size:28px}.ob-mfa-head .ob-modal-sub{grid-column:2;margin:3px 0 0;font-size:14px;line-height:1.45}.ob-security-icon{grid-row:1/3;width:46px;height:46px;border-radius:14px;background:#edf2ff;color:var(--ob-blue);display:grid;place-items:center}.ob-security-icon svg{width:22px;height:22px}.ob-mfa-body{padding:28px 30px 30px}.ob-mfa-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ob-mfa-choice{min-width:0;padding:20px 16px;border:1px solid #dce3ef;border-radius:17px;background:#fff;text-align:left;cursor:pointer;transition:.16s ease;display:grid;gap:13px;position:relative;color:#101626}.ob-mfa-choice:hover{border-color:#9db2f5;background:#f8faff;transform:translateY(-1px);box-shadow:0 8px 24px rgba(31,57,116,.08)}.ob-mfa-choice-icon{width:42px;height:42px;border-radius:13px;background:#edf2ff;color:var(--ob-blue);display:grid;place-items:center}.ob-mfa-choice-icon svg{width:20px;height:20px}.ob-mfa-choice strong{display:block;font-size:14px;margin-bottom:5px}.ob-mfa-choice small{display:block;color:var(--ob-muted);font-size:12px;line-height:1.45}.ob-mfa-chevron{display:none}.ob-mfa-code-label{display:grid;gap:9px;font-weight:700;font-size:13px}.ob-mfa-code-input{width:100%;box-sizing:border-box;min-height:62px;border:1px solid #ccd5e4!important;border-radius:14px!important;background:#fff!important;padding:10px 18px!important;font:700 25px/1 Inter,sans-serif!important;letter-spacing:.34em;text-align:center;outline:0}.ob-mfa-code-input:focus{border-color:var(--ob-blue)!important;box-shadow:0 0 0 4px rgba(67,103,235,.12)!important}.ob-trust-device{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.ob-trust-device>input{position:absolute;opacity:0;pointer-events:none}.ob-trust-box{width:22px;height:22px;flex:0 0 22px;border:1.5px solid #bdc8da;border-radius:6px;display:grid;place-items:center;color:transparent;margin-top:1px}.ob-trust-box svg{width:15px;height:15px}.ob-trust-device>input:checked+.ob-trust-box{background:var(--ob-blue);border-color:var(--ob-blue);color:#fff}.ob-trust-device strong,.ob-trust-device small{display:block}.ob-trust-device strong{font-size:13px}.ob-trust-device small{color:var(--ob-muted);font-size:11px;line-height:1.45;margin-top:3px}.ob-mfa-foot{padding:17px 30px 22px}.ob-mfa-foot .ob-btn{min-width:116px}
@media(max-width:760px){.ob-modal-root{align-items:end}.ob-modal:has(.ob-mfa-head){width:100%;max-width:none;border-radius:24px 24px 0 0;max-height:calc(100dvh - 16px)}.ob-mfa-head{padding:24px 20px 18px}.ob-mfa-head>div{grid-template-columns:42px 1fr;column-gap:12px}.ob-security-icon{width:42px;height:42px;border-radius:13px}.ob-mfa-head h2{font-size:24px}.ob-mfa-head .ob-modal-sub{font-size:13px}.ob-mfa-body{padding:20px}.ob-mfa-choices{grid-template-columns:1fr;gap:9px}.ob-mfa-choice{padding:13px 14px;grid-template-columns:40px 1fr 20px;gap:12px;align-items:center;border-radius:14px}.ob-mfa-choice-icon{width:40px;height:40px;border-radius:12px}.ob-mfa-choice strong{font-size:13px;margin-bottom:2px}.ob-mfa-choice small{font-size:11px}.ob-mfa-chevron{display:block;font-size:27px;color:#63718b;text-align:right}.ob-mfa-code-input{min-height:58px;font-size:23px!important}.ob-mfa-foot{padding:14px 20px calc(16px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr}.ob-mfa-foot .ob-btn{order:-1;width:100%}.ob-mfa-foot .ob-skip{min-height:42px}.ob-trust-device small{font-size:10.5px}}
/* Business setup: workspace address + Google Places */
.ob-field-wide{grid-column:1/-1}.ob-field-help,.ob-slug-status{display:block;margin-top:8px;color:#667085;font-size:13px;line-height:1.4}.ob-slug-status.is-error{color:#c83f3f}.ob-slug-field{display:flex;align-items:center;border:1px solid #cbd3e0;border-radius:16px;overflow:hidden;background:#fff}.ob-slug-field:focus-within{border-color:#4668eb;box-shadow:0 0 0 3px rgba(70,104,235,.12)}.ob-slug-field input{min-width:0;flex:1;border:0!important;box-shadow:none!important}.ob-slug-field b{padding:0 18px 0 8px;color:#667085;white-space:nowrap;font-size:14px}.ob-address-search{position:relative}.ob-address-search input{padding-right:52px}.ob-address-mark{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f2f5ff;color:#4264e8;font-weight:800;font-family:Inter,sans-serif}.ob-contact-toggle.is-unavailable{opacity:.72}
@media(max-width:700px){.ob-slug-field b{padding-right:12px;font-size:12px}.ob-field-wide{grid-column:auto}}

/* Account-contact toggle remains clickable so it can refresh account details on demand. */
.ob-contact-toggle.is-unavailable .ob-toggle{cursor:pointer;pointer-events:auto}
.ob-contact-toggle.is-unavailable .ob-toggle:hover{cursor:pointer}

.ob-error {color:#b42318;}

/* Choose billing follows the approved reference within the existing signup flow. */
.ob-billing-layout { max-width: 1080px; margin-inline: auto; grid-template-columns: minmax(0,1fr) 340px; gap: 24px; align-items: start; }
.ob-billing-panel { min-width: 0; padding: 40px; border: 0; border-radius: 28px; box-shadow: 0 1px 2px rgba(10,13,26,.04),0 8px 30px rgba(10,13,26,.05); }
.ob-billing-panel h1 { margin: 0 0 4px; font-size: 32px; line-height: 1.15; }
.ob-billing-sub { margin: 0 0 24px; color: var(--ob-muted); font-size: 15px; line-height: 1.5; }
.ob-billing-plans { display: grid; gap: 12px; }
.ob-billing-option { position: relative; display: flex; align-items: center; gap: 16px; padding: 20px 22px; border: 2px solid var(--ob-line); border-radius: 20px; cursor: pointer; transition: border-color .15s,background .15s; }
.ob-billing-option:hover { border-color: #a5b6e8; }
.ob-billing-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ob-billing-option.is-selected { border-color: var(--ob-blue); background: #f0f4ff; box-shadow: 0 0 0 4px rgba(53,104,238,.12); }
.ob-billing-option:has(input:focus-visible) { outline: 3px solid var(--ob-blue); outline-offset: 2px; }
.ob-billing-option.is-unavailable { opacity: .65; cursor: not-allowed; }
.ob-billing-dot { flex: none; width: 22px; height: 22px; border: 2px solid #9faac1; border-radius: 50%; display: grid; place-items: center; }
.ob-billing-dot::after { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--ob-blue); transform: scale(0); }
.ob-billing-option.is-selected .ob-billing-dot { border-color: var(--ob-blue); }
.ob-billing-option.is-selected .ob-billing-dot::after { transform: scale(1); }
.ob-billing-copy { min-width: 0; }
.ob-billing-name { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 18px; font-weight: 700; }
.ob-billing-copy > small { display: block; margin-top: 4px; color: var(--ob-muted); font-size: 14px; line-height: 1.5; }
.ob-billing-badge { padding: 2px 10px; border-radius: 99px; background: var(--ob-blue); color: #fff; font-size: 12px; font-weight: 600; white-space: nowrap; }
.ob-billing-price { margin-left: auto; flex: none; font-size: 22px; font-weight: 700; white-space: nowrap; }
.ob-billing-price small { color: var(--ob-muted); font-size: 14px; font-weight: 500; }
.ob-commercial-addons h2 { margin: 36px 0 12px; font-size: 18px; line-height: 1.2; }
.ob-commercial-addon { display: flex; align-items: center; gap: 16px; padding: 16px 20px; margin-bottom: 10px; border: 1.5px dashed var(--ob-line); border-radius: 16px; background: #f6f7fb; }
.ob-addon-info { flex: 1; min-width: 0; color: #65718a; }
.ob-addon-info b { font-size: 15px; font-weight: 600; }
.ob-addon-info small { display: block; margin-top: 4px; color: var(--ob-muted); font-size: 14px; }
.ob-addon-soon { padding: 4px 12px; border-radius: 99px; background: #e9ebf4; color: var(--ob-muted); font-size: 12px; font-weight: 600; white-space: nowrap; }
.ob-addon-lock { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: #e9ebf4; color: #65718a; }
.ob-switch-wrap { margin-top: 18px; }
.ob-switch-toggle { display: flex; align-items: flex-start; gap: 14px; padding: 16px 20px; border: 1.5px solid var(--ob-line); border-radius: 16px; cursor: pointer; }
.ob-switch-toggle:hover { border-color: #a5b6e8; }
.ob-switch-toggle:has(input:checked) { border-color: var(--ob-blue); border-radius: 16px 16px 0 0; background: #f0f4ff; }
.ob-switch-toggle b { display: block; font-size: 15px; line-height: 1.5; }
.ob-switch-toggle small { display: block; color: var(--ob-muted); font-size: 14px; line-height: 1.5; }
.ob-switch-toggle input,.ob-switch-check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--ob-blue); }
.ob-switch-fields { min-width: 0; margin: 0; padding: 24px 20px 22px; border: 1.5px solid var(--ob-blue); border-top: 0; border-radius: 0 0 16px 16px; }
.ob-switch-fields[hidden] { display: none; }
.ob-switch-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ob-switch-full { grid-column: 1 / -1; }
.ob-switch-grid label { display: block; font-size: 14px; font-weight: 600; }
.ob-switch-grid input:not([type=file]),.ob-switch-grid select { width: 100%; min-width: 0; height: 48px; margin-top: 6px; padding: 0 14px; border: 1.5px solid var(--ob-line); border-radius: 12px; background: #fff; color: var(--ob-ink); font-size: 15px; }
.ob-switch-grid input:focus-visible,.ob-switch-grid select:focus-visible { border-color: var(--ob-blue); outline: 2px solid var(--ob-blue); outline-offset: 2px; }
.ob-switch-upload { margin-top: 6px; padding: 14px 16px; border: 1.5px dashed #a5b6e8; border-radius: 12px; background: #f0f4ff; }
.ob-switch-upload input { width: 100%; max-width: 100%; min-width: 0; color: var(--ob-muted); font-size: 14px; }
.ob-switch-upload input::file-selector-button { padding: 8px 14px; margin-right: 12px; border: 0; border-radius: 10px; background: var(--ob-blue); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.ob-switch-hint { margin: 6px 0 0; color: var(--ob-muted); font-size: 13px; line-height: 1.5; }
.ob-switch-files { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.ob-switch-file { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #e3e7f1; border-radius: 12px; background: #fff; min-width: 0; }
.ob-switch-thumb { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 8px; background: #f0f4ff; display: grid; place-items: center; overflow: hidden; color: var(--ob-blue); font-size: 12px; font-weight: 700; }
.ob-switch-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ob-switch-file-info { flex: 1; min-width: 0; display: grid; gap: 2px; }
.ob-switch-file-info b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 600; }
.ob-switch-file-info small { color: var(--ob-muted); font-size: 12px; }
.ob-switch-file-actions { display: flex; gap: 8px; flex: 0 0 auto; }
.ob-switch-file-actions button { padding: 7px 12px; border: 1px solid #cfd8ea; border-radius: 10px; background: #fff; color: var(--ob-blue); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.ob-switch-file-actions button[data-switch-remove] { color: #b42318; border-color: #f2c4bf; }
.ob-switch-file-actions button:focus-visible { outline: 2px solid var(--ob-blue); outline-offset: 2px; }
.ob-switch-terms { margin: 20px 0 0; padding: 16px 18px; border-radius: 12px; background: #f6f7fb; color: var(--ob-muted); font-size: 14px; line-height: 1.5; }
.ob-switch-check { display: flex; align-items: flex-start; gap: 12px; margin-top: 14px; font-size: 15px; line-height: 1.5; cursor: pointer; }
.ob-switch-check a { color: var(--ob-blue); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.ob-billing-panel .ob-promotion { display: block; margin: 32px 0 8px; font-size: 15px; }
.ob-billing-panel .ob-promotion[hidden] { display: none; }
.ob-billing-panel .ob-promotion small { margin-left: 6px; color: var(--ob-muted); font-size: 13px; font-weight: 400; }
.ob-promotion-code { width: 100%; min-width: 0; height: 56px; padding: 0 20px; border: 1.5px solid var(--ob-line); border-radius: 16px; background: #fff; color: var(--ob-ink); font-size: 16px; letter-spacing: .06em; text-transform: uppercase; }
.ob-promotion-code::placeholder { color: #65718a; }
.ob-billing-panel .ob-stripe { margin: 28px 0 0; padding: 20px 24px; gap: 20px; border-radius: 20px; background: #eeebfb; }
.ob-billing-panel .ob-stripe-mark { font-size: 30px; color: #635bff; }
.ob-billing-panel .ob-stripe strong { font-size: 15px; line-height: 1.5; }
.ob-billing-panel .ob-stripe small { margin: 0; font-size: 14px; line-height: 1.5; }
.ob-billing-panel .ob-billing-cta { height: 54px; margin-top: 28px; padding: 0 28px; border-radius: 16px; font-size: 16px; }
.ob-billing-fine { margin: 14px 0 0; color: var(--ob-muted); font-size: 13px; line-height: 1.5; }
.ob-billing-back { margin-top: 24px; }
.ob-billing-summary { position: sticky; top: 108px; border: 0; border-radius: 28px; box-shadow: 0 1px 2px rgba(10,13,26,.04),0 8px 30px rgba(10,13,26,.05); }
.ob-billing-summary .ob-summary-head { padding: 28px 32px; }
.ob-billing-summary .ob-summary-head h2 { overflow-wrap: anywhere; font-size: 26px; line-height: 1.2; }
.ob-billing-summary .ob-summary-head p { margin: 2px 0 0; color: #b9c0d8; font-size: 14px; line-height: 1.5; }
.ob-billing-summary .ob-summary-body { padding: 8px 32px 16px; }
.ob-billing-summary .ob-summary-row { padding: 16px 0; font-size: 15px; line-height: 1.5; border-bottom: 1px solid var(--ob-line); }
.ob-billing-summary .ob-summary-row:last-child { border-bottom: 1px solid var(--ob-line); }
.ob-billing-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 20px 0 4px; }
.ob-billing-total span { color: var(--ob-muted); font-size: 15px; }
.ob-billing-total b { font-size: 26px; }
@media (max-width: 860px) {
  .ob-billing-layout { max-width: 1080px; margin-inline: auto; grid-template-columns: 1fr; }
  .ob-billing-panel { padding: 28px 22px; border-radius: 24px; }
  .ob-billing-summary { position: static; order: -1; }
  .ob-switch-grid { grid-template-columns: 1fr; }
  .ob-billing-panel .ob-stripe { flex-direction: column; align-items: flex-start; gap: 8px; }
  .ob-billing-panel .ob-billing-cta { width: 100%; justify-content: center; }
}
@media (min-width: 761px) and (max-width: 1020px) {
  .ob-header { grid-template-columns: 140px minmax(0,1fr) 140px; padding-inline: 24px; }
}
@media (max-width: 480px) {
  .ob-billing-option { gap: 12px; padding: 18px 14px; flex-wrap: wrap; }
  .ob-billing-price { margin-left: 34px; }
  .ob-commercial-addon { gap: 10px; padding: 14px; flex-wrap: wrap; }
  .ob-addon-info { flex-basis: calc(100% - 32px); }
  .ob-addon-lock { order: 1; }
  .ob-addon-soon { order: 2; }
  .ob-switch-fields { padding-inline: 14px; }
  .ob-switch-upload { padding: 12px; }
  .ob-switch-toggle { padding: 16px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .ob-billing-option { transition: none; }
}

.ob-business-legal{padding:24px 0;border-top:1px solid var(--line,#d9dee8);margin-top:20px}.ob-business-legal h2{font-size:20px;margin:0 0 14px}.ob-business-legal p{font-size:13px;line-height:1.6;color:#596884}.ob-business-legal a{color:#2858dc;text-underline-offset:3px}.ob-business-legal input{accent-color:#3867ed}
/* Shared Places suggestions retain the onboarding address field styling. */
.ob-address-search .handled-address-autocomplete{position:relative;width:100%}
.ob-address-search .handled-address-input-wrap{position:relative}
.ob-address-search .handled-address-search-icon{display:none}
.ob-address-search .handled-address-input{width:100%;padding-right:52px}
.ob-address-search .handled-address-clear{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:8px;background:#f2f5ff;color:#4264e8;cursor:pointer}
.ob-address-search .handled-address-clear[hidden],.ob-address-search .handled-address-suggestions[hidden],.ob-address-search .handled-address-suggestion[hidden]{display:none}
.ob-address-search .handled-address-suggestions{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:320px;overflow-y:auto;border:1px solid #d7ddea;border-radius:14px;box-shadow:0 16px 42px rgba(22,31,52,.16);background:#fff;font-weight:400}
.ob-address-search .handled-address-suggestion{display:flex;gap:10px;width:100%;padding:11px 14px;border:0;border-bottom:1px solid #eef1f6;background:#fff;text-align:left;cursor:pointer}
.ob-address-search .handled-address-suggestion:hover,.ob-address-search .handled-address-suggestion.is-active{background:#f5f7ff}
.ob-address-search .handled-address-suggestion strong,.ob-address-search .handled-address-suggestion small{display:block}
.ob-address-search .handled-address-suggestion strong{font-size:14px;color:#121827}
.ob-address-search .handled-address-suggestion small,.ob-address-search .handled-address-empty,.ob-address-search .handled-address-google{font-size:13px;color:#667085}
.ob-address-search .handled-address-pin{flex:0 0 24px;color:#667085}
.ob-address-search .handled-address-suggestion>span:last-child{min-width:0;overflow-wrap:anywhere}
.ob-address-search .handled-address-empty,.ob-address-search .handled-address-google{padding:11px 14px}
.ob-address-search .handled-address-google{text-align:right;background:#f8f9fb}
.ob-address-search .handled-address-search-typed{color:#4264e8;font-size:13px}
.ob-address-search .handled-address-input::-webkit-search-cancel-button,.ob-address-search .handled-address-input::-webkit-search-decoration{display:none;-webkit-appearance:none;appearance:none}

/* Service selection, review and quote setup follow the supplied onboarding reference. */
.ob-middle { --ob-line: #e3e6ee; --ob-muted: #5a6275; --ob-blue: #4361e8; --ob-blue-tint: #eef1fe; }
.ob-main:has(.ob-middle) { padding-top: 56px; }
.ob-middle h1 { max-width: 14ch; font-family: Inter, Arial, sans-serif; font-size: clamp(34px,5vw,56px); font-weight: 800; line-height: 1; letter-spacing: -.04em; text-wrap: initial; }
.ob-middle h2,.ob-middle h3,.ob-middle .ob-service-choice strong,.ob-middle .ob-service-row strong { font-family: Inter, Arial, sans-serif; }
.ob-middle .ob-lead { max-width: 680px; margin-bottom: 28px; font-size: 17px; line-height: 1.45; }
.ob-middle .ob-search { height: 60px; margin-bottom: 16px; padding: 0 20px; border-color: var(--ob-line); border-radius: 20px; background: #fff; }
.ob-middle .ob-search input { font-size: 16px; }
.ob-middle .ob-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.ob-middle .ob-service-choice { display: flex; align-items: center; gap: 16px; min-height: 100px; padding: 18px; border: 2px solid var(--ob-line); border-radius: 20px; }
.ob-middle .ob-service-choice[hidden] { display: none; }
.ob-middle .ob-service-choice.is-selected { border-color: var(--ob-blue); background: var(--ob-blue-tint); }
.ob-middle .ob-service-choice .ob-choice-logo,.ob-middle .ob-icon-tile { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 12px; color: var(--ob-ink); background: #f1f3f9; }
.ob-middle .ob-choice-logo svg,.ob-middle .ob-choice-logo img,.ob-middle .ob-icon-tile img,.ob-middle .ob-icon-tile svg { width: 24px; height: 24px; }
.ob-middle .ob-service-choice .ob-choice-copy strong { font-size: 17px; line-height: 1.3; }
.ob-middle .ob-service-choice .ob-choice-copy small { font-size: 13px; line-height: 1.45; }
.ob-middle .ob-service-choice .ob-selected-dot { width: 32px; height: 32px; right: 18px; box-shadow: none; }
.ob-middle-columns { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: 20px; }
.ob-middle .ob-service-list { min-width: 0; gap: 12px; }
.ob-middle .ob-service-row { grid-template-columns: minmax(0,1fr) 96px 96px 80px 32px; gap: 14px; padding: 16px 18px; border-radius: 20px; }
.ob-service-name { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ob-service-name > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.ob-middle .ob-service-row strong { font-size: 17px; line-height: 1.3; }
.ob-middle .ob-service-row small { font-size: 12px; line-height: 1.4; }
.ob-service-field { display: grid; gap: 5px; color: var(--ob-muted); font-size: 12px; font-weight: 500; }
.ob-service-field > span { display: flex; align-items: center; min-height: 44px; padding: 0 10px; border: 1px solid var(--ob-line); border-radius: 10px; background: #f1f2f6; }
.ob-service-field input { width: 100%; min-width: 0; height: 42px; padding: 0 4px; color: var(--ob-ink); background: transparent; border: 0; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ob-service-field i { font-size: 13px; font-style: normal; }
.ob-service-field > span:focus-within { outline: 2px solid var(--ob-blue); outline-offset: 2px; }
.ob-service-field input:focus-visible { outline: none; }
.ob-service-quote { display: grid; gap: 10px; align-self: center; }
.ob-service-quote > span { display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; }
.ob-service-quote svg { width: 16px; height: 16px; color: var(--ob-green); }
.ob-service-quote.is-disabled svg { color: currentColor; }
.ob-middle .ob-menu { width: 32px; height: 44px; border: 0; background: transparent; }
.ob-middle .ob-add-row { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 60px; padding: 14px; border: 1.5px dashed var(--ob-blue); border-radius: 20px; color: var(--ob-blue); font-size: 15px; }
.ob-middle .ob-add-row svg { width: 20px; height: 20px; }
.ob-middle .ob-add-row { cursor: pointer; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
@media (hover: hover) {
 .ob-middle .ob-add-row:hover { background: #e8ecff; border-color: #354ac4; box-shadow: 0 3px 10px rgba(53,74,196,.10); }
}
.ob-middle .ob-add-row:active { background: #dce2ff; box-shadow: none; }
.ob-middle .ob-add-row:focus-visible, .ob-toggle:focus-visible { outline: 3px solid #354ac4; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
 .ob-middle .ob-add-row, .ob-toggle, .ob-toggle::after { transition: none; }
}
.ob-middle .ob-summary { min-width: 0; border-radius: 20px; border-color: var(--ob-line); }
.ob-middle-summary,.ob-quote-preview { position: sticky; top: 108px; }
.ob-middle .ob-summary-head { padding: 26px 28px; }
.ob-middle .ob-summary-head h2 { font-size: 24px; line-height: 1.2; letter-spacing: -.02em; overflow-wrap: anywhere; }
.ob-middle .ob-summary-head p { margin: 4px 0 0; color: #c8d4ec; font-size: 13px; }
.ob-middle .ob-summary-body { padding: 8px 28px 24px; }
.ob-middle .ob-summary-row { padding: 14px 0; font-size: 14px; }
.ob-middle-summary .ob-btn { width: 100%; justify-content: center; margin-top: 16px; font-size: 14px; }
.ob-middle .ob-btn { font-family: Inter, Arial, sans-serif; }
.ob-middle .ob-btn svg { width: 18px; height: 18px; flex: 0 0 18px; }
.ob-middle .ob-btn-primary { background: var(--ob-blue); }
.ob-middle-tabs { display: flex; gap: 10px; margin-bottom: 18px; padding: 4px 2px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #b4bdd1 transparent; }
.ob-middle-tabs .ob-tab { position: relative; width: auto; flex: 0 0 auto; min-width: 0; margin: 0; padding: 12px 16px 12px 32px; border: 2px solid var(--ob-line); border-radius: 16px; background: #fff; }
.ob-middle-tabs .ob-tab.is-active { border-color: var(--ob-blue); background: var(--ob-blue-tint); }
.ob-middle-tabs .ob-icon-tile { width: 24px; height: 24px; flex-basis: 24px; background: transparent; border-radius: 0; }
.ob-middle-tabs .ob-tab-copy b { overflow: visible; font-size: 14px; font-weight: 600; }
.ob-middle-tabs .ob-tab-copy small { display: none !important; }
.ob-middle-tabs .ob-tab-drag { left: 8px; }
.ob-quote-editor { display: grid; min-width: 0; gap: 12px; }
.ob-quote-base { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; }
.ob-quote-base h2 { font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
.ob-quote-base .ob-skip { gap: 6px; min-height: 36px; font-size: 12px; }
.ob-quote-base .ob-skip svg { width: 14px; height: 14px; }
.ob-quote-base-fields { display: grid; grid-template-columns: 96px 96px; gap: 12px; flex: none; }
.ob-middle .ob-question-list { gap: 12px; }
.ob-setup-question { min-width: 0; padding: 20px 22px; }
.ob-setup-question-head { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: start; gap: 10px; margin-bottom: 16px; }
.ob-setup-question-head h3 { margin: 0 0 4px; font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.ob-setup-question-head small { color: var(--ob-muted); font-size: 12px; }
.ob-setup-question-head .ob-drag { padding-top: 5px; }
.ob-setup-question-actions { display: flex; gap: 2px; }
.ob-middle .ob-icon-btn { width: 36px; height: 44px; }
.ob-middle .ob-icon-btn:hover,.ob-middle .ob-menu:hover { color: var(--ob-blue); background: var(--ob-blue-tint); }
.ob-answer-grid { display: grid; grid-template-columns: minmax(0,1fr) 100px 100px; align-items: center; gap: 10px; margin-top: 8px; font-size: 14px; }
.ob-answer-grid > span { overflow-wrap: anywhere; }
.ob-answer-heading { margin-top: 0; color: var(--ob-muted); font-size: 12px; }
.ob-answer-heading span:not(:first-child) { text-align: right; }
.ob-answer-grid input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid var(--ob-line); border-radius: 10px; background: #f1f2f6; color: var(--ob-ink); font-size: 14px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.ob-middle input { caret-color: var(--ob-blue); }
.ob-middle input:invalid { border-color: var(--ob-red); }
.ob-middle ::selection { color: var(--ob-ink); background: #dce4ff; }
.ob-middle :focus-visible { outline: 2px solid var(--ob-blue); outline-offset: 3px; }
.ob-question-detail { margin: 12px 0 0; color: var(--ob-muted); font-size: 13px; line-height: 1.5; }
.ob-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ob-quote-preview .ob-test-question,.ob-quote-preview .ob-test-upload { display: grid; min-width: 0; margin: 0; padding: 16px 0 4px; border: 0; background: transparent; }
.ob-quote-preview .ob-test-question legend { float: left; width: 100%; margin: 0 0 8px; padding: 0; font-size: 14px; font-weight: 700; line-height: 1.4; }
.ob-quote-preview .ob-test-options { display: grid; gap: 8px; clear: both; }
.ob-quote-preview .ob-test-options label { position: relative; display: flex; width: 100%; min-width: 0; cursor: pointer; }
.ob-quote-preview .ob-test-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ob-quote-preview .ob-test-options label > span { display: flex !important; flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 44px !important; padding: 10px 12px; border: 1.5px solid var(--ob-line); border-radius: 12px; background: #fff; text-align: left; }
.ob-quote-preview .ob-test-options b { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.ob-quote-preview .ob-test-options small { flex: none; color: var(--ob-muted); font-size: 12px; }
.ob-quote-preview .ob-test-options .is-selected > span { border-color: var(--ob-blue); background: var(--ob-blue-tint); }
.ob-quote-preview .ob-test-options label:has(input:focus-visible) { outline: 2px solid var(--ob-blue); outline-offset: 2px; border-radius: 12px; }
.ob-quote-preview .ob-test-upload > span,.ob-quote-preview .ob-test-question-title { margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.ob-quote-preview .ob-test-upload input,.ob-quote-preview textarea { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--ob-line); border-radius: 10px; background: #f1f2f6; }
.ob-quote-preview .ob-test-upload small { color: var(--ob-muted); font-size: 12px; line-height: 1.45; }
.ob-quote-preview .ob-test-photo-ignored { gap: 8px; padding: 12px; }
.ob-quote-preview .ob-test-photo-ignored b { font-size: 12px; }
.ob-quote-preview .ob-test-photo-ignored small { font-size: 11px; }
.ob-preview-total { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin-top: 14px; padding-top: 16px; border-top: 1px solid var(--ob-line); color: var(--ob-muted); font-size: 14px; }
.ob-preview-total small { display: block; margin-top: 4px; font-size: 12px; }
.ob-preview-total b { color: var(--ob-ink); font-size: 34px; line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.ob-quote-preview .ob-skip { margin-top: 12px; gap: 8px; font-size: 12px; }
.ob-quote-preview .ob-skip svg { width: 18px; height: 18px; }
.ob-middle-empty { padding: 24px; }
.ob-middle-empty p { color: var(--ob-muted); }
.ob-middle .ob-footer .ob-btn { min-height: 54px; padding-inline: 26px; font-size: 15px; border-radius: 14px; }
.ob-middle .ob-back { font-size: 15px; }
@media (min-width: 901px) and (max-width: 1120px) {
 .ob-middle .ob-service-row { grid-template-columns: minmax(0,1fr) 86px 86px 32px; gap: 10px; }
 .ob-service-quote { grid-column: 1 / -1; display: flex; gap: 8px; }
 .ob-middle .ob-service-row .ob-menu { grid-column: 4; grid-row: 1; }
}
@media (max-width: 900px) {
 .ob-middle-columns { grid-template-columns: minmax(0,1fr); }
 .ob-middle-summary,.ob-quote-preview { position: static; }
 .ob-middle h1 { max-width: 14ch; }
}
@media (max-width: 760px) {
 .ob-main:has(.ob-middle) { padding-top: 32px; }
 .ob-middle .ob-service-grid { grid-template-columns: 1fr; }
 .ob-middle .ob-service-choice { min-height: 88px; padding: 16px; }
 .ob-middle h1 { font-size: 34px; }
 .ob-middle .ob-lead { font-size: 15px; }
 .ob-middle .ob-service-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr) 36px; gap: 12px; padding: 16px; }
 .ob-service-name { grid-column: 1 / 3; }
 .ob-middle .ob-service-row .ob-menu { grid-column: 3; grid-row: 1; }
 .ob-service-quote { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; }
 .ob-quote-base { align-items: start; padding: 16px; flex-wrap: wrap; }
 .ob-quote-base-fields { grid-template-columns: minmax(0,1fr) minmax(0,1fr); width: 100%; }
 .ob-setup-question { padding: 16px; }
 .ob-setup-question-head { grid-template-columns: 14px minmax(0,1fr) auto; gap: 8px; }
 .ob-setup-question-head h3 { font-size: 15px; }
 .ob-setup-question-head small { font-size: 11px; }
 .ob-middle .ob-icon-btn { width: 32px; }
 .ob-answer-grid { grid-template-columns: minmax(0,1fr) 72px 72px; gap: 8px; font-size: 13px; }
 .ob-middle .ob-summary-head { padding: 24px; }
 .ob-middle .ob-summary-body { padding: 8px 24px 24px; }
 .ob-middle .ob-footer { position: static; padding: 0; margin-top: 28px; flex-wrap: wrap; }
 .ob-middle .ob-footer .ob-btn { min-width: 0; padding-inline: 16px; font-size: 14px; }
}
