/* Shared palette. Light values retain the site's original appearance. */
:root {
  color-scheme: light;
  --mib-surface: #fff;
  --mib-surface-raised: #fafafa;
  --mib-surface-soft: #f3f4f6;
  --mib-surface-stripe: #f5f7fa;
  --mib-surface-disabled: #e5e7eb;
  --mib-page: #f0f0f0;
  --mib-ink-strong: #111827;
  --mib-ink: #1f2937;
  --mib-ink-secondary: #374151;
  --mib-muted-strong: #4b5563;
  --mib-muted: #6b7280;
  --mib-muted-blue: #64748b;
  --mib-subtle: #9ca3af;
  --mib-subtle-blue: #94a3b8;
  --mib-border-soft: #e5e7eb;
  --mib-border: #d1d5db;
  --mib-border-input: #ced4da;
  --mib-border-input-blue: #cbd5e1;
  --mib-border-strong: #9ca3af;
  --mib-border-tile: #d8e0ea;
  --mib-border-faint: #edf1f5;
  --mib-border-tab: #d6dee6;
  --mib-link: #2563eb;
  --mib-link-hover: #1d4ed8;
}

:root[data-bs-theme="dark"] {
  color-scheme: dark;
  --mib-body-bg: #101722;
  --mib-page: #101722;
  --mib-surface: #192332;
  --mib-surface-raised: #1e2a3b;
  --mib-surface-soft: #253247;
  --mib-surface-stripe: #202d40;
  --mib-surface-disabled: #2b3748;
  --mib-ink-strong: #f1f5f9;
  --mib-ink: #e2e8f0;
  --mib-ink-secondary: #d5deea;
  --mib-muted-strong: #bdc9d8;
  --mib-muted: #a6b5c7;
  --mib-muted-blue: #a6b5c7;
  --mib-subtle: #99a9bc;
  --mib-subtle-blue: #99a9bc;
  --mib-border-soft: #334155;
  --mib-border: #45566c;
  --mib-border-input: #45566c;
  --mib-border-input-blue: #45566c;
  --mib-border-strong: #667991;
  --mib-border-tile: #45566c;
  --mib-border-faint: #334155;
  --mib-border-tab: #45566c;
  --mib-link: #91bfff;
  --mib-link-hover: #c0daff;
  --mib-nav-bg: #19334f;
  --mib-nav-active: #2c5075;
  --bs-body-bg: var(--mib-surface);
  --bs-body-color: var(--mib-ink);
  --bs-body-color-rgb: 226, 232, 240;
  --bs-secondary-color: var(--mib-muted);
  --bs-secondary-color-rgb: 166, 181, 199;
  --bs-tertiary-bg: var(--mib-surface-soft);
  --bs-border-color: var(--mib-border);
  --bs-link-color: var(--mib-link);
  --bs-link-color-rgb: 145, 191, 255;
  --bs-link-hover-color: var(--mib-link-hover);
  --bs-link-hover-color-rgb: 192, 218, 255;
}

[data-bs-theme="dark"] .table {
  --bs-table-color: var(--mib-ink);
  --bs-table-bg: var(--mib-surface);
  --bs-table-border-color: var(--mib-border-soft);
}

:root[data-bs-theme="dark"] .table > tbody > tr:hover > :is(td, th) {
  --bs-table-bg: #2b3c54;
  background-color: #2b3c54;
}

[data-bs-theme="dark"] :is(.form-control, .form-select, .input-group-text, .list-group-item) {
  background-color: var(--mib-surface);
  border-color: var(--mib-border);
  color: var(--mib-ink);
}

[data-bs-theme="dark"] :is(.form-control, .form-select):disabled {
  background-color: var(--mib-surface-disabled);
  color: var(--mib-muted);
}

