/**
 * Nanban Theme Nuclear — FINAL authority (warm ivory + high-contrast text)
 * Beats pro-polish, tesla-typography, trainer-reports, pro-shell remnants
 */

html.nb-ivory-theme {
  --nb-ink: #1c1917;
  --nb-ink-strong: #0c0a09;
  --nb-body: #374151;
  --nb-muted: #4b5563;
  --nb-canvas: #f3f0eb;
  --nb-card: #ffffff;
  --nb-border: rgba(28, 25, 23, 0.12);
  --nb-border-strong: rgba(28, 25, 23, 0.18);
  color-scheme: light;
}

/* ═══ CANVAS — warm ivory, not stark white ═══ */
html.nb-ivory-theme,
html.nb-ivory-theme body,
html.nb-ivory-theme html.nanban-authed,
html.nb-ivory-theme html.nanban-authed body,
html.nb-ivory-theme body.nanban-pro-app,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode),
html.nb-ivory-theme body.nanban-pro-app #mainApp,
html.nb-ivory-theme body.nanban-pro-app #mainApp.nanban-glass-app {
  background: var(--nb-canvas) !important;
  background-image:
    radial-gradient(ellipse 120% 90% at -8% -25%, rgba(220, 38, 38, 0.04), transparent 55%),
    radial-gradient(ellipse 90% 70% at 105% -10%, rgba(79, 70, 229, 0.03), transparent 50%),
    var(--nb-canvas) !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme #nbAppMain,
html.nb-ivory-theme #mainApp .nb-app-main {
  background: transparent !important;
  color: var(--nb-ink) !important;
}

/* ═══ GLOBAL READABLE TEXT ═══ */
html.nb-ivory-theme body.nanban-pro-app #mainApp,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain,
html.nb-ivory-theme #loginScreen,
html.nb-ivory-theme #publicPortal {
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp h1,
html.nb-ivory-theme body.nanban-pro-app #mainApp h2,
html.nb-ivory-theme body.nanban-pro-app #mainApp h3,
html.nb-ivory-theme body.nanban-pro-app #mainApp h4,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain h1,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain h2,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain h3,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain h4 {
  color: var(--nb-ink-strong) !important;
  text-shadow: none !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp p,
html.nb-ivory-theme body.nanban-pro-app #mainApp label,
html.nb-ivory-theme body.nanban-pro-app #mainApp .stat-label,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain p,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain label,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .stat-label,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain small {
  color: var(--nb-muted) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .stat-val,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .stat-val {
  color: var(--nb-ink-strong) !important;
}

