/**
 * Nanban Ivory — Premium light theme (L-board crimson + warm ivory)
 * Front page + ERP + modals + E-Sevai (loads last; wins all)
 */
:root,
html.nb-ivory-theme {
  --bg-color: #f7f5f2;
  --primary: #dc2626;
  --secondary: #4f46e5;
  --secondary-glow: rgba(79, 70, 229, 0.28);
  --accent-gold: #d97706;
  --accent-cyan: #0891b2;
  --success: #059669;
  --danger: #dc2626;
  --warning: #d97706;
  --chit-color: #7c3aed;
  --text-main: #18181b;
  --text-muted: #64748b;
  --card-bg: #ffffff;
  --card-bg-elevated: #fafaf9;
  --border: rgba(15, 23, 42, 0.08);
  --border-strong: rgba(15, 23, 42, 0.12);
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 10px;
  --shadow-sm: 0 4px 24px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 12px 40px rgba(15, 23, 42, 0.08), 0 4px 12px rgba(15, 23, 42, 0.04);
  --shadow-premium: 0 24px 64px rgba(15, 23, 42, 0.1), 0 0 0 1px rgba(15, 23, 42, 0.04) inset;
  --glass: rgba(255, 255, 255, 0.82);
  --glass-border: rgba(15, 23, 42, 0.08);
  --input-bg: #ffffff;
  --es-primary: #059669;
  --es-accent: #10b981;
  --es-bg: #ecfdf5;
  --es-glass: rgba(255, 255, 255, 0.9);
  --es-border: rgba(5, 150, 105, 0.15);
  --es-shadow: 0 12px 40px rgba(5, 150, 105, 0.08);
  color-scheme: light;
}

html.nb-ivory-theme,
html.nb-ivory-theme body {
  background-color: #f7f5f2 !important;
  background-image:
    radial-gradient(ellipse 120% 80% at 50% -30%, rgba(220, 38, 38, 0.06), transparent 55%),
    radial-gradient(ellipse 80% 50% at 100% 20%, rgba(79, 70, 229, 0.05), transparent 50%),
    radial-gradient(ellipse 60% 40% at 0% 80%, rgba(217, 119, 6, 0.04), transparent 45%),
    linear-gradient(180deg, #faf9f7 0%, #f7f5f2 50%, #f3f1ed 100%) !important;
  background-attachment: fixed !important;
  color: var(--text-main) !important;
}

html.nb-ivory-theme body.esevai-mode {
  background-color: var(--es-bg) !important;
  background-image:
    radial-gradient(ellipse 100% 70% at 90% -10%, rgba(16, 185, 129, 0.12), transparent 50%),
    radial-gradient(ellipse 80% 50% at 0% 90%, rgba(79, 70, 229, 0.05), transparent 45%),
    linear-gradient(180deg, #ecfdf5 0%, #f0fdf4 100%) !important;
}

html.nb-ivory-theme ::selection {
  background: rgba(220, 38, 38, 0.18);
  color: #18181b;
}

html.nb-ivory-theme ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
html.nb-ivory-theme ::-webkit-scrollbar-track {
  background: transparent;
}
html.nb-ivory-theme ::-webkit-scrollbar-thumb {
  background: rgba(100, 116, 139, 0.35);
  border-radius: 99px;
}
html.nb-ivory-theme ::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 116, 139, 0.55);
}

html.nb-ivory-theme h1,
html.nb-ivory-theme h2,
html.nb-ivory-theme h3,
html.nb-ivory-theme h4,
html.nb-ivory-theme h5,
html.nb-ivory-theme h6 {
  color: #18181b !important;
}

html.nb-ivory-theme p,
html.nb-ivory-theme label,
html.nb-ivory-theme .stat-label,
html.nb-ivory-theme .text-muted {
  color: var(--text-muted) !important;
}