[data-bs-theme="dark"] .form-control::placeholder { color: var(--mib-muted); }
[data-bs-theme="dark"] .form-control.bg-white { background-color: var(--mib-surface) !important; }
[data-bs-theme="dark"] .bg-light { background-color: var(--mib-surface-soft) !important; }
[data-bs-theme="dark"] .text-dark { color: var(--mib-ink-strong) !important; }
[data-bs-theme="dark"] .text-danger { color: #fca5a5 !important; }
[data-bs-theme="dark"] .text-success { color: #86efac !important; }
[data-bs-theme="dark"] .text-warning { color: #fde68a !important; }

[data-bs-theme="dark"] :is(.mib-user-menu, .mib-user-dropdown-toggle, .mib-header-xxx-menu-btn) {
  background: var(--mib-surface);
  border-color: var(--mib-border);
  color: var(--mib-ink);
}

[data-bs-theme="dark"] :is(.mib-user-icon, .mib-user-menu-caret, .mib-bank-current-label) {
  color: var(--mib-ink);
}

[data-bs-theme="dark"] .mib-user-menu .dropdown-item,
[data-bs-theme="dark"] .mib-user-menu .dropdown-item-sm {
  color: var(--mib-ink);
}

[data-bs-theme="dark"] :is(.mib-user-menu .dropdown-item, .mib-user-dropdown-toggle, .mib-header-xxx-menu-btn):is(:hover, :focus, .show) {
  background: var(--mib-surface-soft) !important;
  color: var(--mib-ink-strong);
}

[data-bs-theme="dark"] :is(.mib-announcement-title, .mib-resource-file-icon, .mib-logo-fallback,
  .mib-receipt-detail-section h3, .mib-receipt-report-section h3) {
  color: var(--mib-link);
}

[data-bs-theme="dark"] .mib-main .mib-account-page a:not(.btn) { color: var(--mib-link); }
[data-bs-theme="dark"] .mib-admin-card-icon { color: var(--mib-link); }
[data-bs-theme="dark"] :is(.form-control, .form-select, .form-check-input):focus {
  border-color: var(--mib-link);
  box-shadow: 0 0 0 0.15rem rgb(145 191 255 / 25%);
}

[data-bs-theme="dark"] .mib-report-type-tabs .nav-link {
  color: var(--mib-link);
  border-color: var(--mib-border);
}
[data-bs-theme="dark"] .mib-report-type-tabs .nav-link.active {
  background: var(--mib-surface);
  color: var(--mib-ink-strong);
  border-bottom-color: var(--mib-surface);
}

[data-bs-theme="dark"] .mib-request-form-panel .mib-form-notice {
  color: #fecaca;
  background: #421f28;
  border-color: #9a4859;
}
[data-bs-theme="dark"] .mib-request-form-panel .mib-form-notice-warning {
  color: #fde68a;
  background: #3a301a;
  border-color: #a18132;
}

[data-bs-theme="dark"] .mib-resource-subcategory { background: #303357; color: #d3d4ff; }
[data-bs-theme="dark"] .mib-resource-subcategory-security { background: #421f28; color: #fecaca; }
[data-bs-theme="dark"] .mib-resource-subcategory-compliance { background: #3a301a; color: #fde68a; }
[data-bs-theme="dark"] .mib-resource-subcategory-lending { background: #203957; color: #bfdbfe; }
[data-bs-theme="dark"] .mib-resource-subcategory-operations { background: #153848; color: #bae6fd; }
[data-bs-theme="dark"] .mib-resource-subcategory-risk { background: #442039; color: #fbcfe8; }
[data-bs-theme="dark"] .mib-resource-subcategory-treasury { background: #153a2a; color: #bbf7d0; }
[data-bs-theme="dark"] .mib-resource-subcategory-other { background: var(--mib-surface-soft); color: var(--mib-ink); }

[data-bs-theme="dark"] :is(.mib-report-download, .mib-receipt-pledge-download) img { filter: brightness(0) invert(0.85); }
[data-bs-theme="dark"] .mib-reports-page .mib-report-download:hover { background: var(--mib-surface-soft); }
[data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: var(--mib-link);
  --bs-btn-border-color: #729cce;
  --bs-btn-hover-bg: #294d75;
  --bs-btn-hover-border-color: #91bfff;
}
[data-bs-theme="dark"] .btn-outline-secondary { --bs-btn-color: var(--mib-muted-strong); }
[data-bs-theme="dark"] .btn-outline-danger {
  --bs-btn-color: #fda4af;
  --bs-btn-border-color: #be6170;
}

/* The login layout has its own inline styles rather than site.css. */
[data-bs-theme="dark"] body.login-layout {
  background: linear-gradient(135deg, #071320, #102f49) !important;
}
[data-bs-theme="dark"] .login-card {
  background: var(--mib-surface);
  color: var(--mib-ink);
  border-color: var(--mib-border);
}
[data-bs-theme="dark"] .login-card .login-title { color: var(--mib-link); }
[data-bs-theme="dark"] .login-card :is(.login-intro, .login-field-hint, .login-help) { color: var(--mib-muted); }
[data-bs-theme="dark"] .login-card .form-label { color: var(--mib-ink); }
[data-bs-theme="dark"] .login-card .form-control {
  color: var(--mib-ink);
  background: var(--mib-surface-raised);
  border-color: var(--mib-border);
}
[data-bs-theme="dark"] .login-card .login-footer a { color: var(--mib-link); }
[data-bs-theme="dark"] .login-card .validation-summary-errors {
  color: #fecaca;
  background: #421f28;
  border-color: #9a4859;
}
[data-bs-theme="dark"] .login-card .text-danger { color: #fca5a5 !important; }
