:root {
  --navy: #2A3744;
  --navy-2: #214777;
  --blue: #214777;
  --sky: #eef2f6;
  --mint: #BCBCBC;
  --mint-dark: #214777;
  --gold: #BCBCBC;
  --ink: #142033;
  --muted: #65748a;
  --line: #dbe3eb;
  --soft: #f4f7fa;
  --white: #fff;
  --danger: #b5473c;
  --shadow: 0 18px 50px rgba(7, 29, 58, .10);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #f5f7f9; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.45; }
button, input { font: inherit; }
button { cursor: pointer; }
.app-header { height: 76px; position: sticky; z-index: 50; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 34px; color: white; background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.1); }
.brand { display: inline-flex; align-items: center; gap: 12px; color: white; text-decoration: none; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1; }
.brand strong { font-size: 20px; letter-spacing: -.5px; }
.brand small { margin-top: 5px; font-size: 7px; font-weight: 800; letter-spacing: 3px; color: var(--mint); }
.brand-mark { position: relative; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; gap: 2px; overflow: hidden; }
.brand-mark i { display: block; width: 5px; border-radius: 4px 4px 0 0; background: var(--mint); transform: rotate(35deg); }
.brand-mark i:nth-child(1) { height: 11px; }.brand-mark i:nth-child(2) { height: 20px; }.brand-mark i:nth-child(3) { height: 28px; }
.header-meta { display: flex; align-items: center; gap: 10px; }
.save-state { margin-right: 12px; color: #b9c7d6; font-size: 12px; }.status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(85,214,186,.14); }
.btn { border: 0; border-radius: 10px; padding: 11px 16px; font-weight: 800; font-size: 13px; transition: .2s ease; }
.btn:hover { transform: translateY(-1px); }.btn-ghost { color: white; border: 1px solid rgba(255,255,255,.2); background: transparent; }.btn-accent { color: var(--navy); background: var(--mint); box-shadow: 0 6px 18px rgba(85,214,186,.18); }
.app-shell { max-width: 1540px; margin: 0 auto; display: grid; grid-template-columns: 278px minmax(0,1fr); }
.sidebar { min-height: calc(100vh - 76px); position: sticky; top: 76px; align-self: start; padding: 38px 25px; background: #eef2f5; border-right: 1px solid var(--line); }
.side-intro { padding: 0 10px 26px; }.eyebrow { display: inline-block; color: var(--mint-dark); font-size: 10px; font-weight: 900; letter-spacing: 1.7px; text-transform: uppercase; }.eyebrow.navy { color: var(--blue); }.eyebrow.mint { color: var(--mint); }
.side-intro h1 { margin: 8px 0 8px; font-family: Georgia, serif; font-size: 27px; line-height: 1.12; letter-spacing: -.6px; }.side-intro p { margin: 0; font-size: 12px; color: var(--muted); }
.step-nav { display: grid; gap: 5px; }.step-nav a { display: flex; gap: 13px; align-items: center; padding: 13px 12px; color: var(--muted); text-decoration: none; border-radius: 12px; transition: .2s; }.step-nav a:hover, .step-nav a.active { color: var(--navy); background: white; box-shadow: 0 5px 16px rgba(7,29,58,.05); }.step-nav a > span { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: var(--blue); background: var(--sky); font-size: 10px; font-weight: 900; }.step-nav strong,.step-nav small { display: block; }.step-nav strong { font-size: 12px; }.step-nav small { margin-top: 2px; font-size: 10px; color: #8793a3; }
.step-nav a.is-disabled { opacity: .45; pointer-events: auto; }
.step-nav a.is-disabled strong,.step-nav a.is-disabled small { text-decoration: line-through; }
.step-nav a.is-disabled > span { color: #7d8896; background: #d7dee5; }
.sidebar-generate { display: flex; width: 100%; margin: 24px 0 18px; justify-content: center; text-align: center; }
.btn:disabled,.btn[disabled] { cursor: not-allowed; opacity: .48; filter: grayscale(.35); box-shadow: none; }
.side-note { display: flex; gap: 11px; margin-top: 28px; padding: 15px; border-radius: 14px; color: white; background: var(--navy); }.icon-circle { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--navy); background: var(--mint); font-weight: 900; }.side-note strong,.side-note small { display: block; }.side-note strong { font-size: 11px; }.side-note small { margin-top: 4px; color: #aebed0; font-size: 9px; }
.builder { min-width: 0; padding: 0 45px 70px; background: white; }
.hero-strip { display: flex; align-items: flex-end; justify-content: space-between; padding: 48px 0 32px; border-bottom: 1px solid var(--line); }.hero-strip h2 { margin: 5px 0 0; font-family: Georgia, serif; font-size: 40px; letter-spacing: -1.2px; }.date-chip { min-width: 150px; padding: 12px 16px; border-radius: 12px; background: var(--soft); }.date-chip small,.date-chip strong { display: block; }.date-chip small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: 1px; }.date-chip strong { margin-top: 3px; font-size: 13px; }
.form-section { padding: 47px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 76px; }.section-heading { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 24px; }.section-heading.with-mode { align-items: center; }.section-number { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 auto; color: white; border-radius: 11px; background: var(--navy); font-size: 11px; font-weight: 900; }.section-heading h2 { margin: -2px 0 2px; font-family: Georgia, serif; font-size: 27px; }.section-heading p { margin: 0; color: var(--muted); font-size: 12px; }.section-heading.with-toggle .switch-row { margin-left: auto; }
.mode-toggle { display: flex; gap: 4px; margin-left: auto; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: var(--soft); }
.mode-toggle button { border: 0; border-radius: 999px; padding: 8px 11px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 900; }
.mode-toggle button.active { color: white; background: var(--blue); box-shadow: 0 4px 12px rgba(33,71,119,.18); }
.panel-grid.two,.supp-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.panel { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 9px 28px rgba(7,29,58,.04); }.panel-title,.product-head { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }.panel-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; color: var(--blue); background: var(--sky); font-weight: 900; }.panel-title h3,.panel-title p,.product-head h3,.product-head p { margin: 0; }.panel-title h3 { font-size: 14px; }.panel-title p,.product-head p { margin-top: 2px; color: var(--muted); font-size: 10px; }
.field-grid { display: grid; gap: 14px; }.field-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }.field.full { grid-column: 1/-1; }.field span { display: block; margin-bottom: 6px; color: #46556a; font-size: 10px; font-weight: 800; }.field input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #d6e0e8; outline: none; border-radius: 9px; color: var(--navy); background: #fbfcfd; font-size: 12px; transition: .2s; }.field input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22,91,147,.1); }
.validity-note { display: flex; align-items: center; gap: 10px; margin-top: 17px; padding: 11px; border-radius: 11px; background: var(--soft); }.validity-note > span { width: 36px; height: 36px; display: grid; place-items: center; color: white; border-radius: 9px; background: var(--blue); font-size: 14px; font-weight: 900; }.validity-note strong,.validity-note small { display: block; }.validity-note strong { font-size: 10px; }.validity-note small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.alert-stack { display: grid; gap: 7px; margin-top: 15px; }.alert { display: flex; gap: 8px; padding: 9px 11px; border-radius: 9px; color: #6d4c13; background: #fff6dc; font-size: 9px; font-weight: 700; }.alert.info { color: #174d70; background: var(--sky); }.alert.danger { color: #7e312b; background: #fcebe8; }
.switch-row { display: flex; align-items: center; gap: 10px; color: var(--navy); font-size: 11px; font-weight: 800; }.switch-row input { position: absolute; opacity: 0; pointer-events: none; }.switch-row i { position: relative; width: 39px; height: 22px; border-radius: 20px; background: #b5c0cb; transition: .2s; }.switch-row i::after { content: ""; position: absolute; width: 16px; height: 16px; top: 3px; left: 3px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.2); transition: .2s; }.switch-row input:checked + i { background: var(--mint-dark); }.switch-row input:checked + i::after { transform: translateX(17px); }.compact { margin-left: auto; }.is-disabled { opacity: .42; pointer-events: none; }
.carrier-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.carrier-tab { display: flex; align-items: center; gap: 13px; min-height: 76px; padding: 14px; text-align: left; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: white; }.carrier-tab.active { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(22,91,147,.1); }.carrier-logo { width: 48px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; font-weight: 900; }.carrier-logo.cigna { color: white; background: #ef6a42; font-family: Georgia,serif; }.carrier-logo.mvp { color: var(--navy); background: var(--mint); }.carrier-tab strong,.carrier-tab small { display: block; }.carrier-tab strong { font-size: 12px; }.carrier-tab small { margin-top: 3px; color: var(--muted); font-size: 9px; }.check-ring { width: 22px; height: 22px; display: grid; place-items: center; margin-left: auto; border: 1px solid var(--line); border-radius: 50%; color: transparent; }.carrier-tab.active .check-ring { color: white; border-color: var(--blue); background: var(--blue); }
.selection-toolbar { display: flex; justify-content: space-between; align-items: center; margin: 25px 0 12px; }.selection-toolbar strong,.selection-toolbar small { display: block; }.selection-toolbar strong { font-size: 13px; }.selection-toolbar small { color: var(--muted); font-size: 9px; }.selection-count { padding: 7px 10px; border-radius: 20px; color: var(--blue); background: var(--sky); font-size: 10px; font-weight: 800; }
.plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.plan-card { position: relative; min-height: 150px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; transition: .2s; }.plan-card:hover { border-color: #9eb6ca; }.plan-card.selected { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(22,91,147,.08); }.plan-card.primary::before { content: "PRIMARY"; position: absolute; right: 11px; top: 11px; padding: 4px 7px; color: white; border-radius: 10px; background: var(--blue); font-size: 7px; font-weight: 900; letter-spacing: .8px; }.plan-select { position: absolute; opacity: 0; }.plan-title { display: flex; align-items: center; gap: 7px; margin-bottom: 11px; }.select-box { width: 16px; height: 16px; display: grid; place-items: center; border: 1px solid #b9c4ce; border-radius: 5px; color: transparent; font-size: 10px; }.selected .select-box { color: white; border-color: var(--blue); background: var(--blue); }.plan-title strong { font-size: 12px; }.plan-rate { margin: 4px 0 10px; }.plan-rate strong { font-size: 20px; color: var(--navy); }.plan-rate small { color: var(--muted); font-size: 8px; }.benefit-mini { display: flex; flex-wrap: wrap; gap: 5px; }.benefit-mini span { padding: 4px 6px; border-radius: 6px; color: #556477; background: var(--soft); font-size: 8px; }.primary-action { margin-top: 10px; padding: 0; color: var(--blue); border: 0; background: none; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .6px; }
.benefit-mini .coinsurance-chip { color: var(--blue); background: #eaf3ff; font-weight: 900; }
.comparison-wrap { margin-top: 17px; overflow-x: auto; }.compare-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; font-size: 9px; }.compare-table th,.compare-table td { padding: 9px 11px; text-align: left; border-bottom: 1px solid var(--line); }.compare-table th { color: white; background: var(--navy); }.compare-table th:first-child { width: 18%; }.compare-table td:first-child { color: var(--muted); font-weight: 800; background: var(--soft); }.compare-table tr:last-child td { border-bottom: 0; }
.product-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px; color: var(--navy); background: var(--mint); font-family: Georgia,serif; font-size: 19px; font-weight: 900; }.carrier-kicker { display: block; color: var(--blue); font-size: 7px; font-weight: 900; letter-spacing: 1.4px; }.product-head h3 { font-size: 16px; }.choice-list { display: grid; gap: 8px; }.choice { display: grid; grid-template-columns: 20px 1fr auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }.choice.selected { border-color: var(--blue); background: #f9fcfe; }.choice input { accent-color: var(--blue); }.choice strong,.choice small { display: block; }.choice strong { font-size: 10px; }.choice small { margin-top: 2px; color: var(--muted); font-size: 8px; }.choice .rate { color: var(--navy); font-size: 11px; font-weight: 900; }.text-button { margin: 14px 0 8px; padding: 0; border: 0; color: var(--blue); background: none; font-size: 9px; font-weight: 900; }.guarantee { padding: 9px 10px; color: #4d6578; border-radius: 8px; background: var(--soft); font-size: 8px; font-weight: 700; }
.contribution-stack { display: grid; gap: 14px; }.contribution-card { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }.contribution-head { display: grid; grid-template-columns: 1fr minmax(300px,42%); gap: 25px; align-items: center; padding: 18px 20px; background: var(--soft); }.contribution-head h3,.contribution-head p { margin: 0; }.contribution-head h3 { font-size: 13px; }.contribution-head p { margin-top: 3px; color: var(--muted); font-size: 9px; }.slider-wrap { display: grid; grid-template-columns: minmax(0,1fr) 48px; gap: 10px; align-items: center; }.slider-wrap input { width: 100%; accent-color: var(--mint-dark); }.slider-value { text-align: right; color: var(--mint-dark); font-weight: 900; }.quick-buttons { position: relative; grid-column: 1/2; height: 18px; }.quick-buttons button { position: absolute; top: 0; padding: 3px 0; border: 0; color: #738094; background: none; font-size: 8px; font-weight: 800; text-align: center; transform: translateX(-50%); }.quick-buttons button:nth-child(1) { left: 0; transform: translateX(0); }.quick-buttons button:nth-child(2) { left: 25%; }.quick-buttons button:nth-child(3) { left: 50%; }.quick-buttons button:nth-child(4) { left: 75%; }.quick-buttons button:nth-child(5) { left: 100%; transform: translateX(-100%); }.quick-buttons button.active { color: var(--mint-dark); }
.contribution-logo-wrap { display: flex; justify-content: flex-end; align-items: center; min-height: 54px; }
.contribution-logo-wrap img { max-width: 190px; max-height: 54px; object-fit: contain; }
.enrollment-area { display: grid; grid-template-columns: minmax(0,1fr) 220px; gap: 20px; padding: 18px 20px; }.tier-inputs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }.tier-input label { display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 800; }.tier-input input { width: 100%; height: 36px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; font-size: 11px; }.product-totals { display: grid; gap: 5px; padding-left: 20px; border-left: 1px solid var(--line); }.product-totals div { display: flex; justify-content: space-between; font-size: 9px; }.product-totals span { color: var(--muted); }.product-totals strong { color: var(--navy); }.tier-costs { grid-column: 1/-1; margin-top: 5px; overflow-x: auto; }.tier-cost-table { width: 100%; border-collapse: collapse; font-size: 8px; }.tier-cost-table th,.tier-cost-table td { padding: 7px 8px; border-top: 1px solid var(--line); text-align: right; }.tier-cost-table th:first-child,.tier-cost-table td:first-child { text-align: left; }.tier-cost-table th { color: var(--muted); }
.contribution-group .contribution-head { border-bottom: 1px solid var(--line); }
.contribution-plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 14px; }
.contribution-plan-grid.columns-1 { grid-template-columns: 1fr; }
.contribution-plan-grid.columns-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.contribution-plan { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.contribution-plan-top { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,190px); gap: 12px; align-items: start; }
.contribution-plan-top .slider-wrap { grid-template-columns: minmax(0,1fr) 38px; gap: 7px; }
.contribution-plan-top .slider-wrap.flat-mode { grid-template-columns: minmax(0,1fr) 68px; }
.contribution-plan-top .slider-value { font-size: 13px; }
.contribution-plan-top .quick-buttons { height: 15px; }
.contribution-plan-top .quick-buttons button { font-size: 7px; }
.contribution-plan-top .flat-mode .quick-buttons button { font-size: 6.5px; }
.three-markers .quick-buttons button:nth-child(1) { left: 0; transform: translateX(0); }
.three-markers .quick-buttons button:nth-child(2) { left: 100%; transform: translateX(-100%); }
.contribution-plan h4,.contribution-plan p { margin: 0; }
.contribution-plan h4 { color: var(--navy); font-size: 13px; }
.contribution-plan p { margin-top: 3px; color: var(--muted); font-size: 8.5px; }
.contribution-plan .tier-inputs { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 12px; }
.contribution-plan .product-totals { margin-top: 12px; padding: 10px 0 0; border-left: 0; border-top: 1px solid var(--line); }
.contribution-plan .tier-cost-table { font-size: 7.5px; }
.contribution-plan .tier-cost-table th,.contribution-plan .tier-cost-table td { padding: 6px 5px; }
.cost-summary { display: grid; grid-template-columns: 1fr 1.4fr; gap: 30px; align-items: center; margin-top: 18px; padding: 27px; border-radius: 18px; color: white; background: var(--navy); }.cost-summary h3 { margin: 7px 0 5px; font-family: Georgia,serif; font-size: 22px; }.cost-summary p { margin: 0; color: #aebed0; font-size: 9px; }.summary-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.summary-metric { padding: 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.04); }.summary-metric small,.summary-metric strong { display: block; }.summary-metric small { color: #aebed0; font-size: 8px; }.summary-metric strong { margin-top: 5px; font-size: 16px; }.summary-metric.highlight strong { color: var(--mint); }
.generate-panel { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; padding: 35px; border-radius: 22px; color: white; background: linear-gradient(125deg,var(--blue),var(--navy)); }.generate-panel h2 { margin: 7px 0 5px; font-family: Georgia,serif; font-size: 28px; }.generate-panel p { margin: 0; color: #d6dbe0; font-size: 11px; }.btn-large { padding: 15px 20px; font-size: 13px; }.btn-large span { margin-left: 20px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 25px; background: rgba(7,29,58,.65); backdrop-filter: blur(4px); }.modal-backdrop[hidden] { display: none; }.modal { position: relative; width: min(920px,100%); max-height: 88vh; overflow: auto; padding: 30px; border-radius: 20px; background: white; box-shadow: 0 25px 80px rgba(0,0,0,.25); }.modal-close { position: absolute; top: 15px; right: 15px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--soft); font-size: 22px; }.modal h2 { margin: 0 0 4px; font-family: Georgia,serif; }.modal-lead { margin: 0 0 20px; color: var(--muted); font-size: 11px; }.benefit-detail-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }.benefit-detail { padding: 14px; border-radius: 12px; background: var(--soft); }.benefit-detail h4 { margin: 0 0 7px; font-size: 11px; }.benefit-detail p { margin: 0; color: var(--muted); font-size: 9px; }.modal-table { width: 100%; border-collapse: collapse; font-size: 9px; }.modal-table th,.modal-table td { padding: 9px; border-bottom: 1px solid var(--line); text-align: left; }.modal-table th { color: white; background: var(--navy); }.toast { position: fixed; z-index: 200; left: 50%; bottom: 24px; transform: translate(-50%,20px); opacity: 0; padding: 11px 16px; border-radius: 10px; color: white; background: var(--navy); box-shadow: var(--shadow); font-size: 10px; transition: .25s; }.toast.show { transform: translate(-50%,0); opacity: 1; }

.proposal-view { display: none; background: #dfe5ea; }.proposal-toolbar { position: sticky; z-index: 60; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 13px 24px; color: white; background: var(--navy); }.proposal-toolbar > div { display: flex; align-items: center; gap: 8px; }.proposal-toolbar .brand { margin-right: 20px; }.proposal-document { width: 8.5in; margin: 30px auto; box-shadow: 0 15px 45px rgba(7,29,58,.2); }.proposal-page { position: relative; min-height: 11in; padding: .56in .58in .55in; background: white; page-break-after: always; overflow: hidden; }.proposal-page:last-child { page-break-after: auto; }.proposal-brand { display: flex; align-items: center; justify-content: space-between; padding-bottom: 13px; border-bottom: 1px solid #ccd7e0; }.proposal-brand .brand { color: var(--navy); }.proposal-brand .brand-mark { background: var(--navy); }.proposal-brand .meta { text-align: right; color: var(--muted); font-size: 8px; }.proposal-brand .meta strong { display: block; color: var(--navy); font-size: 9px; }.proposal-title { padding: 42px 0 25px; }.proposal-title .eyebrow { color: var(--blue); }.proposal-title h1 { max-width: 570px; margin: 10px 0 9px; color: var(--navy); font-family: Georgia,serif; font-size: 38px; line-height: 1.05; letter-spacing: -1.2px; }.proposal-title p { margin: 0; color: var(--muted); font-size: 11px; }.proposal-hero-band { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 10px 0 25px; border-radius: 14px; overflow: hidden; background: white; box-shadow: 0 10px 28px rgba(7,29,58,.1); }.proposal-hero-band div { padding: 16px; background: var(--navy); color: white; }.proposal-hero-band small,.proposal-hero-band strong { display: block; }.proposal-hero-band small { color: #9fb2c6; font-size: 7px; text-transform: uppercase; letter-spacing: 1px; }.proposal-hero-band strong { margin-top: 5px; font-size: 12px; }.proposal-section-title { display: flex; align-items: end; justify-content: space-between; margin: 19px 0 10px; }.proposal-section-title h2 { margin: 0; color: var(--navy); font-family: Georgia,serif; font-size: 20px; }.proposal-section-title p { margin: 0; color: var(--muted); font-size: 8px; }.proposal-card { padding: 15px; border: 1px solid var(--line); border-radius: 13px; }.proposal-plan-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }.proposal-plan-head h3,.proposal-plan-head p { margin: 0; }.proposal-plan-head h3 { color: var(--navy); font-size: 15px; }.proposal-plan-head p { margin-top: 2px; color: var(--muted); font-size: 8px; }.contribution-badge { padding: 6px 9px; border-radius: 20px; color: var(--mint-dark); background: #e6f8f3; font-size: 8px; font-weight: 900; }.proposal-rate-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; }.proposal-rate { padding: 9px; border-radius: 9px; background: var(--soft); }.proposal-rate small,.proposal-rate strong { display: block; }.proposal-rate small { color: var(--muted); font-size: 7px; }.proposal-rate strong { margin-top: 3px; color: var(--navy); font-size: 11px; }.proposal-benefits { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 9px; }.proposal-benefit { padding: 8px; border-left: 2px solid var(--mint); background: #f9fbfc; }.proposal-benefit small,.proposal-benefit strong { display: block; }.proposal-benefit small { color: var(--muted); font-size: 6.5px; }.proposal-benefit strong { margin-top: 2px; color: var(--navy); font-size: 8px; }.proposal-table { width: 100%; border-collapse: collapse; font-size: 7.4px; }.proposal-table th,.proposal-table td { padding: 6px 7px; border-bottom: 1px solid var(--line); text-align: right; }.proposal-table th:first-child,.proposal-table td:first-child { text-align: left; }.proposal-table th { color: white; background: var(--navy); }.proposal-note { margin-top: 8px; color: var(--muted); font-size: 6.7px; }.proposal-footer { position: absolute; bottom: .27in; left: .58in; right: .58in; display: flex; justify-content: space-between; padding-top: 7px; color: #8a97a6; border-top: 1px solid var(--line); font-size: 6.5px; }.proposal-champ { padding: 18px; color: white; border-radius: 15px; background: var(--navy); }.proposal-champ h2 { margin: 7px 0 3px; color: white; font-family: Georgia,serif; font-size: 20px; }.proposal-champ p { margin: 0; color: #aebed0; font-size: 8px; }.proposal-champ-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 12px; }.proposal-champ-item { padding: 9px; border-radius: 8px; background: rgba(255,255,255,.06); }.proposal-champ-item small,.proposal-champ-item strong { display: block; }.proposal-champ-item small { color: #aebed0; font-size: 6.7px; }.proposal-champ-item strong { margin-top: 3px; color: var(--mint); font-size: 10px; }.zero-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 9px; }.zero-item { padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; }.zero-item small,.zero-item strong { display: block; }.zero-item small { color: var(--muted); font-size: 6.5px; }.zero-item strong { color: var(--mint-dark); font-size: 8px; }.total-hero { margin-top: 19px; padding: 20px; color: white; border-radius: 15px; background: linear-gradient(135deg,var(--navy-2),var(--navy)); }.total-hero > div:first-child { display: flex; justify-content: space-between; align-items: end; }.total-hero h2 { margin: 5px 0 0; font-family: Georgia,serif; font-size: 22px; }.grand-total { color: var(--mint); font-size: 26px; font-weight: 900; }.total-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin-top: 15px; }.total-grid div { padding: 9px; border-radius: 8px; background: rgba(255,255,255,.06); }.total-grid small,.total-grid strong { display: block; }.total-grid small { color: #aebed0; font-size: 6.5px; }.total-grid strong { margin-top: 3px; font-size: 10px; }.disclaimer { margin-top: 15px; padding: 12px; border-radius: 10px; color: #586779; background: var(--soft); font-size: 7px; }

@media (max-width: 1100px) { .app-shell { grid-template-columns: 220px minmax(0,1fr); }.builder { padding-left: 28px; padding-right: 28px; }.plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.champ-benefits { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 800px) { .app-header { padding: 0 16px; }.save-state,.header-meta .btn-ghost { display: none; }.app-shell { display: block; }.sidebar { display: none; }.builder { padding: 0 17px 45px; }.hero-strip h2 { font-size: 31px; }.panel-grid.two,.supp-grid,.cost-summary { grid-template-columns: 1fr; }.carrier-tabs,.plan-grid,.contribution-plan-grid,.contribution-plan-grid.columns-2,.contribution-plan-grid.columns-3 { grid-template-columns: 1fr; }.contribution-head,.contribution-plan-top,.enrollment-area { grid-template-columns: 1fr; }.contribution-logo-wrap { justify-content: flex-start; }.tier-inputs { grid-template-columns: repeat(2,1fr); }.product-totals { padding: 12px 0 0; border: 0; border-top: 1px solid var(--line); }.summary-metrics { grid-template-columns: 1fr; }.generate-panel { align-items: flex-start; flex-direction: column; gap: 20px; }.proposal-document { width: 100%; margin: 0; }.proposal-page { min-height: auto; }.proposal-toolbar .brand { display: none; } }
@media (max-width: 800px) { .enrollment-toolbar { align-items: flex-start; flex-direction: column; }.enrollment-toolbar > div { flex-wrap: wrap; }.intake-document { width: calc(100% - 22px); margin-top: 14px; }.intake-cover { padding: 0; border-radius: 16px; }.intake-cover.compact { grid-template-columns: 1fr; }.intake-cover-band,.intake-cover.compact .intake-cover-band { min-height: 86px; padding: 16px; }.intake-cover-body,.intake-cover.compact .intake-cover-body { display: block; padding: 18px; }.intake-progress { grid-template-columns: repeat(2,minmax(0,1fr)); }.intake-section { padding: 18px; border-radius: 16px; }.intake-grid,.census-summary,.upload-card { grid-template-columns: 1fr; }.intake-section-head h2 { font-size: 23px; }.inline-other { width: 100%; }.census-table-wrap { max-height: none; } }

@media (max-width: 640px) {
  html { scroll-padding-top: 64px; }
  body { overflow-x: hidden; }
  .app-header {
    height: 64px;
    gap: 12px;
    padding: 0 14px;
  }
  .app-header .affordacare-logo {
    width: 148px;
    height: 38px;
  }
  .header-meta {
    flex: 0 0 auto;
    gap: 0;
  }
  .header-meta .btn-accent {
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 9px;
    font-size: 11px;
    white-space: nowrap;
  }
  .builder {
    padding: 0 14px 42px;
  }
  .hero-strip {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 34px 0 26px;
  }
  .hero-strip h2 {
    max-width: 9ch;
    font-size: 34px;
    line-height: 1.15;
    letter-spacing: 0;
  }
  .date-chip {
    width: 100%;
    min-width: 0;
  }
  .form-section {
    padding: 34px 0;
    scroll-margin-top: 64px;
  }
  .section-heading,
  .section-heading.with-toggle,
  .section-heading.with-mode {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    align-items: start;
    gap: 12px;
  }
  .section-heading h2 {
    font-size: 25px;
    line-height: 1.1;
    letter-spacing: 0;
  }
  .section-heading.with-toggle .switch-row,
  .mode-toggle {
    grid-column: 1 / -1;
    margin-left: 0;
    justify-self: stretch;
  }
  .mode-toggle {
    border-radius: 12px;
  }
  .mode-toggle button {
    flex: 1 1 0;
    min-height: 38px;
  }
  .panel,
  .contribution-plan,
  .contribution-card {
    border-radius: 14px;
  }
  .panel {
    padding: 18px;
  }
  .panel-title,
  .product-head {
    align-items: flex-start;
    gap: 10px;
  }
  .field-grid.two,
  .tier-inputs,
  .contribution-plan .tier-inputs {
    grid-template-columns: 1fr;
  }
  .field input,
  .tier-input input {
    min-height: 44px;
    font-size: 16px;
  }
  .carrier-tab,
  .choice {
    min-height: 72px;
  }
  .plan-card {
    min-height: auto;
    padding: 16px;
  }
  .plan-card.primary::before {
    position: static;
    display: inline-block;
    margin-bottom: 10px;
  }
  .plan-title {
    align-items: flex-start;
  }
  .benefit-mini span {
    font-size: 9px;
  }
  .comparison-wrap,
  .tier-costs,
  .census-table-wrap {
    margin-left: -14px;
    margin-right: -14px;
    padding: 0 14px 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .compare-table,
  .tier-cost-table,
  .census-table {
    min-width: 620px;
  }
  .contribution-head,
  .enrollment-area {
    padding: 16px;
  }
  .contribution-plan-grid {
    padding: 12px;
  }
  .contribution-plan-top {
    gap: 14px;
  }
  .slider-wrap,
  .contribution-plan-top .slider-wrap,
  .contribution-plan-top .slider-wrap.flat-mode {
    grid-template-columns: minmax(0,1fr) 56px;
  }
  .quick-buttons {
    height: auto;
    min-height: 26px;
  }
  .quick-buttons button {
    min-width: 34px;
    min-height: 24px;
  }
  .cost-summary,
  .generate-panel {
    padding: 22px;
    border-radius: 16px;
  }
  .generate-panel .btn-large,
  .proposal-toolbar .btn,
  .enrollment-toolbar .btn {
    width: 100%;
  }
  .proposal-toolbar,
  .enrollment-toolbar {
    align-items: stretch;
    padding: 12px 14px;
  }
  .proposal-toolbar > div,
  .enrollment-toolbar > div {
    width: 100%;
  }
  .toast {
    left: 14px;
    right: 14px;
    bottom: 14px;
    transform: translateY(20px);
    text-align: center;
  }
  .toast.show {
    transform: translateY(0);
  }
}

@media (max-width: 380px) {
  .app-header .affordacare-logo {
    width: 126px;
  }
  .header-meta .btn-accent {
    padding: 9px 10px;
    font-size: 10px;
  }
  .hero-strip h2 {
    font-size: 31px;
  }
  .section-heading h2 {
    font-size: 23px;
  }
}

@media print {
  @page { size: Letter; margin: 0; }
  body { background: white; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .no-print,.proposal-toolbar { display: none !important; }
  .proposal-view { display: block !important; background: white; }
  .enrollment-view { background: white; }
  .proposal-document { width: 8.5in; margin: 0; box-shadow: none; }
  .intake-document { width: auto; margin: 0; }
  .proposal-page { width: 8.5in; height: 11in; min-height: 11in; }
  .intake-cover,.intake-section { box-shadow: none; break-inside: avoid; page-break-inside: avoid; }
  .intake-form { gap: 12px; }
  .census-table-wrap { max-height: none; overflow: visible; }
}

/* Final supplied brand assets */
.affordacare-logo { display: block; width: 190px; height: 48px; object-fit: contain; object-position: left center; }
.app-header .affordacare-logo { width: 185px; }
.btn-accent { color: white; background: var(--blue); box-shadow: 0 6px 18px rgba(33,71,119,.20); }
.carrier-logo.cigna { width: 58px; height: 42px; padding: 3px 5px; background: white; border: 1px solid var(--line); }
.carrier-logo.cigna img { display: block; width: 100%; height: 100%; object-fit: contain; }
.carrier-logo.mvp { width: 74px; height: 42px; padding: 5px 7px; background: var(--navy); }
.carrier-logo.mvp img { display: block; width: 100%; height: 100%; object-fit: contain; }
.plan-card.tier-bronze { border: 2px solid #b87333; background: linear-gradient(180deg,#fff8f1,#fffdf9); box-shadow: inset 4px 0 0 #b87333; }
.plan-card.tier-silver { border: 2px solid #aeb7c2; background: linear-gradient(180deg,#f8fafc,#ffffff); box-shadow: inset 4px 0 0 #aeb7c2; }
.plan-card.tier-gold { border: 2px solid #d4a017; background: linear-gradient(180deg,#fff9e8,#fffdf6); box-shadow: inset 4px 0 0 #d4a017; }
.plan-card.tier-platinum { border: 2px solid transparent; background: linear-gradient(#ffffff,#ffffff) padding-box, linear-gradient(135deg,#8fd3ff,#b79cff) border-box; box-shadow: inset 4px 0 0 #8fd3ff; }
.plan-card.tier-minimum-value { border: 2px solid var(--blue); background: linear-gradient(180deg,#f7fbff,#ffffff); box-shadow: inset 4px 0 0 var(--blue); }
.plan-card.tier-bronze:hover { border-color: #9f6329; }
.plan-card.tier-silver:hover { border-color: #929dab; }
.plan-card.tier-gold:hover { border-color: #b8890f; }
.plan-card.tier-platinum:hover { background: linear-gradient(#fbfdff,#ffffff) padding-box, linear-gradient(135deg,#56baf3,#9b7cff) border-box; }
.plan-card.selected.tier-bronze { box-shadow: inset 4px 0 0 #b87333, 0 0 0 3px rgba(184,115,51,.18); }
.plan-card.selected.tier-silver { box-shadow: inset 4px 0 0 #aeb7c2, 0 0 0 3px rgba(174,183,194,.22); }
.plan-card.selected.tier-gold { box-shadow: inset 4px 0 0 #d4a017, 0 0 0 3px rgba(212,160,23,.22); }
.plan-card.selected.tier-platinum { box-shadow: inset 4px 0 0 #8fd3ff, 0 0 0 3px rgba(143,211,255,.22); }
.plan-card.selected.tier-bronze { color: white; background: linear-gradient(135deg,#9f6329,#c9823d); }
.plan-card.selected.tier-silver { color: #102033; background: linear-gradient(135deg,#dfe4ea,#aeb7c2); }
.plan-card.selected.tier-gold { color: #1e1704; background: linear-gradient(135deg,#ffe9a8,#d4a017); }
.plan-card.selected.tier-platinum { color: #102033; background: linear-gradient(135deg,#dff4ff,#d9ccff); }
.plan-card.selected.tier-minimum-value { color: white; background: linear-gradient(135deg,var(--blue),#2A3744); }
.plan-card.selected .plan-rate strong,.plan-card.selected .plan-rate small,.plan-card.selected .plan-title strong { color: inherit; }
.plan-card.selected .benefit-mini span { color: inherit; background: rgba(255,255,255,.22); }
.plan-card.selected.tier-silver .benefit-mini span,.plan-card.selected.tier-gold .benefit-mini span,.plan-card.selected.tier-platinum .benefit-mini span { background: rgba(255,255,255,.48); }
.plan-card.selected .primary-action { color: inherit; }
.product-icon { width: 74px; height: 42px; padding: 5px 7px; background: white; border: 1px solid var(--line); }
.product-icon img { width: 100%; height: 100%; object-fit: contain; }
.proposal-brand .brand { width: 164px; justify-content: center; padding: 5px 11px; border-radius: 7px; background: var(--navy); }
.proposal-brand .affordacare-logo { width: 142px; height: 36px; object-position: center center; }

/* Proposal cover: stacked client and agent details */
.proposal-cover-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 14px 0 24px; }
.proposal-info-card { padding: 16px 18px; border: 1px solid var(--line); border-radius: 13px; background: #f7f9fb; }
.proposal-info-card h3 { margin: 0 0 10px; color: var(--navy); font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }
.proposal-info-list { display: grid; gap: 0; }
.proposal-info-row { display: grid; grid-template-columns: 94px minmax(0,1fr); gap: 10px; padding: 7px 0; border-top: 1px solid #e1e6eb; }
.proposal-info-row:first-child { border-top: 0; }
.proposal-info-row small { color: var(--muted); font-size: 7px; text-transform: uppercase; letter-spacing: .5px; }
.proposal-info-row strong { min-width: 0; color: var(--navy); font-size: 9px; overflow-wrap: anywhere; }
.proposal-plan-identity { display: flex; align-items: center; gap: 11px; min-width: 0; }
.proposal-carrier-logo { display: block; flex: 0 0 auto; object-fit: contain; }
.proposal-carrier-logo.cigna { width: 54px; height: 34px; }
.proposal-carrier-logo.ameritas { width: 68px; height: 32px; }

/* Compact Champion Health proposal section using Champion brand colors */
.proposal-champ { padding: 14px 16px; color: #2A3744; border: 1px solid #d8e3ef; border-left: 5px solid #288DE5; border-radius: 13px; background: #f7fbff; }
.proposal-champ-head { display: grid; grid-template-columns: 132px 1fr; gap: 16px; align-items: center; }
.proposal-champ-logo { display: block; width: 128px; height: 58px; object-fit: contain; }
.proposal-champ h2 { margin: 4px 0 2px; color: #082A75; font-size: 17px; }
.proposal-champ p { color: #63758a; font-size: 7.5px; }
.proposal-champ .locked-pill { display: inline-block; padding: 4px 7px; color: #082A75; border-radius: 12px; background: #e2effd; font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.proposal-champ-grid { grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 10px; }
.proposal-champ-item { padding: 7px 8px; border: 1px solid #dce8f4; background: white; }
.proposal-champ-item small { min-height: 18px; color: #65748a; font-size: 6.2px; }
.proposal-champ-item strong { margin-top: 2px; color: #288DE5; font-size: 9px; }
.proposal-page .zero-item { border-color: #dce8f4; background: #f7fbff; }
.proposal-page .zero-item strong { color: #082A75; }
.champ-notes { line-height: 1.28; }
.champ-notes p { margin: 0 0 4px; }
.champ-notes p:last-child { margin-bottom: 0; }
.champ-offset-card { margin-top: 12px; padding: 15px; color: #082A75; border: 1px solid #d8e3ef; border-left: 5px solid #288DE5; border-radius: 15px; background: linear-gradient(135deg,#f7fbff,#e9f4ff); }
.champ-offset-head { display: grid; grid-template-columns: 116px 1fr; gap: 13px; align-items: center; }
.champ-offset-logo { display: block; width: 110px; height: 48px; object-fit: contain; }
.champ-offset-head span { color: #288DE5; font-size: 7px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; }
.champ-offset-head h2 { margin: 3px 0 2px; font-family: Georgia,serif; font-size: 18px; color: #082A75; }
.champ-offset-head p { margin: 0; color: #5e7187; font-size: 7.5px; }
.champ-offset-grid { margin-top: 12px; }
.champ-offset-grid div { border: 1px solid #dce8f4; background: white; }
.champ-offset-grid small { color: #63758a; }
.champ-offset-grid strong { color: #288DE5; }
.champ-offset-note { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; padding: 8px 10px; border-radius: 9px; color: white; background: #082A75; font-size: 8px; font-weight: 900; }
.champ-offset-note strong { color: #ffffff; font-size: 12px; }
.champ-offset-disclaimer { margin: 7px 2px 0; color: #5e7187; font-size: 6.8px; line-height: 1.35; }
.product-total-hero { margin-top: 12px; padding: 14px; border-radius: 12px; }
.product-total-hero h2 { font-size: 17px; }
.product-total-hero .grand-total { font-size: 21px; }
.product-total-hero .total-grid { margin-top: 10px; }
.product-total-hero .total-grid div { padding: 7px; }
.product-total-ameritas { background: linear-gradient(135deg,#8f1018,#d71920 58%,#f05a63); }
.product-total-cigna { background: linear-gradient(135deg,#0038ff 0%,#1646d9 48%,#00b84f 100%); }
.product-total-affordacare { background: linear-gradient(135deg,#2A3744 0%,#214777 65%,#5f6f7f 100%); }
.product-total-ameritas .grand-total,.product-total-cigna .grand-total,.product-total-affordacare .grand-total { color: #ffffff; }
.product-total-ameritas .eyebrow,.product-total-cigna .eyebrow,.product-total-affordacare .eyebrow { color: rgba(255,255,255,.72); }
.product-total-ameritas .total-grid div,.product-total-cigna .total-grid div,.product-total-affordacare .total-grid div { background: rgba(255,255,255,.14); }
.product-total-ameritas .total-grid small,.product-total-cigna .total-grid small,.product-total-affordacare .total-grid small { color: rgba(255,255,255,.7); }
.total-hero .grand-total { color: #ffffff; }
.proposal-enroll-strip { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 16px 0 10px; padding: 13px 14px; border-radius: 13px; color: #fff; background: linear-gradient(135deg,var(--navy-2),var(--navy)); box-shadow: 0 10px 26px rgba(33,71,119,.14); }
.proposal-enroll-strip.final { margin-top: 14px; background: linear-gradient(135deg,#214777,#2A3744); }
.proposal-enroll-strip span { display: block; color: #bfcbd8; font-size: 7px; font-weight: 900; letter-spacing: 1.1px; text-transform: uppercase; }
.proposal-enroll-strip strong { display: block; margin-top: 3px; color: #fff; font-family: Georgia,serif; font-size: 14px; line-height: 1.15; }
.proposal-enroll-strip p { margin: 3px 0 0; color: #d7e0ea; font-size: 7.5px; }
.proposal-enroll-button { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 124px; padding: 10px 12px; border-radius: 999px; color: var(--navy); background: #fff; text-align: center; text-decoration: none; font-size: 9px; font-weight: 900; box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.proposal-enroll-button:hover { transform: translateY(-1px); }

.enrollment-view { min-height: 100vh; background: #dfe5ea; }
.enrollment-toolbar { position: sticky; z-index: 60; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 24px; color: white; background: var(--navy); }
.enrollment-toolbar > div { display: flex; align-items: center; gap: 8px; }
.intake-document { width: min(1040px, calc(100% - 34px)); margin: 28px auto 54px; }
.intake-form { display: grid; gap: 18px; }
.intake-cover,.intake-section { padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: var(--shadow); }
.intake-section.active { animation: intakeFade .18s ease-out; }
@keyframes intakeFade { from { opacity: .25; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.intake-cover { overflow: hidden; position: relative; min-height: 270px; padding: 0; }
.intake-cover::after { content: ""; position: absolute; inset: auto -80px -130px auto; width: 300px; height: 300px; border-radius: 50%; background: rgba(33,71,119,.08); }
.intake-cover-band { position: relative; z-index: 1; display: flex; align-items: center; min-height: 118px; padding: 22px 28px; background: linear-gradient(135deg,var(--navy),var(--navy-2)); }
.intake-cover-band img { width: 315px; max-width: 82%; height: auto; object-fit: contain; }
.intake-cover-body { position: relative; z-index: 1; padding: 28px 30px 30px; }
.intake-cover.compact { width: 100%; max-width: none; justify-self: stretch; min-height: 0; display: grid; grid-template-columns: minmax(220px,330px) 1fr; align-items: stretch; gap: 0; }
.intake-cover.compact::after,.intake-cover.compact .intake-cover-note,.intake-cover.compact p { display: none; }
.intake-cover.compact h1 { margin: 0; font-size: clamp(24px,3vw,34px); letter-spacing: -.8px; }
.intake-cover.compact .intake-cover-band { min-height: 92px; padding: 18px 22px; }
.intake-cover.compact .intake-cover-band img { width: 240px; max-width: 100%; }
.intake-cover.compact .intake-cover-body { display: flex; align-items: center; padding: 18px 22px; }
.intake-brand-card { display: inline-flex; align-items: center; justify-content: center; width: 260px; max-width: 100%; padding: 14px 16px; border-radius: 14px; background: #f4f7fa; border: 1px solid var(--line); }
.intake-brand-card img { display: block; max-width: 100%; height: auto; }
.intake-cover h1 { margin: 26px 0 7px; color: var(--navy); font-family: Georgia,serif; font-size: clamp(34px,5vw,54px); line-height: .98; letter-spacing: -1.8px; }
.intake-cover p { max-width: 640px; margin: 0; color: var(--muted); font-size: 15px; }
.intake-cover-note { max-width: 680px; margin-top: 22px; padding: 13px 15px; border-radius: 13px; color: #42536a; background: var(--soft); font-size: 13px; }
.intake-progress { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: var(--shadow); }
.intake-progress-step { display: grid; grid-template-columns: 28px 1fr; grid-template-areas: "status number" "status label"; align-items: center; gap: 0 8px; min-height: 58px; padding: 9px 10px; border: 1px solid #d6e1ec; border-radius: 13px; color: #50637a; background: #f8fbfe; text-align: left; cursor: pointer; transition: .18s ease; }
.intake-progress-step:hover { border-color: var(--blue); transform: translateY(-1px); }
.intake-progress-step .progress-status { grid-area: status; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; color: var(--navy); background: #e9f1f8; font-size: 12px; font-weight: 900; }
.intake-progress-step strong { grid-area: number; color: inherit; font-size: 10px; letter-spacing: .9px; }
.intake-progress-step small { grid-area: label; color: inherit; font-size: 11px; font-weight: 900; }
.intake-progress-step.active { color: white; border-color: var(--blue); background: linear-gradient(135deg,var(--blue),var(--navy)); box-shadow: 0 12px 26px rgba(33,71,119,.16); }
.intake-progress-step.active .progress-status { color: var(--blue); background: white; }
.intake-progress-step.complete:not(.active) { color: #176a43; border-color: #b7dec8; background: #eefaf3; }
.intake-progress-step.complete:not(.active) .progress-status { color: white; background: #1f9d61; }
.intake-progress-step.incomplete:not(.active) { color: #8a342e; border-color: #f0c1bd; background: #fff6f5; }
.intake-progress-step.incomplete:not(.active) .progress-status { color: white; background: #c94136; }
.intake-section-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.intake-section-head > span { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 39px; height: 39px; border-radius: 12px; color: white; background: var(--navy); font-weight: 900; }
.intake-section-head h2 { margin: 0; color: var(--navy); font-family: Georgia,serif; font-size: 27px; line-height: 1.08; }
.intake-section-head p { margin: 5px 0 0; color: var(--muted); }
#employerIntakeForm { font-family: var(--font-sans, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); }
#employerIntakeForm input,#employerIntakeForm textarea,#employerIntakeForm select,#employerIntakeForm button { font-family: inherit; }
.intake-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.intake-field { display: grid; gap: 6px; align-self: start; }
.intake-field.wide,.intake-choice-group,.conditional-panel.wide,.intake-check-wide,.intake-check.wide,.confirmation-card.wide,.confirmation-disclaimer.wide { grid-column: 1 / -1; }
.intake-field span,.intake-choice-group legend { color: #34455a; font-size: 12px; font-weight: 900; }
.intake-field em { color: var(--danger); font-style: normal; }
.intake-choice-group legend em,.upload-card strong em { color: var(--danger); font-style: normal; }
.intake-field input,.intake-field textarea,.intake-field select,.census-table input,.census-table select,.inline-other { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #cbd8e5; border-radius: 10px; color: var(--ink); background: white; outline: none; font: inherit; }
.intake-field textarea { min-height: 92px; resize: vertical; }
.intake-field input:focus,.intake-field textarea:focus,.census-table input:focus,.census-table select:focus,.inline-other:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(33,71,119,.12); }
.intake-field small,.intake-choice-group p,.intake-check small { display: block; margin: 0; color: var(--muted); font-size: 11px; }
.intake-choice-group { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfe; }
.intake-choice-group > div { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 10px; }
.intake-choice-group label { display: inline-flex; align-items: center; gap: 7px; color: #33445a; font-size: 13px; font-weight: 700; }
.inline-other { width: 230px; min-height: 34px; margin-left: 4px; padding: 7px 9px; }
.conditional-panel { padding: 14px; border: 1px dashed #b8c9da; border-radius: 14px; background: #f7fbff; }
.panel-instruction { margin: 0 0 12px; color: #40546a; font-size: 12px; font-weight: 800; }
.ach-card { padding: 16px; border: 1px solid #cfddea; border-radius: 16px; background: linear-gradient(135deg,#f8fbff,#eef5fb); }
.ach-card.wide { grid-column: 1 / -1; }
.ach-card h3 { margin: 0 0 4px; color: var(--navy); font-size: 18px; }
.ach-card p { margin: 0 0 14px; color: #53657a; font-size: 13px; }
.affiliated-card { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.affiliated-card + .affiliated-card { margin-top: 12px; }
.affiliated-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; color: var(--navy); }
.intake-add-location { margin-top: 14px; color: white; background: var(--blue); box-shadow: 0 10px 22px rgba(33,71,119,.14); }
.intake-section-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.intake-section-nav .btn { min-width: 150px; justify-content: center; }
.intake-section-nav .btn-ghost { color: var(--blue); border-color: var(--blue); background: white; }
.intake-section-nav .btn-ghost:hover { color: white; background: var(--blue); }
.upload-card { display: grid; grid-template-columns: 1fr 260px; gap: 18px; align-items: center; margin-bottom: 16px; padding: 16px; border: 1px solid #cfddea; border-radius: 16px; background: linear-gradient(135deg,#f8fbff,#eef5fb); }
.upload-card strong { color: var(--navy); font-size: 16px; }
.upload-card p { margin: 5px 0; color: #53657a; font-size: 13px; }
.upload-card ul { margin: 6px 0 7px; padding-left: 18px; color: #53657a; font-size: 13px; }
.upload-card li + li { margin-top: 3px; }
.upload-card small { color: var(--muted); font-size: 11px; }
.upload-list { gap: 14px; }
.document-upload { display: grid; gap: 8px; padding: 16px; border: 1px solid #cfddea; border-radius: 16px; background: linear-gradient(135deg,#f8fbff,#eef5fb); }
.document-upload-with-action { grid-template-columns: 1fr auto; align-items: center; }
.document-upload-with-action input { grid-column: 1 / -1; }
.document-download { color: white; background: var(--blue); box-shadow: 0 8px 18px rgba(33,71,119,.14); white-space: nowrap; }
.document-upload span { color: var(--navy); font-size: 16px; font-weight: 900; }
.document-upload small { color: var(--muted); font-size: 12px; }
.document-upload em { color: var(--danger); font-style: normal; }
.document-upload input,.upload-card input { width: 100%; padding: 10px; border: 1px solid #cbd8e5; border-radius: 10px; background: white; }
.census-summary { margin-bottom: 14px; grid-template-columns: repeat(5,minmax(0,1fr)); }
.census-table-wrap { max-height: 520px; overflow: auto; border: 1px solid var(--line); border-radius: 14px; }
.census-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.census-table th { position: sticky; top: 0; z-index: 1; color: white; background: var(--navy); text-align: left; }
.census-table th,.census-table td { padding: 8px; border-bottom: 1px solid var(--line); }
.census-table th:first-child,.census-table td:first-child { width: 48px; text-align: center; }
.document-checklist { display: grid; gap: 10px; }
.intake-check { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfe; }
.intake-check input { grid-row: span 2; margin-top: 3px; }
.intake-check span { color: var(--navy); font-weight: 900; }
.intake-check small { grid-column: 2; }
.confirmation-card { padding: 18px; border: 1px solid #cfddea; border-radius: 16px; background: linear-gradient(135deg,#f8fbff,#eef5fb); }
.confirmation-card h3 { margin: 0 0 6px; color: var(--navy); font-size: 18px; }
.confirmation-card p { margin: 0; color: #53657a; font-size: 13px; }
.confirmation-disclaimer { padding: 16px 18px; border: 1px solid #d7e3ee; border-radius: 14px; background: #fbfcfe; }
.confirmation-disclaimer h3 { margin: 0 0 8px; color: var(--navy); font-size: 15px; }
.confirmation-disclaimer ul { margin: 0; padding-left: 20px; color: #3d4f65; font-size: 13px; line-height: 1.45; }
.confirmation-disclaimer li + li { margin-top: 5px; }
.intake-review-summary { margin-top: 8px; padding: 16px; border: 1px solid #cfddea; border-radius: 16px; background: #fff; }
.intake-review-summary.wide { grid-column: 1 / -1; }
.intake-summary-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-end; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.intake-summary-head span { display: block; color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; }
.intake-summary-head strong { display: block; margin-top: 2px; color: var(--navy); font-size: 18px; font-family: Georgia,serif; line-height: 1.05; }
.intake-summary-head small { color: var(--muted); font-size: 10px; text-align: right; max-width: none; white-space: nowrap; }
.intake-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.intake-summary-card { padding: 12px; border: 1px solid #d8e4ef; border-radius: 13px; background: #f8fbff; }
.intake-summary-card h4 { margin: 0 0 10px; color: var(--navy); font-size: 14px; letter-spacing: .2px; line-height: 1.2; }
.intake-summary-card dl,.intake-summary-mini dl { display: grid; grid-template-columns: minmax(110px,.65fr) minmax(0,1fr); gap: 0; margin: 0; border-top: 1px solid #e1eaf2; }
.intake-summary-card dl div,.intake-summary-mini dl div { display: contents; }
.intake-summary-card dt,.intake-summary-card dd,.intake-summary-mini dt,.intake-summary-mini dd { margin: 0; padding: 5px 0; border-bottom: 1px solid #e1eaf2; font-size: 10.5px; line-height: 1.25; }
.intake-summary-card dt,.intake-summary-mini dt { color: #607189; font-weight: 900; text-transform: uppercase; letter-spacing: .35px; }
.intake-summary-card dd,.intake-summary-mini dd { color: #1e2d3d; font-weight: 700; word-break: break-word; }
.intake-summary-card .summary-missing dt,.intake-summary-card .summary-missing dd,.intake-summary-mini .summary-missing dt,.intake-summary-mini .summary-missing dd { color: var(--danger); }
.intake-summary-mini { margin-top: 8px; padding: 9px; border: 1px dashed #c8d8e7; border-radius: 10px; background: white; }
.intake-summary-mini strong { display: block; margin-bottom: 6px; color: var(--blue); font-size: 10.5px; }
.intake-summary-empty { margin: 8px 0 0; color: var(--muted); font-size: 10.5px; }
.intake-summary-table-wrap { max-height: 220px; overflow: auto; margin-top: 8px; border: 1px solid #d8e4ef; border-radius: 10px; background: white; }
.intake-summary-table-wrap table { width: 100%; border-collapse: collapse; font-size: 10.5px; }
.intake-summary-table-wrap th { position: sticky; top: 0; color: white; background: var(--navy); text-align: left; }
.intake-summary-table-wrap th,.intake-summary-table-wrap td { padding: 5px 7px; border-bottom: 1px solid #e1eaf2; }
.intake-summary-table-wrap th:first-child,.intake-summary-table-wrap td:first-child { width: 38px; text-align: center; }
.intake-summary-table-wrap td.summary-cell-missing { background: #fdecec; color: var(--danger); font-weight: 900; }
@media (max-width: 1100px) { .intake-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 800px) { .intake-summary-grid { grid-template-columns: 1fr; }.intake-summary-head { align-items: flex-start; flex-direction: column; }.intake-summary-head small { text-align: left; white-space: normal; } }
.intake-notes { margin: 0; padding-left: 20px; color: #3d4f65; }
.intake-notes li + li { margin-top: 8px; }
.intake-form.was-reviewed input:invalid,.intake-form.was-reviewed textarea:invalid,.intake-form.was-reviewed select:invalid { border-color: var(--danger); background: #fff8f7; }
.ameritas-appendix-head { display: grid; grid-template-columns: 110px 1fr; gap: 18px; align-items: center; margin-top: 28px; padding: 18px; color: white; border-radius: 16px; background: linear-gradient(135deg,#8f1018,#d71920 58%,#f05a63); }
.ameritas-appendix-head img { width: 96px; height: 46px; object-fit: contain; padding: 8px; border-radius: 10px; background: white; }
.ameritas-appendix-head span { display: block; color: rgba(255,255,255,.76); font-size: 8px; font-weight: 900; letter-spacing: 1.4px; text-transform: uppercase; }
.ameritas-appendix-head h1 { margin: 4px 0 3px; font-family: Georgia,serif; font-size: 27px; line-height: 1; }
.ameritas-appendix-head p { margin: 0; color: rgba(255,255,255,.82); font-size: 9px; }
.ameritas-rate-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 14px 0; }
.ameritas-rate-strip div { padding: 10px; border: 1px solid #f1ccd0; border-radius: 10px; background: #fff7f8; }
.ameritas-rate-strip small,.ameritas-rate-strip strong { display: block; }
.ameritas-rate-strip small { color: #9b2933; font-size: 7px; text-transform: uppercase; letter-spacing: .5px; }
.ameritas-rate-strip strong { margin-top: 3px; color: var(--navy); font-size: 8.2px; }
.ameritas-breakdown { width: 100%; border-collapse: collapse; font-size: 8.2px; }
.ameritas-breakdown th,.ameritas-breakdown td { padding: 8px 9px; border-bottom: 1px solid #ead5d8; vertical-align: top; text-align: left; }
.ameritas-breakdown th { color: white; background: #b51622; font-size: 7.5px; text-transform: uppercase; letter-spacing: .6px; }
.ameritas-breakdown td:first-child { width: 28%; color: #8f1018; font-weight: 900; background: #fff7f8; }
.sbc-title { padding-top: 92px; }
.sbc-image-page { width: 8.5in; min-height: 11in; margin: 0 auto; page-break-after: always; background: white; display: grid; place-items: center; overflow: hidden; }
.sbc-image-page img { display: block; width: 100%; height: auto; }
.sbc-doc-page { width: 8.5in; min-height: 11in; margin: 0 auto; padding: .35in; page-break-before: always; page-break-after: auto; box-sizing: border-box; color: #000; background: white; overflow: visible; }
.sbc-source-label { margin: 0 0 10px; padding: 7px 9px; color: #1d2b3a; border: 1px solid #cfd8e3; border-radius: 8px; background: #f5f7f9; font: 700 10px Arial, sans-serif; }
.sbc-doc-page table { max-width: 100%; }
.sbc-doc-page .sbc-converted-doc { color: #000; background: white; }

@media (max-width: 800px) {
  .app-header .affordacare-logo { width: 165px; }
  .proposal-cover-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .app-header .affordacare-logo {
    width: 148px;
    height: 38px;
  }
}

@media (max-width: 380px) {
  .app-header .affordacare-logo {
    width: 126px;
  }
}