html.nb-ivory-theme .card,
html.nb-ivory-theme .glass-card,
html.nb-ivory-theme .metric-card,
html.nb-ivory-theme .dash-card-v2,
html.nb-ivory-theme .dash-card,
html.nb-ivory-theme .nanban-mac-card,
html.nb-ivory-theme .premium-student-card,
html.nb-ivory-theme .nb-crm-card,
html.nb-ivory-theme .wizard-step,
html.nb-ivory-theme .settings-pane-panel,
html.nb-ivory-theme .list-filter-shell,
html.nb-ivory-theme .chart-container,
html.nb-ivory-theme .action-item,
html.nb-ivory-theme .receipt-card,
html.nb-ivory-theme .bg-white,
html.nb-ivory-theme .bg-light,
html.nb-ivory-theme .saas-login-card,
html.nb-ivory-theme #loginPanelCard {
  background: var(--card-bg) !important;
  background-image: none !important;
  border: 1px solid var(--border) !important;
  color: var(--text-main) !important;
  box-shadow: var(--shadow-sm) !important;
}

html.nb-ivory-theme .metric-card:hover,
html.nb-ivory-theme .nb-crm-card:hover,
html.nb-ivory-theme .premium-student-card:hover {
  border-color: rgba(79, 70, 229, 0.25) !important;
  box-shadow: 0 0 0 1px rgba(79, 70, 229, 0.08), var(--shadow-md) !important;
}

html.nb-ivory-theme .modal-overlay {
  background: rgba(15, 23, 42, 0.45) !important;
  backdrop-filter: blur(12px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.2) !important;
}

html.nb-ivory-theme .modal-content,
html.nb-ivory-theme .modal,
html.nb-ivory-theme .modal-dialog .modal-content {
  background: linear-gradient(165deg, #ffffff 0%, #fafaf9 100%) !important;
  border: 1px solid var(--border-strong) !important;
  color: #18181b !important;
  box-shadow: var(--shadow-premium) !important;
}

html.nb-ivory-theme .modal-content h2,
html.nb-ivory-theme .modal-content h3,
html.nb-ivory-theme .modal-content label,
html.nb-ivory-theme .modal h2,
html.nb-ivory-theme .modal h3 {
  color: #18181b !important;
}

html.nb-ivory-theme #nanbanStaffLoginModal {
  background: rgba(15, 23, 42, 0.5) !important;
  backdrop-filter: blur(16px) !important;
}

html.nb-ivory-theme .nb-staff-login-shell {
  background: #ffffff !important;
  border: 1px solid var(--border-strong) !important;
  box-shadow: var(--shadow-premium) !important;
  overflow: hidden;
}

html.nb-ivory-theme .nb-staff-login-visual {
  background: linear-gradient(145deg, #fef2f2 0%, #fff7ed 50%, #f5f3ff 100%) !important;
}

html.nb-ivory-theme #loginPanelCard.nb-staff-login-form {
  background: #ffffff !important;
  border-left: 1px solid var(--border) !important;
}

