/** Header and account menus, scoped to the customer portal. */
.telxa-auth-profile .telxa-topbar { position: relative; direction: rtl; display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 68px; padding: 10px 16px; margin-bottom: 20px; border: 1px solid var(--telxa-border); border-radius: var(--telxa-radius-card); background: var(--telxa-surface); color: var(--telxa-text-main); box-shadow: var(--telxa-shadow-sm); }
.telxa-auth-profile .telxa-topbar-actions { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; }
.telxa-auth-profile .telxa-topbar-dropdown { position: relative; }
.telxa-auth-profile .telxa-topbar-icon, .telxa-auth-profile .telxa-topbar-profile-trigger { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid transparent; border-radius: var(--telxa-radius-button); background: transparent; color: var(--telxa-text-main); cursor: pointer; list-style: none; }
.telxa-auth-profile .telxa-topbar-profile-trigger { border-radius: 50%; }
.telxa-auth-profile .telxa-topbar-dropdown summary::-webkit-details-marker { display: none; }
.telxa-auth-profile .telxa-topbar-icon:hover, .telxa-auth-profile .telxa-topbar-dropdown[open] > summary { background: var(--telxa-primary-subtle); }
.telxa-auth-profile .telxa-topbar :where(summary, button, a):focus-visible { outline: 3px solid var(--telxa-focus); outline-offset: 2px; }
.telxa-auth-profile .telxa-topbar-avatar { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: var(--telxa-primary-subtle); color: var(--telxa-primary); }
.telxa-auth-profile .telxa-topbar-avatar img { display: block; width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.telxa-auth-profile .telxa-online-dot { position: absolute; bottom: 0; left: 0; width: 11px; height: 11px; border: 2px solid var(--telxa-surface); border-radius: 50%; background: #22a368; }
.telxa-auth-profile .telxa-topbar-badge { position: absolute; top: 0; right: 0; min-width: 18px; height: 18px; padding-inline: 3px; border-radius: 9px; background: #d93442; color: #fff; font-size: 10px; font-weight: 700; line-height: 18px; text-align: center; }
.telxa-auth-profile .telxa-topbar-menu { position: absolute; z-index: 30; inset-inline-end: 0; top: calc(100% + 8px); width: min(300px, calc(100vw - 40px)); max-width: calc(100vw - 40px); border: 1px solid var(--telxa-border); border-radius: var(--telxa-radius-menu); background: var(--telxa-surface); color: var(--telxa-text-main); box-shadow: var(--telxa-shadow-lg); animation: telxa-menu-enter .16s ease-out; overflow: hidden; }
.telxa-auth-profile .telxa-topbar-menu :where(a, button) { font-family: inherit; }
.telxa-auth-profile .telxa-theme-menu { width: 170px; padding: 6px; }
.telxa-auth-profile .telxa-theme-menu button { display: block; width: 100%; min-height: 40px; padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; color: var(--telxa-text-main); text-align: right; cursor: pointer; }
.telxa-auth-profile .telxa-theme-menu button:hover, .telxa-auth-profile .telxa-theme-menu button[aria-pressed="true"] { background: var(--telxa-primary-subtle); }
.telxa-auth-profile .telxa-theme-menu button[aria-pressed="true"]::after { content: '✓'; float: left; color: var(--telxa-primary); }
.telxa-auth-profile .telxa-profile-menu-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border-bottom: 1px solid var(--telxa-border); }
.telxa-auth-profile .telxa-profile-menu-header > div { display: grid; min-width: 0; }
.telxa-auth-profile .telxa-profile-menu-header strong { font-size: 14px; overflow-wrap: anywhere; }
.telxa-auth-profile .telxa-profile-menu-header div span { color: var(--telxa-text-muted); font-size: 12px; }
.telxa-auth-profile .telxa-profile-menu-stats { display: grid; gap: 14px; padding: 16px; border-bottom: 1px solid var(--telxa-border); }
.telxa-auth-profile .telxa-profile-stat, .telxa-auth-profile .telxa-profile-stat > span { display: flex; align-items: center; gap: 10px; }
.telxa-auth-profile .telxa-profile-stat { justify-content: space-between; font-size: 13px; }
.telxa-auth-profile .telxa-profile-stat strong { color: var(--telxa-primary); font-size: 13px; }
.telxa-auth-profile .telxa-profile-stat--gem svg { color: #8066af; }
.telxa-auth-profile .telxa-profile-menu-links { display: grid; padding: 6px; }
.telxa-auth-profile .telxa-profile-menu-links a { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 9px 10px; border-radius: 8px; color: var(--telxa-text-main); font-size: 13px; text-decoration: none; }
.telxa-auth-profile .telxa-profile-menu-links a:hover { background: var(--telxa-primary-subtle); }
.telxa-auth-profile .telxa-profile-menu-links a.telxa-profile-logout { margin-top: 6px; border-top: 1px solid var(--telxa-border); border-radius: 0 0 8px 8px; color: #c83b48; }
.telxa-auth-profile .telxa-notification-menu h3 { margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--telxa-border); font-size: 14px; }
.telxa-auth-profile .telxa-notification-list { max-height: 280px; overflow-y: auto; }
.telxa-auth-profile .telxa-notification-item { display: grid; gap: 3px; padding: 12px 16px; border-bottom: 1px solid var(--telxa-border); color: var(--telxa-text-main); font-size: 12px; text-decoration: none; }
.telxa-auth-profile .telxa-notification-item:hover, .telxa-auth-profile .telxa-notification-item.is-unread { background: var(--telxa-primary-subtle); }
.telxa-auth-profile .telxa-notification-item strong, .telxa-auth-profile .telxa-notification-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.telxa-auth-profile .telxa-notification-item span, .telxa-auth-profile .telxa-notification-empty { color: var(--telxa-text-muted); }
.telxa-auth-profile .telxa-notification-empty { padding: 16px; margin: 0; font-size: 13px; }
.telxa-auth-profile .telxa-notification-all { display: block; padding: 12px 16px; color: var(--telxa-primary); font-size: 13px; font-weight: 700; text-align: center; text-decoration: none; }
.telxa-auth-profile.telxa-sidebar-collapsed .telxa-portal-layout { grid-template-columns: minmax(0, 1fr); }
@keyframes telxa-menu-enter { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 700px) { .telxa-auth-profile .telxa-topbar { padding-inline: 10px; } .telxa-auth-profile .telxa-topbar-actions { gap: 2px; } .telxa-auth-profile .telxa-topbar-dropdown { position: static; } .telxa-auth-profile .telxa-topbar-menu { max-width: 100%; } }
@media (prefers-reduced-motion: reduce) { .telxa-auth-profile .telxa-topbar-menu { animation: none; } }
.telxa-auth-profile .telxa-dashboard .telxa-stats-grid { grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); }
.telxa-auth-profile .telxa-dashboard .telxa-stat { display: grid; align-content: start; gap: 12px; min-width: 0; min-height: 150px; border: 1px solid var(--telxa-border); border-radius: var(--telxa-radius-card); box-shadow: var(--telxa-shadow-sm); }
.telxa-auth-profile .telxa-dashboard .telxa-stat > span { color: var(--telxa-text-muted); }
.telxa-auth-profile .telxa-dashboard .telxa-stat strong { font-size: 22px; overflow-wrap: anywhere; }
.telxa-auth-profile .telxa-dashboard .telxa-stat a { margin-top: auto; color: var(--telxa-primary); font-size: 13px; font-weight: 700; text-decoration: none; }
.telxa-auth-profile .telxa-wallet { display: grid; gap: 16px; }
.telxa-auth-profile .telxa-wallet-balance { display: grid; gap: 12px; padding: 28px; border-radius: var(--telxa-radius-card); background: linear-gradient(135deg, #21395e, #304c72); color: #fff; box-shadow: var(--telxa-shadow-md); }
.telxa-auth-profile .telxa-wallet-balance strong { font-size: 26px; overflow-wrap: anywhere; }
.telxa-auth-profile .telxa-wallet .telxa-auth-card { margin: 0; }
.telxa-auth-profile .telxa-wallet-unavailable p, .telxa-auth-profile .telxa-shipment-unavailable { color: var(--telxa-text-muted); font-size: 13px; }
.telxa-auth-profile .telxa-order-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px; }
.telxa-auth-profile .telxa-order-filters a { padding: 8px 15px; border: 1px solid var(--telxa-border); border-radius: 8px; color: var(--telxa-text-main); text-decoration: none; font-size: 13px; }
.telxa-auth-profile .telxa-order-filters a[aria-current="page"] { background: var(--telxa-primary-subtle); color: var(--telxa-primary); font-weight: 700; }
.telxa-auth-profile .telxa-orders-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--telxa-border); border-radius: var(--telxa-radius-card); }
.telxa-auth-profile .telxa-orders-table { width: 100%; min-width: 720px; border-collapse: collapse; text-align: right; font-size: 13px; }
.telxa-auth-profile .telxa-orders-table :where(th, td) { padding: 14px 12px; border-bottom: 1px solid var(--telxa-border); white-space: nowrap; vertical-align: middle; }
.telxa-auth-profile .telxa-orders-table th { background: var(--telxa-bg); color: var(--telxa-text-muted); }
.telxa-auth-profile .telxa-orders-table tr:last-child td { border-bottom: 0; }
.telxa-auth-profile .telxa-order-status { display: inline-block; padding: 4px 10px; border-radius: 8px; background: var(--telxa-primary-subtle); color: var(--telxa-text-main); }
.telxa-auth-profile .telxa-order-action { display: inline-block; padding: 7px 10px; border: 1px solid var(--telxa-border); border-radius: 8px; color: var(--telxa-primary); font-weight: 700; text-decoration: none; }
.telxa-auth-profile .telxa-shipment { margin-block: 24px; }
.telxa-auth-profile .telxa-shipment-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 16px 0; padding: 0; list-style: none; }
.telxa-auth-profile .telxa-shipment-steps li { display: grid; justify-items: center; gap: 8px; text-align: center; color: var(--telxa-text-muted); font-size: 12px; }
.telxa-auth-profile .telxa-shipment-steps li span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--telxa-border); border-radius: 50%; }
.telxa-auth-profile .telxa-shipment-steps li.is-complete span { border-color: var(--telxa-primary); background: var(--telxa-primary); color: #fff; }
.telxa-auth-profile .telxa-order-addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 12px; margin-block: 20px; }
.telxa-auth-profile .telxa-order-addresses section { padding: 16px; border: 1px solid var(--telxa-border); border-radius: var(--telxa-radius-card); overflow-wrap: anywhere; }
@media (max-width: 520px) { .telxa-auth-profile .telxa-shipment-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }

