/* ============================================================
   Mint themes — token overrides only. The Classic theme is the
   :root block in theme.css. Administrators choose the platform theme
   under Administration → Settings → Appearance; the choice is applied
   as data-theme / data-density on <html> before the app renders.
   ============================================================ */

/* ---------------- Bank Formal ----------------
   Conservative, print-like: ivory surfaces, charcoal sidebar with gold
   hairlines, serif headings, squared corners, borders instead of shadows,
   denser tables, small-caps section labels. */
:root[data-theme="formal"] {
  --navy-950: #14181e;
  --navy-900: #1c2430;
  --navy-800: #2a3442;
  --navy-700: #3a4759;
  --accent: #1c3d6e;
  --accent-600: #152f56;
  --accent-100: #e8edf4;
  --gold: #a8893a;
  --bg: #f4f2ec;
  --surface: #fffdf8;
  --surface-2: #f2efe7;
  --surface-3: #f7f4ed;
  --border: #d8d2c3;
  --border-soft: #ebe6da;
  --text: #1f2933;
  --text-soft: #5c6670;
  --heading: #1c2430;
  --heading-2: #2a3442;
  --code-bg: #efece3;
  --input-bg: #fffdf8;
  --radius: 3px;
  --radius-sm: 2px;
  --radius-xs: 2px;
  --radius-pill: 3px;
  --shadow: none;
  --shadow-pop: 0 12px 40px rgba(20, 24, 30, 0.35);
  --heading-font: Georgia, "Times New Roman", "Cambria", serif;
  --heading-weight: 600;
  --font-size: 14px;
  --sidebar-bg: #1b2129;
  --sidebar-text: #cdc7b9;
  --sidebar-item: #d9d3c5;
  --sidebar-muted: #7d786a;
  --sidebar-sub: #9b957f;
  --sidebar-hover: rgba(255, 255, 255, 0.05);
  --sidebar-active-bg: rgba(168, 137, 58, 0.16);
  --sidebar-active-text: #f1e7cc;
  --sidebar-active-border: var(--gold);
  --sidebar-border: rgba(255, 255, 255, 0.09);
  --brand-mark-bg: linear-gradient(135deg, #a8893a 0%, #d2b45d 100%);
  --topbar-bg: #fffdf8;
  --stage-past-bg: #e9efe6;
  --stage-past-text: #37543f;
  --stage-past-border: #cbd9c8;
  --chip-bg: #efece3;
  --overlay: rgba(20, 24, 30, 0.5);
  --modal-bg: #fffdf8;
  --toast-bg: #1c2430;
  --help-head-bg: #1c2430;
  --focus: #8a6f2c;
  --login-bg: linear-gradient(160deg, #14181e 0%, #1c2430 55%, #2a3442 100%);
  --section-transform: uppercase;
  --section-spacing: 1.4px;
}
:root[data-theme="formal"] .sidebar .brand { border-bottom: 1px solid var(--gold); margin: 0 12px; padding-left: 6px; padding-right: 6px; }
:root[data-theme="formal"] .brand-mark { color: #1c2430; }
:root[data-theme="formal"] .nav-section { color: var(--gold); letter-spacing: 1.6px; font-size: 10px; }
:root[data-theme="formal"] .nav-item.active { font-weight: 600; }
:root[data-theme="formal"] .topbar { border-bottom: 2px solid #e1dbcc; box-shadow: inset 0 -1px 0 var(--gold); }
:root[data-theme="formal"] .page-head h1 { font-size: 24px; letter-spacing: .2px; }
:root[data-theme="formal"] .page-head { border-bottom: 1px solid var(--border); padding-bottom: 12px; }
:root[data-theme="formal"] .card { border-color: var(--border); }
:root[data-theme="formal"] .card-pad h3 { font-size: 16.5px; }
:root[data-theme="formal"] table.grid th, :root[data-theme="formal"] .scorecard th { font-variant: small-caps; text-transform: none; letter-spacing: 1px; font-size: 13px; color: var(--heading-2); border-bottom: 2px solid #cfc8b6; }
:root[data-theme="formal"] table.grid td { border-bottom-color: #e6e1d3; }
:root[data-theme="formal"] .stat .n { font-family: var(--heading-font); font-weight: 600; }
:root[data-theme="formal"] .btn { letter-spacing: .2px; }
:root[data-theme="formal"] .btn-primary { background: var(--accent); border-color: var(--accent-600); }
:root[data-theme="formal"] .pill { font-weight: 600; letter-spacing: .2px; }
:root[data-theme="formal"] .section-title { font-variant: small-caps; text-transform: none; font-size: 13.5px; letter-spacing: 1.2px; color: var(--heading-2); border-bottom: 1px solid #cfc8b6; }
:root[data-theme="formal"] .avatar { background: var(--gold); color: #1c2430; }
:root[data-theme="formal"] .stat-row .card { border-top: 3px solid var(--gold); }
:root[data-theme="formal"] .modal-head h3 { font-size: 18px; }
:root[data-theme="formal"] .login-card { border: 1px solid var(--gold); }
:root[data-theme="formal"] .kv dt { font-variant: small-caps; letter-spacing: .5px; }
:root[data-theme="formal"] .tab.active { color: var(--heading); border-bottom-color: var(--gold); }
:root[data-theme="formal"] .stage-chip.current { background: var(--accent); }
:root[data-theme="formal"] .dash-title { font-family: var(--heading-font); }

/* ---------------- density ---------------- */
:root[data-density="compact"] {
  --pad: 14px;
  --pad-x: 16px;
  --row-pad: 6px;
  --font-size: 13.5px;
}
:root[data-density="compact"] .page-head { margin-bottom: 12px; }
:root[data-density="compact"] .stat { padding: 10px 14px; }
:root[data-density="compact"] .stat .n { font-size: 22px; }
:root[data-density="compact"] .f-row { margin-bottom: 10px; }
:root[data-density="compact"] .content { padding: 16px 20px 40px; }
:root[data-density="compact"] .nav-item { padding: 6px 10px; }
