/* ============================================================
 * admin-tokens.css — Shared MuseNest authenticated admin tokens
 *
 * DASH-01A scope:
 *   - Establish semantic admin tokens.
 *   - Load them in authenticated dashboard/admin/sysadmin layouts.
 *   - Keep existing dashboard.css, club-dashboard.css, and sysadmin
 *     inline styles visually authoritative until DASH-01B+.
 *
 * The Club dark palette below is the visual reference for the shared
 * admin system, but legacy --mn-* values are held at their current safe
 * dashboard defaults in this foundation ticket to avoid redesigning pages.
 *
 * GUARDRAIL — DASH-01A only: this file defines tokens and legacy mappings.
 * Do NOT add component styling for .card, .table, .modal-content,
 * .btn-primary, .form-control, or similar here. Those belong in DASH-01B/01C.
 *
 * SYSADMIN GUARDRAIL — DASH-01A: do not map or replace --sa-* variables.
 * Sysadmin has an isolated inline style system that remains visually
 * authoritative in this ticket. --sa-* migration belongs to a later pass.
 * ============================================================ */

.mn-admin-shell {
  /* Canonical shared admin palette, based on MuseNest Club. */
  --mn-admin-bg: #FCFAF7;
  --mn-admin-surface: #FFFFFF;
  --mn-admin-surface-2: #F5EFE8;
  --mn-admin-panel: #F5EFE8;
  --mn-admin-border: #E8E0D7;
  --mn-admin-border-strong: #D8CEC4;
  --mn-admin-text: #1B1613;
  --mn-admin-text-muted: #574E48;
  --mn-admin-text-dim: #6E655D;
  --mn-admin-primary: #8A5A12;
  --mn-admin-primary-hover: #6F480E;
  --mn-admin-action: #9E3950;
  --mn-admin-action-hover: #7A2A3C;
  --mn-admin-action-dark: #7A2A3C;
  --mn-admin-danger: #A32B2B;
  --mn-admin-danger-soft: #F8ECEC;
  --mn-admin-success: #2F6B4F;
  --mn-admin-success-soft: #E6F0EA;
  --mn-admin-warning: #8A5A12;
  --mn-admin-warning-soft: #FBF0DF;
  --mn-admin-focus-ring: #F7EAEC;
  --mn-admin-gold-gradient: linear-gradient(135deg, #9E3950 0%, #7A2A3C 100%);
  --mn-admin-gold-gradient-hover: linear-gradient(135deg, #7A2A3C 0%, #63202F 100%);
  --mn-admin-accent-gradient: linear-gradient(135deg, #9E3950 0%, #7A2A3C 60%, #63202F 100%);

  /* Compatibility aliases for future component migration. */
  --mn-admin-card-bg: var(--mn-admin-surface);
  --mn-admin-input-bg: var(--mn-admin-panel);
  --mn-admin-header-bg: var(--mn-admin-surface);
  --mn-admin-sidebar-bg: var(--mn-admin-bg);
  --mn-admin-link: var(--mn-admin-action-hover);
  --mn-admin-link-hover: var(--mn-admin-action);
}

/*
 * Legacy dashboard token bridge (DASH-01A).
 *
 * Holds current light-dashboard defaults as --mn-legacy-* fallbacks.
 * dashboard.css :root block still wins for non-remapped contexts.
 * DASH-01B remaps these inside .mn-admin-shell where class specificity
 * beats the inherited :root values.
 */
:root {
  --mn-legacy-primary:             #4f46e5;
  --mn-legacy-primary-light:       #6366f1;
  --mn-legacy-sidebar-bg:          #0f172a;
  --mn-legacy-sidebar-text:        #94a3b8;
  --mn-legacy-sidebar-active-bg:   rgba(79, 70, 229, 0.15);
  --mn-legacy-sidebar-active-text: #a5b4fc;
  --mn-legacy-sidebar-hover-bg:    rgba(255, 255, 255, 0.05);
  --mn-legacy-sidebar-border:      rgba(255, 255, 255, 0.06);
  --mn-legacy-header-bg:           #ffffff;
  --mn-legacy-header-border:       #e2e8f0;
  --mn-legacy-content-bg:          #f8fafc;
}

/* ============================================================
 * DASH-01B — Shared shell conversion
 *
 * Strategy: .mn-admin-shell (class, specificity 0-1-0) overrides
 * values inherited from dashboard.css :root (pseudo-class, 0-0-1),
 * so no !important is required for most shell properties.
 *
 * dashboard.css is NOT modified in this ticket. Overrides live here
 * so they are easy to locate, review, and promote to dashboard.css
 * natively in a future pass.
 *
 * Do not add component overrides (.table, .form-control, .modal-content)
 * here — those belong in DASH-01C.
 * ============================================================ */

/* ── Bootstrap 5 token remap — prevent BS utilities from resolving
      to light-mode values inside the admin shell ────────────────── */
.mn-admin-shell {
  /* Core page tokens */
  --bs-body-color:        var(--mn-admin-text);
  --bs-body-bg:           var(--mn-admin-bg);
  --bs-secondary-color:   var(--mn-admin-text-muted);
  --bs-secondary-bg:      var(--mn-admin-panel);
  --bs-tertiary-color:    var(--mn-admin-text-dim);
  --bs-tertiary-bg:       var(--mn-admin-surface-2);
  --bs-emphasis-color:    var(--mn-admin-text);
  /* Borders */
  --bs-border-color:              var(--mn-admin-border);
  --bs-border-color-translucent:  var(--mn-admin-border);
  /* Links — use action (pink) so they're distinct from body text */
  --bs-link-color:        var(--mn-admin-action-hover);
  --bs-link-hover-color:  var(--mn-admin-action);
  /* Heading color */
  --bs-heading-color:     var(--mn-admin-text);
}

/* ── Token remap: legacy --mn-* → dark admin palette ──────── */
.mn-admin-shell {
  --mn-primary:             var(--mn-admin-primary);
  --mn-primary-light:       var(--mn-admin-primary-hover);
  --mn-sidebar-bg:          var(--mn-admin-bg);
  --mn-sidebar-text:        var(--mn-admin-text-muted);
  --mn-sidebar-active-bg:   rgba(200, 146, 74, 0.14);
  --mn-sidebar-active-text: var(--mn-admin-text);
  --mn-sidebar-hover-bg:    rgba(255, 255, 255, 0.045);
  --mn-sidebar-border:      var(--mn-admin-border);
  --mn-header-bg:           var(--mn-admin-surface);
  --mn-header-border:       var(--mn-admin-border);
  --mn-content-bg:          var(--mn-admin-bg);
}

/* ── Body canvas ───────────────────────────────────────────── */
.mn-admin-shell.dashboard-body {
  color: var(--mn-admin-text);
  background: var(--mn-admin-bg);
}

/* ── Sidebar brand icon + show-button ─────────────────────── */
/* dashboard.css has hardcoded linear-gradient(135deg, #6366f1, #4f46e5) */
.mn-admin-shell .sidebar-brand-icon,
.mn-admin-shell .sidebar-show-btn {
  background: #fff;
  border-color: rgba(158, 57, 80, .14);
  box-shadow: 0 2px 8px rgba(57, 39, 32, .08);
}

.mn-admin-shell .sidebar-brand-text {
  color: var(--mn-admin-text);
}

.mn-admin-shell .sidebar-section-label {
  color: var(--mn-admin-text-dim);
}

/* ── Sidebar nav items ─────────────────────────────────────── */
.mn-admin-shell .sidebar-nav-item:hover,
.mn-admin-shell .sidebar-footer-btn:hover {
  color: var(--mn-admin-text);
  background: var(--mn-admin-sidebar-hover-bg, rgba(255,255,255,0.045));
}

/* Active indicator bar (hardcoded #6366f1 in dashboard.css) */
.mn-admin-shell .sidebar-nav-item.active::before {
  background: var(--mn-admin-primary);
}

/* ── Header ────────────────────────────────────────────────── */
.mn-admin-shell .header-hamburger {
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .header-hamburger:hover {
  background: var(--mn-admin-panel);
  color: var(--mn-admin-text);
}
.mn-admin-shell .header-page-title {
  color: var(--mn-admin-text);
}
.mn-admin-shell .header-breadcrumb,
.mn-admin-shell .header-breadcrumb a {
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .header-user-btn {
  border-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .header-user-btn:hover {
  background: var(--mn-admin-panel);
  border-color: var(--mn-admin-border-strong);
}
.mn-admin-shell .header-avatar {
  background: var(--mn-admin-gold-gradient);
}

/* ── Impersonation / system banners ───────────────────────── */
/* Light cream/yellow banners become dark gold warnings */
.mn-admin-shell .impersonation-banner {
  background: linear-gradient(90deg,
    rgba(200, 146, 74, 0.18),
    rgba(200, 146, 74, 0.10));
  border-bottom-color: var(--mn-admin-primary);
  color: var(--mn-admin-primary-hover);
}
.mn-admin-shell .impersonation-banner a {
  color: var(--mn-admin-primary-hover);
}

/* ── Welcome hero ─────────────────────────────────────────── */
/* Replaces saturated indigo/purple gradient per PRD DASH-01B */
.mn-admin-shell .welcome-hero {
  background: linear-gradient(135deg,
    var(--mn-admin-surface-2) 0%,
    var(--mn-admin-panel)     100%);
  border: 1px solid var(--mn-admin-border);
  /* Was rgba(0,0,0,.4) — a dark-theme drop shadow, which on a cream card
     reads as a smudge rather than lift. */
  box-shadow: 0 2px 10px rgba(27, 22, 19, 0.05);
}

/* The hero's TEXT did not come across with its background.
 *
 * dashboard.css still paints .welcome-hero-title #fff and the subtitle
 * rgba(255,255,255,.75), which were right against the old indigo gradient and
 * are 1.14:1 and 1.05:1 against this one — invisible, and reported as such.
 * Restated here, beside the background that changed, so the pair cannot drift
 * apart again. .mn-admin-shell wins on specificity, which is why dashboard.css
 * (loaded after this file) does not need editing.
 *
 * Club is unaffected: club-dashboard.css loads last and sets its own !important
 * white on its own dark gradient. */
.mn-admin-shell .welcome-hero-title {
  color: var(--mn-admin-text);            /* 15.7:1 */
}
.mn-admin-shell .welcome-hero-subtitle {
  color: var(--mn-admin-text-muted);      /* 7.1:1  */
}

/* Same story for the one control in there. dashboard.css:601 paints it
   rgba(255,255,255,.15) on a white border with white text — a glass button,
   which works over an indigo gradient and vanishes over cream. It sets those
   as real properties rather than --bs-btn-* variables, so overriding the
   variables changes nothing; this has to answer in kind, one step more
   specific. */
.mn-admin-shell .welcome-hero-actions .btn-light,
.mn-admin-shell .welcome-hero .btn-light {
  background: var(--mn-admin-action);
  border-color: var(--mn-admin-action);
  color: #fff;                            /* 6.7:1 on the rose */
  backdrop-filter: none;
  font-weight: 600;
}
.mn-admin-shell .welcome-hero-actions .btn-light:hover,
.mn-admin-shell .welcome-hero .btn-light:hover {
  background: var(--mn-admin-action-hover);
  border-color: var(--mn-admin-action-hover);
  color: #fff;
}

/* The two decorative glows are white radials meant to catch light on a dark
   gradient; over cream they only wash the corner the button sits in. */
.mn-admin-shell .welcome-hero::before,
.mn-admin-shell .welcome-hero::after {
  background: radial-gradient(circle, rgba(158, 57, 80, 0.06) 0%, transparent 70%);
}

/* ── Page header text ─────────────────────────────────────── */
.mn-admin-shell .page-header-title {
  color: var(--mn-admin-text);
}
.mn-admin-shell .page-header-subtitle {
  color: var(--mn-admin-text-muted);
}

/* ── Base card surfaces ────────────────────────────────────── */
.mn-admin-shell .stat-card,
.mn-admin-shell .dashboard-card,
.mn-admin-shell .quick-action-card {
  background: var(--mn-admin-surface);
  border-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .stat-card:hover,
.mn-admin-shell .dashboard-card:hover,
.mn-admin-shell .quick-action-card:hover {
  border-color: var(--mn-admin-border-strong);
}
.mn-admin-shell .dashboard-card-header {
  border-bottom-color: var(--mn-admin-border);
}
.mn-admin-shell .dashboard-card-title {
  color: var(--mn-admin-text);
}
.mn-admin-shell .stat-card-label {
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .stat-card-value {
  color: var(--mn-admin-text);
}

/* ── Saturated gradient stat cards → dark + accent indicators  */
/* PRD DASH-01B: "replace saturated multi-color gradients with  */
/* dark cards using restrained accent indicators"               */
.mn-admin-shell .stat-card-gradient {
  color: var(--mn-admin-text);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  border-left-width: 3px;
  border-left-style: solid;
  background: var(--mn-admin-panel);
}
.mn-admin-shell .stat-gradient-blue   { border-left-color: #3b82f6; }
.mn-admin-shell .stat-gradient-green  { border-left-color: var(--mn-admin-success); }
.mn-admin-shell .stat-gradient-amber  { border-left-color: var(--mn-admin-primary); }
.mn-admin-shell .stat-gradient-purple { border-left-color: var(--mn-admin-action); }
.mn-admin-shell .stat-gradient-red    { border-left-color: var(--mn-admin-danger); }
.mn-admin-shell .stat-gradient-cyan   { border-left-color: #06b6d4; }

.mn-admin-shell .stat-card-gradient .stat-card-label { color: var(--mn-admin-text-muted); }
.mn-admin-shell .stat-card-gradient .stat-card-value { color: var(--mn-admin-text); }
.mn-admin-shell .stat-card-gradient .stat-card-trend { color: var(--mn-admin-text-muted); }

/* Quick action cards */
.mn-admin-shell .quick-action-title { color: var(--mn-admin-text); }
.mn-admin-shell .quick-action-desc  { color: var(--mn-admin-text-muted); }
.mn-admin-shell .quick-action-arrow { color: var(--mn-admin-border-strong); }

/* Soft icon pills against dark card surfaces */
.mn-admin-shell .stat-card-icon.bg-primary-soft  { background: rgba(200,146,74,0.14);  color: var(--mn-admin-primary); }
.mn-admin-shell .stat-card-icon.bg-success-soft  { background: rgba(83,185,135,0.14);  color: var(--mn-admin-success); }
.mn-admin-shell .stat-card-icon.bg-warning-soft  { background: rgba(200,146,74,0.14);  color: var(--mn-admin-primary); }
.mn-admin-shell .stat-card-icon.bg-danger-soft   { background: rgba(220,80,90,0.14);   color: var(--mn-admin-danger); }
.mn-admin-shell .stat-card-icon.bg-secondary-soft{ background: rgba(150,143,132,0.14); color: var(--mn-admin-text-muted); }

/* Quick action icon accent pills */
.mn-admin-shell .quick-action-icon.qa-blue   { background: rgba(59,130,246,0.14);  color: #3b82f6; }
.mn-admin-shell .quick-action-icon.qa-green  { background: rgba(83,185,135,0.14);  color: var(--mn-admin-success); }
.mn-admin-shell .quick-action-icon.qa-amber  { background: rgba(200,146,74,0.14);  color: var(--mn-admin-primary); }
.mn-admin-shell .quick-action-icon.qa-purple { background: rgba(227,111,134,0.14); color: var(--mn-admin-action); }
.mn-admin-shell .quick-action-icon.qa-red    { background: rgba(220,80,90,0.14);   color: var(--mn-admin-danger); }
.mn-admin-shell .quick-action-icon.qa-cyan   { background: rgba(6,182,212,0.14);   color: #06b6d4; }

/* ── Primary button ────────────────────────────────────────── */
/* Scoped to admin shell only; does not affect public Bootstrap usage */
.mn-admin-shell .btn-primary {
  background: var(--mn-admin-gold-gradient);
  border-color: transparent;
  color: #fff;
}
.mn-admin-shell .btn-primary:hover,
.mn-admin-shell .btn-primary:active {
  background: var(--mn-admin-gold-gradient-hover);
  border-color: transparent;
  color: #fff;
}
.mn-admin-shell .btn-primary:focus-visible {
  box-shadow: 0 0 0 3px var(--mn-admin-focus-ring);
}

/* Outline-primary consistent with new gold primary */
.mn-admin-shell .btn-outline-primary {
  border-color: var(--mn-admin-primary);
  color: var(--mn-admin-primary);
}
.mn-admin-shell .btn-outline-primary:hover {
  background: rgba(200, 146, 74, 0.14);
  border-color: var(--mn-admin-primary-hover);
  color: var(--mn-admin-primary-hover);
}

/* Outline-secondary / Outline-danger — Bootstrap defaults render as
   light grey/light red on white, which is unreadable on the admin dark
   chrome. Theme them to match the panel surfaces. */
.mn-admin-shell .btn-outline-secondary {
  border-color: var(--mn-admin-border-strong);
  color: var(--mn-admin-text-muted);
  background: transparent;
}
.mn-admin-shell .btn-outline-secondary:hover:not(:disabled) {
  background: var(--mn-admin-panel);
  border-color: var(--mn-admin-primary);
  color: var(--mn-admin-text);
}
.mn-admin-shell .btn-outline-secondary:disabled,
.mn-admin-shell .btn-outline-secondary.disabled {
  opacity: 0.5; color: var(--mn-admin-text-dim);
}
.mn-admin-shell .btn-outline-danger {
  border-color: rgba(220, 80, 90, 0.5);
  color: var(--mn-admin-danger);
  background: transparent;
}
.mn-admin-shell .btn-outline-danger:hover:not(:disabled) {
  background: var(--mn-admin-danger-soft);
  border-color: var(--mn-admin-danger);
  color: var(--mn-admin-danger);
}

/* ============================================================
 * DASH-01C — Component Cleanup
 *
 * Scope: shared reusable components only.
 * Page-specific white/light islands are deferred to DASH-01D.
 * All selectors scoped under .mn-admin-shell.
 * ============================================================ */

/* ── Billing / upsell banners (home.ejs) ──────────────────── */
/* DASH-01D: replaced inline style= attributes with these classes */
.mn-billing-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  border-radius: 10px;
  border: 1px solid transparent;
}
.mn-billing-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  flex-shrink: 0;
  background: rgba(255,255,255,0.08);
}
.mn-billing-body { flex: 1; min-width: 0; }
.mn-billing-label { margin: 0 0 2px; font-weight: 600; font-size: .875rem; }
.mn-billing-detail { margin: 0; font-size: .8rem; opacity: .85; }
.mn-billing-btn {
  display: inline-block;
  padding: 7px 14px;
  border-radius: 8px;
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.mn-admin-shell .mn-billing-banner--warning {
  background: rgba(200, 146, 74, 0.12);
  border-color: rgba(200, 146, 74, 0.3);
  color: var(--mn-admin-primary-hover);
}
.mn-admin-shell .mn-billing-banner--success {
  background: rgba(83, 185, 135, 0.10);
  border-color: rgba(83, 185, 135, 0.28);
  color: var(--mn-admin-success);
}
.mn-admin-shell .mn-billing-btn--primary {
  background: var(--mn-admin-gold-gradient);
  color: #fff;
  border: none;
}

/* ── System banners (layout.ejs) ───────────────────────────── */
.sysbanner {
  padding: 10px 24px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .85rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.sysbanner--spaced {
  justify-content: space-between;
}
.sysbanner__body {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sysbanner__icon {
  flex-shrink: 0;
}
.sysbanner__action {
  font-weight: 600;
  white-space: nowrap;
  text-decoration: underline;
}

/* Warning intent (pending review, payment failure) */
.mn-admin-shell .sysbanner--warning {
  background: linear-gradient(90deg, rgba(200,146,74,0.16), rgba(200,146,74,0.09));
  border-bottom-color: rgba(200,146,74,0.35);
  color: var(--mn-admin-primary-hover);
}
.mn-admin-shell .sysbanner--warning .sysbanner__action {
  color: var(--mn-admin-primary-hover);
}

/* Danger intent (needs resubmission) */
.mn-admin-shell .sysbanner--danger {
  background: linear-gradient(90deg, rgba(220,80,90,0.16), rgba(220,80,90,0.09));
  border-bottom-color: rgba(220,80,90,0.35);
  color: #f87171;
}

/* ── Data tables ───────────────────────────────────────────── */
.mn-admin-shell .dashboard-table {
  background: var(--mn-admin-surface);
  border-color: var(--mn-admin-border);
}
.mn-admin-shell .dashboard-table thead th {
  background: var(--mn-admin-surface-2);
  border-bottom-color: var(--mn-admin-border);
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .dashboard-table thead th:hover {
  color: var(--mn-admin-text);
}
.mn-admin-shell .dashboard-table tbody td {
  border-bottom-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .dashboard-table tbody tr:hover {
  background: var(--mn-admin-panel);
}
.mn-admin-shell .table-pagination {
  border-top-color: var(--mn-admin-border);
  color: var(--mn-admin-text-muted);
}

/* Bootstrap .table inside admin shell */
.mn-admin-shell .table {
  color: var(--mn-admin-text);
  border-color: var(--mn-admin-border);
}
.mn-admin-shell .table thead th,
.mn-admin-shell .table > thead > tr > th {
  background: var(--mn-admin-surface-2);
  border-bottom-color: var(--mn-admin-border);
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .table > tbody > tr > td,
.mn-admin-shell .table > tbody > tr > th {
  border-bottom-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(255,255,255,0.025);
  color: var(--mn-admin-text);
}
.mn-admin-shell .table-hover > tbody > tr:hover > * {
  background-color: var(--mn-admin-panel);
  color: var(--mn-admin-text);
}

/* ── Form controls ─────────────────────────────────────────── */
.mn-admin-shell .form-control,
.mn-admin-shell .form-select {
  background-color: var(--mn-admin-panel);
  border-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .form-control::placeholder,
.mn-admin-shell .form-select::placeholder {
  color: var(--mn-admin-text-dim);
}
.mn-admin-shell .form-control:focus,
.mn-admin-shell .form-select:focus {
  background-color: var(--mn-admin-panel);
  border-color: var(--mn-admin-primary);
  color: var(--mn-admin-text);
  box-shadow: 0 0 0 3px var(--mn-admin-focus-ring);
}
.mn-admin-shell .form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23968f84' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
.mn-admin-shell .form-control:disabled,
.mn-admin-shell .form-select:disabled {
  background-color: var(--mn-admin-surface-2);
  color: var(--mn-admin-text-dim);
  border-color: var(--mn-admin-border);
}
.mn-admin-shell .form-label {
  color: var(--mn-admin-text);
}
.mn-admin-shell .form-text {
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .form-check-input {
  background-color: var(--mn-admin-panel);
  border-color: var(--mn-admin-border-strong);
}
.mn-admin-shell .form-check-input:checked {
  background-color: var(--mn-admin-primary);
  border-color: var(--mn-admin-primary);
}
.mn-admin-shell .form-check-input:focus {
  box-shadow: 0 0 0 3px var(--mn-admin-focus-ring);
}
.mn-admin-shell .form-check-label {
  color: var(--mn-admin-text);
}
.mn-admin-shell .input-group-text {
  background-color: var(--mn-admin-surface-2);
  border-color: var(--mn-admin-border);
  color: var(--mn-admin-text-muted);
}

/* ── Modals ────────────────────────────────────────────────── */
.mn-admin-shell .modal-content {
  background: var(--mn-admin-surface);
  border-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .modal-header {
  border-bottom-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .modal-footer {
  border-top-color: var(--mn-admin-border);
}
.mn-admin-shell .modal-title {
  color: var(--mn-admin-text);
}
.mn-admin-shell .btn-close {
  filter: invert(1) grayscale(1) brightness(0.8);
}

/* ── Dropdowns ─────────────────────────────────────────────── */
.mn-admin-shell .dropdown-menu {
  background: var(--mn-admin-surface);
  border-color: var(--mn-admin-border);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.mn-admin-shell .dropdown-item {
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .dropdown-item:hover,
.mn-admin-shell .dropdown-item:focus {
  background: var(--mn-admin-panel);
  color: var(--mn-admin-text);
}
.mn-admin-shell .dropdown-item.active,
.mn-admin-shell .dropdown-item:active {
  background: rgba(200,146,74,0.14);
  color: var(--mn-admin-primary);
}
.mn-admin-shell .dropdown-divider {
  border-top-color: var(--mn-admin-border);
}
.mn-admin-shell .dropdown-header {
  color: var(--mn-admin-text-dim);
}

/* ── Alerts ────────────────────────────────────────────────── */
.mn-admin-shell .alert {
  border-width: 1px;
  border-style: solid;
}
.mn-admin-shell .alert-warning {
  background: var(--mn-admin-warning-soft);
  border-color: rgba(200,146,74,0.3);
  color: var(--mn-admin-primary-hover);
}
.mn-admin-shell .alert-danger {
  background: var(--mn-admin-danger-soft);
  border-color: rgba(220,80,90,0.3);
  color: #f87171;
}
.mn-admin-shell .alert-success {
  background: var(--mn-admin-success-soft);
  border-color: rgba(83,185,135,0.3);
  color: var(--mn-admin-success);
}
.mn-admin-shell .alert-info {
  background: rgba(150,143,132,0.1);
  border-color: var(--mn-admin-border);
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .alert-primary {
  background: rgba(200,146,74,0.12);
  border-color: rgba(200,146,74,0.25);
  color: var(--mn-admin-primary-hover);
}

/* ── Nav tabs and pills ────────────────────────────────────── */
.mn-admin-shell .nav-tabs {
  border-bottom-color: var(--mn-admin-border);
}
.mn-admin-shell .nav-tabs .nav-link {
  color: var(--mn-admin-text-muted);
  border-color: transparent;
}
.mn-admin-shell .nav-tabs .nav-link:hover {
  color: var(--mn-admin-text);
  border-color: var(--mn-admin-border);
  background: transparent;
}
.mn-admin-shell .nav-tabs .nav-link.active {
  background: var(--mn-admin-surface);
  border-color: var(--mn-admin-border) var(--mn-admin-border) var(--mn-admin-surface);
  color: var(--mn-admin-text);
}
.mn-admin-shell .nav-pills .nav-link {
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .nav-pills .nav-link:hover {
  background: var(--mn-admin-panel);
  color: var(--mn-admin-text);
}
.mn-admin-shell .nav-pills .nav-link.active {
  background: rgba(200,146,74,0.14);
  color: var(--mn-admin-primary);
}

/* ── Bootstrap generic .card inside admin shell ────────────── */
.mn-admin-shell .card {
  background: var(--mn-admin-surface);
  border-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .card-header {
  background: var(--mn-admin-surface-2);
  border-bottom-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .card-footer {
  background: var(--mn-admin-surface-2);
  border-top-color: var(--mn-admin-border);
}

/* ── Empty states ──────────────────────────────────────────── */
.mn-admin-shell .ml-empty,
.mn-admin-shell [class*="-empty"],
.mn-admin-shell .empty-state {
  color: var(--mn-admin-text-muted);
}
.mn-admin-shell .ml-empty .ml-empty-headline {
  color: var(--mn-admin-text);
}

/* ── Filter bars / segmented controls ─────────────────────── */
.mn-admin-shell .table-toolbar .search-input,
.mn-admin-shell .search-input {
  background: var(--mn-admin-panel);
  border-color: var(--mn-admin-border);
  color: var(--mn-admin-text);
}
.mn-admin-shell .search-input::placeholder {
  color: var(--mn-admin-text-dim);
}

/* ── Bootstrap utility overrides (surfaces only) ───────────── */
.mn-admin-shell .bg-white,
.mn-admin-shell .bg-light {
  background-color: var(--mn-admin-surface) !important;
}
.mn-admin-shell .text-dark {
  color: var(--mn-admin-text) !important;
}
.mn-admin-shell .text-muted {
  color: var(--mn-admin-text-muted) !important;
}
.mn-admin-shell .border,
.mn-admin-shell .border-bottom,
.mn-admin-shell .border-top {
  border-color: var(--mn-admin-border) !important;
}
