/* ================================
   MMU BRAND THEME
   (Updated: MMU gold top accent + compact card typography)
   ================================ */
:root{
  /* Brand palette (matches logo feel) */
  --mmu-sky:   #1DA1D2;   /* sky/teal blue */
  --mmu-gold:  #F2B01E;   /* golden yellow */
  --mmu-forest:#1F7A3F;   /* deep/forest green */
  --mmu-gray:  #6B7280;   /* medium gray */
  --mmu-white: #FFFFFF;
  --mmu-black: #111827;

  /* Neutrals */
  --mmu-card-cap: #cfd6de;
  --mmu-card-border: #d9dde3;
  --mmu-card-header-bg: #f5f6f7;
  --mmu-muted: #6c757d;

  /* Typography scale */
  --mmu-font-sm: .875rem;   /* 14px */
  --mmu-font-xs: .78rem;    /* ~12.5px */
  --mmu-font-md: .90rem;    /* ~14.4px */
  --mmu-font-lg: 1.00rem;   /* 16px */
  --mmu-font-stat: .92rem;  /* finance figure size */

  /* Bootstrap overrides */
  --bs-primary: var(--mmu-sky);
  --bs-primary-rgb: 29,161,210;

  --bs-success: var(--mmu-forest);
  --bs-success-rgb: 31,122,63;

  --bs-warning: var(--mmu-gold);
  --bs-warning-rgb: 242,176,30;

  --bs-dark: var(--mmu-black);
  --bs-body-color: var(--mmu-black);
  --bs-link-color: var(--mmu-sky);
  --bs-link-hover-color: #1587B2;

  --mmu-radius: 14px;
  --mmu-shadow: 0 14px 40px rgba(17,24,39,.12);
  --mmu-border: 1px solid rgba(17,24,39,.10);
  --mmu-card-radius: 12px;
}

/* Common helpers */
.mmu-gradient{
  background: linear-gradient(135deg, var(--mmu-sky) 0%, var(--mmu-forest) 100%);
}

.mmu-soft-bg{
  background:
    radial-gradient(900px 500px at 10% 10%, rgba(29,161,210,.16), transparent 55%),
    radial-gradient(900px 500px at 90% 90%, rgba(31,122,63,.14), transparent 55%),
    #f7f9fc;
}

/* =========================================
   GLOBAL MMU CARD / TABLET ACCENT
   Uses inset top shadow so it still shows
========================================= */
.card,
.mmu-card,
.stat-card,
.dashboard-card,
.widget,
.info-card,
.summary-card{
  position: relative;
  overflow: hidden;
  border: 1px solid var(--mmu-card-border) !important;
  border-radius: var(--mmu-card-radius) !important;
  background: var(--mmu-white) !important;
  box-shadow:
    inset 0 4px 0 0 var(--mmu-gold),
    0 2px 10px rgba(17, 24, 39, 0.04) !important;
  transition: box-shadow 0.2s ease;
}

.card:hover,
.mmu-card:hover,
.stat-card:hover,
.dashboard-card:hover,
.widget:hover,
.info-card:hover,
.summary-card:hover{
  box-shadow:
    inset 0 4px 0 0 var(--mmu-gold),
    0 6px 18px rgba(17, 24, 39, 0.08) !important;
}

/* Card header */
.card-header{
  background: var(--mmu-card-header-bg) !important;
  border-bottom: 1px solid var(--mmu-card-border) !important;
  padding: .55rem .75rem;
  font-size: var(--mmu-font-md);
  font-weight: 600;
  color: var(--mmu-black);
}

/* Card body */
.card-body{
  font-size: var(--mmu-font-sm);
  color: var(--mmu-black);
}

/* Card footer */
.card-footer{
  background: var(--mmu-white) !important;
  border-top: 1px solid var(--mmu-card-border) !important;
}

/* Make "small" text consistently smaller */
.small,
small{
  font-size: var(--mmu-font-xs) !important;
}

/* Reduce bold heaviness inside cards */
.card .fw-bold,
.mmu-card .fw-bold,
.stat-card .fw-bold{
  font-weight: 600 !important;
}

.card .fw-semibold,
.mmu-card .fw-semibold,
.stat-card .fw-semibold{
  font-weight: 600 !important;
}

/* List groups inside cards */
.card .list-group-item{
  font-size: var(--mmu-font-sm);
}

/* Headings inside cards a bit smaller */
.card .h1, .card .h2, .card .h3, .card .h4, .card .h5, .card .h6,
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6{
  margin-bottom: .35rem;
}

.card h5, .card .h5{ font-size: 1.02rem; }
.card h6, .card .h6{ font-size: .95rem; }

/* MMU card helper */
.mmu-card{
  border-radius: var(--mmu-radius) !important;
}

/* =========================================
   Open dashboard buttons
========================================= */
.btn-open-dashboard{
  background: var(--mmu-forest) !important;
  border-color: var(--mmu-forest) !important;
  color: #fff !important;
}

.btn-open-dashboard:hover{
  filter: brightness(.95);
}

a.btn.btn-outline-secondary.open-dashboard,
button.btn.btn-outline-secondary.open-dashboard{
  border-color: var(--mmu-forest) !important;
  color: var(--mmu-forest) !important;
}

a.btn.btn-outline-secondary.open-dashboard:hover,
button.btn.btn-outline-secondary.open-dashboard:hover{
  background: var(--mmu-forest) !important;
  color: #fff !important;
}

/* =========================================
   Finance stat tablets
========================================= */
.stat-card{
  padding: .70rem .80rem;
  min-height: 84px;
}

.stat-card .stat-label{
  font-size: var(--mmu-font-xs);
  opacity: .85;
  line-height: 1.15;
}

.stat-card .stat-value{
  font-size: var(--mmu-font-stat);
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================================
   Upcoming events
========================================= */
.up-title{
  font-size: .80rem !important;
  font-weight: 600 !important;
}

/* =========================================
   Bulletin frame
========================================= */
.bulletin-frame{
  overflow: hidden !important;
  position: relative;
}

.bulletin-frame .carousel,
.bulletin-frame .carousel-inner,
.bulletin-frame .carousel-item{
  height: 100% !important;
  overflow: hidden !important;
}

.bulletin-frame img{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}