/* AlfaStore Unified Theme
   Camada final de padronizacao visual para admin + usuario.
   Carregar esta folha por ultimo para sobrescrever estilos legados. */

:root {
  --alfa-bg: #0f0f23;
  --alfa-bg-soft: #12122a;
  --alfa-surface: #1a1a2e;
  --alfa-surface-2: #151527;
  --alfa-border: #2d2d44;
  --alfa-text: #f2f4ff;
  --alfa-text-soft: #aeb3cc;
  --alfa-green: #00ff88;
  --alfa-green-2: #00cc6a;
  --alfa-purple: #8b5cf6;
  --alfa-purple-2: #7c3aed;
  --alfa-danger: #ff4757;
  --alfa-warning: #ffa502;
  --alfa-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
  --alfa-radius: 12px;
  --alfa-gap: 14px;
  --alfa-title: clamp(1.45rem, 2.2vw, 2rem);
  --alfa-subtitle: clamp(0.92rem, 1.2vw, 1.02rem);
  --alfa-text-size: 0.95rem;
  --alfa-compact-size: 0.88rem;
}

html,
body {
  background: linear-gradient(135deg, var(--alfa-bg) 0%, #121228 100%) !important;
  color: var(--alfa-text) !important;
  font-family: "Inter", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--alfa-text) !important;
  letter-spacing: 0.01em;
}

p,
small,
label,
span,
li,
td,
th {
  color: inherit;
}

a {
  color: var(--alfa-green);
}

a:hover {
  color: #7cffbd;
}

.main-content,
.admin-main,
.container,
.content,
.marketplace-page {
  min-width: 0;
}

.page-title,
.admin-title,
.main-title,
.forum-title,
.section-title,
.market-header h1 {
  font-size: var(--alfa-title) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin-bottom: 8px;
}

.page-subtitle,
.subtitle,
.admin-helper,
.text-muted,
.hint,
.market-header p {
  color: var(--alfa-text-soft) !important;
  font-size: var(--alfa-subtitle) !important;
  line-height: 1.5 !important;
}

.admin-section,
.admin-card,
.market-section,
.search-container,
.bulk-actions,
.balance-card,
.clonagem-form,
.social-proof,
.urgency-banner,
.metric-card,
.panel,
.card,
.oferta-card,
.tema-card,
.product-modal .modal-content,
.modal-content,
.wallet-card,
.stat-item,
.stats-card,
.feature-card {
  background: linear-gradient(180deg, var(--alfa-surface) 0%, var(--alfa-surface-2) 100%) !important;
  border: 1px solid var(--alfa-border) !important;
  color: var(--alfa-text) !important;
  border-radius: var(--alfa-radius) !important;
  box-shadow: var(--alfa-shadow) !important;
  padding: 16px !important;
}

.main-header,
.admin-header,
.professional-header,
.page-header {
  border-radius: var(--alfa-radius);
}

.main-header,
.admin-main,
.admin-section,
.admin-card,
.market-section,
.search-container,
.bulk-actions,
.wallet-card,
.balance-card {
  margin-bottom: var(--alfa-gap);
}

.header-content,
.admin-header-content,
.filters,
.search-form,
.bulk-actions,
.modal-actions,
.form-actions,
.oferta-actions,
.market-actions,
.balance-actions {
  gap: 10px !important;
}

.admin-header,
.main-header,
.professional-header,
.page-header {
  background: rgba(17, 17, 35, 0.92) !important;
  border-color: var(--alfa-border) !important;
}

.btn,
button,
input[type="submit"],
input[type="button"],
.action-btn,
.admin-btn {
  border-radius: 10px !important;
  border: 1px solid transparent;
  font-weight: 600 !important;
  font-size: var(--alfa-text-size) !important;
  min-height: 40px;
  padding: 10px 14px !important;
  transition: all 0.22s ease !important;
}

.btn-primary,
.admin-btn.primary,
button.btn-primary,
input.btn-primary {
  background: linear-gradient(135deg, var(--alfa-green), var(--alfa-purple)) !important;
  color: #081212 !important;
  border-color: rgba(0, 255, 136, 0.28) !important;
}

.btn-primary:hover,
.admin-btn.primary:hover,
button.btn-primary:hover,
input.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0, 255, 136, 0.26) !important;
}

.btn-secondary,
.admin-btn.warn,
.btn-warning {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: var(--alfa-border) !important;
  color: var(--alfa-text) !important;
}

.btn-danger,
.admin-btn.danger,
.admin-logout {
  background: rgba(255, 71, 87, 0.15) !important;
  border-color: rgba(255, 71, 87, 0.45) !important;
  color: #ff9aa4 !important;
}

