.uw-account-hub {
  display: grid;
  gap: 20px;
  --ts-uw-pill-justify: flex-start;
  --ts-uw-comp-pill-justify: flex-start;
  overflow-x: hidden;
}

.uw-hub-hero {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.uw-card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.06);
  min-width: 0;
  max-width: 100%;
}

.uw-card h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 700;
}

.uw-section-tabs {
  margin-top: 10px;
}

.uw-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
}

.uw-account-card {
  display: grid;
  gap: 16px;
}

.uw-account-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.uw-account-title h3 {
  margin: 0;
}

.uw-account-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.uw-account-tabs {
  display: flex;
  justify-content: var(--ts-uw-pill-justify, flex-start);
}

.uw-comp-header {
  display: flex;
  justify-content: var(--ts-uw-comp-pill-justify, flex-start);
  margin-bottom: 12px;
}

.uw-metric-label {
  font-size: 0.9rem;
  color: #4b5563;
}

.uw-metric-value {
  font-weight: 800;
  font-size: 1.1rem;
  color: #0f172a;
}

.uw-pills {
  display: inline-flex;
  border-radius: 999px;
  border: 1px solid var(--ts-uw-pill-border, #e5e7eb);
  overflow: hidden;
  justify-content: var(--ts-uw-pill-justify, flex-start);
  flex-wrap: wrap;
}

.uw-comp-toggle {
  justify-content: var(--ts-uw-comp-pill-justify, flex-start);
}

.uw-pill {
  padding: 8px 14px;
  background: #f3f4f6;
  cursor: pointer;
  font-weight: 600;
  color: #374151;
  border: none;
  white-space: nowrap;
}

.uw-pill:hover {
  background: var(--ts-uw-pill-hover-bg, #e5e7eb);
  color: var(--ts-uw-pill-hover-text, #111827);
}

.uw-pill.is-active {
  background: #EFB905;
  color: #111827;
  box-shadow: inset 0 0 0 1px var(--ts-uw-pill-active-shadow, rgba(0,0,0,0.05));
}

.uw-competitions,
.uw-entries {
  border: 1px solid var(--ts-uw-competitions-border, #e5e7eb);
  border-radius: 12px;
  overflow: hidden;
  background: var(--ts-uw-competitions-bg, #fff);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
  overflow-x: auto;
}

.uw-competitions table,
.uw-entries table {
  width: 100%;
  border-collapse: collapse;
}

.uw-account-hub table {
  width: 100%;
  border-collapse: collapse;
}

.uw-account-hub th,
.uw-account-hub td {
  padding: 12px 14px;
  border-bottom: 1px solid #f1f5f9;
  text-align: left;
}

.uw-account-hub th {
  background: #f9fafb;
  font-weight: 700;
}

.uw-competitions th,
.uw-competitions td {
  padding: 12px 14px;
  border-bottom: 1px solid #f1f5f9;
  text-align: left;
}

.uw-competitions th {
  background: #f9fafb;
  font-weight: 700;
}

.uw-status-pill {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1d4ed8;
  font-weight: 700;
  font-size: 0.85rem;
}

.uw-status-lty_lottery_started { background: var(--ts-uw-status-started-bg, #e0f2fe); color: var(--ts-uw-status-started-text, #1d4ed8); }
.uw-status-lty_lottery_not_started { background: var(--ts-uw-status-not-started-bg, #fef9c3); color: var(--ts-uw-status-not-started-text, #92400e); }
.uw-status-lty_lottery_closed { background: var(--ts-uw-status-closed-bg, #f3f4f6); color: var(--ts-uw-status-closed-text, #374151); }
.uw-status-lty_lottery_finished { background: var(--ts-uw-status-finished-bg, #ecfdf3); color: var(--ts-uw-status-finished-text, #047857); }
.uw-status-lty_lottery_failed { background: var(--ts-uw-status-failed-bg, #fee2e2); color: var(--ts-uw-status-failed-text, #b91c1c); }
.uw-status-default { background: var(--ts-uw-status-default-bg, #fff7ed); color: var(--ts-uw-status-default-text, #c2410c); }
.uw-status-credit { background: #ecfeff; color: #0e7490; }
.uw-status-debit { background: #fef2f2; color: #b91c1c; }

.uw-ticket-badge {
  display: inline-block;
  padding: 4px 8px;
  background: #f3f4f6;
  border-radius: 8px;
  margin: 2px;
  font-size: 0.85rem;
}

.uw-ticket-count {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e0f2fe;
  color: #1e40af;
  font-weight: 700;
  font-size: 0.85rem;
  margin-right: 6px;
}

.uw-ticket-details {
  margin-top: 6px;
}

.uw-ticket-details summary {
  cursor: pointer;
  font-weight: 600;
}

.uw-ticket-list {
  margin-top: 6px;
}

.uw-status-win {
  display: inline-flex;
  margin-left: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #ecfdf3;
  color: #065f46;
  font-weight: 700;
  font-size: 0.8rem;
}

.uw-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
}

.uw-pagination a,
.uw-pagination span {
  font-weight: 600;
}

.uw-actions a {
  color: #0ea5e9;
  text-decoration: none;
  font-weight: 700;
}

.uw-actions a:hover {
  text-decoration: underline;
}

.uw-empty {
  padding: 14px;
  color: var(--ts-uw-empty-text, #6b7280);
}

.uw-notice {
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 12px;
  border: 1px solid var(--ts-uw-notice-border, #e5e7eb);
  background: var(--ts-uw-notice-bg, transparent);
  color: var(--ts-uw-notice-text, inherit);
}

.uw-notice.success {
  background: var(--ts-uw-notice-success-bg, #ecfdf3);
  color: var(--ts-uw-notice-success-text, #065f46);
  border-color: var(--ts-uw-notice-success-border, #bbf7d0);
}

.uw-notice.error {
  background: var(--ts-uw-notice-error-bg, #fef2f2);
  color: var(--ts-uw-notice-error-text, #b91c1c);
  border-color: var(--ts-uw-notice-error-border, #fecdd3);
}

.uw-credits-summary {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin-bottom: 16px;
}

.uw-metric {
  display: grid;
  gap: 4px;
}

.uw-credits-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.uw-credits-filters .uw-pill {
  border-radius: 999px;
}

.uw-notifications-form {
  display: grid;
  gap: 14px;
  max-width: 520px;
}

.uw-notifications-form button {
  background: var(--ts-uw-form-button-bg, linear-gradient(135deg, #0ea5e9 0%, #0ea5e9 30%, #EFB905 100%));
  border: none;
  color: var(--ts-uw-form-button-text, #111827);
  font-weight: 700;
  padding: 12px;
  border-radius: 10px;
  cursor: pointer;
}

.uw-notification-row {
  display: grid;
  gap: 6px;
}

.uw-muted {
  color: var(--ts-uw-muted-text, #6b7280);
  font-size: 0.9rem;
}

.uw-profile-form {
  display: grid;
  gap: 12px;
  max-width: 520px;
}

.uw-profile-form label {
  font-weight: 600;
  margin-bottom: 4px;
  display: block;
}

.uw-profile-form input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--ts-uw-form-input-border, #e5e7eb);
  border-radius: 8px;
  background: var(--ts-uw-form-input-bg, #ffffff);
}

.uw-profile-form button {
  background: var(--ts-uw-form-button-bg, linear-gradient(135deg, #0ea5e9 0%, #0ea5e9 30%, #EFB905 100%));
  border: none;
  color: var(--ts-uw-form-button-text, #111827);
  font-weight: 700;
  padding: 12px;
  border-radius: 10px;
  cursor: pointer;
}

.uw-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid var(--ts-uw-button-border, #e5e7eb);
  background: var(--ts-uw-button-bg, #111827);
  color: var(--ts-uw-button-text, #ffffff);
}

.uw-logout {
  background: var(--ts-uw-logout-bg, #111827);
  color: var(--ts-uw-logout-text, #ffffff);
  border-color: var(--ts-uw-logout-border, #111827);
}

@media (max-width: 768px) {
  .uw-hub-hero {
    grid-template-columns: 1fr;
  }

  .uw-card {
    padding: 14px;
  }

  .uw-metrics {
    flex-direction: column;
    align-items: stretch;
  }

  .uw-account-header {
    flex-direction: column;
    align-items: stretch;
  }

  .uw-account-actions {
    width: 100%;
    justify-content: center;
  }

  .uw-account-tabs {
    justify-content: var(--ts-uw-pill-justify, center);
  }

  .uw-comp-header {
    justify-content: var(--ts-uw-comp-pill-justify, center);
  }

  .uw-pills {
    width: 100%;
    justify-content: var(--ts-uw-pill-justify, center);
  }

  .uw-comp-toggle {
    justify-content: var(--ts-uw-comp-pill-justify, center);
  }

  .uw-pill {
    flex: 1 1 auto;
    text-align: center;
  }

  .uw-pagination {
    flex-direction: column;
    gap: 8px;
  }

  .uw-competitions table,
  .uw-competitions thead,
  .uw-competitions tbody,
  .uw-competitions th,
  .uw-competitions td,
  .uw-competitions tr {
    display: block;
  }

  .uw-account-hub thead {
    display: none;
  }

  .uw-account-hub table,
  .uw-account-hub tbody,
  .uw-account-hub th,
  .uw-account-hub td,
  .uw-account-hub tr {
    display: block;
  }

  .uw-account-hub td {
    border: none;
    padding: 10px 14px;
    border-bottom: 1px solid #f1f5f9;
  }

  .uw-competitions th,
  .uw-account-hub th {
    display: none;
  }

  .uw-competitions td::before,
  .uw-account-hub td::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--ts-uw-table-label, #111827);
  }
}