/* ═══ CARDS — white with visible border (not flat white-on-white) ═══ */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .glass-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .metric-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .dash-card,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .dash-card-v2,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .list-filter-shell,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .premium-student-card,
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 .nb-report-surface,
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 .wizard-step,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .card {
  background: var(--nb-card) !important;
  background-image: none !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
  box-shadow: 0 2px 8px rgba(28, 25, 23, 0.06), 0 1px 2px rgba(28, 25, 23, 0.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .glass-card:hover,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .metric-card:hover {
  border-color: rgba(220, 38, 38, 0.25) !important;
  box-shadow: 0 8px 24px rgba(28, 25, 23, 0.1) !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .metric-card h1,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .metric-card h2,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .metric-card h3,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .glass-card b,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .pvr-card-name {
  color: var(--nb-ink-strong) !important;
}

/* ═══ INPUTS — always visible ═══ */
html.nb-ivory-theme body.nanban-pro-app #mainApp input,
html.nb-ivory-theme body.nanban-pro-app #mainApp select,
html.nb-ivory-theme body.nanban-pro-app #mainApp textarea,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain input,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain select,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain textarea,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain .form-control {
  background: #ffffff !important;
  color: var(--nb-ink-strong) !important;
  border: 1px solid var(--nb-border-strong) !important;
  color-scheme: light !important;
}

html.nb-ivory-theme body.nanban-pro-app input::placeholder,
html.nb-ivory-theme body.nanban-pro-app textarea::placeholder {
  color: #9ca3af !important;
  opacity: 1 !important;
}

html.nb-ivory-theme body.nanban-pro-app select option {
  background: #ffffff !important;
  color: var(--nb-ink) !important;
}

/* ═══ TOP BAR + SIDEBAR ═══ */
html.nb-ivory-theme body.nanban-pro-app #mainApp .top-bar,
html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-app-header {
  background: #ffffff !important;
  border-bottom: 1px solid var(--nb-border) !important;
  color: var(--nb-ink-strong) !important;
  box-shadow: 0 1px 8px rgba(28, 25, 23, 0.06) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .top-bar > div:first-child > div:first-child,
html.nb-ivory-theme body.nanban-pro-app #mainApp #syncStatus,
html.nb-ivory-theme body.nanban-pro-app #mainApp #nbHeaderUser {
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-app-sidebar,
html.nb-ivory-theme body.nanban-pro-app #mainApp #nbAppSidebar,
html.nb-ivory-theme body.nanban-pro-app #mainApp .tabs-wrapper {
  background: #ffffff !important;
  border-color: var(--nb-border) !important;
  color: var(--nb-body) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item,
html.nb-ivory-theme body.nanban-pro-app #mainApp .tab {
  color: var(--nb-muted) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item .nb-nav-en {
  color: var(--nb-body) !important;
}

/* ═══ SETTINGS — kill all dark overrides ═══ */
html.nb-ivory-theme #settingsSection,
html.nb-ivory-theme body.nanban-pro-app #settingsSection {
  background: transparent !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-page-hero {
  background: transparent !important;
  border: none !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-page-hero h2 {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-page-hero p {
  color: var(--nb-body) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-sidenav,
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 #settingsSection #nanbanSettingsMenu .glass-card {
  background: var(--nb-card) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
  box-shadow: 0 2px 12px rgba(28, 25, 23, 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: var(--nb-ink-strong) !important;
  border: 1px solid var(--nb-border-strong) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection label,
html.nb-ivory-theme body.nanban-pro-app #settingsSection h3,
html.nb-ivory-theme body.nanban-pro-app #settingsSection h4 {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .nb-set-hint,
html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-nav-item {
  color: var(--nb-muted) !important;
}

html.nb-ivory-theme body.nanban-pro-app #settingsSection .nb-set-cat-btn--active,
html.nb-ivory-theme body.nanban-pro-app #settingsSection .settings-nav-item--active {
  color: #b91c1c !important;
}

/* ═══ REPORTS ═══ */
html.nb-ivory-theme body.nanban-pro-app #reportSection {
  background: transparent !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection h2,
html.nb-ivory-theme body.nanban-pro-app #reportSection h3 {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection .glass-card,
html.nb-ivory-theme body.nanban-pro-app #reportSection .metric-card,
html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-report-toolbar,
html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-report-cash-card {
  background: var(--nb-card) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection select,
html.nb-ivory-theme body.nanban-pro-app #reportSection input {
  background: #ffffff !important;
  color: var(--nb-ink-strong) !important;
  border: 1px solid var(--nb-border-strong) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection table,
html.nb-ivory-theme body.nanban-pro-app #reportSection table th,
html.nb-ivory-theme body.nanban-pro-app #reportSection table td {
  background: #ffffff !important;
  color: var(--nb-body) !important;
  border-color: var(--nb-border) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection table th {
  background: #f5f5f4 !important;
  color: var(--nb-muted) !important;
  font-weight: 700 !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"],
html.nb-ivory-theme body.nanban-pro-app #reportSection [style*="color:#334155"] {
  color: var(--nb-body) !important;
}

/* ═══ QUIZ / TRAINER ═══ */
html.nb-ivory-theme body.nanban-pro-app #quizSection,
html.nb-ivory-theme body.nanban-pro-app #masterSection {
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #quizLeaderboard,
html.nb-ivory-theme body.nanban-pro-app #quizStudentsContainer .glass-card {
  background: var(--nb-card) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
  box-shadow: 0 4px 20px rgba(28, 25, 23, 0.08) !important;
}

html.nb-ivory-theme body.nanban-pro-app #quizLeaderboard .nb-quiz-name,
html.nb-ivory-theme body.nanban-pro-app #quizStudentsContainer .nb-quiz-name {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme body.nanban-pro-app #quizLeaderboard .nb-quiz-sub {
  color: var(--nb-muted) !important;
}

html.nb-ivory-theme #masterSection .nb-trainer-hero,
html.nb-ivory-theme #masterSection .nb-trainer-filter-bar,
html.nb-ivory-theme #masterSection .nb-trainer-km-panel,
html.nb-ivory-theme .nb-trainer-bento {
  background: var(--nb-card) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme #masterSection h3,
html.nb-ivory-theme .nb-trainer-bento__name {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme .nb-trainer-quick-dock {
  background: #ffffff !important;
  border-top: 1px solid var(--nb-border) !important;
}

/* ═══ MODALS ═══ */
html.nb-ivory-theme .modal-content,
html.nb-ivory-theme .modal {
  background: #ffffff !important;
  color: var(--nb-ink) !important;
  border: 1px solid var(--nb-border) !important;
}

html.nb-ivory-theme .modal-content h2,
html.nb-ivory-theme .modal-content h3,
html.nb-ivory-theme .modal h2,
html.nb-ivory-theme .modal h3 {
  color: var(--nb-ink-strong) !important;
}

/* ═══ LANDING — high contrast on warm bg ═══ */
html.nb-ivory-theme #loginScreen .nb-hero-title,
html.nb-ivory-theme #loginScreen .nb-hero-sub,
html.nb-ivory-theme #loginScreen .nb-section-title,
html.nb-ivory-theme #loginScreen .nb-bento-en,
html.nb-ivory-theme #loginScreen .nb-section-lead {
  color: var(--nb-body) !important;
  text-shadow: none !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-title,
html.nb-ivory-theme #loginScreen h2.nb-section-title,
html.nb-ivory-theme #loginScreen .nb-bento-ta {
  color: var(--nb-ink-strong) !important;
}

/* ═══ JS inline dark headers → readable ═══ */
html.nb-ivory-theme #nbAppMain [style*="background:#0f172a"],
html.nb-ivory-theme #nbAppMain [style*="background: #0f172a"],
html.nb-ivory-theme #nbAppMain [style*="background:#18181b"] {
  background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
  color: #ffffff !important;
}

html.nb-ivory-theme #nbAppMain [style*="color:#f8fafc"],
html.nb-ivory-theme #nbAppMain [style*="color: #f8fafc"],
html.nb-ivory-theme #nbAppMain [style*="color:#e2e8f0"] {
  color: var(--nb-ink-strong) !important;
}

/* Tables everywhere */
html.nb-ivory-theme body.nanban-pro-app #mainApp table tbody td {
  background: #ffffff !important;
  color: var(--nb-body) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp table thead th {
  background: #f5f5f4 !important;
  color: var(--nb-muted) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp table tbody tr:hover td {
  background: #fafaf9 !important;
}

/* Student cards */
html.nb-ivory-theme .premium-student-card .card-name,
html.nb-ivory-theme .nb-crm-card__name {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme .premium-student-card .finance-value {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme .premium-student-card .card-subtext,
html.nb-ivory-theme .premium-student-card .finance-label {
  color: var(--nb-muted) !important;
}

/* ═══ LIST / CRM — force readable ═══ */
html.nb-ivory-theme #listSection .nb-crm-hero,
html.nb-ivory-theme #listSection .list-filter-shell,
html.nb-ivory-theme #listSection .nb-crm-card,
html.nb-ivory-theme .nb-crm-card {
  background: var(--nb-card) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme .nb-crm-card__name,
html.nb-ivory-theme #listSection .nb-crm-hero__title {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme .nb-crm-card__phone {
  color: #2563eb !important;
}

html.nb-ivory-theme .nb-crm-stat__val {
  color: var(--nb-ink-strong) !important;
}

/* ═══ FINANCIAL DASHBOARD ═══ */
html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-fin-card,
html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-fin-ledger,
html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-cash-custodian {
  background: var(--nb-card) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-fin-ledger__head h3,
html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-cash-custodian__hd h3 {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme body.nanban-pro-app #reportSection .nb-fin-ledger-table td {
  color: var(--nb-body) !important;
  background: #ffffff !important;
}

/* ═══ CANVAS tint — warm ivory not pure white page ═══ */
html.nb-ivory-theme body.nanban-pro-app #dashSection,
html.nb-ivory-theme body.nanban-pro-app #listSection,
html.nb-ivory-theme body.nanban-pro-app #admissionSection,
html.nb-ivory-theme body.nanban-pro-app #reportSection,
html.nb-ivory-theme body.nanban-pro-app #settingsSection,
html.nb-ivory-theme body.nanban-pro-app #masterSection,
html.nb-ivory-theme body.nanban-pro-app #quizSection {
  background: transparent !important;
}

/* ═══════════════════════════════════════════════════════════
   UNIVERSAL DARK KILL-SWITCH — beats ALL leftover black
   ═══════════════════════════════════════════════════════════ */

html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="background:#0f172a"],
html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="background: #0f172a"],
html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="background:#1e293b"],
html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="background: #1e293b"],
html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="background:#111827"],
html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="background:#18181b"],
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:#1e293b"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [style*="background: #1e293b"] {
  background: #ffffff !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp tr[style*="background:#0f172a"],
html.nb-ivory-theme body.nanban-pro-app #mainApp tr[style*="background: #0f172a"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain tr[style*="background:#0f172a"] {
  background: #f5f5f4 !important;
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="color:#f8fafc"],
html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="color: #f8fafc"],
html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="color:#e2e8f0"],
html.nb-ivory-theme body.nanban-pro-app #mainApp [style*="color:white"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [style*="color:#f8fafc"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [style*="color: #f8fafc"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain [style*="color:#e2e8f0"] {
  color: var(--nb-ink-strong) !important;
}