html.nb-ivory-theme input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html.nb-ivory-theme select,
html.nb-ivory-theme textarea,
html.nb-ivory-theme .form-control {
  background: var(--input-bg) !important;
  border: 1px solid var(--border-strong) !important;
  color: #18181b !important;
  border-radius: var(--radius-sm) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

html.nb-ivory-theme input:focus,
html.nb-ivory-theme select:focus,
html.nb-ivory-theme textarea:focus,
html.nb-ivory-theme .form-control:focus {
  border-color: rgba(79, 70, 229, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
  outline: none !important;
}

html.nb-ivory-theme input::placeholder,
html.nb-ivory-theme textarea::placeholder {
  color: rgba(100, 116, 139, 0.65) !important;
}

html.nb-ivory-theme select option {
  background: #ffffff !important;
  color: #18181b !important;
}

html.nb-ivory-theme table {
  background: transparent !important;
  color: var(--text-main) !important;
}

html.nb-ivory-theme thead,
html.nb-ivory-theme th {
  background: #f8fafc !important;
  color: #475569 !important;
  border-color: var(--border) !important;
}

html.nb-ivory-theme tbody tr {
  background: #ffffff !important;
  border-color: var(--border) !important;
}

html.nb-ivory-theme tbody tr:nth-child(even) {
  background: #fafaf9 !important;
}

html.nb-ivory-theme tbody tr:hover {
  background: #f1f5f9 !important;
}

html.nb-ivory-theme td {
  border-color: var(--border) !important;
  color: #334155 !important;
}

html.nb-ivory-theme .btn-nanban,
html.nb-ivory-theme .btn.btn-nanban {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  border: 1px solid rgba(220, 38, 38, 0.35) !important;
  color: #fff !important;
  box-shadow: 0 8px 28px -8px rgba(220, 38, 38, 0.45) !important;
}

html.nb-ivory-theme .btn-outline,
html.nb-ivory-theme .btn-w {
  background: #ffffff !important;
  border: 1px solid var(--border-strong) !important;
  color: #334155 !important;
}

html.nb-ivory-theme .btn-outline:hover,
html.nb-ivory-theme .btn-w:hover {
  background: #f8fafc !important;
  border-color: rgba(79, 70, 229, 0.25) !important;
}

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 var(--border) !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(20px) !important;
  box-shadow: 0 2px 16px rgba(15, 23, 42, 0.06) !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-top-logo {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-top-logo span {
  color: #dc2626 !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .top-bar > div:first-child > div:first-child {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-sidebar,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .tabs-wrapper,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .tabs-wrapper.nb-pro-dock {
  background: #ffffff !important;
  border-right: 1px solid rgba(15, 23, 42, 0.1) !important;
  box-shadow: 4px 0 24px rgba(15, 23, 42, 0.04) !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab {
  color: #475569 !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item .nb-nav-en,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab .nb-nav-en {
  color: #334155 !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item .nb-nav-ta,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab .nb-nav-ta {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-ico {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item:hover,
html.nb-ivory-theme body.nanban-pro-app #mainApp .tabs-wrapper .tab:hover,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab:hover {
  background: #f8fafc !important;
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item:hover .nb-nav-en,
html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item:hover .nb-nav-ta {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item.active,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab.nb-nav-item.active,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab.active {
  background: linear-gradient(90deg, rgba(220, 38, 38, 0.1) 0%, rgba(220, 38, 38, 0.02) 55%, transparent 100%) !important;
  border-left: 3px solid #dc2626 !important;
  color: #b91c1c !important;
  box-shadow: inset 4px 0 16px rgba(220, 38, 38, 0.08) !important;
  border-radius: 0 12px 12px 0 !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item.active .nb-nav-en,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab.active .nb-nav-en {
  color: #b91c1c !important;
  font-weight: 600 !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item.active .nb-nav-ta,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab.active .nb-nav-ta {
  color: #dc2626 !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-nav-item.active .nb-nav-ico,
html.nb-ivory-theme body.nanban-pro-app #mainApp #adminTabs .tab.active .nb-nav-ico {
  color: #dc2626 !important;
  filter: none !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp,
html.nb-ivory-theme body.nanban-pro-app #mainApp #nbAppMain,
html.nb-ivory-theme body.nanban-pro-app #nbAppMain {
  background: transparent !important;
}

html.nb-ivory-theme #toastContainer .toast,
html.nb-ivory-theme .toast {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid var(--border-strong) !important;
  color: #18181b !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: var(--shadow-md) !important;
}

html.nb-ivory-theme #globalLoader {
  background: rgba(247, 245, 242, 0.85) !important;
  backdrop-filter: blur(8px) !important;
}

/* ── Landing / public portal ── */
html.nb-ivory-theme #publicPortal,
html.nb-ivory-theme #loginScreen {
  background: #f7f5f2 !important;
  color: #18181b !important;
}

html.nb-ivory-theme #loginScreen .nb-nav {
  background: rgba(255, 255, 255, 0.78) !important;
  border-bottom-color: rgba(15, 23, 42, 0.06) !important;
}

html.nb-ivory-theme #loginScreen .nb-nav.is-scrolled {
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06) !important;
}

html.nb-ivory-theme #loginScreen .nb-nav-brand,
html.nb-ivory-theme #loginScreen .nb-nav-title,
html.nb-ivory-theme #loginScreen .nb-nav-a {
  color: #18181b !important;
}

html.nb-ivory-theme #loginScreen .nb-nav-title .nb-nav-ta,
html.nb-ivory-theme #loginScreen .nb-nav-title small {
  color: #64748b !important;
}

html.nb-ivory-theme #loginScreen .nb-nav-a {
  color: #475569 !important;
}

