/* Client account tools only; administrator account surfaces retain shared styles. */
body[data-portal="client"] :is(.account-page,.account-profile,.client-security-page)>h2{font:400 26px/33px 'Fira Sans',sans-serif}
body[data-portal="client"] .client-manage-billing>h2{font:500 24px/30px 'Fira Sans',sans-serif}
body[data-portal="client"] .client-account-popup{position:fixed;z-index:70;width:260px;max-width:calc(100vw - 16px);max-height:310px;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);animation:client-account-open .15s ease-out}
body[data-portal="client"] .client-account-popup form{display:grid;gap:10px}
body[data-portal="client"] .client-account-popup label{display:grid;gap:5px;font-size:12px}
body[data-portal="client"] .client-account-popup input,body[data-portal="client"] .client-account-popup select{box-sizing:border-box;width:100%;min-width:0;height:32px;padding:5px 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--ink);font:inherit}
body[data-portal="client"] .client-account-popup button{min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--ink);font:inherit;cursor:pointer}
body[data-portal="client"] .client-account-popup .client-payment-column{display:flex;align-items:center;gap:8px}
body[data-portal="client"] .client-payment-column input{width:16px;height:16px;accent-color:var(--purple)}
body[data-portal="client"] .client-account-popup [role="alert"]{margin:0;color:#ed6d7b;font-size:11px}
body[data-portal="client"] .client-payment-pagination,body[data-portal="client"] .client-payment-filter-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:11px;color:var(--muted);flex-wrap:wrap}
body[data-portal="client"] .client-payment-pagination>div{display:flex;align-items:center;gap:10px}
body[data-portal="client"] .client-payment-pagination button,body[data-portal="client"] .client-payment-filter-summary button{padding:5px 9px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
body[data-portal="client"] .client-payment-pagination button:disabled{opacity:.45;cursor:default}
body[data-portal="client"] .client-manage-billing .payment-history-table th,body[data-portal="client"] .client-manage-billing .payment-history-table td{white-space:nowrap}
body[data-portal="client"] .payment-record-details dd{overflow-wrap:anywhere}
@keyframes client-account-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){body[data-portal="client"] .client-account-popup{animation:none}}
body[data-portal="client"] .client-security-page th,body[data-portal="client"] .client-security-page td{white-space:nowrap}
body[data-portal="client"] .client-security-page .billing-card{max-width:900px}
body[data-portal="client"] .client-security-actions{display:flex;justify-content:flex-end;margin-top:20px}
body[data-portal="client"] .client-security-page button:disabled,body[data-portal="client"] .client-security-page input:disabled,body[data-portal="client"] .client-security-page select:disabled{opacity:.5;cursor:default}

body[data-portal="client"] .client-account-zone-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:394px;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--ink);font:400 13px/20px 'Fira Sans',sans-serif;text-align:left;cursor:pointer}
body[data-portal="client"] .client-account-zone-button svg{width:16px;height:16px;flex-shrink:0}
body[data-portal="client"] .client-account-zone-popup{width:394px;max-height:340px;overflow:hidden}
body[data-portal="client"] .client-account-zone-popup [role=listbox]{max-height:250px;overflow:auto;margin-top:8px}
body[data-portal="client"] .client-account-zone-popup [role=option]{display:block;width:100%;text-align:left;border:0;background:transparent;font-size:13px;line-height:20px}
body[data-portal="client"] .client-account-zone-popup [role=option]:is(:hover,:focus-visible),body[data-portal="client"] .client-account-zone-popup [aria-selected=true]{background:var(--panel-soft);color:var(--purple)}