/* Table headers from JS — red accent strip, not black */
html.nb-ivory-theme body.nanban-pro-app #nbAppMain div[style*="background:#0f172a"][style*="color:white"],
html.nb-ivory-theme body.nanban-pro-app #nbAppMain div[style*="background:#0f172a"][style*="color: white"] {
  background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
  color: #ffffff !important;
}

/* ═══ ADMISSION WIZARD — kill inline dark CSS ═══ */
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-cell input,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-cell select,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-inp,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-date-inp,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-paygrid input,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-paygrid select,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-fees input {
  background: #ffffff !important;
  color: var(--nb-ink-strong) !important;
  border: 1px solid var(--nb-border-strong) !important;
  color-scheme: light !important;
}

html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-date-btn {
  background: #eff6ff !important;
  border: 1px solid rgba(37, 99, 235, 0.3) !important;
  color: #2563eb !important;
}

html.nb-ivory-theme body.nanban-pro-app #newSection input[type="date"]::-webkit-calendar-picker-indicator {
  filter: none !important;
  opacity: 0.7 !important;
}

html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-pill.ad-wiz-cart-card,
html.nb-ivory-theme body.nanban-pro-app #newSection #admissionServiceCardsContainer .vehicle-toggle-btn,
html.nb-ivory-theme body.nanban-pro-app #newSection #admissionServiceCardsContainer .srv-card,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-pvr-card,
html.nb-ivory-theme body.nanban-pro-app #newSection .vehicle-toggle-btn,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-days-inline,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-badge-block,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-trainer-review,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-fees,
html.nb-ivory-theme body.nanban-pro-app #newSection .fee-lines-container,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-paybox {
  background: #ffffff !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
  box-shadow: 0 2px 8px rgba(28, 25, 23, 0.05) !important;
}