.btn-danger:hover,
.admin-btn.danger:hover,
.admin-logout:hover {
  background: rgba(255, 71, 87, 0.24) !important;
  color: #ffd7dc !important;
}

.alfa-pwa-install-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(0, 255, 136, 0.34);
  background: linear-gradient(135deg, rgba(0, 255, 136, 0.18), rgba(139, 92, 246, 0.24));
  color: #dfffee;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.alfa-pwa-install-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(0, 255, 136, 0.58);
  box-shadow: 0 10px 24px rgba(0, 255, 136, 0.2);
}

.alfa-pwa-install-icon {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.9rem;
  line-height: 1;
}

.alfa-pwa-install-floating {
  position: fixed;
  right: 16px;
  bottom: 88px;
  z-index: 999;
}

input,
select,
textarea,
.form-input,
.admin-input,
.search-input,
.smm-input,
.smm-select,
.smm-textarea {
  background: #111a31 !important;
  border: 1px solid var(--alfa-border) !important;
  color: var(--alfa-text) !important;
  border-radius: 10px !important;
  font-size: var(--alfa-text-size) !important;
  min-height: 40px;
  padding: 10px 12px !important;
}

label,
.form-label,
.stat-label {
  color: var(--alfa-text-soft) !important;
  font-size: var(--alfa-compact-size) !important;
  font-weight: 600 !important;
}

.stat-number,
.metric-value,
.balance-amount,
.market-price,
.price-value {
  color: #baffdd !important;
  font-weight: 700 !important;
}

input:focus,
select:focus,
textarea:focus,
.form-input:focus,
.admin-input:focus,
.search-input:focus,
.smm-input:focus,
.smm-select:focus,
.smm-textarea:focus {
  border-color: rgba(0, 255, 136, 0.5) !important;
  box-shadow: 0 0 0 3px rgba(0, 255, 136, 0.1) !important;
  outline: none !important;
}

.table-simple,
.users-table,
.admin-table,
.products-table,
.transactions-table,
.admin-users-table,
.admin-requests-table,
.smm-table {
  background: transparent !important;
  border-color: var(--alfa-border) !important;
}

.table-simple th,
.users-table th,
.admin-table th,
.products-table th,
.transactions-table th,
.admin-users-table th,
.admin-requests-table th,
.smm-table th {
  background: rgba(0, 255, 136, 0.08) !important;
  color: #d7ffe9 !important;
  border-color: var(--alfa-border) !important;
  font-size: var(--alfa-compact-size) !important;
  font-weight: 700 !important;
  padding: 11px 10px !important;
}

.table-simple td,
.users-table td,
.admin-table td,
.products-table td,
.transactions-table td,
.admin-users-table td,
.admin-requests-table td,
.smm-table td {
  color: var(--alfa-text-soft) !important;
  border-color: var(--alfa-border) !important;
  font-size: var(--alfa-compact-size) !important;
  padding: 10px !important;
}

.table-simple tr:hover td,
.users-table tr:hover td,
.admin-table tr:hover td,
.products-table tr:hover td,
.transactions-table tr:hover td,
.admin-users-table tr:hover td,
.admin-requests-table tr:hover td,
.smm-table tr:hover td {
  background: rgba(255, 255, 255, 0.03) !important;
}

.status-badge,
.status-pill,
.badge {
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 0.73rem !important;
  letter-spacing: 0.04em;
}

.status-base {
  background: rgba(139, 92, 246, 0.22) !important;
  color: #ceb4ff !important;
  border: 1px solid rgba(139, 92, 246, 0.45) !important;
}

.status-elite,
.status-pill.approved {
  background: rgba(0, 255, 136, 0.18) !important;
  color: #9cffd0 !important;
  border: 1px solid rgba(0, 255, 136, 0.4) !important;
}

.status-pill.pending {
  background: rgba(255, 165, 2, 0.16) !important;
  color: #ffd08a !important;
  border: 1px solid rgba(255, 165, 2, 0.34) !important;
}

.status-pill.rejected {
  background: rgba(255, 71, 87, 0.16) !important;
  color: #ffb0b7 !important;
  border: 1px solid rgba(255, 71, 87, 0.36) !important;
}

.alert-box,
.message,
.alert {
  border-radius: 10px !important;
  border-width: 1px !important;
  padding: 11px 12px !important;
  font-size: var(--alfa-compact-size) !important;
}

.alert-box.success,
.message.success,
.alert-success {
  background: rgba(0, 255, 136, 0.09) !important;
  border-color: rgba(0, 255, 136, 0.42) !important;
  color: #b9ffdc !important;
}

