/**
 * Nanban Ivory Final — wins over ALL legacy dark CSS (pro-polish, trainer-reports, tesla-dark remnants)
 * Loads last. International standard warm ivory ERP theme.
 */

html.nb-ivory-theme {
  color-scheme: light;
}

/* ── Global pro-app canvas (beats pro-polish #0f172a) ── */
html.nb-ivory-theme html.nanban-authed,
html.nb-ivory-theme html.nanban-authed body.nanban-pro-app.nanban-authed,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode),
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp.nanban-glass-app,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp {
  background: #f7f5f2 !important;
  background-image:
    radial-gradient(ellipse 120% 90% at -8% -25%, rgba(220, 38, 38, 0.05), transparent 55%),
    radial-gradient(ellipse 90% 70% at 105% -10%, rgba(79, 70, 229, 0.04), transparent 50%),
    #f7f5f2 !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-main {
  background: transparent !important;
  color: #18181b !important;
}

/* ── Top bar (beats premium-saas rgba(9,9,11)) ── */
html.nb-ivory-theme body.nanban-pro-app #mainApp .top-bar,
html.nb-ivory-theme body.nanban-pro-app #mainApp header.top-bar,
html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-app-header {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #18181b !important;
  box-shadow: 0 2px 16px rgba(15, 23, 42, 0.06) !important;
}

/* ── Cards, panels, glass ── */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .bg-white,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .wizard-step,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .modal-content,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .bg-light,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .glass-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .metric-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .dash-card-v2,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .dash-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-student-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .nanban-mac-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .dash-enq-analytics-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .dash-enq-analytics-controls,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .list-filter-shell,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .nb-crm-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .chart-container,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .action-item,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .settings-pane-panel,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .settings-sidenav,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain #newSection .ad-wiz-left,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain #newSection .ad-wiz-panel,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain #newSection .ad-wiz-bill,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain #newSection .ad-wiz-paybox {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #18181b !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06) !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .action-item {
  background: #f8fafc !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .action-item:hover {
  background: #eff6ff !important;
  border-color: rgba(79, 70, 229, 0.2) !important;
}