.telxa-auth-profile .telxa-wallet fieldset { display: grid; gap: 12px; margin: 0; padding: 0; border: 0; }
.telxa-auth-profile .telxa-wallet input { width: min(100%, 420px); }
.telxa-auth-profile .telxa-wallet-suggestions { display: flex; flex-wrap: wrap; gap: 8px; }
.telxa-auth-profile .telxa-wallet :where(button, input):disabled { cursor: not-allowed; opacity: .55; }
.telxa-auth-profile .telxa-wallet-pay { justify-self: start; }

/* Portal surfaces and navigation. */
.telxa-wrapper.telxa-auth-profile { max-width: 1600px; }
.telxa-auth-profile .telxa-portal-layout { gap: 28px; }
.telxa-auth-profile .telxa-sidebar { min-height: calc(100vh - 56px); padding: 22px 14px; border: 0; border-radius: 14px; box-shadow: var(--telxa-shadow-sm); }
.telxa-auth-profile .telxa-sidebar-brand { padding: 10px 14px 28px; }
.telxa-auth-profile .telxa-auth-portal-tabs { gap: 4px; }
.telxa-auth-profile .telxa-auth-portal-tab { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid transparent; color: var(--telxa-text-main); text-decoration: none; font-weight: 500; }
.telxa-auth-profile .telxa-auth-portal-tab[aria-selected='true'] { background: var(--telxa-primary-subtle); color: var(--telxa-primary); border-color: transparent; }
.telxa-auth-profile .telxa-auth-portal-tab[data-telxa-auth-portal-target='ticket_new'] { margin: 0; border: 1px solid transparent; }
.telxa-auth-profile .telxa-nav-icon { flex: 0 0 19px; width: 19px; height: 19px; }
.telxa-auth-profile .telxa-topbar { margin-bottom: 24px; min-height: 64px; border: 0; box-shadow: var(--telxa-shadow-md); }
.telxa-auth-profile :where(.telxa-auth-card, .telxa-stat, .telxa-notice) { border: 0; border-radius: 14px; box-shadow: var(--telxa-shadow-md); }
.telxa-auth-profile .telxa-auth-card { padding: 24px; }
.telxa-auth-profile :where(.telxa-auth-input, input:not([type='file']), select, textarea) { border-radius: 8px; }
.telxa-auth-profile :where(.telxa-auth-ticket-table, .telxa-orders-table) th { background: transparent; }
.telxa-auth-profile .telxa-notice { margin-top: 14px; }
.telxa-auth-profile .telxa-avatar-card h3 { margin: 0 0 18px; font-size: 16px; }
.telxa-auth-profile .telxa-avatar-layout { display: flex; align-items: center; gap: 18px; }
.telxa-auth-profile .telxa-avatar-preview { width: 100px; height: 100px; flex: 0 0 100px; overflow: hidden; border-radius: 14px; background: var(--telxa-primary-subtle); }
.telxa-auth-profile .telxa-avatar-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.telxa-auth-profile .telxa-avatar-layout form { display: grid; justify-items: start; gap: 8px; min-width: 0; }
.telxa-auth-profile .telxa-avatar-layout input { max-width: 100%; font-size: 13px; }
.telxa-auth-profile .telxa-avatar-layout p { margin: 0; color: var(--telxa-text-muted); font-size: 12px; }
.telxa-auth-profile .telxa-avatar-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.telxa-auth-profile .telxa-avatar-reset { padding: 8px 15px; border: 1px solid var(--telxa-border); border-radius: 8px; background: var(--telxa-surface); color: var(--telxa-text-main); cursor: pointer; }
.telxa-auth-profile .telxa-avatar-result { margin: 14px 0 0; color: var(--telxa-primary); }
@media (max-width: 700px) {
  .telxa-auth-profile .telxa-portal-layout { gap: 14px; }
  .telxa-auth-profile .telxa-sidebar { min-height: 0; padding: 12px; }
  .telxa-auth-profile .telxa-sidebar-brand { padding: 2px 8px 10px; }
  .telxa-auth-profile .telxa-auth-card { padding: 18px; }
  .telxa-auth-profile .telxa-avatar-layout { align-items: flex-start; flex-wrap: wrap; }
}
.telxa-auth-profile .telxa-wallet { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:'balance charge' 'history history' 'orders orders'; align-items:stretch; gap:18px; }
.telxa-auth-profile .telxa-wallet-balance { grid-area:balance; min-height:230px; align-content:center; position:relative; overflow:hidden; background:linear-gradient(125deg,#203d6d,#356b8f); }
.telxa-auth-profile .telxa-wallet-balance::after { content:''; position:absolute; width:180px; height:180px; border:1px solid rgba(255,255,255,.18); border-radius:50%; inset-inline-end:-48px; top:-70px; pointer-events:none; }
.telxa-auth-profile .telxa-wallet-charge { grid-area:charge; }
.telxa-auth-profile .telxa-wallet-history { grid-area:history; }
.telxa-auth-profile .telxa-wallet-orders { grid-area:orders; }
.telxa-auth-profile .telxa-wallet-charge form { display:grid; justify-items:start; gap:10px; }
.telxa-auth-profile .telxa-wallet-charge form label { color:var(--telxa-text-main); font-size:13px; font-weight:600; }
.telxa-auth-profile .telxa-wallet-charge form input { width:100%; max-width:100%; }
.telxa-auth-profile .telxa-wallet .telxa-orders-table tbody tr:hover { background:var(--telxa-primary-subtle); }
.telxa-auth-profile .telxa-wallet-empty-state { display:grid; justify-items:center; gap:8px; padding:28px 12px; color:var(--telxa-text-muted); text-align:center; white-space:normal; }
.telxa-auth-profile .telxa-wallet-empty-state span { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:var(--telxa-primary-subtle); color:var(--telxa-primary); font-size:22px; }
.telxa-auth-profile .telxa-wallet-empty-state strong { color:var(--telxa-text-main); font-size:13px; }
@media(max-width:760px) { .telxa-auth-profile .telxa-wallet { grid-template-columns:minmax(0,1fr); grid-template-areas:'balance' 'charge' 'history' 'orders'; } .telxa-auth-profile .telxa-wallet-balance { min-height:175px; } }
.telxa-auth-profile .telxa-auth-portal-tab { position:relative; transition:background-color .15s ease,color .15s ease; }
.telxa-auth-profile .telxa-auth-portal-tab[aria-selected='true']::before { content:''; position:absolute; inset-block:6px; inset-inline-start:-14px; width:3px; border-radius:3px; background:var(--telxa-primary); }
.telxa-auth-profile .telxa-auth-portal-tab:hover { background:var(--telxa-primary-subtle); }
.telxa-auth-profile :where(input:not([type='checkbox']):not([type='radio']),select,textarea) { max-width:100%; border:1px solid var(--telxa-border); background:var(--telxa-surface); color:var(--telxa-text-main); }
.telxa-auth-profile :where(input,select,textarea,button,a):focus-visible { outline:2px solid var(--telxa-primary); outline-offset:2px; }
.telxa-auth-profile :where(.telxa-auth-ticket-table,.telxa-orders-table) tbody tr { transition:background-color .15s ease; }
.telxa-auth-profile :where(.telxa-auth-ticket-table,.telxa-orders-table) tbody tr:hover { background:var(--telxa-primary-subtle); }
.telxa-auth-profile :where(.telxa-auth-ticket-table-wrap,.telxa-orders-table-wrap) { overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
@media (prefers-reduced-motion:reduce) { .telxa-auth-profile :where(.telxa-auth-portal-tab,.telxa-auth-ticket-table tr,.telxa-orders-table tr) { transition:none; } }
.telxa-sidebar-brand img{display:block;max-width:100%;max-height:56px;width:auto;height:auto;object-fit:contain}