.alert-box.error,
.message.error,
.alert-error {
  background: rgba(255, 71, 87, 0.09) !important;
  border-color: rgba(255, 71, 87, 0.42) !important;
  color: #ffc9cf !important;
}

.nav-link,
.admin-nav-link {
  transition: all 0.2s ease !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  line-height: 1.3;
}

.nav-link:hover,
.admin-nav-link:hover {
  box-shadow: 0 8px 20px rgba(0, 255, 136, 0.1);
}

/* Keep sidebar/menu icons and list markers consistent across pages */
.sidebar .nav-menu ul,
.sidebar .nav-menu li {
  list-style: none !important;
}

.sidebar .sidebar-header {
  display: block !important;
  min-height: 140px;
}

.sidebar .sidebar-header .brand-logo-bg {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 200px !important;
  max-width: none !important;
  max-height: none !important;
  height: auto !important;
  margin: 0 auto 10px auto !important;
}

.sidebar .sidebar-header .brand-logo-bg.alfa-logo-transition {
  transition: opacity 0.22s ease, filter 0.22s ease !important;
}

.sidebar .sidebar-header .brand-logo-bg.alfa-logo-variant-2 {
  width: 180px !important;
}

.sidebar .sidebar-header .brand-logo-bg.alfa-logo-color-white {
  filter: brightness(0) saturate(100%) invert(100%) !important;
}

.sidebar .sidebar-header .brand-logo-bg.alfa-logo-color-green {
  filter: brightness(0) saturate(100%) invert(72%) sepia(84%) saturate(748%) hue-rotate(92deg) brightness(103%) contrast(104%) !important;
}

.sidebar .sidebar-header .brand-logo-bg.alfa-logo-color-red {
  filter: brightness(0) saturate(100%) invert(20%) sepia(96%) saturate(7490%) hue-rotate(356deg) brightness(96%) contrast(118%) !important;
}

.sidebar .sidebar-header .brand-logo-bg.alfa-logo-transition.is-fading {
  opacity: 0.2 !important;
}

.sidebar .sidebar-header h2 {
  display: none !important;
}

/* Stop "blink" effect on current menu item */
.sidebar .nav-link.active,
.sidebar .nav-link[aria-current="page"] {
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

.sidebar .nav-link.active::before,
.sidebar .nav-link[aria-current="page"]::before {
  opacity: 1 !important;
  transition: none !important;
}

.sidebar .nav-link i,
.sidebar .nav-link i::before,
.admin-nav-link i,
.admin-nav-link i::before {
  font-style: normal !important;
  line-height: 1 !important;
}

.sidebar .nav-link i,
.sidebar .nav-link i.fa-solid,
.sidebar .nav-link i.fas,
.admin-nav-link i,
.admin-nav-link i.fa-solid,
.admin-nav-link i.fas {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
}

.sidebar .nav-link i.fa-brands,
.sidebar .nav-link i.fab,
.admin-nav-link i.fa-brands,
.admin-nav-link i.fab {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
}

.oferta-card:hover,
.tema-card:hover,
.market-card:hover,
.feature-card:hover,
.admin-card:hover,
.admin-section:hover {
  transform: translateY(-1px);
}

/* Scrollbar */
*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
*::-webkit-scrollbar-track {
  background: #0d0f1f;
}
*::-webkit-scrollbar-thumb {
  background: rgba(0, 255, 136, 0.35);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 255, 136, 0.5);
}

/* Mobile consistency */
@media (max-width: 992px) {
  .admin-main,
  .main-content {
    padding: 86px 12px 16px !important;
  }

  .admin-header-content,
  .header-content,
  .main-header,
  .search-form,
  .filters,
  .bulk-actions,
  .modal-actions,
  .form-actions {
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  .admin-section,
  .admin-card,
  .market-section,
  .search-container,
  .bulk-actions {
    padding: 14px !important;
  }
}

@media (max-width: 640px) {
  .admin-title,
  .page-title,
  .main-title {
    font-size: 1.35rem !important;
    line-height: 1.3;
  }

  .page-subtitle,
  .subtitle,
  .admin-helper,
  .text-muted {
    font-size: 0.86rem !important;
  }

  .btn,
  .action-btn,
  .admin-btn,
  .modal-actions .btn,
  .form-actions .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .alfa-pwa-install-btn:not(.alfa-pwa-install-floating) {
    width: 100% !important;
  }

  .alfa-pwa-install-floating {
    right: 12px;
    bottom: 80px;
  }

  .admin-section,
  .admin-card,
  .market-section,
  .search-container,
  .bulk-actions,
  .balance-card,
  .wallet-card,
  .clonagem-form,
  .social-proof,
  .urgency-banner {
    padding: 12px !important;
    border-radius: 10px !important;
  }
}