html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-pill.ad-wiz-cart-card:hover,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-pvr-card:hover {
  background: #fafaf9 !important;
  border-color: rgba(99, 102, 241, 0.3) !important;
}

html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-badge-toggle-text,
html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-trainer-review {
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme body.nanban-pro-app #newSection .ad-wiz-pill.ad-wiz-cart-card--on,
html.nb-ivory-theme body.nanban-pro-app #newSection #admissionServiceCardsContainer .vehicle-toggle-btn.active,
html.nb-ivory-theme body.nanban-pro-app #newSection #admissionServiceCardsContainer .srv-card.active {
  background: rgba(59, 130, 246, 0.08) !important;
  border-color: #3b82f6 !important;
  color: #1d4ed8 !important;
}

/* ═══ FANCY SECTION — light even in pro-app ═══ */
html.nb-ivory-theme #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, #faf8f5 0%, #f3f0eb 42%, #f7f5f2 100%) !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme #fancySection .fancy-vip-card {
  background: #ffffff !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  color: var(--nb-ink) !important;
  box-shadow: 0 4px 20px rgba(28, 25, 23, 0.08) !important;
}

html.nb-ivory-theme #fancySection .fancy-filter-row,
html.nb-ivory-theme #fancySection .fancy-jy-card {
  background: #fafaf9 !important;
  border: 1px solid rgba(28, 25, 23, 0.1) !important;
  color: var(--nb-body) !important;
}

