/* Member portal dashboard. Ported from the WordPress prototype (dashboard.php lvc_dash_css), unchanged except page padding. */
.lv-dash{padding:40px 0 88px}
.lv-dash .dh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 0 22px;border-bottom:1px solid var(--line);margin:0 0 28px}
.lv-dash .eyebrow{margin:0 0 8px;font-family:Syne,sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.lv-dash .dh h1{font-size:28px;letter-spacing:-.025em;line-height:1.15;margin:0}
.lv-dash .dh .sub{margin:6px 0 0;font-size:14px;color:var(--muted)}
.lv-dash .dgrid{display:grid;grid-template-columns:196px minmax(0,1fr);gap:48px;align-items:start}
.lv-dash .dnav ul{list-style:none;margin:0;padding:0}
.lv-dash .dnav li{margin:0}
.lv-dash .dnav ul a{display:block;padding:9px 12px;margin:0 0 2px;border-left:2px solid transparent;font-size:14px;color:var(--ink);text-decoration:none}
.lv-dash .dnav ul a:hover{background:var(--soft);color:var(--teal-d)}
.lv-dash .dnav ul a[aria-current=page]{border-left-color:var(--slab);background:var(--soft);color:var(--teal-d);font-weight:600}
.lv-dash .dnav .sep{height:1px;background:var(--line);margin:14px 0}
.lv-dash .dnav ul a.out{color:var(--muted)}
.lv-dash .dnav .help{margin:14px 12px 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.lv-dash .dnav .help a{display:inline;padding:0;margin:0;border:0}
.lv-dash .dmain{min-width:0}
.lv-dash .dmain>h2{font-size:22px;letter-spacing:-.02em;margin:0 0 4px}
.lv-dash .dmain>.ds{margin:0 0 22px;font-size:14px;color:var(--muted)}
.lv-dash .ok,.lv-dash .alert{margin:0 0 20px}
.lv-dash .summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin:0 0 28px}
.lv-dash .summary>div{padding:14px 18px;border-left:1px solid var(--line)}
.lv-dash .summary>div:first-child{border-left:0}
.lv-dash .k{display:block;font-family:Syne,sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.lv-dash .v{font-size:15px;color:var(--ink)}
.lv-dash .num,.lv-dash .pc-price{font-family:Manrope,"Helvetica Neue",sans-serif;font-weight:500;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.lv-dash .dot{display:inline-block;width:7px;height:7px;margin:0 7px 1px 0;background:#c5d4cf;vertical-align:middle}
.lv-dash .dot.on{background:var(--slab)}
.lv-dash .dot.warn{background:#9a6b2f}
.lv-dash .dot.bad{background:var(--bad)}
.lv-dash ul.tasks{list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.lv-dash li.t{display:flex;gap:16px;align-items:center;padding:18px 20px;border-top:1px solid var(--line);background:#fff}
.lv-dash li.t:first-child{border-top:0}
.lv-dash li.t .ic{flex:0 0 28px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--teal);color:var(--teal);font-family:Syne,sans-serif;font-size:10px;text-transform:uppercase}
.lv-dash li.t .tb{flex:1;min-width:0}
.lv-dash li.t h3{font-size:16px;letter-spacing:-.01em;margin:0 0 2px;color:var(--teal-d)}
.lv-dash li.t h3 .num{font-size:15px;color:var(--ink)}
.lv-dash li.t p{margin:0;font-size:13.5px;color:var(--muted)}
.lv-dash li.t.done .ic{background:var(--slab);border-color:var(--slab);color:#fff}
.lv-dash li.t.locked .ic{border-color:#e4eceb;color:#c5d4cf;background:#f6f8f7}
.lv-dash li.t.locked h3{color:#8aa39d}
.lv-dash .ta form{margin:0}
.lv-dash .ta .lv-btn{padding:11px 18px;font-size:12px}
.lv-dash .lnk{background:none;border:0;padding:0;margin:0;font:inherit;color:var(--teal);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lv-dash .lnk:hover{color:var(--teal-d)}
.lv-dash .lnk.danger{color:var(--bad)}
.lv-dash .lnk:focus-visible,.lv-dash a:focus-visible,.lv-dash button:focus-visible{outline:2px solid #0A4D4A;outline-offset:2px}
.lv-dash dl.facts{margin:0 0 22px;border-top:1px solid var(--line)}
.lv-dash dl.facts>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.lv-dash dl.facts dt{font-size:13px;color:var(--muted);margin:0}
.lv-dash dl.facts dd{margin:0;font-size:15px}
.lv-dash .acts{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin:4px 0 0;font-size:14px}
.lv-dash .pending{border:1px solid var(--line);border-left:2px solid #9a6b2f;padding:12px 16px;margin:0 0 20px;font-size:14px;background:#fff}
.lv-dash .pending .lnk{margin-left:10px}
.lv-dash .muted{color:var(--muted)}
.lv-dash table.pay{width:100%;border-collapse:collapse;font-size:14px;border:0;margin:0;background:transparent}
.lv-dash table.pay tr,.lv-dash table.pay tbody tr:nth-child(odd)>td,.lv-dash table.pay tbody tr:nth-child(even)>td,.lv-dash table.pay tbody tr:hover>td{background:transparent}
.lv-dash table.pay th,.lv-dash table.pay td{border:0;border-bottom:1px solid var(--line)}
.lv-dash table.pay th{text-align:left;font-family:Syne,sans-serif;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line)}
.lv-dash table.pay td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.lv-dash table.pay td.amt,.lv-dash table.pay th.amt{text-align:right}
.lv-dash table.pay .ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted);word-break:break-all}
.lv-dash .empty{border:1px dashed #cfdcd9;padding:28px 20px;text-align:center;color:var(--muted);font-size:14px}
.lv-dash form.frm{max-width:640px}
.lv-dash .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.lv-dash .grid3{display:grid;grid-template-columns:2fr 1.3fr 1fr;gap:0 16px}
.lv-dash .field{margin:0 0 16px}
.lv-dash label{font-size:10.5px}
.lv-dash fieldset{border:0;margin:0 0 8px;padding:0}
.lv-dash legend{font-family:Epilogue,"Helvetica Neue",sans-serif;font-size:16px;color:var(--teal-d);margin:8px 0 12px;padding:0}
.lv-dash .hint{display:block;margin:5px 0 0;font-size:12.5px;color:var(--muted)}
.lv-dash input[type=text],.lv-dash input[type=email],.lv-dash input[type=password],.lv-dash input[type=tel],.lv-dash select{width:100%;border:1px solid #cfdcd9;background:#fff;padding:11px 12px;font-size:15px;font-family:inherit;color:var(--ink);box-shadow:none;outline:none;height:auto;line-height:1.3}
.lv-dash input:focus,.lv-dash select:focus{border-color:var(--teal)}
.lv-dash .bad input,.lv-dash .bad select{border-color:var(--bad)}
.lv-dash .formfoot{display:flex;gap:16px;align-items:center;margin:8px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.lv-dash .formfoot a{font-size:14px}
@media(max-width:860px){
.lv-dash{padding:24px 0 64px}
.lv-dash .dh{padding:0 0 16px;margin:0 0 0;border-bottom:0}
.lv-dash .dh h1{font-size:24px}
.lv-dash .dgrid{display:block}
.lv-dash .dnav{margin:0 -16px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.lv-dash .dnav ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;padding:0 4px}
.lv-dash .dnav ul::-webkit-scrollbar{display:none}
.lv-dash .dnav ul a{white-space:nowrap;text-align:center;border-left:0;border-bottom:2px solid transparent;padding:13px 2px;margin:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis}
.lv-dash .dnav ul a[aria-current=page]{border-bottom-color:var(--slab);background:transparent}
.lv-dash .dnav .sep,.lv-dash .dnav .help{display:none}
.lv-dash .summary{grid-template-columns:1fr}
.lv-dash .summary>div{border-left:0;border-top:1px solid var(--line)}
.lv-dash .summary>div:first-child{border-top:0}
.lv-dash li.t{flex-wrap:wrap;padding:16px}
.lv-dash li.t .ta{flex-basis:100%;padding-left:44px}
.lv-dash dl.facts>div{grid-template-columns:1fr;gap:2px}
.lv-dash .grid2,.lv-dash .grid3{grid-template-columns:1fr}
.lv-dash table.pay thead{display:none}
.lv-dash table.pay,.lv-dash table.pay tbody,.lv-dash table.pay tr,.lv-dash table.pay td{display:block;width:100%}
.lv-dash table.pay tr{border:1px solid var(--line);margin:0 0 10px;padding:6px 0}
.lv-dash table.pay td{border:0;padding:5px 14px;display:flex;justify-content:space-between;gap:12px;text-align:right}
.lv-dash table.pay td:before{content:attr(data-l);font-family:Syne,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left}
.lv-dash table.pay td.amt{text-align:right}
}
.lv-modal[hidden]{display:none}
.lv-modal,.lv-modal *{box-sizing:border-box;border-radius:0}
.lv-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.lv-modal .bd{position:absolute;inset:0;background:rgba(7,56,53,.45)}
.lv-modal .panel{position:relative;background:#fff;border:1px solid #d7e3e0;width:100%;max-width:640px;max-height:calc(100vh - 48px);overflow:auto;padding:28px 28px 22px;box-shadow:0 20px 60px rgba(7,56,53,.18);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#1a1f1e}
.lv-modal.sm .panel{max-width:480px}
.lv-modal h2{margin:0 0 4px;font-family:Epilogue,"Helvetica Neue",sans-serif;font-weight:500;font-size:22px;letter-spacing:-.02em;color:#073835}
.lv-modal .sub{margin:0 0 18px;font-size:14px;color:#5c6b69;line-height:1.5}
.lv-modal .x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid #e4eceb;background:#fff;color:#073835;font-size:19px;line-height:1;cursor:pointer;padding:0}
.lv-modal .x:hover{border-color:#0A4D4A}
.lv-modal button:focus-visible{outline:2px solid #0A4D4A;outline-offset:2px}
.lv-modal ul.plans{list-style:none;margin:0;padding:0;border-top:1px solid #e4eceb}
.lv-modal li.opt{display:flex;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid #e4eceb;padding:14px 4px}
.lv-modal li.opt.sel{background:#f4f8f7;padding-left:12px;padding-right:12px;border-left:2px solid #124844}
.lv-modal .nm{font-family:Epilogue,"Helvetica Neue",sans-serif;font-size:17px;font-weight:500;letter-spacing:-.015em;color:#073835;margin:0 8px 0 0}
.lv-modal .pc-price{display:inline;font-family:Manrope,"Helvetica Neue",sans-serif;font-weight:500;font-size:14px;color:#1a1f1e;margin:0;letter-spacing:-.01em}
.lv-modal .pc-price span{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;font-size:12px;color:#5c6b69;letter-spacing:0}
.lv-modal .tag{display:inline-block;margin-left:8px;padding:2px 7px;border:1px solid #0A4D4A;font-family:Syne,sans-serif;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#0A4D4A;vertical-align:2px}
.lv-modal .ln{margin:4px 0 0;font-size:13px;color:#5c6b69;line-height:1.45}
.lv-modal .act{flex:0 0 auto}
.lv-modal .act form{margin:0}
.lv-modal .btn{display:inline-block;padding:9px 14px;font-family:Syne,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid #0A4D4A;background:#fff;color:#0A4D4A;cursor:pointer;white-space:nowrap}
.lv-modal .btn:hover{background:#0A4D4A;color:#fff}
.lv-modal .btn.solid{background:#124844;border-color:#124844;color:#fff}
.lv-modal .btn.solid:hover{background:#073835}
.lv-modal .btn.danger{border-color:#9b2c2c;color:#9b2c2c}
.lv-modal .btn.danger:hover{background:#9b2c2c;color:#fff}
.lv-modal .selected{display:inline-block;padding:9px 14px;font-family:Syne,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#124844;border:1px solid #cfdcd9;background:#fff}
.lv-modal .fine{margin:14px 0 0;font-size:12.5px;color:#5c6b69}
.lv-modal .row2{display:flex;gap:10px;justify-content:flex-end;margin:22px 0 0;flex-wrap:wrap}
.lv-modal .row2 form{margin:0}
body.lv-modal-open{overflow:hidden}
@media(max-width:600px){
.lv-modal{align-items:flex-end;padding:16px}
.lv-modal .panel{max-height:calc(100vh - 32px);padding:22px 16px 16px}
.lv-modal li.opt{flex-direction:column;align-items:stretch;gap:10px}
.lv-modal .act .btn,.lv-modal .act .selected,.lv-modal .row2 .btn{width:100%;text-align:center}
.lv-modal .row2{flex-direction:column-reverse}
.lv-modal .row2 form{width:100%}
}

/* Portal additions (AWS version) */
.lv-dash .dmain p{margin:0 0 14px}
.lv-dash .dmain>.ds{margin:0 0 24px}
.lv-dash li.t p{margin:0}
.lv-dash .ta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lv-dash .frm+.frm{margin-top:32px}
.lv-dash .consents{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);font-size:14px;line-height:1.55}
.lv-dash .consents li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:14px 0;border-bottom:1px solid var(--line)}
.lv-dash .consents .cn{font-weight:600;color:var(--ink)}
.lv-dash .consents .cs{color:var(--muted)}
.lv-dash .cnote{margin:16px 0 0;font-size:14px;line-height:1.6}
@media(max-width:600px){.lv-dash .consents li{flex-direction:column}.lv-dash #lvConsents .lv-btn{width:100%;text-align:center}}
.lv-dash .saved{font-size:13px;color:var(--teal)}
.lv-dash .tlabel{display:inline-block;margin-left:8px;padding:1px 6px;border:1px dashed var(--warn);font-family:var(--kick);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#6b4a1f;vertical-align:2px}

/* Your Score (member view of the latest RELEASED snapshot; Sep 27, 2026). Simple, on-brand: big number, tier, areas, history. */
.lv-score{border:1px solid var(--line);border-top:4px solid #0A4D4A;padding:24px 24px 18px;margin:0 0 28px;background:#fff}
.lv-score.empty{border-top-width:1px}
.lv-score.empty p{margin:0 0 6px}
.lv-score .top{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:0 0 16px}
.lv-score .big{font-size:64px;line-height:.9;color:#073835;letter-spacing:-.03em}
.lv-score .big .of{font-size:18px;color:var(--muted);margin-left:6px;letter-spacing:0}
.lv-score .meta{display:flex;flex-direction:column;gap:6px;padding-bottom:4px}
.lv-score .tier{font-family:Epilogue,"Helvetica Neue",sans-serif;font-size:24px;font-weight:500;color:#073835;line-height:1}
.lv-score .when{font-size:13.5px;color:var(--muted)}
.lv-score .prov{border:1px solid #9a6b2f;background:#fffaf2;color:#4a3515;padding:10px 14px;font-size:14px;margin:0 0 18px}
.lv-score h3,.lv-dash h3.hh{font-size:17px;margin:8px 0 4px}
.lv-score .ds{margin:0 0 14px;font-size:14px;color:var(--muted)}
.lv-score .doms{list-style:none;margin:0;padding:0}
.lv-score .doms li{margin:0 0 12px}
.lv-score .dl{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin:0 0 5px}
.lv-score .bar{height:8px;background:#eef4f2;border:1px solid #d6e2df}
.lv-score .bar i{display:block;height:100%;background:#124844}
.lv-dash ul.hist{list-style:none;margin:0 0 20px;padding:0;border:1px solid var(--line)}
.lv-dash ul.hist li{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--line);font-size:14px}
.lv-dash ul.hist li:first-child{border-top:0}
.lv-dash .fine{font-size:13px}
@media(max-width:600px){.lv-score{padding:18px 16px 12px}.lv-score .big{font-size:54px}}

/* Phone tab bar: short labels so all five items fit (Sep 27, 2026). */
.lv-dash .dnav .sh{display:none}
@media(max-width:860px){.lv-dash .dnav .lg{display:none}.lv-dash .dnav .sh{display:inline}}

/* Your next tests (outside test sites sent by the care team; Sep 27, 2026) */
.lv-next{border:1px solid var(--line);border-top:4px solid #0A4D4A;background:#fff;padding:24px 24px 16px;margin:28px 0 0}
.lv-next>.k,.lv-next li>.k{font-family:Syne,sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin:0 0 6px}
.lv-next h2{font-family:Epilogue,"Helvetica Neue",sans-serif;font-weight:500;font-size:22px;letter-spacing:-.02em;color:#073835;margin:0 0 4px}
.lv-next .ds{margin:0 0 18px;font-size:14px;color:var(--muted)}
.lv-next ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.lv-next li{padding:20px 0;border-bottom:1px solid var(--line)}
.lv-next li h3{font-family:Epilogue,"Helvetica Neue",sans-serif;font-weight:500;font-size:18px;color:#073835;margin:0 0 6px}
.lv-next .ex{font-size:14px;color:var(--muted);margin:0 0 12px;max-width:42em}
.lv-next dl{margin:0;display:grid;grid-template-columns:130px minmax(0,1fr);gap:6px 16px;font-size:14.5px}
.lv-next dl>div{display:contents}
.lv-next dt{color:var(--muted);font-size:13px}
.lv-next dd{margin:0;overflow-wrap:anywhere}
.lv-next .fine{margin:14px 0 0}
@media(max-width:600px){.lv-next{padding:18px 16px 10px}.lv-next dl{grid-template-columns:1fr;gap:0}.lv-next dd{margin:0 0 8px}}

/* Portal menu v3 (Siri, Sep 27, 2026): the original plain menu (above: no boxes or borders around unselected items),
   with unselected items in plain teal text. The only other change: the selected item is solid #0A4D4A with white text.
   Hover tint only on devices that really hover (html.lv-hover). Phone: one row of 5 short labels that fits 390px. */
.lv-dash .dnav ul a,.lv-dash .dnav ul a.out{color:#0A4D4A}
.lv-dash .dnav ul a:hover{background:transparent;color:#0A4D4A}
.lv-hover .lv-dash .dnav ul a:hover{background:var(--soft);color:var(--teal-d)}
.lv-dash .dnav ul a[aria-current=page],.lv-dash .dnav ul a[aria-current=page]:hover,.lv-hover .lv-dash .dnav ul a[aria-current=page]:hover{background:#0A4D4A;color:#fff;border-color:#0A4D4A}
.lv-dash .dnav ul a:focus-visible{outline:3px solid #9fd4c9;outline-offset:-3px}
.lv-dash .dnav ul a[aria-current=page]:focus-visible{outline-color:#fff}
.lv-next .pnote{font-size:13px;color:var(--muted)}

/* Phone (<=640px): the ORIGINAL portal menu (portal.css before Sep 27, 2026; unchanged from f7bd6c5 through 592b67a/05bf7e0):
   white strip with thin top/bottom lines, plain dark 14px text, selected = teal-dark bold text with a 2px #124844 underline
   bar, no fill. Only change: 5 equal columns with short labels so all items fit 390px without sideways scrolling. */
@media(max-width:640px){
.lv-dash .dnav{margin:0 -16px 22px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.lv-dash .dnav ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 4px;border-bottom:0;overflow:visible}
.lv-dash .dnav ul a,.lv-dash .dnav ul a[aria-current=page]{font-family:inherit;font-size:14px;font-weight:400;letter-spacing:normal;text-transform:none;line-height:inherit;white-space:nowrap;text-align:center;border:0;border-bottom:2px solid transparent;padding:13px 2px;margin:0;overflow:hidden;text-overflow:clip}
.lv-dash .dnav ul a,.lv-dash .dnav ul a:hover{color:var(--ink);background:transparent}
.lv-dash .dnav ul a.out{color:var(--muted)}
.lv-hover .lv-dash .dnav ul a:hover{background:var(--soft);color:var(--teal-d)}
.lv-dash .dnav ul a[aria-current=page],.lv-dash .dnav ul a[aria-current=page]:hover,.lv-hover .lv-dash .dnav ul a[aria-current=page]:hover{border-bottom-color:var(--slab);background:transparent;color:var(--teal-d);font-weight:600}
.lv-dash .dnav ul a[aria-current=page]:focus-visible{outline-color:#9fd4c9}
}