/* ── Form controls ── */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain input,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain select,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain textarea,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .form-control,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-input {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  color: #18181b !important;
  color-scheme: light !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain input:focus,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain select:focus,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain textarea:focus {
  border-color: rgba(79, 70, 229, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain select option {
  background: #ffffff !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain input[type="date"]::-webkit-calendar-picker-indicator {
  filter: none !important;
  opacity: 0.7 !important;
}

/* ── Typography ── */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain h1,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain h2,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain h3,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain h4,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .stat-val {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain label,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .stat-label,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain small {
  color: #64748b !important;
}

/* ── Wizard steps ── */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .j-step {
  background: #f1f5f9 !important;
  border-color: rgba(15, 23, 42, 0.12) !important;
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .j-step.active {
  background: rgba(79, 70, 229, 0.12) !important;
  border-color: #6366f1 !important;
  color: #4338ca !important;
}

/* ── Student cards ── */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-student-card .inner-fee-box,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-student-card .card-finance-box,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-student-card .reminder-btn,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .admission-form .add-badge-row,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .admission-form .ad-wiz-badge-block,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .admission-form .fee-lines-container,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .admission-form .ad-wiz-fees,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .admission-form #feeSplits,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .admission-form .ad-wiz-paybox,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .admission-form .ad-wiz-pvr-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .admission-form .ad-wiz-pill.ad-wiz-cart-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .vehicle-toggle-btn {
  background: #fafaf9 !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #334155 !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-student-card .card-name,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .nb-crm-card__name {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-student-card .card-subtext,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-student-card .finance-label {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .premium-student-card .finance-value {
  color: #18181b !important;
}

/* ── Admission wizard (#newSection inline dark overrides) ── */
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-wrap,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-right,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-veh-grid,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-svc-row,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .toggle-switch,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .switch-slider {
  background: transparent !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .svc-opt-card {
  background: #fafaf9 !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #334155 !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .svc-opt-card--on,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .vehicle-toggle-btn.active {
  background: rgba(220, 38, 38, 0.08) !important;
  border-color: rgba(220, 38, 38, 0.35) !important;
  color: #b91c1c !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-inp,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-cell input,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-cell select,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-fees input,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-paygrid input,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-paygrid select,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-paygrid input[type="date"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-date-inp {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  color: #18181b !important;
  color-scheme: light !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-date-btn {
  background: rgba(79, 70, 229, 0.08) !important;
  border-color: rgba(79, 70, 229, 0.35) !important;
  color: #4338ca !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-lbl {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain #newSection .ad-wiz-glass-card {
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

/* ── Fancy / Parivahan (ERP light gold accent) ── */
html.nb-ivory-theme body.nanban-pro-app #nbAppMain #fancySection.fancy-vip-section-wrap {
  background:
    radial-gradient(ellipse 90% 60% at 80% 10%, rgba(217, 119, 6, 0.08), transparent 50%),
    radial-gradient(ellipse 120% 80% at 50% -20%, rgba(212, 175, 55, 0.1), transparent 55%),
    linear-gradient(180deg, #faf9f7 0%, #f7f5f2 42%, #f3f1ed 100%) !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-vip-card,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-vip-card--foot {
  background: #ffffff !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06) !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-plate-preview {
  background: linear-gradient(165deg, #fefce8 0%, #fffbeb 55%, #fef3c7 100%) !important;
  border: 2px solid rgba(184, 134, 11, 0.65) !important;
  color: #78350f !important;
  text-shadow: none !important;
  box-shadow: 0 8px 24px rgba(217, 119, 6, 0.12) !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-plate-preview small {
  color: #92400e !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-bulk-chip {
  background: #fffbeb !important;
  border-color: rgba(212, 175, 55, 0.35) !important;
  color: #78350f !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-filter-row {
  background: #fafaf9 !important;
  border-color: rgba(212, 175, 55, 0.15) !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-filter-row label {
  color: #475569 !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-filter-row select {
  background: #ffffff !important;
  color: #78350f !important;
  border-color: rgba(212, 175, 55, 0.35) !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-range-title-ta {
  color: #15803d !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .fancy-range-desc {
  color: #64748b !important;
}

/* ── Trainer / Master section ── */
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-hero,
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-filter-bar,
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-km-panel,
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-bento,
html.nb-ivory-theme body.nanban-pro-app #trainerTestCardsContainer .nb-trainer-test-card {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06) !important;
  backdrop-filter: none !important;
}

html.nb-ivory-theme body.nanban-pro-app #masterSection h3,
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-bento__name {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-km-panel label,
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-bento__meta,
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-bento__stat-k {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-km-panel input.premium-input,
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-filter-bar input,
html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-filter-bar select {
  background: #ffffff !important;
  color: #18181b !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
}

html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-bento__stats {
  background: #f8fafc !important;
  border-color: rgba(15, 23, 42, 0.06) !important;
}

html.nb-ivory-theme body.nanban-pro-app #masterSection .nb-trainer-bento__stat-v {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app .nb-trainer-quick-dock {
  background: rgba(255, 255, 255, 0.96) !important;
  border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 -8px 32px rgba(15, 23, 42, 0.08) !important;
}

html.nb-ivory-theme body.nanban-pro-app .nb-trainer-quick-dock__btn {
  background: #f8fafc !important;
  border-color: rgba(15, 23, 42, 0.1) !important;
  color: #334155 !important;
}

html.nb-ivory-theme body.nanban-pro-app .nb-spot-sheet__panel {
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.12) !important;
}

html.nb-ivory-theme body.nanban-pro-app .nb-spot-sheet__title {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app .nb-spot-sheet__amt {
  background: #fffbeb !important;
  color: #b45309 !important;
  border-color: rgba(217, 119, 6, 0.35) !important;
}

/* ── Reports section (undo trainer-reports dark) ── */
html.nb-ivory-theme body.nanban-pro-app #reportSection {
  background: transparent !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection .glass-card,
html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-report-toolbar,
html.nb-ivory-theme body.nanban-pro-app #reportSection .metric-card {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #18181b !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection #repMonthSelect,
html.nb-ivory-theme body.nanban-pro-app #reportSection #repFrom,
html.nb-ivory-theme body.nanban-pro-app #reportSection #repTo,
html.nb-ivory-theme body.nanban-pro-app #reportSection #azReportMonthSelect,
html.nb-ivory-theme body.nanban-pro-app #reportSection input[type="number"],
html.nb-ivory-theme body.nanban-pro-app #reportSection select,
html.nb-ivory-theme body.nanban-pro-app #reportSection input {
  background: #ffffff !important;
  color: #18181b !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection select option {
  background: #ffffff !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection .metric-card h3 {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection table,
html.nb-ivory-theme body.nanban-pro-app #reportSection #repIncomeTable,
html.nb-ivory-theme body.nanban-pro-app #reportSection #repExpenseTable,
html.nb-ivory-theme body.nanban-pro-app #reportSection #repCrossVerifyTable,
html.nb-ivory-theme body.nanban-pro-app #reportSection #filingIndexList {
  background: #ffffff !important;
  color: #334155 !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection table th {
  background: #f8fafc !important;
  color: #475569 !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection table td {
  color: #334155 !important;
  border-color: rgba(15, 23, 42, 0.06) !important;
}

/* Preserve semantic highlight cards in reports */
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background:#f0fdf4"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background: #f0fdf4"] {
  background: #f0fdf4 !important;
  color: #166534 !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background:#fef2f2"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background: #fef2f2"] {
  background: #fef2f2 !important;
  color: #991b1b !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background:#eff6ff"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background: #eff6ff"] {
  background: #eff6ff !important;
  color: #1e40af !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background:#fffbeb"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background: #fffbeb"] {
  background: #fffbeb !important;
  color: #92400e !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background:#f8fafc"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background: #f8fafc"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background: white"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background:white"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="background:#fff"] {
  background: #f8fafc !important;
  color: #334155 !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="color:#0f172a"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="color:#475569"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="color:#64748b"] {
  color: inherit !important;
}

/* ── Settings section ── */
html.nb-ivory-theme body.nanban-pro-app #settingsSection {
  background: transparent !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-page-hero h2 {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-page-hero p {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .nb-settings-glass,
html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-pane-panel,
html.nb-ivory-theme body.nanban-pro-app #settingsSection .glass-card,
html.nb-ivory-theme body.nanban-pro-app #nanbanSettingsMenu .settings-pane-panel.is-active {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #18181b !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection input,
html.nb-ivory-theme body.nanban-pro-app #settingsSection select,
html.nb-ivory-theme body.nanban-pro-app #settingsSection textarea {
  background: #ffffff !important;
  color: #18181b !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection select option {
  background: #ffffff !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection label {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:linear-gradient(to right, #eff6ff"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:linear-gradient(to right, #ecfeff"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:linear-gradient(135deg,#f0f9ff"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:linear-gradient(to right, #fffbeb"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:linear-gradient(to right, #ecfdf5"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:#f8fafc"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background: white"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:white"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:#fffbeb"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:#fef2f2"],
html.nb-ivory-theme body.nanban-pro-app #settingsSection [style*="background:#f0fdf4"] {
  background: inherit !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection #settingsRtoChecklistSection {
  background: #f0fdf4 !important;
  border-color: rgba(5, 150, 105, 0.25) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-nav-group {
  color: #94a3b8 !important;
}

/* ── Iron basement / financial panels ── */
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .nb-iron-panel,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .nb-iron-card,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [class*="iron-"] {
  background: #ffffff !important;
  color: #18181b !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

/* ── CRM card dark remnant ── */
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .nb-crm-card__badge,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .list-bulk-bar {
  background: #f8fafc !important;
  color: #334155 !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

/* ── JS inline dark headers in modals/panels ── */
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [style*="background:#0f172a"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [style*="background: #0f172a"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [style*="background:#18181b"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [style*="background: #18181b"] {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain tr[style*="background:#0f172a"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain tr[style*="background: #0f172a"] {
  background: #f8fafc !important;
  color: #18181b !important;
}

/* ── E-Sevai deposit button in ERP ── */
html.nb-ivory-theme body.nanban-pro-app #nbAppMain button[style*="background:#0f172a"] {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════
   FRONT PAGE — font visibility (hero, sections, footer)
   ═══════════════════════════════════════════════════════════════ */
html.nb-ivory-theme #loginScreen,
html.nb-ivory-theme #publicPortal,
html.nb-ivory-theme #loginScreen .nb-hero-content {
  color: #18181b !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-kicker,
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-kicker {
  color: #475569 !important;
  text-shadow: none !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-title,
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-title,
html.nb-ivory-theme #loginScreen .nb-hero-title-main {
  color: #18181b !important;
  text-shadow: none !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-title-gradient,
html.nb-ivory-theme #loginScreen #nbHeroSchoolName,
html.nb-ivory-theme #loginScreen .nb-hero-school-name {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #0f172a !important;
  color: #0f172a !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-sub,
html.nb-ivory-theme #loginScreen .nb-hero-lead,
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-lead {
  color: #475569 !important;
  text-shadow: none !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-trust span {
  color: #64748b !important;
  text-shadow: none !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-title .nb-line-accent,
html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-title .nb-line-accent {
  color: #64748b !important;
  text-shadow: none !important;
}

html.nb-ivory-theme #loginScreen .nb-section-title,
html.nb-ivory-theme #loginScreen h2.nb-section-title {
  color: #18181b !important;
}

html.nb-ivory-theme #loginScreen .nb-section-lead,
html.nb-ivory-theme #publicPortal .nb-section-lead {
  color: #475569 !important;
}

html.nb-ivory-theme #loginScreen .nb-bento-cell h3,
html.nb-ivory-theme #loginScreen .nb-bento-en,
html.nb-ivory-theme #publicPortal .nb-public-bento-card h3 {
  color: #18181b !important;
}

html.nb-ivory-theme #loginScreen .nb-bento-ta,
html.nb-ivory-theme #publicPortal .nb-public-bento-card p {
  color: #475569 !important;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-stat strong {
  background: linear-gradient(180deg, #18181b 0%, #dc2626 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #18181b;
}

html.nb-ivory-theme #loginScreen.nb-ultra .nb-hero-stat span {
  color: #64748b !important;
}

html.nb-ivory-theme #loginScreen .nb-enquiry-copy,
html.nb-ivory-theme #loginScreen .nb-enquiry-perk {
  color: #334155 !important;
}

html.nb-ivory-theme #loginScreen .nb-footer-grid h4 {
  color: #64748b !important;
}

html.nb-ivory-theme #loginScreen .nb-footer-partner,
html.nb-ivory-theme #loginScreen .nb-footer-partner strong {
  color: #475569 !important;
}

html.nb-ivory-theme #loginScreen .nb-footer-partner strong {
  color: #18181b !important;
}

/* ═══════════════════════════════════════════════════════════════
   ERP GLOBAL — #mainApp typography beats inline dark remnants
   ═══════════════════════════════════════════════════════════════ */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp #nbAppMain,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-main {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp h1,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp h2,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp h3,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp h4,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .stat-val,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp p,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp span:not(.btn):not(.tag-expiry):not(.tag-30day) {
  color: inherit;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp h2,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp h3,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp h4 {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp #nbHeaderUser,
html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-top-logout,
html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-top-logout-text,
html.nb-ivory-theme body.nanban-pro-app #mainApp #notifBell {
  color: #334155 !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp #notifBell {
  background: #f8fafc !important;
}

/* Settings — reinforce enterprise CSS variables */
html.nb-ivory-theme body.nanban-pro-app #settingsSection,
html.nb-ivory-theme #settingsSection {
  --set-text: #18181b !important;
  --set-muted: #64748b !important;
  --set-surface: #ffffff !important;
  --set-input: #ffffff !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection h3,
html.nb-ivory-theme body.nanban-pro-app #settingsSection h4,
html.nb-ivory-theme body.nanban-pro-app #settingsSection label,
html.nb-ivory-theme body.nanban-pro-app #settingsSection .nb-set-label,
html.nb-ivory-theme #settingsSection h3,
html.nb-ivory-theme #settingsSection h4,
html.nb-ivory-theme #settingsSection label {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .nb-set-hint,
html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-page-hero p,
html.nb-ivory-theme #settingsSection .nb-set-hint {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-sidenav,
html.nb-ivory-theme #settingsSection .settings-sidenav {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .nb-set-cat-btn,
html.nb-ivory-theme #settingsSection .nb-set-cat-btn {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .nb-set-cat-btn--active,
html.nb-ivory-theme #settingsSection .nb-set-cat-btn--active {
  color: #b91c1c !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection table th,
html.nb-ivory-theme body.nanban-pro-app #settingsSection table td,
html.nb-ivory-theme #settingsSection table th,
html.nb-ivory-theme #settingsSection table td {
  color: #334155 !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection table thead tr {
  background: #f8fafc !important;
}

/* List / chit / expense sections dark inline remnants */
html.nb-ivory-theme body.nanban-pro-app #listSection,
html.nb-ivory-theme body.nanban-pro-app #chitSection,
html.nb-ivory-theme body.nanban-pro-app #expenseSection,
html.nb-ivory-theme body.nanban-pro-app #fleetSection,
html.nb-ivory-theme body.nanban-pro-app #dashSection {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .premium-student-card,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .nb-crm-card {
  background: #ffffff !important;
  color: #18181b !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

html.nb-ivory-theme body.nanban-pro-app #nbAppMain .premium-student-card .card-name,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .finance-value {
  color: #18181b !important;
}

/* pro-polish global dark bg kill */
html.nb-ivory-theme html.nanban-authed,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode),
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp.nanban-glass-app {
  background: #f7f5f2 !important;
  color: #18181b !important;
}
