/* Shared customer portal presentation: account, access links and invoice details. */
.portal-header-support{gap:8px;padding:8px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--card);color:var(--ink);font-size:13px;font-weight:700}
.portal-header-support i{color:var(--green);font-size:20px}.portal-logout{width:44px;color:var(--mut);border-radius:12px}.portal-logout:hover{background:var(--card)}
.portal-intro{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.portal-intro>div{min-width:0}
.portal-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin:0 0 8px}
.portal-intro .portal-heading{font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:-.035em;margin:0 0 10px}.portal-description{color:var(--mut2);font-size:14px;max-width:48ch;margin:0}
.portal-identity{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);max-width:100%}.portal-identity>i{font-size:25px;color:var(--mut)}.portal-identity>div{min-width:0}.portal-identity strong{display:block;font-size:13px;overflow-wrap:anywhere}.portal-identity span{display:block;font-size:12px;color:var(--mut);overflow-wrap:anywhere}
.portal-field-label{display:block;margin-top:20px;font-size:13px;font-weight:600}.portal-account .field:focus{border-color:var(--acc)}
.portal-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;grid-column:1/-1}
.portal-quick-actions a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:16px;color:var(--ink)}
.portal-quick-actions i{font-size:22px;color:var(--acc);margin-bottom:4px}.portal-quick-actions strong{font-size:14px}.portal-quick-actions span{font-size:12px;color:var(--mut2)}
.portal-quick-actions a:hover,.portal-bill-list a:hover{background:color-mix(in srgb,var(--card) 94%,var(--acc))}.portal-account details[open]>summary .bi-chevron-down{transform:rotate(180deg)}
.portal-account .portal-contact-options{display:grid;gap:12px}.portal-human-contact{display:flex;align-items:center;gap:14px;padding:22px;color:var(--ink);border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--card) 92%,var(--green)))}
.portal-human-contact>i:first-child{flex:none;font-size:26px;color:var(--green)}.portal-human-contact>i:last-child{margin-inline-start:auto;color:var(--mut)}.portal-human-contact>div{min-width:0}.portal-human-contact strong{display:block;font-size:16px}.portal-human-contact span{display:block;color:var(--mut2);font-size:13px;margin:4px 0 10px}.portal-human-contact bdi{font-weight:700;font-size:18px;letter-spacing:.06em}
.portal-call-contact{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px;color:var(--ink);font-size:13px}.portal-call-contact bdi{font-weight:700;margin-inline-start:auto}
.portal-request-hint{font-size:13px;color:var(--mut2);margin:8px 0 0}.portal-card-heading{font-size:14px;font-weight:700;margin:0;padding:16px;border-bottom:1px solid var(--line)}
.portal-empty-requests{padding:24px;text-align:center}.portal-empty-requests>i{font-size:26px;color:var(--mut)}.portal-empty-requests .portal-card-heading{padding:12px 0 6px;border:0}.portal-empty-requests p{font-size:13px;color:var(--mut2);margin:0}
.portal-offers button[role="switch"]{width:64px!important;height:44px!important}.portal-offers button>span{top:50%!important;transform:translateY(-50%);width:32px!important;height:32px!important;left:auto!important;right:auto!important;inset-inline-start:6px!important}.portal-offers button[aria-checked="true"]>span{inset-inline-start:26px!important}
.portal-account .kicker{letter-spacing:.09em}.portal-account .btn-acc:hover{filter:brightness(.94)}.portal-account button:disabled{opacity:.65;cursor:wait}
.portal-invoice .wrap{max-width:760px;padding:28px 24px}.portal-invoice .card{border-radius:20px;padding:28px}.portal-invoice h1{font-size:26px;margin-bottom:24px}.portal-invoice .appbar{padding-inline:max(16px,calc((100vw - 712px)/2));gap:16px}.portal-invoice .lines td{padding-block:16px}
.portal-invoice-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:20px;border:1px solid var(--line);border-radius:16px}.portal-invoice-help p{font-size:13px;color:var(--mut);margin:4px 0 0}.portal-invoice-help a{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.portal-invoice-help i{color:var(--wa);font-size:18px}
.portal-login{background:radial-gradient(ellipse at top,color-mix(in srgb,var(--card) 90%,var(--acc)),var(--bg) 65%)}.portal-login>.card{max-width:460px;border-radius:24px;padding:40px}.portal-login h1{font-size:28px;letter-spacing:-.025em;margin:18px 0 12px}.portal-login .logo{object-fit:contain}
.portal-login-features{display:grid;gap:12px;padding:20px 0;margin:22px 0 0;list-style:none;border-block:1px solid var(--line);text-align:start;font-size:14px}.portal-login-features li{display:flex;gap:12px;align-items:center}.portal-login-features i{color:var(--danger);font-size:18px}
.portal-login .contact-actions a{border-color:var(--line);font-size:13px}.portal-login .contact-actions .portal-login-whatsapp{background:var(--ink);color:var(--card);padding:16px}.portal-login-whatsapp span{flex-basis:100%;font-size:12px;font-weight:400}.portal-login .contact-actions>a:last-child{border:0;color:var(--mut);font-weight:500}
@media(max-width:799px){
 .portal-account .portal-shell{max-width:600px!important}.portal-account .portal-tabs{max-width:600px!important}.portal-header-support span{display:none}.portal-header-support{width:44px;padding:8px}.portal-intro{gap:16px;margin-bottom:22px}.portal-identity{width:100%}.portal-quick-actions{grid-template-columns:1fr;gap:10px}.portal-quick-actions a{display:grid;grid-template-columns:32px 1fr;padding:15px;gap:2px 12px}.portal-quick-actions i{grid-row:1/3;align-self:center;margin:0}.portal-quick-actions span{grid-column:2}.portal-human-contact{padding:18px}.portal-invoice .wrap{padding:20px 14px}.portal-invoice .card{padding:18px}.portal-invoice h1{font-size:22px}.portal-invoice-help{padding:16px}.portal-invoice-help a{width:100%}.portal-login>.card{padding:30px 24px}.portal-login h1{font-size:25px}
}
@media(min-width:800px){
 .portal-intro>div:first-child{flex:1 1 300px}.portal-identity{max-width:320px}.portal-account .portal-shell{max-width:1280px!important}.portal-quick-actions{margin-top:0}.portal-account .portal-balance{padding:26px!important}.portal-subscription>.card{padding:22px!important}
}
@media(min-width:1200px){
 .js .portal-account .portal-shell{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto 1fr;padding-bottom:0!important}
 .portal-account .portal-appbar{grid-column:1/-1;grid-row:1}.js .portal-account .portal-tabs-nav{grid-column:1;grid-row:2;position:sticky!important;top:84px;align-self:start;min-width:0;padding:24px 12px;z-index:9}
 .portal-account .portal-tabs{flex-direction:column;border:0;background:transparent;padding:0!important;gap:8px!important}.portal-account .tabbtn{justify-content:flex-start;padding:14px 16px;flex:none;text-align:start}
 .portal-account .portal-content{grid-column:2;grid-row:2;padding:30px!important;border-inline-start:1px solid var(--line);min-height:660px}.portal-intro{align-items:flex-start}.portal-identity{max-width:280px}
}
@media(prefers-reduced-motion:reduce){.portal-account *{scroll-behavior:auto!important}}
.portal-term-dates{font-size:12px;color:var(--mut);margin:8px 0 0}.portal-conversation-link{margin-top:12px;display:inline-flex;align-items:center;min-height:44px}
