/* ==========================================================================
   MyMoneyMan — Brand Theme Tokens
   Maps brand colors to Bootstrap CSS variables for light + dark modes.
   ========================================================================== */

:root,
[data-bs-theme="light"] {
  /* Brand palette — light */
  --mmm-currency-green:  #3A7D44;
  --mmm-federal-green:   #1B4332;
  --mmm-parchment:       #F5F0E1;
  --mmm-parchment-2:     #EDE8D5;
  --mmm-gold:            #C19A3E;
  --mmm-blue:            #1E5B94;
  --mmm-copper:          #B07635;
  --mmm-red:             #8B1A1A;
  --mmm-positive:        #2E7D32;
  --mmm-negative:        #C62828;
  --mmm-ink:             #1A1A1A;
  --mmm-ink-2:           #5A5A4F;

  /* Semantic shortcuts */
  --mmm-border:          rgba(26,26,26,0.10);
  --mmm-border-strong:   rgba(26,26,26,0.18);
  --mmm-shadow:          0 8px 24px rgba(27,67,50,0.08);
  --mmm-shadow-lg:       0 20px 50px rgba(27,67,50,0.15);

  /* Bootstrap overrides */
  --bs-body-bg:          var(--mmm-parchment);
  --bs-body-color:       var(--mmm-ink);
  --bs-secondary-bg:     var(--mmm-parchment-2);
  --bs-tertiary-bg:      var(--mmm-parchment-2);
  --bs-emphasis-color:   var(--mmm-federal-green);
  --bs-secondary-color:  var(--mmm-ink-2);
  --bs-tertiary-color:   var(--mmm-ink-2);
  --bs-border-color:     var(--mmm-border);
  --bs-link-color:       var(--mmm-federal-green);
  --bs-link-hover-color: var(--mmm-currency-green);
  --bs-primary:          var(--mmm-currency-green);
  --bs-primary-rgb:      58,125,68;
  --bs-secondary:        var(--mmm-gold);
  --bs-secondary-rgb:    193,154,62;
  --bs-info:             var(--mmm-blue);
  --bs-info-rgb:         30,91,148;
  --bs-success:          var(--mmm-positive);
  --bs-success-rgb:      46,125,50;
  --bs-danger:           var(--mmm-negative);
  --bs-danger-rgb:       198,40,40;
  --bs-warning:          var(--mmm-gold);
  --bs-warning-rgb:      193,154,62;
}

[data-bs-theme="dark"] {
  /* Brand palette — dark */
  --mmm-currency-green:  #5CB270;
  --mmm-federal-green:   #2D6A4F;
  --mmm-parchment:       #1A1A1C;
  --mmm-parchment-2:     #2C2C2D;
  --mmm-gold:            #D4AF5A;
  --mmm-blue:            #4A9BD9;
  --mmm-copper:          #D49A5B;
  --mmm-red:             #D45050;
  --mmm-positive:        #4CAF50;
  --mmm-negative:        #EF5350;
  --mmm-ink:             #F0ECDF;
  --mmm-ink-2:           #A8A498;

  --mmm-border:          rgba(240,236,223,0.10);
  --mmm-border-strong:   rgba(240,236,223,0.20);
  --mmm-shadow:          0 8px 24px rgba(0,0,0,0.35);
  --mmm-shadow-lg:       0 20px 50px rgba(0,0,0,0.55);

  --bs-body-bg:          var(--mmm-parchment);
  --bs-body-color:       var(--mmm-ink);
  --bs-secondary-bg:     var(--mmm-parchment-2);
  --bs-tertiary-bg:      #232325;
  --bs-emphasis-color:   var(--mmm-currency-green);
  --bs-secondary-color:  var(--mmm-ink-2);
  --bs-tertiary-color:   var(--mmm-ink-2);
  --bs-border-color:     var(--mmm-border);
  --bs-link-color:       var(--mmm-currency-green);
  --bs-link-hover-color: #7ec991;
  --bs-primary:          var(--mmm-currency-green);
  --bs-primary-rgb:      92,178,112;
  --bs-secondary:        var(--mmm-gold);
  --bs-secondary-rgb:    212,175,90;
  --bs-info:             var(--mmm-blue);
  --bs-info-rgb:         74,155,217;
  --bs-success:          var(--mmm-positive);
  --bs-success-rgb:      76,175,80;
  --bs-danger:           var(--mmm-negative);
  --bs-danger-rgb:       239,83,80;
  --bs-warning:          var(--mmm-gold);
  --bs-warning-rgb:      212,175,90;
}

/* Smooth theme transitions on the elements that visibly change */
html { transition: background-color .25s ease; }
body, .navbar, .card, .btn, .accordion-item, .table {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

@media (prefers-reduced-motion: reduce) {
  html, body, .navbar, .card, .btn, .accordion-item, .table { transition: none !important; }
}
