:root{--blue:#00aef0;--blue-d:#0089c2;--navy:#0b3954;--ink:#1d2a33;--mut:#5d6b75;--line:#dfe7ec;--bg:#f4f8fa;--ok:#0f8a5f;--warn:#a35b00}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:#fff;color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.hub{max-width:1100px;margin:0 auto;padding:12px 14px 30px}
.in-frame .hub-head{display:none}
.hub-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0 10px}
.brand img{height:56px;width:auto;display:block}
h1{font-size:1.6rem;margin:.2em 0;color:var(--navy)}
h2{font-size:1.1rem;margin:0;color:var(--navy)}
h3{margin:0 0 .2em;color:var(--navy)}
.intro p{margin:.2em 0 1em;color:var(--mut)}
.nowrap{white-space:nowrap}
/* tabs */
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--line);margin-bottom:16px;overflow-x:auto}
.tab{appearance:none;border:0;background:none;padding:12px 18px;font-family:inherit;font-size:1.05rem;font-weight:700;color:var(--mut);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tab[aria-selected=true]{color:var(--navy);border-bottom-color:var(--blue)}
.tab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
/* buttons: text is ALWAYS white on blue (important beats site-wide link colors) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:10px 16px;font:600 .95rem/1.2 inherit;font-family:inherit;text-decoration:none!important;cursor:pointer;border:2px solid transparent;text-align:center}
.btn-primary,a.btn-primary,a.btn-primary:visited,a.btn-primary:hover{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}
.btn-primary:hover{background:var(--blue-d)!important;border-color:var(--blue-d)!important}
.btn-ghost,a.btn-ghost,a.btn-ghost:visited{background:#fff!important;color:var(--blue-d)!important;border-color:var(--blue)!important}
.btn-soft{background:#e8f7fd;color:var(--navy);border-color:#bfe9f9}
.btn-lg{padding:14px 22px;font-size:1.05rem;width:100%;margin-top:6px}
.btn[disabled]{opacity:.6;cursor:wait}
/* cards & forms */
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.form .row{display:flex;flex-wrap:wrap;gap:12px}
.fld{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--mut);gap:4px;flex:1 1 160px}
.fld label{font-size:.85rem;font-weight:600;color:var(--mut)}
.fld.zip{flex:0 1 130px}
input,select{font:inherit;font-size:1rem;padding:10px;border:1px solid #c9d6de;border-radius:8px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus{outline:2px solid var(--blue);border-color:var(--blue)}
.money{display:flex;align-items:center;border:1px solid #c9d6de;border-radius:8px;padding-left:10px;background:#fff}
.money input{border:0;outline-offset:0}
.hint{font-size:.85rem;color:var(--mut);margin:6px 0 0;min-height:1em}
.people-head{margin:14px 0 8px}
.people{display:flex;flex-direction:column;gap:10px}
.person{display:grid;grid-template-columns:100px 150px 120px auto auto auto 1fr;gap:10px;align-items:start;background:var(--bg);border-radius:10px;padding:10px}
.person .lbl{font-weight:700;color:var(--navy);padding-top:28px}
.person .pf{display:flex;flex-direction:column;gap:3px}
.person .pf label{font-size:.78rem;font-weight:600;color:var(--mut)}
.person .chk{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:.9rem;color:var(--ink);padding-top:30px;white-space:nowrap}
.person .chk input{width:auto}
.rm{border:0;background:none;color:#a33;font-size:1.4rem;cursor:pointer;padding-top:24px;justify-self:end}
.people-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.msg{background:#fff4e5;border:1px solid #f3cf9b;color:#6b3d00;padding:10px 12px;border-radius:8px;margin:8px 0}
.msg.err{background:#fdecec;border-color:#f2b8b8;color:#7a1c1c}
/* results */
.summary{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.summary .big{font-size:1.5rem;font-weight:800;color:var(--ok)}
.summary .k{font-size:.8rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.summary .note{flex-basis:100%;font-size:.9rem;color:var(--mut);margin:0}
.badge-year{display:inline-block;background:#fff4e5;color:var(--warn);border:1px solid #f3cf9b;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}
.badge-year.ok{background:#e7f6ef;color:var(--ok);border-color:#b8e2cf}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.toolbar label{display:flex;flex-direction:column;font-size:.8rem;font-weight:600;color:var(--mut);gap:3px;flex:1 1 150px}
.toolbar .count{font-size:.9rem;color:var(--mut);padding-bottom:10px}
.plans{display:flex;flex-direction:column;gap:12px}
.plan{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid var(--line);border-left:6px solid #999;border-radius:12px;padding:14px 16px;background:#fff}
.plan.Bronze{border-left-color:#a86b32}.plan.Silver{border-left-color:#9aa5ad}.plan.Gold{border-left-color:#d4a514}.plan.Platinum{border-left-color:#5c7a8a}.plan.Catastrophic{border-left-color:#7d4fa3}.plan.Expanded{border-left-color:#a86b32}
.plan .iss{font-size:.85rem;color:var(--mut);font-weight:600}
.plan .nm{font-size:1.1rem;font-weight:700;color:var(--navy);margin:2px 0 6px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.tag{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--bg);color:var(--navy);border:1px solid var(--line)}
.tag.csr{background:#e7f6ef;color:var(--ok);border-color:#b8e2cf}
.stats{display:flex;flex-wrap:wrap;gap:18px}
.stat .k{font-size:.75rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.stat .v{font-weight:700}
.stat .s{font-size:.75rem;color:var(--mut)}
.links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:.88rem}
.links a{color:var(--blue-d)}
.price{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:170px}
.price .net{font-size:1.7rem;font-weight:800;color:var(--ink);line-height:1}
.price .net small{font-size:.85rem;font-weight:600;color:var(--mut)}
.price .gross{font-size:.85rem;color:var(--mut)}
.price .gross s{color:#8a979f}
.more{text-align:center;margin:14px 0}
.fallback h3{margin-bottom:.4em}
.fallback .talk-btns{margin-top:10px}
/* v1.6.5 next-year-not-released warning */
.fallback.yr-warn{border-left:5px solid #d97706;background:#fff7e6;padding:16px 18px;border-radius:8px}
.fallback.yr-warn h3{color:#92400e}
.talk{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;background:#eef9fe;border-color:#bfe9f9;margin-top:18px}
.talk p{margin:0;color:var(--mut)}
.talk-btns{display:flex;flex-wrap:wrap;gap:8px}
.disclaimer{font-size:.8rem;color:var(--mut);margin-top:12px}
.engine{width:100%;border:0;min-height:900px;display:block}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
/* field errors */
.invalid,input.invalid,select.invalid,.money.invalid{border-color:#d93025!important;box-shadow:0 0 0 2px rgba(217,48,37,.18)!important;background-color:#fff8f7}
.money.invalid input{background:transparent}
fieldset.invalid{border-radius:10px}
.ferr{display:none;color:#c5221f;font-size:.8rem;font-weight:600;line-height:1.25}
.ferr.on{display:block}
/* coverage start */
.start{border:0;padding:0;margin:14px 0 0}
.start legend{font-size:1.1rem;font-weight:700;color:var(--navy);padding:0;margin-bottom:8px}
.seg{display:flex;flex-wrap:wrap;gap:10px}
.seg-opt{flex:1 1 220px;display:flex;gap:10px;align-items:flex-start;border:2px solid #c9d6de;border-radius:10px;padding:10px 12px;cursor:pointer;background:#fff}
.seg-opt input{width:auto;margin-top:4px;accent-color:var(--blue)}
.seg-opt span{display:flex;flex-direction:column}
.seg-opt small{color:var(--mut);font-size:.82rem}
.seg-opt:has(input:checked){border-color:var(--blue);background:#eef9fe}
/* collapsed quote summary */
.qsum{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#eef9fe;border-color:#bfe9f9}
.qsum-txt{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;color:var(--ink);font-size:.95rem}
.qsum-txt strong{color:var(--navy)}
.qsum-txt span{color:var(--mut)}
.qsum-txt span:before{content:"·";margin-right:14px;color:#9fb3bf}
.qsum .btn{flex:0 0 auto;padding:8px 18px}
.empty h2{margin-bottom:.3em}.empty p{margin:0;color:var(--mut)}
.loading{display:flex;align-items:center;gap:10px;color:var(--mut)}
.spinner.dark{border-color:#cde3ee;border-top-color:var(--blue)}
.extra h3{margin-bottom:.2em}
.extra .row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;margin-top:8px}
.extra .fld.go{flex:0 0 auto}
/* card extras: copays & notes */
.copays{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px 14px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.cp{display:flex;flex-direction:column;font-size:.88rem;line-height:1.3}
.cp .k{font-size:.72rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em;font-weight:600}
.cp .v{color:var(--ink)}
.stat .v{font-size:1.15rem}
.stat{max-width:340px}
.summary .note a,.disclaimer a{color:var(--blue-d)}
.pnote{font-size:.82rem;color:var(--mut);margin:8px 0 0}
.plan.dv{border-left-color:var(--blue)}.plan.stm{border-left-color:var(--navy)}
.plan .body{min-width:0}

/* v1.2: age-or-DOB hint, doctors & drugs, share, bundle tray, compare, toast */
.phint{font-size:.75rem;color:var(--ok);font-weight:600;min-height:1em}
.dr{border:0;padding:0;margin:14px 0 0}
.dr legend{font-size:1.1rem;font-weight:700;color:var(--navy);padding:0}
.dr .hint{margin:2px 0 8px}
.opt{font-weight:500;color:var(--mut);font-size:.85em}
.fld.ta{position:relative;flex:1 1 280px}
.ta-list{position:absolute;z-index:30;top:66px;left:0;right:0;margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid #c9d6de;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:300px;overflow:auto}
.ta-list li{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;color:var(--ink);font-weight:500}
.ta-list li small{color:var(--mut);font-size:.78rem}
.ta-list li.on,.ta-list li[data-i]:hover{background:#eef9fe}
.ta-list .ta-msg{cursor:default;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chip{display:inline-flex;align-items:center;gap:6px;background:#e8f7fd;border:1px solid #bfe9f9;color:var(--navy);border-radius:999px;padding:3px 4px 3px 10px;font-size:.85rem;font-weight:600}
.chip em{font-style:normal;color:var(--blue-d);font-size:.75rem;text-transform:uppercase}
.chip button{border:0;background:none;color:#a33;font-size:1.05rem;cursor:pointer;line-height:1;padding:0 4px}
.fld.fname{flex:0 1 360px;margin-top:10px}
.qsum-btns{display:flex;gap:8px;flex:0 0 auto}
.checks{display:flex;flex-wrap:wrap;gap:4px 14px;flex-basis:100%}
.toolbar .chk{flex-direction:row;align-items:center;gap:6px;font-size:.9rem;color:var(--ink);flex:0 0 auto}
.toolbar .chk input{width:auto}
.cov{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cb{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-decoration:none}
.cb b{font-weight:800}.cb .cs{color:var(--mut)}
.cb.yes{background:#e7f6ef;border-color:#b8e2cf}.cb.yes b,.cb.yes .cs{color:var(--ok)}
.cb.no{background:#fdecec;border-color:#f2b8b8}.cb.no b,.cb.no .cs{color:#b3261e}
.cb.unknown,.cb.check{background:#fff8ec;border-color:#f3dcb0}.cb.unknown b{color:var(--warn)}
a.cb.unknown{text-decoration:underline}
.covnote .spinner{vertical-align:-3px}
.pick{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--navy);font-weight:600;cursor:pointer;margin-top:2px}
.pick input{width:18px;height:18px;accent-color:var(--blue)}
body.has-tray .hub{padding-bottom:150px}
.tray{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:3px solid var(--blue);box-shadow:0 -6px 20px rgba(0,0,0,.12)}
.tray-in{max-width:1100px;margin:0 auto;padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.tray-list{flex:1 1 400px;display:flex;flex-wrap:wrap;gap:6px;max-height:84px;overflow:auto}
.tray-warn{font-size:.78rem;color:var(--warn);flex-basis:100%}
.tray-sum{display:flex;flex-direction:column;align-items:flex-end;font-size:.8rem;color:var(--mut)}
.tray-sum strong{font-size:1.4rem;color:var(--ink)}.tray-sum small{font-size:.8rem;color:var(--mut)}
.tray-btns{display:flex;gap:8px;flex-wrap:wrap}
.modal{position:fixed;inset:0;z-index:60;background:rgba(11,57,84,.45);display:flex;align-items:flex-start;justify-content:center;padding:4vh 10px;overflow:auto}
body.modal-open{overflow:hidden}
.modal-box{background:#fff;border-radius:14px;padding:16px 18px;width:100%;max-width:560px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.modal-box.wide{max-width:1060px}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.modal-head .x{border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--mut)}
.modal-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.share-row{display:flex;gap:8px}.share-row input{flex:1}
.cmp-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.cmp-t{border-collapse:collapse;width:100%;min-width:560px;font-size:.9rem}
.cmp-t th,.cmp-t td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp-t thead th{background:var(--bg);min-width:190px}
.cmp-t tbody th{position:sticky;left:0;background:#fff;color:var(--mut);font-weight:600;font-size:.8rem;min-width:120px;max-width:140px}
.cmp-t .ck{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--blue-d);font-weight:700}
.cmp-t .cc{font-size:.8rem;color:var(--mut)}.cmp-t .cn{font-weight:700;color:var(--navy)}
.cmp-t .prem strong{font-size:1.15rem}
.cmp-t .mut,.mut{color:var(--mut);font-size:.8rem}
.cmp-t .btn{padding:8px 12px;font-size:.85rem}
.linkbtn{border:0;background:none;color:var(--blue-d);text-decoration:underline;cursor:pointer;padding:0;font-size:.8rem}
.cmp-total{text-align:right;margin:10px 0 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;background:var(--navy);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.2)}
body.has-tray .toast{bottom:160px}
@media (max-width:760px){
  .person .lbl{padding-top:0}
  .person .chk{padding-top:0}
  .rm{top:6px;padding-top:0}
  .tabs{gap:0;overflow-x:visible}
  .tab{flex:1 1 0;padding:10px 4px;font-size:.92rem;white-space:normal;line-height:1.2}
  .qsum{padding:10px 12px;align-items:flex-start}
  .qsum-txt span:before{margin-right:10px}
  .qsum-txt{gap:2px 10px;font-size:.86rem}
  .qsum .btn{padding:6px 14px}
  .copays{grid-template-columns:1fr 1fr}
  .qsum-btns{flex-direction:column}
  .tray-in{padding:8px 10px;gap:6px}
  .tray-list{flex-basis:100%;max-height:56px}
  .tray-sum{flex-direction:row;gap:8px;align-items:baseline}
  .tray-btns{flex:1 1 auto;justify-content:flex-end}
  .tray-btns .btn{padding:8px 10px;font-size:.85rem}
  .modal{padding:0}.modal-box{border-radius:0;min-height:100%}
  .share-row{flex-direction:column}
  body.has-tray .hub{padding-bottom:170px}
  .person{grid-template-columns:1fr 1fr;}
  .person .lbl{grid-column:1/-1}
  .rm{position:absolute;right:16px}
  .person{position:relative}
  .plan{grid-template-columns:1fr}
  .price{text-align:left;align-items:stretch;min-width:0}
  .price .btn{width:100%}
  h1{font-size:1.35rem}
}
.ta-list .ta-loc{color:var(--mut);font-size:.78rem}
.chip .chip-loc{font-style:normal;text-transform:none;font-weight:500;color:var(--mut);font-size:.78rem}
.cb.gen{background:#e7f6ef;border-color:#b8e2cf}.cb.gen b,.cb.gen .cs{color:var(--ok)}
.cb.nd{background:#f4f5f7;border-color:var(--line)}.cb.nd b{color:var(--mut)}
a.cb.nd{text-decoration:underline}
.fld.income .fpl-link{align-self:flex-start;margin-top:2px}
.fpl-inputs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.fpl-inputs label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--mut);flex:1 1 180px}
.fpl-meter{position:relative;height:18px;border-radius:9px;overflow:visible;margin:34px 4px 4px;background:var(--line)}
.fpl-band{position:absolute;top:0;bottom:0}
.fpl-band.b-gap{background:#f3c7c4;border-radius:9px 0 0 9px}.fpl-band.b-94{background:#0f8a5f}.fpl-band.b-87{background:#3fb07f}.fpl-band.b-73{background:#8fd3b0}
.fpl-band.b-ptc{background:#bfe9f9}.fpl-band.b-none{background:#d9dee2;border-radius:0 9px 9px 0}
.fpl-tick{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--navy);opacity:.5}
.fpl-you{position:absolute;top:-30px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;white-space:nowrap}
.fpl-you b{background:var(--navy);color:#fff;font-size:.75rem;padding:2px 7px;border-radius:6px}
.fpl-you:after{content:"";width:3px;height:30px;background:var(--navy);margin-top:0}
.fpl-scale{position:relative;height:18px;margin:2px 4px 10px;font-size:.7rem;color:var(--mut)}
.fpl-scale span{position:absolute;transform:translateX(-50%)}.fpl-scale span:first-child{transform:none}.fpl-scale span:last-child{transform:translateX(-100%)}
.fpl-you-box{border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:10px;padding:10px 12px;margin:8px 0;background:var(--bg)}
.fpl-you-box.b-gap{border-left-color:#c0392b}.fpl-you-box.b-94,.fpl-you-box.b-87,.fpl-you-box.b-73{border-left-color:var(--ok)}.fpl-you-box.b-none{border-left-color:var(--mut)}
.fpl-you-box p{margin:4px 0}.fpl-pct{font-weight:800;color:var(--navy);font-size:1.05rem}
.fpl-t{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:8px}
.fpl-t th,.fpl-t td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.fpl-t tr.on td{background:#e8f7fd;font-weight:700}
@media (max-width:520px){.fpl-scale span:nth-child(3),.fpl-scale span:nth-child(4){font-size:.6rem}.fpl-t td:last-child{font-size:.78rem}}

.plan.share{border-left-color:#5b8c3a}.plan.travel{border-left-color:#7a5bb5}.plan.feat{box-shadow:0 0 0 2px rgba(0,174,240,.25)}
.plan .noprice{font-size:1.1rem;font-weight:800;color:var(--navy)}
.card.explain h3{margin-bottom:.3em}.card.explain p{margin:.3em 0}.ms-facts{margin:.4em 0;padding-left:1.2em}.ms-facts li{margin:.25em 0}
@media (max-width:640px){.tabs{overflow-x:auto!important;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.tabs .tab{flex:0 0 auto!important;white-space:nowrap!important;padding:10px 12px!important;font-size:.92rem!important}}

/* v1.3.0 compare: worst case scenario */
.cmp-t tr.worst td,.cmp-t tr.worst th{background:#fff8ec}
.cmp-t tr.worst th{background:#fff8ec}
.wc-line{margin:1px 0;white-space:nowrap}.wc-line .wc-k{display:inline-block;min-width:48px;color:var(--mut);font-size:.8rem;font-weight:600}
.wc-line strong{font-size:1rem;color:var(--navy)}.wc-line.on strong{font-size:1.1rem}
.wc-tag{display:inline-block;font-size:.68rem;font-weight:700;color:#8a5a00;background:#ffe9bf;border-radius:999px;padding:1px 7px;vertical-align:1px}
.cmp-t tr.worst .mut{white-space:normal;margin-top:3px}
@media (max-width:640px){.wc-line{white-space:normal}.wc-tag{display:table;margin:2px 0 0 48px}}

/* v1.3.1: required fields that still need filling (light green); red .invalid wins */
input.need:not(.invalid),select.need:not(.invalid),.money.need:not(.invalid){background-color:#e8f8ec;border-color:#8fd19e}
.money.need input{background:transparent}
.seg-opt.need{background-color:#e8f8ec;border-color:#8fd19e}
::placeholder{color:#9aa7b0;opacity:1}

/* v1.3.2: travel tab links section (annual Allianz plans use the standard plan cards) */
.card.tlinks{border-left:6px solid #7a5bb5}.card.tlinks h3{margin-bottom:2px}.card.tlinks>.hint{margin:0 0 12px}
.tlinks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.tlink{display:flex;flex-direction:column;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.tlink .iss{font-size:.75rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.tlink .nm{font-weight:800;color:var(--navy)}.tlink p{margin:0 0 8px;font-size:.9rem;flex:1}
.tlink .btn{align-self:flex-start}
@media (max-width:640px){.tlink .btn{align-self:stretch;text-align:center}}

/* v1.3.6 applying / not applying */
.person.not-applying{background:#fffaf0;border-color:#f3d9a4}.person .chk.apply{flex-wrap:wrap;white-space:nowrap}.ap-hint{display:block;color:#7a4b00;font-weight:600}
.ap-hint[hidden]{display:none!important}

/* v1.3.8 personal quote: renewal plan pinned + badge, no-help checkbox */
.ren-pin{border:2px solid #e0a800;border-radius:12px;padding:10px 10px 2px;margin:12px 0 16px;background:#fffbea}
.ren-pin .ren-head{font-weight:700;margin:2px 4px 8px}
.tag.ren{background:#ffe08a;color:#5a4300;font-weight:700}
.fld .chk.nohelp{display:flex;flex-direction:row;align-items:center;align-self:flex-start;gap:6px;font-size:.85rem;font-weight:600;color:var(--ink);margin-top:4px;white-space:normal;cursor:pointer}
.fld .chk.nohelp input{width:auto;flex:0 0 auto;margin:0}
#income:disabled{background:#f3f5f7;color:var(--mut)}
/* v1.3.11: carried-over doctors & prescriptions */
.cov .covh{flex-basis:100%;font-size:.8rem;font-weight:700;color:var(--navy);margin-top:4px}.cov .covh:first-child{margin-top:0}
.cb.check b,.cb.check .cs{color:var(--warn)}

/* v1.5.0: Off-Exchange Health and ACA Dental tabs */
.tag.offx{background:#fff1e0;color:#7a4300;border-color:#f3c98b}
.tag.adent{background:#eef4ff;color:#23408e;border-color:#c5d3f5}
.chip em.k-offx{color:#7a4300}
@media (min-width:900px){.tabs .tab{padding:12px 13px;font-size:1rem}}

/* v1.6.13: Check your dentist (Dental & Vision tab) */
.dent-find h3{margin:0 0 4px}.dent-find .fld{max-width:420px}.dent-list{list-style:none;margin:10px 0 0;padding:0}.dent-row{padding:10px 0;border-top:1px solid #e3e8ef}.dent-addr{color:#556;font-size:.92em}.dent-nets{color:#17733a;font-weight:600;font-size:.92em;margin-top:2px}
/* v1.6.17: doctors & prescriptions by carrier grid (hub, ?r= and ?b=): horizontal scroll with a sticky first column on small screens, full width in print */
.cgrid h2,.cgrid h3{margin:0 0 8px}
.cg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #dfe7ec;border-radius:10px;max-width:100%}
.cg-scroll:focus-visible{outline:2px solid #00aef0;outline-offset:2px}
.cg{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem;line-height:1.3}
.cg th,.cg td{padding:8px 10px;border-bottom:1px solid #dfe7ec;vertical-align:top;text-align:left;min-width:124px}
.cg thead th{background:#0b3954;color:#fff;font-size:.85rem;font-weight:700}
.cg thead th small{display:block;font-weight:400;opacity:.85;color:#fff}
.cg .cg-first{position:sticky;left:0;z-index:1;background:#fff;min-width:150px;max-width:210px;border-right:1px solid #dfe7ec;box-shadow:3px 0 4px -2px rgba(0,0,0,.12);font-weight:700;color:#0b3954}
.cg thead .cg-first{background:#0b3954;color:#fff;z-index:2}
.cg th small,.cg td small{display:block;font-size:.75rem;color:#5d6b75;font-weight:400;margin-top:2px}
.cg tr.cg-sec th,.cg tr.cg-sec td{background:#f4f8fa;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#5d6b75;padding:5px 10px}
.cg td b{display:block;font-weight:700}
.cg td.cg-yes{background:#f1faf5}.cg td.cg-yes b{color:#0f8a5f}
.cg td.cg-no{background:#fdf3f2}.cg td.cg-no b{color:#b3261e}
.cg td.cg-mix{background:#fff8ec}.cg td.cg-mix b{color:#8a4b00}
.cg td.cg-unk b,.cg td.cg-load b{color:#5d6b75;font-weight:600}
.cg td.cg-unk,.cg .cg-q{cursor:help}
.cg .cg-cost{display:block;font-weight:600;color:#1d2a33;margin-top:2px}
.cg .cg-q{color:#5d6b75;font-weight:400}
.cg tbody tr:last-child th,.cg tbody tr:last-child td{border-bottom:0}
.cg-note{font-size:.8rem;color:#5d6b75;margin:8px 0 0}
@media (max-width:640px){.cg{font-size:.82rem}.cg th,.cg td{min-width:108px;padding:7px 8px}.cg .cg-first{min-width:112px;max-width:132px}}
@media print{.cgrid{break-inside:auto}.cg-scroll{overflow:visible;border:0}.cg{font-size:8.5pt}.cg th,.cg td{min-width:0;padding:4px 5px}.cg .cg-first{position:static;box-shadow:none;max-width:none}
  .cg tr{break-inside:avoid}.cg thead{display:table-header-group}.cg td,.cg th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* v1.8.0: Carrier checkboxes and per-doctor "In network for" checks in the toolbar */
.toolbar .fgroup{flex:1 1 100%;min-width:0;display:flex;flex-direction:column;gap:4px}
.toolbar .fgroup[hidden],.toolbar .fclear[hidden]{display:none}
.toolbar .fgroup .fl{font-size:.8rem;font-weight:600;color:var(--mut);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.toolbar .fgroup .fl small{font-weight:400}
.toolbar .fgroup .opts{display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0}
.toolbar .fgroup .chk{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:.9rem;font-weight:400;color:var(--ink);flex:0 1 auto;min-width:0;max-width:100%;overflow-wrap:anywhere}
.toolbar .fgroup .chk input{width:auto;flex:0 0 auto;margin:0}
.toolbar .fgroup .chk.nodata{color:var(--mut)}
.toolbar .fgroup .chk .nd{font-size:.78rem}
.toolbar .fclear{background:none;border:0;padding:0;color:var(--blue-d);font:inherit;font-size:.8rem;font-weight:600;text-decoration:underline;cursor:pointer}
@media (max-width:600px){.toolbar .fgroup .opts{gap:6px 12px}.toolbar .fgroup .chk{flex:1 1 45%}}
@media (max-width:440px){.toolbar .fgroup .chk{flex:1 1 100%}}
/* v1.8.0: carrier logo above the issuer line on plan cards */
.plan .clogo{margin:0 0 6px;line-height:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
/* v1.8.0: Ambetter Amazon Prime perk badge + popover */
.perk{position:relative;display:inline-block;line-height:1.35}
.perk-btn{display:inline-flex;align-items:center;gap:6px;margin:0;border:1px solid #f3c27a;background:#fffaf2;border-radius:999px;padding:3px 10px 3px 8px;cursor:pointer;font:inherit;font-size:.75rem;font-weight:700;color:var(--navy);line-height:1.2}
.perk-btn:hover,.perk.open .perk-btn{border-color:#ff9900}
.perk-btn:focus-visible{outline:2px solid var(--blue-d);outline-offset:2px}
.plan .clogo .perk-btn img{height:16px;width:auto;max-width:none;display:block}
.perk-pop{display:none;position:absolute;left:0;top:calc(100% + 8px);z-index:40;width:310px;max-width:calc(100vw - 56px);box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:10px 12px;font-size:.82rem;font-weight:400;line-height:1.45;color:var(--ink);text-align:left;white-space:normal}
.perk-pop::before{content:'';position:absolute;left:0;right:0;top:-10px;height:10px}
.perk-pop a{color:var(--blue-d);font-weight:700}
.perk:focus-within .perk-pop,.perk.open .perk-pop{display:block}
@media (hover:hover){.perk:hover .perk-pop{display:block}} /* touch: no sticky hover, tap toggles */
@media print{.perk-pop{display:none!important}.perk-btn{border-color:#ccc;background:#fff}}
.plan .clogo img{height:30px;width:auto;max-width:170px;object-fit:contain;object-position:left center;display:block}
@media (max-width:600px){.plan .clogo img{height:28px;max-width:150px}}
@media print{.plan .clogo img{height:24px}}

/* v1.9.0: Max risk on/off button in the results toolbar (display only — does not filter plans) */
.toolbar .togs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-bottom:6px;flex:0 0 auto}
.toolbar .tog{appearance:none;-webkit-appearance:none;border:2px solid #c9d6de;background:#fff;color:var(--navy);font:inherit;font-size:.88rem;font-weight:700;padding:8px 14px;border-radius:999px;cursor:pointer;line-height:1.2}
.toolbar .tog:hover{border-color:var(--blue);background:#eef9fe}
.toolbar .tog[aria-pressed="true"]{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 0 0 2px rgba(14,116,144,.18)}
.toolbar .tog:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
/* v1.9.0: Max risk total under the monthly price on ACA / off-exchange cards */
.price .risk{margin-top:2px;padding:6px 8px;border-radius:8px;background:#fff8ec;border:1px solid #f0d9a8;text-align:right;min-width:0;max-width:100%}
.price .risk .rk{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#92400e}
.price .risk .rv{font-size:1.15rem;font-weight:800;color:var(--ink);line-height:1.15}
.price .risk .rs{font-size:.72rem;color:var(--mut);margin-top:1px}
@media (max-width:600px){.price .risk{text-align:left}}

/* v1.11.0 full comparison: bounded scrolling keeps plan identities visible. */
.cmp-scroll{max-height:72vh;overflow:auto;isolation:isolate}.cmp-t thead th{position:sticky;top:0;z-index:3;background:#f5f8fc}.cmp-t td{white-space:pre-line;overflow-wrap:anywhere;min-width:230px;max-width:440px;vertical-align:top}.cmp-t tbody th{min-width:185px;max-width:290px}.cmp-t .cmp-sec th,.cmp-t .cmp-sec td{background:#e9eff7;font-weight:700}.cmp-t a{overflow-wrap:anywhere}
@media print{.cmp-scroll{max-height:none;overflow:visible}.cmp-t thead th{position:static}}

.subsidy-control{grid-column:1/-1;border:1px solid #bacbe0;border-radius:10px;padding:14px;background:#f5f8fc}.subsidy-control label,.subsidy-control small{display:block}.subsidy-control input{max-width:220px;margin:8px 10px 8px 0}.subsidy-control button{padding:8px 12px}.subsidy-control [role=alert]{color:#a61c1c}

/* Final QA readability: no tiny cost/benefit labels, including dense source notes. */
.cmp-t td,.cmp-t tbody th,.cmp-t .mut,.cmp-t .muted,.cmp-t .small,.cmp-t .wc-k,.cmp-t .wc-tag,.cmp-t .ck,.cmp-t .cc{font-size:14px;line-height:1.5}.cmp-t td,.cmp-t tbody th{padding:12px 14px}.cmp-t .cmp-sec th{font-size:15px}.subsidy-control{font-size:15px;line-height:1.5}.subsidy-control small{font-size:14px;line-height:1.5}

.cmp-t tr.cmp-sec th,.cmp-t tr.cmp-sec td{font-size:15px;line-height:1.5}.cmp-t .tags span,.cmp-t .cb,.cmp-t .prem .amt small{font-size:14px;line-height:1.5}