html.nb-ivory-theme #fancySection .fancy-filter-row label,
html.nb-ivory-theme #fancySection .fancy-bulk-chip {
  color: var(--nb-body) !important;
  background: #ffffff !important;
}

html.nb-ivory-theme #fancySection .fancy-filter-row select {
  background: #ffffff !important;
  color: var(--nb-ink-strong) !important;
  border: 1px solid rgba(28, 25, 23, 0.14) !important;
}

/* ═══ LOGIN / SAAS LANDING — no dark box ═══ */
html.nb-ivory-theme .saas-landing-scroll {
  background: #ffffff !important;
  border: 1px solid var(--nb-border) !important;
  box-shadow: 0 8px 32px rgba(28, 25, 23, 0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.nb-ivory-theme .saas-nav-brand,
html.nb-ivory-theme .saas-hero-title,
html.nb-ivory-theme .saas-hero-lead {
  color: var(--nb-ink-strong) !important;
}

html.nb-ivory-theme .saas-nav-a {
  color: var(--nb-muted) !important;
}

html.nb-ivory-theme .saas-nav-a:hover {
  color: var(--nb-ink) !important;
  background: #f5f5f4 !important;
}

html.nb-ivory-theme .saas-nav-btn--ghost {
  color: var(--nb-body) !important;
  border-color: var(--nb-border) !important;
}

/* ═══ TOAST / CHIPS / BUTTONS ═══ */
html.nb-ivory-theme .toast {
  background: #ffffff !important;
  color: var(--nb-ink-strong) !important;
  border: 1px solid var(--nb-border) !important;
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.12) !important;
}

html.nb-ivory-theme body.nanban-pro-app .chip.active {
  background: linear-gradient(180deg, #dc2626 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
}

html.nb-ivory-theme body.nanban-pro-app .btn-slate,
html.nb-ivory-theme body.nanban-pro-app .btn-dark {
  background: linear-gradient(180deg, #57534e 0%, #44403c 100%) !important;
  color: #ffffff !important;
}

/* ═══ COMMAND CENTER + TRAINER + INTL ═══ */
html.nb-ivory-theme .nb-cc,
html.nb-ivory-theme .nb-intl-rto-toolbar,
html.nb-ivory-theme .nb-smart-card,
html.nb-ivory-theme .nb-trainer-bento {
  background: var(--nb-card) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-ink) !important;
}

html.nb-ivory-theme .nb-trainer-quick-dock {
  background: #ffffff !important;
  border-top: 1px solid var(--nb-border) !important;
}

html.nb-ivory-theme .nb-trainer-bento__stat-v,
html.nb-ivory-theme .nb-smart-card__title {
  color: var(--nb-ink-strong) !important;
}

/* ═══ PUBLIC PORTAL video cards ═══ */
html.nb-ivory-theme #publicPortal .nb-video-card,
html.nb-ivory-theme #publicPortal .nb-video-card__thumb {
  background: #f5f5f4 !important;
  border: 1px solid var(--nb-border) !important;
}

html.nb-ivory-theme #publicPortal .nb-video-card__title {
  color: var(--nb-ink-strong) !important;
}

/* ═══ PREMIUM SAAS — force light top bar (beats its own dark rule) ═══ */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .top-bar {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid var(--nb-border) !important;
  box-shadow: 0 1px 8px rgba(28, 25, 23, 0.06) !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-sidebar.mobile-open,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-sidebar.mobile-drawer-open {
  background: #ffffff !important;
}
