/**
 * Telxa shared interaction and visual language, scoped to owned UI only.
 * @author Hassan HashemiFard
 * @link https://hasanhashemi.ir
 * @link https://telxa.ir
 * @copyright 2026 Telxa Technologies. All rights reserved.
 */
.telxa-wrapper { color: var(--telxa-text); line-height: 1.9; accent-color: var(--telxa-brand); }
.telxa-wrapper.telxa-auth-profile { background: var(--telxa-bg); }
.telxa-wrapper .telxa-theme-mode { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--telxa-text-muted); }
.telxa-wrapper .telxa-theme-mode select { min-height: 40px; max-width: 100%; padding: 6px 10px; border: 1px solid var(--telxa-border); border-radius: var(--telxa-radius-button); background: var(--telxa-surface); color: var(--telxa-text-main); font: inherit; }
.telxa-wrapper:is(.telxa-auth, .telxa-auth-profile, .telxa-auth-smart-form) { --telxa-auth-primary: var(--telxa-primary); --telxa-auth-primary-hover: var(--telxa-primary-hover); --telxa-auth-ink: var(--telxa-text-main); --telxa-auth-muted: var(--telxa-text-muted); --telxa-auth-border: var(--telxa-border); --telxa-auth-card: var(--telxa-surface); }
.telxa-wrapper :where(.telxa-auth-card, .telxa-auth-profile-header, .telxa-sidebar, .telxa-stat, .telxa-notice) { background: var(--telxa-surface); color: var(--telxa-text-main); border-color: var(--telxa-border); }
.telxa-wrapper :where(.telxa-auth-input, .telxa-slider-controls button) { background: var(--telxa-surface); color: var(--telxa-text-main); border-color: var(--telxa-border); }
.telxa-wrapper :where(.telxa-auth-input[readonly], .telxa-auth-alternative, .telxa-auth-alternative-actions, .telxa-auth-ticket-message, .telxa-account-tabs, .telxa-slider) { background: var(--telxa-bg); color: var(--telxa-text-main); }
.telxa-wrapper :where(.telxa-auth-portal-tab[aria-selected="true"], .telxa-notice--unread, .telxa-auth-ticket-message--agent) { background: var(--telxa-primary-subtle); border-color: var(--telxa-border); color: var(--telxa-text-main); }
.telxa-wrapper :where(.telxa-auth-portal-tab:hover, .telxa-table-region tbody tr:hover) { background: var(--telxa-primary-subtle); }
.telxa-wrapper :where(.telxa-auth-ticket-table th, .telxa-table-region th) { background: var(--telxa-bg); color: var(--telxa-text-main); }
.telxa-wrapper :where(.telxa-auth-button, .telxa-auth-status-badge) { border-radius: var(--telxa-radius-button); }
.telxa-wrapper :where(.telxa-sidebar, .telxa-settings-sidebar) { border-radius: var(--telxa-radius-menu); }
.telxa-wrapper :where(a, button, summary, input, select, textarea):not(:where(.telxa-embedded-page *)):focus-visible { outline: 3px solid var(--telxa-focus); outline-offset: 3px; }
.telxa-wrapper :where(.telxa-auth-card, .telxa-auth-admin-card, .telxa-builder-row, .telxa-address, .telxa-notice) { border-color: var(--telxa-line); border-radius: var(--telxa-radius); box-shadow: var(--telxa-shadow); }
.telxa-wrapper :where(.telxa-auth-description, .description, .telxa-auth-help) { color: var(--telxa-muted); }
.telxa-wrapper :where(.telxa-auth-title, .telxa-auth-section-title) { text-wrap: balance; }
.telxa-wrapper .telxa-auth-title { line-height: 1.55; letter-spacing: 0; }
.telxa-wrapper .telxa-auth-field { gap: var(--telxa-space-2); }
.telxa-wrapper .telxa-auth-field-row, .telxa-wrapper .telxa-form-grid { gap: var(--telxa-space-5); }
.telxa-wrapper .telxa-auth-form { gap: var(--telxa-space-5); }
.telxa-wrapper :where(.telxa-auth-input, .telxa-auth-button) { min-height: var(--telxa-control-height); border-radius: var(--telxa-radius-sm); }
.telxa-wrapper .telxa-auth-input { border-color: #9eafc2; }
.telxa-wrapper .telxa-auth-input:hover { border-color: var(--telxa-brand); }
.telxa-wrapper :where(input, select, textarea)[aria-invalid="true"] { border-color: var(--telxa-danger); background: var(--telxa-danger-bg); }
.telxa-wrapper .telxa-field-error { color: var(--telxa-danger); font-size: var(--telxa-font-sm); margin: 0; }
.telxa-wrapper .telxa-required { color: var(--telxa-danger); margin-inline-start: 4px; }
.telxa-wrapper .telxa-auth-button { transition: background-color .15s, box-shadow .15s; }
.telxa-wrapper .telxa-auth-button:hover { box-shadow: 0 3px 8px rgb(23 43 77 / 15%); }
.telxa-wrapper :where(button, .button):disabled { cursor: not-allowed; opacity: .6; }
.telxa-wrapper :where(form, [role="region"])[aria-busy="true"] { cursor: progress; }
.telxa-wrapper :where(form, [role="region"])[aria-busy="true"] :where(button, input[type="submit"]) { cursor: progress; }
.telxa-wrapper .telxa-auth-alert { border: 1px solid currentColor; border-inline-start-width: 4px; border-radius: var(--telxa-radius-sm); padding: 14px 16px; font-size: var(--telxa-font-base); line-height: 1.95; }
.telxa-wrapper .telxa-auth-alert--success { color: var(--telxa-success); background: var(--telxa-success-bg); }
.telxa-wrapper .telxa-auth-alert--warning { color: var(--telxa-warning); background: var(--telxa-warning-bg); }
.telxa-wrapper .telxa-auth-alert--error { color: var(--telxa-danger); background: var(--telxa-danger-bg); }
.telxa-wrapper .telxa-auth-alert--info { color: var(--telxa-info); background: var(--telxa-info-bg); }
.telxa-wrapper .telxa-alert-close { min-width: 40px; min-height: 40px; margin: -5px 0; }
.telxa-wrapper .telxa-auth-status-badge { padding: 4px 12px; font-size: var(--telxa-font-xs); border-radius: 20px; border: 1px solid currentColor; line-height: 1.8; }
.telxa-wrapper .telxa-auth-status-badge--verified { color: var(--telxa-success); background: var(--telxa-success-bg); }
.telxa-wrapper .telxa-auth-status-badge--pending { color: var(--telxa-warning); background: var(--telxa-warning-bg); }
.telxa-wrapper .telxa-empty-state { display: grid; justify-items: start; gap: 12px; padding: 28px; border: 1px dashed var(--telxa-line); border-radius: var(--telxa-radius); background: var(--telxa-surface-soft); }
.telxa-wrapper .telxa-empty-state p { margin: 0; color: var(--telxa-muted); }
.telxa-wrapper .telxa-empty-state h4 { margin: 0; }
.telxa-wrapper .telxa-table-region { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--telxa-line); border-radius: var(--telxa-radius-sm); margin-block: 16px; }
.telxa-wrapper .telxa-table-region table { margin: 0; border: 0; min-width: 620px; }
.telxa-wrapper .telxa-table-region :where(th, td) { padding: 14px 12px; vertical-align: top; overflow-wrap: anywhere; }
.telxa-wrapper .telxa-table-region th { background: var(--telxa-surface-soft); color: var(--telxa-text); font-weight: 600; }
.telxa-wrapper .telxa-table-region td { max-width: 360px; }
.telxa-wrapper .telxa-table-region tbody tr:hover { background: #f8faff; }
.telxa-wrapper .telxa-table-region .button { white-space: nowrap; }
.telxa-wrapper .telxa-auth-pagination { align-items: center; gap: 12px; margin-block: 20px; }
.telxa-wrapper .telxa-auth-pagination a { border: 1px solid var(--telxa-line); border-radius: var(--telxa-radius-sm); padding: 8px 14px; background: var(--telxa-surface); }
.telxa-wrapper .telxa-auth-portal-panel:focus { outline: none; }
.telxa-wrapper .telxa-auth-portal-panel:focus-visible { outline: 3px solid var(--telxa-focus); outline-offset: 5px; }
.telxa-wrapper .telxa-sidebar { top: 48px; }
.telxa-wrapper .telxa-auth-portal-tab { border: 1px solid transparent; }
.telxa-wrapper .telxa-portal-mobile { display: none; }
.telxa-wrapper .telxa-portal-heading { padding-bottom: 18px; margin-bottom: 24px; border-bottom: 1px solid var(--telxa-line); }
.telxa-wrapper .telxa-portal-heading h3 { margin: 0; font-size: var(--telxa-font-xl); }
.telxa-wrapper .telxa-portal-heading p { margin: 6px 0 0; color: var(--telxa-muted); }
.telxa-wrapper .telxa-account-tabs { background: var(--telxa-surface-soft); }
.telxa-wrapper :where(.telxa-auth-ticket-message, .telxa-notice) { padding: 22px; }
.telxa-wrapper :where(.telxa-details, .telxa-auth-text-overrides) > summary { min-height: 44px; padding: 10px 14px; border-radius: var(--telxa-radius-sm); background: var(--telxa-surface-soft); }
.telxa-wrapper .telxa-dashboard .telxa-stats-grid { gap: 16px; }
.telxa-wrapper .telxa-stat { border-top: 3px solid var(--telxa-brand); }
.telxa-wrapper.telxa-auth-admin { font-size: 14px; width: auto; min-width: 0; max-width: var(--telxa-content-width); padding-block-end: 24px; }
.telxa-wrapper.telxa-auth-admin :where(h1, h2, h3, h4, label, p, table, button, input, select, textarea) { font-family: inherit; }
.telxa-wrapper.telxa-auth-admin h1 { font-size: 25px; line-height: 1.7; font-weight: 750; }
.telxa-wrapper.telxa-auth-admin h2 { font-size: 18px; line-height: 1.9; }
.telxa-wrapper.telxa-auth-admin h3 { font-size: 16px; line-height: 1.9; }
.telxa-wrapper.telxa-auth-admin .telxa-auth-admin-header { margin-block: 20px 24px; background: var(--telxa-surface); border-color: var(--telxa-line); border-inline-start: 4px solid var(--telxa-brand); box-shadow: var(--telxa-shadow); }
.telxa-wrapper.telxa-auth-admin .telxa-auth-admin-card { padding: 24px; }
.telxa-wrapper.telxa-auth-admin :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]), select, textarea) { border: 1px solid #9eafc2; border-radius: var(--telxa-radius-sm); font-size: 14px; line-height: 1.7; min-height: 42px; padding: 8px 12px; width: 100%; max-width: 580px; box-shadow: none; }
.telxa-wrapper.telxa-auth-admin input[type="number"] { max-width: 220px; }
.telxa-wrapper.telxa-auth-admin :where(input[type="checkbox"], input[type="radio"]) { flex-shrink: 0; }
.telxa-wrapper.telxa-auth-admin input[type="password"] { background: #f8faff; }
.telxa-wrapper.telxa-auth-admin input[type="search"] { background: var(--telxa-surface); }
.telxa-wrapper.telxa-auth-admin :where(.button, input[type="submit"], button[type="submit"]) { font: inherit; border-radius: var(--telxa-radius-sm); min-height: 42px; padding: 6px 18px; line-height: 1.8; white-space: normal; }
.telxa-wrapper.telxa-auth-admin .button-primary { background: var(--telxa-brand); border-color: var(--telxa-brand); color: #fff; }
.telxa-wrapper.telxa-auth-admin .button-primary:hover { filter: brightness(.92); }
.telxa-wrapper.telxa-auth-admin :where(.button-link-delete, .telxa-danger-action) { color: var(--telxa-danger); min-height: 40px; padding: 6px 10px; }
.telxa-wrapper.telxa-auth-admin .form-table { width: 100%; table-layout: fixed; }
.telxa-wrapper.telxa-auth-admin .form-table th { width: 190px; line-height: 1.9; padding-inline-end: 24px; overflow-wrap: anywhere; }
.telxa-wrapper.telxa-auth-admin .form-table td { min-width: 0; }
.telxa-wrapper.telxa-auth-admin .form-table td > label { display: inline-block; max-width: 100%; }
.telxa-wrapper.telxa-auth-admin .description { max-width: 720px; line-height: 2; }
.telxa-wrapper.telxa-auth-admin .telxa-admin-field { display: grid; gap: 8px; font-weight: 500; min-width: 0; margin-block: 18px; }
.telxa-wrapper.telxa-auth-admin .telxa-admin-actions { gap: 10px; display: flex; flex-wrap: wrap; margin-top: 18px; }
.telxa-wrapper.telxa-auth-admin :where(.telxa-builder-row, .telxa-auth-admin-subcard) { background: var(--telxa-surface-soft); padding: 20px; }
.telxa-wrapper.telxa-auth-admin :where(fieldset legend) { font-weight: 650; padding-inline: 8px; }
.telxa-wrapper.telxa-auth-admin .notice { margin: 16px 0; padding-block: 6px; border-radius: var(--telxa-radius-sm); }
.telxa-wrapper.telxa-auth-admin .notice p { line-height: 1.9; }
.telxa-wrapper.telxa-auth-admin .telxa-settings-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 24px; }
.telxa-wrapper .telxa-settings-sidebar { position: sticky; top: 52px; padding: 14px; background: var(--telxa-surface); border: 1px solid var(--telxa-line); border-radius: var(--telxa-radius); }
.telxa-wrapper .telxa-settings-nav { display: grid; gap: 6px; }
.telxa-wrapper .telxa-settings-link { display: flex; align-items: center; text-decoration: none; min-height: 44px; padding: 10px 14px; border-radius: var(--telxa-radius-sm); color: var(--telxa-text); font-weight: 500; }
.telxa-wrapper .telxa-settings-link:hover { background: var(--telxa-surface-soft); }
.telxa-wrapper .telxa-settings-link[aria-current="page"] { color: var(--telxa-brand); background: var(--telxa-info-bg); box-shadow: inset -3px 0 var(--telxa-brand); font-weight: 700; }
.telxa-wrapper .telxa-settings-sidebar-help { padding: 12px 8px 0; margin: 12px 0 0; border-top: 1px solid var(--telxa-line); color: var(--telxa-muted); font-size: 12px; }
.telxa-wrapper .telxa-settings-mobile { display: none; }
.telxa-wrapper .telxa-settings-main { min-width: 0; }
.telxa-wrapper.telxa-auth-admin .telxa-settings-section { padding: 0; overflow: visible; }
.telxa-wrapper .telxa-settings-section > summary { padding: 20px 24px; font-size: 17px; font-weight: 650; cursor: pointer; color: var(--telxa-text); }
.telxa-wrapper .telxa-settings-section[open] > summary { border-bottom: 1px solid var(--telxa-line); }
.telxa-wrapper .telxa-settings-section-body { padding: 4px 24px 24px; }
.telxa-wrapper .telxa-settings-section-body > .form-table > tbody > tr:only-child { display: block; }
.telxa-wrapper .telxa-settings-section-body > .form-table > tbody > tr:only-child > :where(th,td) { display: block; width: 100%; padding-block: 12px; }
.telxa-wrapper .telxa-settings-group { margin-block: 18px; border: 1px solid var(--telxa-line); border-radius: var(--telxa-radius-sm); background: var(--telxa-surface); }
.telxa-wrapper .telxa-settings-group > summary { padding: 14px 18px; min-height: 48px; cursor: pointer; font-weight: 650; color: var(--telxa-text); }
.telxa-wrapper .telxa-settings-group-body { padding: 0 20px 20px; }
.telxa-wrapper .telxa-savebar { position: sticky; bottom: 12px; z-index: 10; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border: 1px solid var(--telxa-line); border-radius: var(--telxa-radius); background: var(--telxa-surface); box-shadow: 0 4px 24px rgb(23 43 77 / 14%); }
.telxa-wrapper .telxa-savebar .submit { margin: 0; padding: 0; }
.telxa-wrapper .telxa-savebar [role="status"] { font-size: 13px; color: var(--telxa-muted); }
.telxa-wrapper .telxa-settings-form { padding-bottom: 20px; }
.telxa-wrapper .telxa-settings-form [data-telxa-save-status][data-dirty="true"] { color: var(--telxa-warning); }
.telxa-wrapper .telxa-settings-form [data-telxa-save-status][data-error="true"] { color: var(--telxa-danger); }
.telxa-wrapper .telxa-settings-form .telxa-auth-text-overrides { max-height: none; overflow: visible; }
.telxa-wrapper .telxa-settings-form .telxa-auth-text-overrides [data-telxa-text-search] { position: relative; }
.telxa-wrapper .telxa-settings-form [data-telxa-text-row] { margin-block: 14px; }
.telxa-wrapper .telxa-settings-search { margin-bottom: 20px; }
.telxa-wrapper .telxa-filter-bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; padding: 16px; background: var(--telxa-surface-soft); border-radius: var(--telxa-radius-sm); margin-block: 16px; }
.telxa-wrapper .telxa-filter-bar > label { display: grid; gap: 6px; flex: 1 1 180px; max-width: 360px; }
.telxa-wrapper .telxa-filter-bar .button { flex: 0 0 auto; }
.telxa-wrapper .telxa-advanced { margin-block: 18px; }
.telxa-wrapper .telxa-advanced > summary { color: var(--telxa-info); cursor: pointer; padding-block: 12px; min-height: 44px; }
@media (max-width: 1180px) {
  .telxa-wrapper.telxa-auth-admin .telxa-settings-layout { grid-template-columns: minmax(0, 1fr); }
  .telxa-wrapper .telxa-settings-sidebar { position: static; }
  .telxa-wrapper .telxa-settings-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .telxa-wrapper .telxa-settings-sidebar-help { display: none; }
}
@media (max-width: 782px) {
  .telxa-wrapper[data-telxa-ui-ready] .telxa-settings-nav { display: none; }
  .telxa-wrapper[data-telxa-ui-ready] .telxa-settings-mobile { display: grid; gap: 8px; }
  .telxa-wrapper.telxa-auth-admin .telxa-settings-mobile select { max-width: none; }
  .telxa-wrapper .telxa-settings-section > summary { padding: 16px; font-size: 16px; }
  .telxa-wrapper .telxa-settings-section-body { padding: 0 16px 18px; }
  .telxa-wrapper .telxa-settings-group-body { padding-inline: 14px; }
  .telxa-wrapper.telxa-auth-admin .form-table :where(th, td) { display: block; width: 100%; padding: 10px 0; }
  .telxa-wrapper .telxa-savebar { bottom: 8px; padding: 12px; }
  .telxa-wrapper .telxa-savebar .submit { flex: 1 1 100%; }
  .telxa-wrapper .telxa-savebar .button-primary { width: 100%; }
}
@media (max-width: 700px) {
  .telxa-wrapper[data-telxa-ui-ready] .telxa-portal-mobile { display: grid; gap: 8px; margin: 0 0 14px; }
  .telxa-wrapper[data-telxa-ui-ready] .telxa-sidebar .telxa-auth-portal-tabs { display: none; }
  .telxa-wrapper .telxa-sidebar .telxa-sidebar-logout { margin-top: 0; }
  .telxa-wrapper .telxa-portal-heading h3 { font-size: 21px; }
  .telxa-wrapper .telxa-auth-field-row, .telxa-wrapper .telxa-form-grid { gap: 18px; }
  .telxa-wrapper .telxa-portal-heading { margin-bottom: 18px; }
  .telxa-wrapper .telxa-empty-state { padding: 18px; }
  .telxa-wrapper .telxa-empty-state .telxa-auth-button { width: 100%; }
  .telxa-wrapper .telxa-filter-bar { display: grid; grid-template-columns: minmax(0, 1fr); }
  .telxa-wrapper .telxa-filter-bar > label { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .telxa-wrapper .telxa-auth-button { transition: none; }
}
/* Keep themed surfaces legible where older screen-specific rules set fixed colors. */
.telxa-wrapper:is(.telxa-auth, .telxa-auth-profile, .telxa-auth-smart-form) .telxa-auth-input { background: var(--telxa-surface); color: var(--telxa-text-main); border-color: var(--telxa-border); }
.telxa-wrapper:is(.telxa-auth, .telxa-auth-profile, .telxa-auth-smart-form) .telxa-auth-input[readonly] { background: var(--telxa-bg); color: var(--telxa-text-main); }
.telxa-wrapper.telxa-auth-profile .telxa-auth-ticket-message { background: var(--telxa-bg); color: var(--telxa-text-main); }
.telxa-wrapper.telxa-auth-profile .telxa-auth-ticket-message--agent { background: var(--telxa-primary-subtle); }
.telxa-wrapper .telxa-table-region tbody tr:hover { background: var(--telxa-primary-subtle); }
.telxa-wrapper .telxa-auth-button--secondary { background: var(--telxa-primary-subtle); color: var(--telxa-text-main); border-color: var(--telxa-border); }

/* Scoped interface refinements for Telxa screens. */
.telxa-wrapper { font-family: Vazirmatn, sans-serif; line-height: 1.7; overflow-wrap: anywhere; }
.telxa-wrapper :where(button,input,select,textarea) { font-family: inherit; }
.telxa-wrapper :where(input[type=tel],input[type=date],input[name*=national]) { max-width: 22rem; }
.telxa-wrapper :where(.telxa-auth-ticket-table-wrap,.telxa-orders-table-wrap) { max-width: 100%; overflow-x: auto; }
.telxa-wrapper :where(button,a,input,select,textarea):focus-visible { outline: 3px solid var(--telxa-primary); outline-offset: 2px; }
.telxa-wrapper [data-telxa-membership-error]:not([hidden]) { padding: .75rem 1rem; }
.telxa-wrapper[data-telxa-theme="gaming"] { --telxa-primary: #36e9ef; --telxa-primary-hover: #9bffff; --telxa-primary-subtle: #113440; --telxa-bg: #080e1b; --telxa-surface: #111b2d; --telxa-border: #21576a; --telxa-text-main: #e7faff; --telxa-text-muted: #a4c5d2; color: var(--telxa-text-main); background-color: var(--telxa-bg); background-image: linear-gradient(90deg,transparent 49.8%,rgba(54,233,239,.06) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(226,65,255,.05) 50%,transparent 50.2%); background-size: 64px 64px; }
.telxa-wrapper[data-telxa-theme="gaming"] :where(.telxa-auth-card,.telxa-stat,.telxa-auth-admin-card,.telxa-sidebar) { border: 1px solid var(--telxa-border); border-radius: 3px 16px; background: var(--telxa-surface); box-shadow: 0 0 18px rgba(54,233,239,.12); }
.telxa-wrapper[data-telxa-theme="gaming"] :where(h1,h2,h3) { color: #e7faff; text-shadow: 0 0 12px rgba(54,233,239,.4); }
.telxa-wrapper[data-telxa-theme="gaming"] :where(input,select,textarea) { background: #0b1525; color: #e7faff; border-color: #317389; }
.telxa-wrapper[data-telxa-theme="gaming"] :where(button,.telxa-auth-button) { transition: transform .15s ease,box-shadow .15s ease; }
.telxa-wrapper[data-telxa-theme="gaming"] :where(button,.telxa-auth-button):hover { transform: translateY(-2px); box-shadow: 0 0 16px rgba(54,233,239,.4); }
.telxa-wrapper[data-telxa-theme="gaming"] :where(th,td) { border-color: #21576a; }
.telxa-wrapper[data-telxa-theme="minimal-graphite"] :where(.telxa-auth-card,.telxa-stat) { box-shadow: none; border-radius: 4px; }
.telxa-wrapper[data-telxa-theme="deep-slate"] :where(.telxa-auth-card,.telxa-stat) { border-top: 3px solid var(--telxa-primary); }
@media (prefers-reduced-motion: reduce) { .telxa-wrapper[data-telxa-theme="gaming"] :where(button,.telxa-auth-button) { transition: none; } .telxa-wrapper[data-telxa-theme="gaming"] :where(button,.telxa-auth-button):hover { transform: none; } }
