/* Customer portal v3, NoLaundry design system (sage). */
body[data-mode=customer]{background:#F7F6F3;color:#17191B;font-family:var(--sans,Nunito,"Nunito Fallback",system-ui,sans-serif)}
.pwrap{max-width:760px;margin:0 auto;padding:18px 18px 110px}
header.top{background:#fff;border-bottom:1px solid rgba(23,25,27,.1)}
header.top h1{font:400 22px/1 "Plus Jakarta Sans",Nunito,system-ui,sans-serif;text-transform:uppercase;color:#17191B}
.hi{margin:6px 0 14px}.hi-h{font:400 clamp(34px,6vw,46px)/.95 "Plus Jakarta Sans",Nunito,system-ui,sans-serif;text-transform:uppercase;color:#17191B;margin-top:6px}
.pcard{display:block;background:#fff;border-radius:22px;border:1px solid rgba(23,25,27,.08);box-shadow:0 1px 2px rgba(23,25,27,.06),0 8px 24px -12px rgba(23,25,27,.18);padding:20px;margin-bottom:14px}
.pcard.row{display:flex;align-items:center;gap:14px}
.ph2{font:400 22px/1.05 "Plus Jakarta Sans",Nunito,system-ui,sans-serif;text-transform:uppercase;color:#17191B;margin:0}
.ph2.big{font-size:30px;margin-top:4px}.ph2 .win{display:block;font:800 16px Nunito,"Nunito Fallback",sans-serif;text-transform:none;color:#17191B;margin-top:4px}
.pill{background:#F7F6F3;color:#17191B;font-weight:800;border-radius:999px;padding:6px 12px;font-size:12.5px;white-space:nowrap}
.pill.st{background:#FF6B00;color:#fff}
.acts{gap:8px;margin-top:14px;flex-wrap:wrap}.acts .btn{flex:1 1 140px}
.btn{background:#17191B;border-color:#17191B;color:#fff;border-radius:999px;font-weight:800;min-height:44px}
.btn:hover{background:#17191B}.btn.ghost{background:#fff;color:#17191B;border:2px solid #17191B}.btn.ghost:hover{background:#17191B;color:#fff}
.btn:focus-visible,.chip:focus-visible,.sel:focus-visible,.stp button:focus-visible,a:focus-visible{outline:3px solid #FF5500;outline-offset:2px}
.upsell{border:2px solid #17191B;background:linear-gradient(#fff,#fff) padding-box}
.upsell .row{gap:10px;flex-wrap:wrap}
.ups{list-style:none;margin:0;padding:0}
.up{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px dashed rgba(23,25,27,.2);flex-wrap:wrap}
.up .grow{flex:1 1 180px;min-width:0}
.up-i{flex:none;width:44px;height:44px;border-radius:14px;background:#F7F6F3;color:#17191B;display:grid;place-items:center}.up-i svg{width:22px;height:22px}.up-i.y{background:#FF6B00}
.up-p{font-weight:900;color:#17191B;white-space:nowrap}
.up-c{display:flex;align-items:center;gap:8px;margin-left:auto}
.ok-b{font-weight:900;color:#2F6B3E}
.sel{min-height:44px;border-radius:999px;border:1.5px solid rgba(23,25,27,.3);padding:0 12px;font:700 14px Nunito,"Nunito Fallback",sans-serif;color:#17191B;background:#fff}
.stp{display:flex;align-items:center;border:1.5px solid rgba(23,25,27,.3);border-radius:999px;overflow:hidden;background:#fff}
.stp button{width:44px;height:44px;border:0;background:none;font:800 20px Nunito,"Nunito Fallback",sans-serif;color:#17191B;cursor:pointer}
.stp output{min-width:22px;text-align:center;font-weight:900}
.tipc .row{align-items:flex-start;gap:14px}
.tipch{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 12px}
.chip{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(23,25,27,.3);background:#fff;color:#17191B;font:800 15px Nunito,"Nunito Fallback",sans-serif;cursor:pointer}
.chip[aria-pressed=true],.chip.on{background:#17191B;border-color:#17191B;color:#fff}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.g2 .pcard{margin:0 0 14px}
.lnk{text-decoration:none;color:inherit}.lnk .grow{display:flex;flex-direction:column;gap:2px}.lnk b.d{font-size:17px;color:#17191B}
.refc{background:#FFF1E8}
.ds-tl{margin:18px 0 12px}
#pmap{border-radius:16px;margin-top:12px}
nav.tabs{background:#fff;border-top:1px solid rgba(23,25,27,.12)}
nav.tabs a{color:#5C6166}nav.tabs a.on{color:#17191B;font-weight:900}nav.tabs a.on svg{color:#17191B}
.muted{color:#5C6166!important}
@media (max-width:620px){.g2{grid-template-columns:1fr}.up-c{width:100%;justify-content:flex-end}.ph2.big{font-size:26px}}
[hidden]{display:none!important}

.hi-s{margin:4px 0 0}.glh{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#5C6166;margin:18px 2px 10px}
.snapg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.snapg .pcard{margin:0}
.snp{display:flex;flex-direction:column;gap:3px;padding:16px;min-height:44px}.snp .up-i{width:36px;height:36px;margin-bottom:6px}.snp b.d{font-size:16px;overflow-wrap:anywhere}
.rlist{list-style:none;margin:8px 0 0;padding:0}.rlist li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid rgba(23,25,27,.08);flex-wrap:wrap}.rlist .ord-rate{flex:1 1 100%}
.ord-step{display:flex;gap:6px;list-style:none;margin:14px 0 8px;padding:0;overflow-x:auto}
.ord-step li{flex:1 1 0;min-width:68px;text-align:center;font-size:11px;font-weight:800;color:#5C6166;line-height:1.25}
.ord-step li i{display:block;height:6px;border-radius:99px;background:#E6E2DA;margin-bottom:6px}
.ord-step li.done i,.ord-step li.now i{background:#17191B}
.ord-step li.now{color:#17191B}
.ord-meta{margin:0 0 8px}
.ratef{margin-top:8px}.ratef textarea{display:block;width:100%;margin-top:6px;border-radius:12px;border:1.5px solid rgba(23,25,27,.3);padding:8px;font:inherit;color:inherit}
.stars{display:flex;gap:2px;margin:6px 0}.stars button{width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;color:#c5d4cc;cursor:pointer;padding:0}.stars button.on{color:#C4920A}
@media(min-width:720px){.snapg{grid-template-columns:repeat(4,1fr)}}
.plan-h{background:linear-gradient(160deg,#fff,#F7F6F3)}
.pwrap .glh{margin:22px 2px 10px}.pwrap .stats{margin-bottom:14px}
.plan-n{font:400 30px/1.1 "Plus Jakarta Sans",Nunito,system-ui,sans-serif;text-transform:uppercase;margin:2px 0 8px;color:#17191B}
.bgq{display:flex;align-items:center;gap:10px;background:#F7F6F3;border-radius:14px;padding:10px 12px;margin:10px 0}
.bstep{display:flex;align-items:center;gap:14px;margin:8px 0}.bstep button{width:48px;height:48px;border-radius:50%;border:1px solid #ccc;background:#fff;font-size:24px}.bstep output{font-size:30px;font-weight:900;min-width:44px;text-align:center}
/* #125 Share with your neighbors */
.nbr{background:#FFDE3B;border:2px solid #1E1E1E;border-radius:22px;padding:18px 16px;margin:0 0 14px}
.nbr h2{margin:0 0 4px;font-size:22px}.nbr-one{margin:0 0 12px;font-size:16px}
.nbr .link{display:flex;gap:8px;background:#fff;border:2px solid #1E1E1E;border-radius:14px;padding:6px}.nbr .link input{flex:1;min-width:0;border:0;font:600 15px/1 inherit;background:none;padding:0 6px}
.nbr .link button{min-height:44px;border:0;border-radius:10px;background:#1E1E1E;color:#fff;font-weight:700;padding:0 14px}
.nbr-fb{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:56px;margin:12px 0 6px;background:#1877F2!important;color:#fff!important;border:0;border-radius:14px;font-weight:800;font-size:16px}
.nbr-fb svg{width:20px;height:20px}.nbr-note{margin:0 0 12px}
.nbr-ch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.nbr-ch a,.nbr-ch button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;background:#fff;border:2px solid #1E1E1E;border-radius:14px;color:#1E1E1E;text-decoration:none;font:700 13px/1.1 inherit}
@media (max-height:740px){.hi{margin:0 0 6px}.hi-h{font-size:28px;margin-top:0}.nbr-one{margin-bottom:6px}.nbr-fb{min-height:48px;margin:8px 0 6px}.nbr-ch{margin-bottom:8px}.nbr-ch a,.nbr-ch button{min-height:52px}}
.nbr-ch svg{width:22px;height:22px}.fbf,.ndf{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;color:#fff;font:800 16px/1 system-ui}.fbf{background:#1877F2}.ndf{background:#00B246}
.tpl .tplx{margin:6px 0 10px;font-size:15px;line-height:1.45;white-space:pre-wrap}
.how2{display:flex;gap:12px;align-items:flex-start}.how2-i{flex:none}.how2 ol{margin:6px 0 8px;padding-left:18px}.how2 li{margin:0 0 4px}
.tipb{background:#BFE6F7;border-radius:10px;padding:8px 10px}
.nudge{display:flex;gap:12px;align-items:center;background:#FFDE3B;border:2px solid #1E1E1E;border-radius:18px;padding:14px;text-decoration:none;color:#1E1E1E;margin:0 0 14px}
.nudge b{display:block;font-size:17px}.nudge span.grow{flex:1}
/* Round 7: 44px minimum tap targets on Plan + Refer */
main[data-tab=plan] :is(button,.btn,a.btn,select,input:not([type=checkbox]):not([type=radio]),.chip,summary),main[data-tab=refer] :is(button,.btn,a.btn,select,input:not([type=checkbox]):not([type=radio]),.chip,summary){min-height:44px}
main[data-tab=plan] :is(button,.btn,.chip),main[data-tab=refer] :is(button,.btn,.chip){min-width:44px}
main[data-tab=plan] :is(input[type=checkbox],input[type=radio]),main[data-tab=refer] :is(input[type=checkbox],input[type=radio]){width:22px;height:22px}
main[data-tab=plan] label:has(input[type=checkbox],input[type=radio]),main[data-tab=refer] label:has(input[type=checkbox],input[type=radio]){min-height:44px;display:flex;align-items:center;gap:8px}
main[data-tab=plan] a:not(.btn),main[data-tab=refer] a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
/* Round 7: compact upcoming rows with swipe-to-skip + history filters */
.ulist{display:grid;gap:8px;margin-bottom:6px}
.urow{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:var(--nl-pink-soft,#fbedf1)}
.urow .ubg{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:center;padding-right:10px}
.urow .ubg .btn{min-height:44px;min-width:76px}
.urow .ufg{position:relative;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;min-height:56px;transition:transform .2s ease;touch-action:pan-y}
.urow .ufg{flex-wrap:wrap}.urow .ufg .grow{flex:1 1 100%;min-width:0}.urow .ufg span.pill:last-of-type{margin-right:auto}.urow .ufg .btn{min-height:44px}
.hfilt{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.hfilt input{flex:1 1 180px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;font:inherit}
.hfilt select{min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff}
/* Round 8: undo bar after a row skip */
.undob{position:fixed;left:16px;right:16px;transform:none;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;background:#17191B;color:#fff;border-radius:14px;padding:8px 8px 8px 16px;box-shadow:0 10px 30px -10px rgba(0,0,0,.4);max-width:none}
.undob > span{flex:1 1 12em;min-width:0}
html body .undob .btn.ghost{min-height:44px;min-width:76px;flex:0 0 auto;background:#fff!important;color:#17191B!important;border:2px solid #fff!important}

/* Round 51: next-pickup reminder strip */
.rmd{display:flex;align-items:center;gap:10px;margin:10px 0 2px;padding:10px 12px;border-radius:12px;background:#EEF5F1;border:1px solid #CFE3D8}.rmd .btn{flex:none;min-height:44px}

/* Rewards. Hidden unless the account API says the program is on. */
.menurows .menurow{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 0;border-top:1px solid rgba(23,25,27,.1);color:inherit;text-decoration:none;font-weight:800}
.menurows .menurow:first-child{border-top:0}
.menurows .menurow span:first-child{flex:1}
.newb{display:inline-flex;align-items:center;margin-left:8px;background:#E23B2F;color:#fff;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;padding:2px 8px;vertical-align:middle}
.menucode{font-weight:800;color:#17191B}
.sampnote{background:#FFF1E8;border:2px solid #17191B;border-radius:16px;padding:12px 14px;margin:0 0 14px;font-weight:800;color:#17191B}
.donutbox{display:flex;gap:16px;align-items:center}
.donutwrap{position:relative;width:132px;height:132px;flex:none}
.donut{width:132px;height:132px;display:block}
.donutlab{position:absolute;inset:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#17191B}
.donutlab b{font-size:16px;line-height:1.1}
.donutlab span{font-size:12px;font-weight:700;color:#5C6166}
.rlegend{list-style:none;margin:14px 0 0;padding:0}
.rlegend li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid rgba(23,25,27,.08)}
.swatch{width:14px;height:14px;border-radius:4px;margin-top:4px;flex:none}
.benefit{border-top:1px solid rgba(23,25,27,.12)}
.benefit:first-child{border-top:0}
.benefit summary{min-height:48px;display:flex;align-items:center;font-weight:800;cursor:pointer}
.benefit p{margin:0 0 12px}
.ptbig{font:400 56px/1 "Plus Jakarta Sans",Nunito,system-ui,sans-serif;margin:0;color:#17191B}
.proposed{display:inline-flex;align-items:center;min-height:28px;background:#FFF1E8;color:#17191B;border:1px solid #17191B;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;padding:0 10px}
.earn .grow{min-width:0}
@media (max-width:520px){.donutbox{flex-direction:column;align-items:flex-start}}

/* Welcome and logged-in home. Black actions stay off .btn so the page palette cannot turn them yellow. */
.login{max-width:440px;margin:0 auto;padding:28px 20px 48px;text-align:center}
.login .field input{min-height:52px;width:100%;font-size:16px;border-radius:12px}
.login .field span{font-weight:800;display:block;margin:0 0 6px}
.ub-h{font:400 34px/1.05 "Plus Jakarta Sans",Nunito,system-ui,sans-serif;margin:18px 0 6px;color:#17191B}
.ub-sub{color:#4A5650;margin:0 0 18px}
.ub-phone{display:flex;align-items:center;gap:8px;min-height:52px;border:1.5px solid rgba(31,42,36,.28);border-radius:14px;padding:0 14px;background:#fff;text-align:left}
.ub-phone input{flex:1;min-width:0;border:0;min-height:48px;font:600 17px Nunito,"Nunito Fallback",sans-serif;background:transparent;color:#17191B}
.ub-cc{font-weight:800;min-width:28px}
.ub-consent{font-size:13px;line-height:1.45;color:#4A5650;text-align:left;margin:10px 0 14px}
.ub-consent a{font-weight:800}
.ub-go{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:0;border-radius:14px;background:#17191B;color:#fff;font:800 17px Nunito,"Nunito Fallback",sans-serif;cursor:pointer}
.ub-go:hover,.ub-sched:hover{background:#000;color:#fff}
.ub-go:disabled{opacity:.55}
.ub-go:focus-visible,.ub-alt:focus-visible,.ub-sched:focus-visible,.ub-when:focus-visible,.ub-addr:focus-visible,.ub-row:focus-visible,.ub-tile:focus-visible{outline:3px solid #17191B;outline-offset:3px}
.ub-alt{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:8px 0 0;border-radius:14px;border:2px solid #17191B;background:#fff;color:#17191B;font:800 16px Nunito,"Nunito Fallback",sans-serif;cursor:pointer}
.ub-alt:hover{background:#17191B;color:#fff}
.ub-or{margin:16px 0 4px;color:#6b7280;font-size:13px}
.ub-find{margin:14px 0 4px}
.ub-find a{font-weight:800;min-height:44px;display:inline-flex;align-items:center}
.ub-err{text-align:left;color:#8a2b22;min-height:1.2em}
.ub-guest{margin-top:18px}
.ub-guest a{font-weight:800}
header.top .ub-addr{flex:1 1 180px;display:flex;align-items:center;gap:8px;min-height:44px;max-width:100%;border:0;background:#fff;border-radius:999px;padding:0 14px;font:800 15px Nunito,"Nunito Fallback",sans-serif;box-shadow:0 1px 2px rgba(31,42,36,.08);cursor:pointer;color:#17191B}
.ub-dot{width:8px;height:8px;border-radius:50%;background:#111;flex:none}
.ub-addr .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.ub-schedrow{display:flex;gap:8px;margin:4px 0 12px}
.ub-sched{flex:1;min-height:56px;border:0;border-radius:16px;background:#17191B;color:#fff;font:800 18px Nunito,"Nunito Fallback",sans-serif;cursor:pointer;text-align:left;padding:0 18px}
.ub-when{min-height:56px;min-width:88px;padding:0 16px;border-radius:16px;border:2px solid #17191B;background:#fff;color:#17191B;font:800 16px Nunito,"Nunito Fallback",sans-serif;cursor:pointer}
.ub-menu{background:#fff;border-radius:16px;border:1px solid rgba(31,42,36,.12);box-shadow:0 12px 30px -16px rgba(0,0,0,.35);padding:8px;margin:0 0 12px}
.ub-menu button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;min-height:44px;text-align:left;border:0;background:transparent;font:700 15px Nunito,"Nunito Fallback",sans-serif;border-radius:10px;padding:8px 10px;cursor:pointer;color:#17191B}
.ub-menu button:hover,.ub-menu button:focus-visible{background:#f4f4f1}
.ub-note{margin:8px 10px 4px}
.ub-list{background:#fff;border-radius:16px;overflow:hidden;border:1px solid rgba(31,42,36,.08);margin-bottom:8px}
.ub-row{display:flex;width:100%;min-height:56px;align-items:center;gap:10px;text-align:left;border:0;border-top:1px solid rgba(31,42,36,.08);background:#fff;padding:8px 14px;cursor:pointer;font:inherit;color:inherit}
.ub-row:first-child{border-top:0}
.ub-row .grow{display:flex;flex-direction:column;min-width:0}
.ub-row b{font-size:15px}
.ub-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ub-tile{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:72px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid rgba(31,42,36,.1);text-decoration:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.ub-tile b{font-size:15px}
.ub-pay{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:12px 16px;border-radius:16px;background:#fff;border:1px solid rgba(31,42,36,.1);text-decoration:none;color:inherit;margin:12px 0}
.ub-pay .grow{display:flex;flex-direction:column}
@media (max-width:640px){header.top .ub-addr{flex:1 1 100%}}
.act{margin:0 0 8px}
.act-list{list-style:none;margin:0;padding:0}
.act-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:56px;padding:12px 0;border-top:1px solid rgba(31,42,36,.08)}
.act-row:first-child{border-top:0}
.act-main{flex:1 1 160px;min-width:0;display:flex;flex-direction:column}
.act-main b{font-size:16px}
.act-acts{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.act-acts .btn{min-height:44px;flex:1 1 calc(50% - 8px)}
.act a.ub-row{text-decoration:none;border-radius:16px;margin-top:8px;padding-left:14px}
.act-row .again{flex:1 1 100%}
.act-note{margin:0}
.act-note a,.act-note.est{display:flex;align-items:center;min-height:48px;font-weight:800;line-height:1.35}
.act-note a{text-decoration:underline;text-underline-offset:2px}
.ordc .acts-top .btn{flex:1 0 calc(50% - 8px);min-height:48px;white-space:normal}

header.top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pts-pill{margin-left:auto;display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#17191B;color:#fff!important;text-decoration:none;font:800 13px Nunito,system-ui,sans-serif}
.xpill{display:inline-flex;align-items:center;min-height:28px;margin-left:6px;padding:0 10px;border-radius:999px;background:#FFF1E8;color:#FF5500;border:1px solid #FF6B00;font:800 12px Nunito,system-ui,sans-serif;vertical-align:middle}
.miles{margin:8px 0 4px}
.mile{margin:12px 0}
.mile-top{display:flex;justify-content:space-between;gap:8px;font-weight:800;font-size:14px}
.mile-bar{height:10px;border-radius:99px;background:#F7F6F3;border:1px solid #E6E2DA;overflow:hidden;margin-top:6px}
.mile-bar>span{display:block;height:100%;background:linear-gradient(90deg,#FF5500,#FF6B00);border-radius:99px}
.streak{margin:8px 0 0;background:#FFF1E8;border:1px solid #E6E2DA;border-radius:14px;padding:12px 14px;font-weight:800}
.pcard{border-color:#E6E2DA}
.acts-top .btn{background:#17191B;color:#fff;border-color:#17191B}

/* Customer sign-in matches the Hero login: photo, black button, system sans, orange accent. */
.hx-login{max-width:none;margin:0;padding:0;text-align:left;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:#000}
.hx-login h1,.hx-login h2,.hx-login .ub-h{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.3px!important;color:#000!important}
.hx-wrap{min-height:100dvh;display:flex;flex-direction:column}
.hx-photo{height:62dvh;min-height:280px;border-radius:0 0 28px 28px;overflow:hidden;background:#f1e6dc}
.hx-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.hx-panel{flex:1;display:none;flex-direction:column;justify-content:space-between;padding:22px 20px calc(18px + env(safe-area-inset-bottom))}
.hx-panel.on{display:flex}
.hx-login h1{font-size:26px;line-height:1.2;margin:0}
html body .hx-login h1 em{font-style:normal;color:#FF6B00!important;-webkit-text-fill-color:#FF6B00!important;background:none!important}
.hx-screen{display:none}
.hx-screen.on{display:flex;flex-direction:column;min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 20px calc(18px + env(safe-area-inset-bottom))}
.hx-panel.on{min-height:0;padding:22px 20px calc(18px + env(safe-area-inset-bottom))}
.hx-login h2{font-size:28px;font-weight:800;margin:8px 0 6px}
.hx-sub{color:#5e5e5e;margin:0 0 22px}
.hx-btn{display:flex;align-items:center;justify-content:center;width:100%;height:56px;min-height:56px;border:0;border-radius:12px;background:#000;color:#fff;font:700 18px/1 inherit;cursor:pointer;margin-top:16px}
.hx-btn:disabled{background:#d6d6d6;color:#8a8a8a}
.hx-btn:focus-visible,.hx-field input:focus-visible,.hx-back:focus-visible{outline:3px solid #FF6B00;outline-offset:2px}
.hx-back{width:48px;height:48px;border:0;background:none;font-size:26px;margin-left:-12px;cursor:pointer;color:#000}
.hx-field{display:flex;align-items:center;height:60px;border:2px solid #e2e2e2;border-radius:12px;background:#f6f6f6;padding:0 14px}
.hx-field:focus-within{border-color:#000;background:#fff}
.hx-field.bad{border-color:#d4351c;background:#fff}
.hx-field input{flex:1;width:100%;border:0;background:none;font:600 20px/1 inherit;outline:none!important;box-shadow:none!important;min-width:0;color:#000}
.hx-otp{letter-spacing:10px;text-align:center;font-size:28px!important}
.hx-err{color:#d4351c;font-size:14px;margin:8px 0 0;min-height:20px;font-weight:600}
.hx-err:empty{min-height:0}
.hx-legal,.hx-find{font-size:13px;color:#5e5e5e;margin:14px 0 0}
.hx-login a{color:#000;font-weight:600}
.hx-link{background:none;border:0;font:600 15px inherit;text-decoration:underline;cursor:pointer;padding:8px 0;color:#000}
.hx-grow{flex:1;min-height:16px}
@media(max-width:899px){
 .hx-login:has(#hx-email.on) .hx-wrap,
 .hx-login:has(#hx-code.on) .hx-wrap{display:none}
}
@media(min-width:900px){
 body:has(.hx-login){background:#f3f3f3}
 .hx-wrap{flex-direction:row;max-width:1200px;margin:0 auto;min-height:100dvh;align-items:center;gap:56px;padding:32px}
 .hx-photo{width:min(46vw,520px);height:calc(100dvh - 64px);max-height:900px;border-radius:28px}
 .hx-right{flex:1;max-width:440px}
 .hx-panel,.hx-screen.on{min-height:auto;padding:0}
 .hx-login{background:transparent}
}

.prefgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:0 0 4px}
.prefgrid .field{min-width:0;margin-bottom:0}
.prefgrid select,.pcard select{width:100%;min-height:48px;border:1px solid #E6E2DA;border-radius:12px;background:#fff;color:#17191B;font:700 14px Nunito,system-ui,sans-serif;padding:0 8px}