html.nb-ivory-theme #loginScreen .nb-nav-a:hover {
  color: #18181b !important;
  background: rgba(15, 23, 42, 0.04) !important;
}

html.nb-ivory-theme #loginScreen .nb-nav-btn--primary {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 28px rgba(220, 38, 38, 0.35) !important;
}

html.nb-ivory-theme #loginScreen .nb-nav-btn--ghost {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  color: #334155 !important;
}

html.nb-ivory-theme #loginScreen .nb-btn-primary,
html.nb-ivory-theme #publicPortal .nb-btn-primary {
  background: linear-gradient(135deg, #dc2626 0%, #ea580c 50%, #dc2626 100%) !important;
  background-size: 200% auto !important;
  border: 1px solid rgba(220, 38, 38, 0.25) !important;
  color: #fff !important;
  box-shadow: 0 12px 40px -12px rgba(220, 38, 38, 0.45) !important;
}

html.nb-ivory-theme #loginScreen .nb-btn-outline {
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  color: #18181b !important;
  backdrop-filter: blur(8px) !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-overlay {
  background:
    linear-gradient(105deg, rgba(247, 245, 242, 0.88) 0%, rgba(247, 245, 242, 0.35) 42%, rgba(247, 245, 242, 0.72) 100%),
    linear-gradient(to top, rgba(247, 245, 242, 0.96) 0%, transparent 38%),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.4) 0%, transparent 25%) !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-title,
html.nb-ivory-theme #loginScreen .nb-hero-lead,
html.nb-ivory-theme #loginScreen .nb-hero-kicker {
  color: #18181b !important;
  text-shadow: none !important;
}

html.nb-ivory-theme #loginScreen .nb-hero-lead {
  color: #475569 !important;
}

html.nb-ivory-theme #loginScreen .nb-section--dark,
html.nb-ivory-theme #loginScreen .nb-section--why {
  background: #ffffff !important;
}

html.nb-ivory-theme #loginScreen .nb-section-kicker {
  color: #0d9488 !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 {
  color: #64748b !important;
}

html.nb-ivory-theme #publicPortal .nb-section--platform,
html.nb-ivory-theme #publicPortal .nb-section--learning {
  background: linear-gradient(180deg, #f7f5f2 0%, #ffffff 100%) !important;
}

html.nb-ivory-theme #loginScreen .nb-bento-cell {
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  box-shadow: var(--shadow-sm) !important;
}

html.nb-ivory-theme #loginScreen .nb-bento-cell:hover {
  background: #ffffff !important;
  border-color: rgba(220, 38, 38, 0.2) !important;
  box-shadow: var(--shadow-md) !important;
}

html.nb-ivory-theme #loginScreen .nb-bento-cell h3,
html.nb-ivory-theme #loginScreen .nb-bento-ta,
html.nb-ivory-theme #loginScreen .nb-bento-en {
  color: #18181b !important;
}

html.nb-ivory-theme #loginScreen .nb-bento-svg {
  color: #dc2626 !important;
}

html.nb-ivory-theme #loginScreen .nb-enquiry-wrap {
  background: linear-gradient(180deg, #f3f1ed 0%, #f7f5f2 100%) !important;
}

html.nb-ivory-theme #loginScreen .nb-enquiry-glass {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(24px) !important;
  box-shadow: var(--shadow-premium) !important;
}

html.nb-ivory-theme #loginScreen .nb-footer--premium {
  background: #ffffff !important;
  border-top: 1px solid var(--border) !important;
}

html.nb-ivory-theme #loginScreen .nb-footer-grid h4 {
  color: #94a3b8 !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 #publicPortal .nb-public-bento-card {
  background: #ffffff !important;
  border-color: var(--border) !important;
  color: #18181b !important;
}

html.nb-ivory-theme .tag-yesterday-30,
html.nb-ivory-theme .rank-3 {
  background: rgba(217, 119, 6, 0.1) !important;
  color: #b45309 !important;
  border-color: rgba(217, 119, 6, 0.25) !important;
}

html.nb-ivory-theme .network-pill {
  background: #f8fafc !important;
  border-color: var(--border) !important;
  color: #64748b !important;
}

