:root {
  --theme-bg: #f3f7f5;
  --theme-card: #ffffff;
  --theme-text: #17231f;
  --theme-muted: #62716b;
  --theme-border: #d8e1dd;
  --theme-accent: var(--accent, var(--black, var(--primary, #6F4E37)));
  --theme-shadow: rgba(18,52,45,.12);
}

@media (prefers-color-scheme: dark) {
  :root {
    --theme-bg: #071312;
    --theme-card: #10241f;
    --theme-text: #f1f7f4;
    --theme-muted: #b7c8c0;
    --theme-border: #2d594d;
    --theme-shadow: rgba(0,0,0,.35);
  }
}

html, body { background: var(--theme-bg) !important; color: var(--theme-text); }
body { font-family: 'Inter', 'Segoe UI', sans-serif; }
body.light-theme { --theme-bg: #f3f7f5; --theme-card: #ffffff; --theme-text: #17231f; --theme-muted: #62716b; --theme-border: #d8e1dd; }

.section, .card, .container, .info-group, .plan, .option, .action,
.balance-card, .how-box, .notifications-card, .provider, .table-container,
.analysis-card, .stat-card, .action-box, .bank-card, .level-card,
.payment-table, .user-card, .login-card, .notification-card {
  background: var(--theme-card) !important;
  color: var(--theme-text);
  border-color: var(--theme-border) !important;
  box-shadow: 0 10px 30px var(--theme-shadow);
}

input, select, textarea {
  background: var(--theme-card) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}

input::placeholder, textarea::placeholder { color: var(--theme-muted); }
button, .button, .save-btn, .login-btn, .submit-btn, .join-btn { font-family: inherit; }

th, td { border-color: var(--theme-border) !important; color: var(--theme-text); }
small, .muted, .subtitle, .option-sub, .stat-lbl, label { color: var(--theme-muted); }
a { color: var(--theme-accent); }

@media (prefers-color-scheme: dark) {
  body.light-theme { --theme-bg: #f3f7f5; --theme-card: #ffffff; --theme-text: #17231f; --theme-muted: #62716b; --theme-border: #d8e1dd; }
}
