/* Keep member pages inside the viewport without suppressing browser zoom. */
.member-portal body > main, main.member-account {width:100%;min-width:0;box-sizing:border-box}
.member-portal body > div, .member-portal body > footer {min-width:0;max-width:100%}
.member-account {overflow-wrap:anywhere}
.member-account :is(.flex,.grid) > * {min-width:0}
.member-account :is(input,select,textarea) {max-width:100%;box-sizing:border-box}
.member-account img {max-width:100%}
.ml-menu-profile {overflow-wrap:anywhere}
.account-tabs {display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid #e5e8e1;border-radius:18px;background:#f7f8f5}
.account-tab {display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:44px;padding:10px 16px;border-radius:12px;color:#53604c;font-size:14px;text-decoration:none;text-align:center}
.account-tab:hover {background:#e9eee3}
.account-tab[aria-current=page] {background:#18201a;color:white;font-weight:700}
.account-tab:focus-visible {outline:2px solid #60734f;outline-offset:2px}
@media (max-width:767px) {
 .member-portal :is(input:not([type=checkbox]):not([type=radio]),select,textarea), .member-account :is(input,select,textarea) {font-size:16px!important}
 .member-account {padding:28px 16px}
 .member-account h1 {font-size:clamp(2rem,9vw,3rem);line-height:1.15}
 .member-account :is(section.p-6,section.p-7,div.p-8,div.p-10,div.p-12) {padding:20px;border-radius:18px}
 .account-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px}
 .account-tab {padding:10px 4px;font-size:13px}
 .account-stats > div {padding:16px 12px;border-radius:16px}
 .account-stats .text-4xl {font-size:clamp(1.5rem,6.5vw,2rem);line-height:1.2}
 .account-session {align-items:flex-start;flex-wrap:wrap;gap:10px}
 .account-session > div {gap:12px;flex:1 1 100%}
 .account-session .w-16 {width:40px}
 .account-session .pl-5 {padding-left:12px}
 .account-session > span {margin-left:64px}
 .account-order {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:18px;border-radius:16px}
 .account-order > :nth-child(2) {grid-column:1;grid-row:2}
 .account-order > :nth-child(3) {grid-column:2;grid-row:1}
 .account-order > :nth-child(4) {grid-column:1;justify-self:start}
 .account-order > :last-child {grid-column:2;grid-row:2 / span 2;align-self:center}
 /* Preserve table semantics, present each invoice as a labelled card. */
 .account-invoices {display:block}
 .account-invoices thead {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .account-invoices tbody {display:grid;gap:12px}
 .account-invoices tr {display:block;border:1px solid #e5e8e1!important;border-radius:16px;padding:16px}
 .account-invoices td {display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;padding:7px 0}
 .account-invoices td:before {content:attr(data-label);color:#6b6b6b;font-size:12px}
 .account-invoices td:last-child {display:block;padding-top:12px}
 .account-invoices td:last-child:before {display:none}
 .account-invoices td:last-child a {display:block;text-align:center;padding:12px}
}
@media print {.account-tabs {display:none}}