html.nb-ivory-theme #newSection .ad-wiz-wrap,
html.nb-ivory-theme #newSection .ad-wiz-panel,
html.nb-ivory-theme #newSection .ad-wiz-left,
html.nb-ivory-theme #newSection .ad-wiz-bill,
html.nb-ivory-theme .ad-wiz-paybox,
html.nb-ivory-theme .ad-wiz-fees,
html.nb-ivory-theme .fee-lines-container {
  background: #ffffff !important;
  border-color: var(--border) !important;
  color: #18181b !important;
}

html.nb-ivory-theme .svc-opt-card {
  background: #fafaf9 !important;
  border-color: var(--border) !important;
  color: #334155 !important;
}

html.nb-ivory-theme .svc-opt-card--on,
html.nb-ivory-theme .vehicle-toggle-btn.active {
  background: rgba(220, 38, 38, 0.08) !important;
  border-color: rgba(220, 38, 38, 0.35) !important;
}

html.nb-ivory-theme #editStudentModal .modal-content,
html.nb-ivory-theme #profileModal .modal-content,
html.nb-ivory-theme #fancyParivahanModal .modal-content {
  background: linear-gradient(165deg, #ffffff, #fafaf9) !important;
}

html.nb-ivory-theme summary {
  color: #475569 !important;
}

html.nb-ivory-theme #nanbanPagePreloader {
  background: linear-gradient(165deg, #faf9f7 0%, #f7f5f2 50%, #f3f1ed 100%) !important;
}

html.nb-ivory-theme .nb-rto-overlay {
  background: rgba(15, 23, 42, 0.55) !important;
}

html.nb-ivory-theme .nb-rto-panel {
  background: #ffffff !important;
  border: 1px solid var(--border-strong) !important;
  color: #18181b !important;
}

html.nb-ivory-theme .mobile-bottom-nav,
html.nb-ivory-theme .nb-mobile-dock {
  background: rgba(255, 255, 255, 0.94) !important;
  border-top: 1px solid var(--border) !important;
  backdrop-filter: blur(20px) !important;
}

html.nb-ivory-theme .stat-val {
  color: #18181b !important;
  text-shadow: none !important;
}

html.nb-ivory-theme :focus-visible {
  outline: 2px solid rgba(220, 38, 38, 0.5) !important;
  outline-offset: 2px !important;
}

/* Override premium-saas / pro-shell dark canvases */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode),
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp.nanban-glass-app {
  background-color: #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;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-top-logo {
  color: #18181b !important;
}

/* ── ERP shell: premium-saas dark tokens → light ── */
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) {
  --text-main: #18181b;
  --text-muted: #64748b;
  --card-bg: #ffffff;
  --border: rgba(15, 23, 42, 0.08);
  --nb-premium-bg: #f7f5f2;
  --nb-premium-elevated: #ffffff;
  --nb-premium-text: #18181b;
  --nb-premium-muted: #64748b;
  --nb-premium-glass: #ffffff;
  --nb-premium-glass-border: rgba(15, 23, 42, 0.08);
  --nb-premium-focus: #dc2626;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp {
  --text-main: #18181b;
  --text-muted: #64748b;
  --card-bg: #ffffff;
  --border: rgba(15, 23, 42, 0.08);
  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 {
  color: #18181b !important;
}

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 label,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .form-label {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .text-muted,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain small,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .stat-label {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp #syncStatus,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp #syncStatus.nb-top-user,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp #nbHeaderUser,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-top-logout,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-top-logout-text {
  color: #334155 !important;
  background: #f8fafc !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-pill-mode .biz-label {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-pill-toggle .btn-biz {
  color: #64748b !important;
}

html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-pill-toggle .btn-biz.active {
  color: #ffffff !important;
}

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 .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,
html.nb-ivory-theme body.nanban-pro-app:not(.esevai-mode) #nbAppMain .dash-card-v2 {
  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:not(.esevai-mode) #nbAppMain .stat-val,
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 {
  color: #18181b !important;
}

html.nb-ivory-theme body.nanban-pro-app #mainApp .nb-sidebar-drawer-footer {
  color: #64748b !important;
  border-top-color: rgba(15, 23, 42, 0.08) !important;
}
