/* ==========================================================================
   Moghadam — Unified Dark Theme System
   Loaded after typography, style, and mobile-refactor.
   Uses design tokens from typography.css; applies global component fixes.
   ========================================================================== */

/* —— Base & page (exclude landing — has its own surface system) —— */
html[data-bs-theme="dark"] body:not(:has(#content-limit.app-users-landing)) {
	background:
		radial-gradient(circle at 100% 0%, rgba(59, 130, 246, 0.08), transparent 28rem),
		radial-gradient(circle at 0% 100%, rgba(20, 184, 166, 0.06), transparent 24rem),
		var(--background) !important;
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] a {
	color: var(--info);
}

html[data-bs-theme="dark"] a:hover,
html[data-bs-theme="dark"] a:focus-visible {
	color: #93c5fd;
}

html[data-bs-theme="dark"] .landing-shell a,
html[data-bs-theme="dark"] .submodule-page a {
	color: inherit;
}

html[data-bs-theme="dark"] a.spot-slide,
html[data-bs-theme="dark"] a.spot-slide:hover,
html[data-bs-theme="dark"] a.spot-slide:focus-visible {
	color: #fff;
}

html[data-bs-theme="dark"] ::selection {
	background: rgba(59, 130, 246, 0.35);
	color: #f8fafc;
}

/* —— Typography utilities —— */
html[data-bs-theme="dark"] .text-muted,
html[data-bs-theme="dark"] .text-secondary {
	color: var(--foreground-muted) !important;
}

html[data-bs-theme="dark"] .text-dark {
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .text-body {
	color: var(--foreground-secondary) !important;
}

html[data-bs-theme="dark"] .text-primary {
	color: var(--primary) !important;
}

html[data-bs-theme="dark"] .text-success {
	color: var(--success) !important;
}

html[data-bs-theme="dark"] .text-warning {
	color: var(--warning) !important;
}

html[data-bs-theme="dark"] .text-danger {
	color: var(--error) !important;
}

html[data-bs-theme="dark"] .text-info {
	color: var(--info) !important;
}

/* —— Background utilities —— */
html[data-bs-theme="dark"] .bg-light,
html[data-bs-theme="dark"] .bg-white,
html[data-bs-theme="dark"] .bg-body,
html[data-bs-theme="dark"] .bg-body-secondary,
html[data-bs-theme="dark"] .bg-body-tertiary {
	background-color: var(--surface-raised) !important;
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .bg-glass,
html[data-bs-theme="dark"] .sticky-col.bg-light,
html[data-bs-theme="dark"] .sticky-col.bg-glass {
	background: var(--surface-raised) !important;
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .border,
html[data-bs-theme="dark"] .border-bottom,
html[data-bs-theme="dark"] .border-top,
html[data-bs-theme="dark"] .border-secondary {
	border-color: var(--border) !important;
}

/* —— Cards & glass —— */
html[data-bs-theme="dark"] .card,
html[data-bs-theme="dark"] .glass-card {
	background: var(--surface) !important;
	border-color: var(--border) !important;
	color: var(--foreground);
	box-shadow: var(--shadow-sm);
}

html[data-bs-theme="dark"] .card-header,
html[data-bs-theme="dark"] .card-footer,
html[data-bs-theme="dark"] .glass-footer {
	background: var(--surface-raised) !important;
	border-color: var(--border) !important;
	color: var(--foreground);
}

html[data-bs-theme="dark"] .glass-header-secondary {
	background: var(--surface-raised) !important;
	color: var(--foreground);
}

html[data-bs-theme="dark"] .loading-overlay {
	background: rgba(11, 17, 32, 0.82);
}

html[data-bs-theme="dark"] .loading-text {
	color: var(--foreground-muted);
}

/* —— Navbar & navigation —— */
html[data-bs-theme="dark"] .glass-navbar,
html[data-bs-theme="dark"] .navbar,
html[data-bs-theme="dark"] .app-bottom-nav {
	background: var(--glass-bg) !important;
	border-color: var(--border) !important;
}

html[data-bs-theme="dark"] .navbar-nav .nav-link {
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .navbar-nav .nav-link:hover,
html[data-bs-theme="dark"] .navbar-nav .nav-link:focus-visible {
	color: var(--primary);
	background: rgba(59, 130, 246, 0.1);
}

html[data-bs-theme="dark"] .navbar-toggler-icon-custom span {
	background: var(--foreground);
}

html[data-bs-theme="dark"] .social-dropdown-menu,
html[data-bs-theme="dark"] .user-roles-menu,
html[data-bs-theme="dark"] .dropdown-menu {
	background: var(--surface-elevated) !important;
	border-color: var(--border) !important;
	box-shadow: var(--shadow-lg);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .dropdown-item {
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .dropdown-item:hover,
html[data-bs-theme="dark"] .dropdown-item:focus,
html[data-bs-theme="dark"] .dropdown-item.active {
	background: rgba(59, 130, 246, 0.12) !important;
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .dropdown-header,
html[data-bs-theme="dark"] .dropdown-divider {
	color: var(--foreground-muted);
	border-color: var(--border) !important;
}

html[data-bs-theme="dark"] .social-icon-item:hover {
	background: rgba(148, 163, 184, 0.08);
}

html[data-bs-theme="dark"] .icon-label {
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .tree-header-title {
	color: var(--foreground-muted);
}

html[data-bs-theme="dark"] .logout-btn {
	color: var(--error);
}

html[data-bs-theme="dark"] .logout-btn:hover {
	background: var(--error-bg);
	color: var(--error-fg);
}

/* —— Forms —— */
html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] textarea.form-control,
html[data-bs-theme="dark"] .input-group-text {
	background: var(--surface-raised) !important;
	border-color: var(--border) !important;
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .form-control::placeholder,
html[data-bs-theme="dark"] .form-select::placeholder {
	color: var(--foreground-disabled);
	opacity: 1;
}

html[data-bs-theme="dark"] .form-control:focus,
html[data-bs-theme="dark"] .form-select:focus,
html[data-bs-theme="dark"] textarea.form-control:focus {
	background: var(--surface-elevated) !important;
	border-color: var(--primary) !important;
	box-shadow: var(--focus-ring) !important;
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .form-control:disabled,
html[data-bs-theme="dark"] .form-select:disabled {
	background: var(--surface) !important;
	color: var(--foreground-disabled) !important;
	opacity: 0.75;
}

html[data-bs-theme="dark"] .form-label,
html[data-bs-theme="dark"] label,
html[data-bs-theme="dark"] .col-form-label {
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .form-check-label {
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .form-check-input {
	background-color: var(--surface-raised);
	border-color: var(--border-strong);
}

html[data-bs-theme="dark"] .form-check-input:checked {
	background-color: var(--primary);
	border-color: var(--primary);
}

html[data-bs-theme="dark"] .form-text {
	color: var(--foreground-muted);
}

html[data-bs-theme="dark"] .invalid-feedback {
	color: var(--error-fg);
}

html[data-bs-theme="dark"] .valid-feedback {
	color: var(--success-fg);
}

html[data-bs-theme="dark"] .form-control.is-invalid,
html[data-bs-theme="dark"] .form-select.is-invalid {
	border-color: var(--error) !important;
}

html[data-bs-theme="dark"] .form-control.is-valid,
html[data-bs-theme="dark"] .form-select.is-valid {
	border-color: var(--success) !important;
}

/* —— Select2 —— */
html[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
html[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple {
	background: var(--surface-raised) !important;
	border-color: var(--border) !important;
	color: var(--foreground);
}

html[data-bs-theme="dark"] .select2-container--default .select2-selection__rendered {
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .select2-container--default .select2-selection__placeholder {
	color: var(--foreground-disabled) !important;
}

html[data-bs-theme="dark"] .select2-dropdown {
	background: var(--surface-elevated) !important;
	border-color: var(--border) !important;
}

html[data-bs-theme="dark"] .select2-results__option {
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background: rgba(59, 130, 246, 0.18) !important;
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .select2-search__field {
	background: var(--surface-raised) !important;
	color: var(--foreground) !important;
	border-color: var(--border) !important;
}

/* —— Buttons —— */
html[data-bs-theme="dark"] .btn-outline-secondary,
html[data-bs-theme="dark"] .btn-outline-dark {
	color: var(--foreground-secondary);
	border-color: var(--border-strong);
}

html[data-bs-theme="dark"] .btn-outline-secondary:hover,
html[data-bs-theme="dark"] .btn-outline-dark:hover,
html[data-bs-theme="dark"] .btn-outline-secondary:focus-visible,
html[data-bs-theme="dark"] .btn-outline-dark:focus-visible {
	background: var(--surface-elevated);
	border-color: var(--border-strong);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .btn-outline-primary {
	color: var(--primary);
	border-color: rgba(59, 130, 246, 0.45);
}

html[data-bs-theme="dark"] .btn-outline-primary:hover,
html[data-bs-theme="dark"] .btn-outline-primary:focus-visible {
	background: rgba(59, 130, 246, 0.14);
	color: #93c5fd;
	border-color: var(--primary);
}

html[data-bs-theme="dark"] .btn-secondary {
	background: var(--surface-elevated);
	border-color: var(--border);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .btn-link {
	color: var(--info);
}

html[data-bs-theme="dark"] .btn-close {
	filter: invert(1) grayscale(100%) brightness(200%);
}

/* —— Tables —— */
html[data-bs-theme="dark"] .table {
	--bs-table-bg: transparent;
	--bs-table-color: var(--foreground);
	--bs-table-border-color: var(--border);
	--bs-table-striped-bg: rgba(148, 163, 184, 0.04);
	--bs-table-hover-bg: rgba(59, 130, 246, 0.08);
	--bs-table-active-bg: rgba(59, 130, 246, 0.12);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .table thead th,
html[data-bs-theme="dark"] .table-light,
html[data-bs-theme="dark"] .table > :not(caption) > * > th {
	background: var(--surface-raised) !important;
	color: var(--foreground-muted) !important;
	border-color: var(--border) !important;
}

html[data-bs-theme="dark"] .table td,
html[data-bs-theme="dark"] .table tbody td {
	color: var(--foreground-secondary);
	border-color: var(--border-subtle);
}

html[data-bs-theme="dark"] .table-menu .day-header {
	background: var(--surface-raised) !important;
	color: var(--foreground-muted) !important;
}

html[data-bs-theme="dark"] .table-menu .checkbox-cell {
	background: transparent;
}

/* —— Modals & offcanvas —— */
html[data-bs-theme="dark"] .modal-content,
html[data-bs-theme="dark"] .offcanvas,
html[data-bs-theme="dark"] .popover,
html[data-bs-theme="dark"] .toast {
	background: var(--surface-elevated) !important;
	border-color: var(--border) !important;
	color: var(--foreground);
	box-shadow: var(--shadow-lg);
}

html[data-bs-theme="dark"] .modal-header,
html[data-bs-theme="dark"] .modal-footer,
html[data-bs-theme="dark"] .offcanvas-header,
html[data-bs-theme="dark"] .toast-header {
	border-color: var(--border) !important;
	background: var(--surface-raised);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .modal-backdrop {
	background-color: rgba(2, 6, 23, 0.72);
}

html[data-bs-theme="dark"] .modal-header.accent-orange {
	background: linear-gradient(135deg, var(--primary), var(--primary-dark));
	color: #fff;
}

/* —— Alerts —— */
html[data-bs-theme="dark"] .alert {
	border-width: 1px;
}

html[data-bs-theme="dark"] .alert-info {
	background: var(--info-bg);
	border-color: rgba(96, 165, 250, 0.28);
	color: var(--info-fg);
}

html[data-bs-theme="dark"] .alert-success {
	background: var(--success-bg);
	border-color: rgba(52, 211, 153, 0.28);
	color: var(--success-fg);
}

html[data-bs-theme="dark"] .alert-warning {
	background: var(--warning-bg);
	border-color: rgba(251, 191, 36, 0.28);
	color: var(--warning-fg);
}

html[data-bs-theme="dark"] .alert-danger {
	background: var(--error-bg);
	border-color: rgba(248, 113, 113, 0.28);
	color: var(--error-fg);
}

html[data-bs-theme="dark"] .alert-secondary {
	background: var(--surface-raised);
	border-color: var(--border);
	color: var(--foreground-secondary);
}

/* —— Badges —— */
html[data-bs-theme="dark"] .badge.bg-light,
html[data-bs-theme="dark"] .badge.bg-secondary {
	background: var(--surface-elevated) !important;
	color: var(--foreground-secondary) !important;
}

html[data-bs-theme="dark"] .badge.bg-success {
	background: rgba(52, 211, 153, 0.2) !important;
	color: var(--success-fg) !important;
}

html[data-bs-theme="dark"] .badge.bg-warning {
	background: rgba(251, 191, 36, 0.2) !important;
	color: var(--warning-fg) !important;
}

html[data-bs-theme="dark"] .badge.bg-danger {
	background: rgba(248, 113, 113, 0.2) !important;
	color: var(--error-fg) !important;
}

html[data-bs-theme="dark"] .badge.bg-primary {
	background: rgba(59, 130, 246, 0.22) !important;
	color: #93c5fd !important;
}

html[data-bs-theme="dark"] .badge.text-primary {
	color: #93c5fd !important;
}

html[data-bs-theme="dark"] .badge.text-dark {
	color: var(--foreground) !important;
}

/* —— Tabs, accordion, list —— */
html[data-bs-theme="dark"] .nav-tabs {
	border-color: var(--border);
}

html[data-bs-theme="dark"] .nav-tabs .nav-link {
	color: var(--foreground-muted);
	border-color: transparent;
}

html[data-bs-theme="dark"] .nav-tabs .nav-link:hover,
html[data-bs-theme="dark"] .nav-tabs .nav-link:focus-visible {
	color: var(--foreground);
	border-color: var(--border);
}

html[data-bs-theme="dark"] .nav-tabs .nav-link.active {
	background: var(--surface);
	border-color: var(--border) var(--border) var(--surface);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .accordion-item {
	background: var(--surface);
	border-color: var(--border);
}

html[data-bs-theme="dark"] .accordion-button {
	background: var(--surface-raised);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
	background: rgba(59, 130, 246, 0.1);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .accordion-button::after {
	filter: invert(1) opacity(0.65);
}

html[data-bs-theme="dark"] .list-group-item {
	background: var(--surface);
	border-color: var(--border);
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .list-group-item.active {
	background: rgba(59, 130, 246, 0.18);
	border-color: rgba(59, 130, 246, 0.35);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .pagination .page-link {
	background: var(--surface);
	border-color: var(--border);
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .pagination .page-link:hover,
html[data-bs-theme="dark"] .pagination .page-item.active .page-link {
	background: rgba(59, 130, 246, 0.14);
	border-color: rgba(59, 130, 246, 0.35);
	color: var(--foreground);
}

/* —— Search bars & empty states —— */
html[data-bs-theme="dark"] .menu-search-bar {
	background: var(--surface) !important;
	border-color: var(--border) !important;
	box-shadow: none;
}

html[data-bs-theme="dark"] .menu-search-empty,
html[data-bs-theme="dark"] .mm-empty {
	background: var(--surface-raised);
	border-color: var(--border);
	color: var(--foreground-muted);
}

/* —— Menu management (mm-*) —— */
html[data-bs-theme="dark"] .mm-tabs {
	background: var(--surface);
	border-color: var(--border);
}

html[data-bs-theme="dark"] .mm-tab {
	color: var(--foreground-muted);
}

html[data-bs-theme="dark"] .mm-tab:hover {
	background: var(--surface-raised);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .mm-tab.is-active {
	background: rgba(59, 130, 246, 0.14);
	color: #93c5fd;
}

html[data-bs-theme="dark"] .mm-tip {
	background: rgba(59, 130, 246, 0.08);
	border-color: rgba(59, 130, 246, 0.2);
}

html[data-bs-theme="dark"] .mm-tip summary {
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .mm-card,
html[data-bs-theme="dark"] .mm-food-row,
html[data-bs-theme="dark"] .food-bank-group {
	background: var(--surface);
	border-color: var(--border);
}

html[data-bs-theme="dark"] .mm-food-row--inactive {
	background: var(--surface-raised);
	opacity: 0.8;
}

html[data-bs-theme="dark"] .food-bank-group__toggle {
	background: var(--surface-raised);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .food-bank-group__body {
	border-color: var(--border-subtle);
}

html[data-bs-theme="dark"] .mm-btn--ghost {
	background: var(--surface-raised);
	border-color: var(--border);
	color: var(--foreground-secondary) !important;
}

html[data-bs-theme="dark"] .mm-btn--ghost:hover {
	background: var(--surface-elevated);
	color: var(--foreground) !important;
}

html[data-bs-theme="dark"] .mm-icon-btn {
	background: var(--surface-raised);
	border-color: var(--border);
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .mm-pill {
	background: var(--surface-elevated);
	color: var(--foreground-muted);
}

html[data-bs-theme="dark"] .mm-pill--success {
	background: var(--success-bg);
	color: var(--success-fg);
}

html[data-bs-theme="dark"] .mm-pill--warn {
	background: var(--warning-bg);
	color: var(--warning-fg);
}

html[data-bs-theme="dark"] .mm-table-wrap {
	border-color: var(--border);
}

html[data-bs-theme="dark"] .mm-table thead th {
	background: var(--surface-raised);
	color: var(--foreground-muted);
}

html[data-bs-theme="dark"] .food-badge-card,
html[data-bs-theme="dark"] .food-restaurant-checks {
	background: var(--surface-raised);
	border-color: var(--border);
}

html[data-bs-theme="dark"] .menu-sub-header.staff-header {
	background: rgba(59, 130, 246, 0.12);
	color: #93c5fd;
}

html[data-bs-theme="dark"] .menu-sub-header.management-header {
	background: rgba(245, 158, 11, 0.12);
	color: var(--warning-fg);
}

html[data-bs-theme="dark"] .menu-sub-block {
	border-color: var(--border);
}

html[data-bs-theme="dark"] .mm-restaurant-title {
	color: #93c5fd;
	border-color: var(--border);
}

/* —— Profile page —— */
html[data-bs-theme="dark"] .profile-card {
	background: var(--surface) !important;
	border-color: var(--border) !important;
}

html[data-bs-theme="dark"] .profile-hero {
	background: linear-gradient(135deg, var(--surface-raised), var(--surface)) !important;
	border-color: var(--border) !important;
}

html[data-bs-theme="dark"] .profile-link,
html[data-bs-theme="dark"] .profile-social {
	background: var(--surface-raised);
	border-color: var(--border);
	color: var(--foreground);
}

html[data-bs-theme="dark"] .profile-link:hover,
html[data-bs-theme="dark"] .profile-social:hover {
	background: var(--surface-elevated);
}

/* —— Mobile app shell —— */
html[data-bs-theme="dark"] .app-mobile-menu__panel,
html[data-bs-theme="dark"] .app-sheet,
html[data-bs-theme="dark"] .app-submodule-drawer__panel {
	background: var(--surface-elevated) !important;
	border-color: var(--border) !important;
}

html[data-bs-theme="dark"] .app-mobile-menu__action,
html[data-bs-theme="dark"] .app-bottom-nav__item {
	color: var(--foreground-muted);
}

html[data-bs-theme="dark"] .app-bottom-nav__item.is-active,
html[data-bs-theme="dark"] .app-mobile-menu__action:hover {
	color: var(--primary);
}

html[data-bs-theme="dark"] .app-mode-switch button.is-active {
	background: rgba(59, 130, 246, 0.18);
	color: #93c5fd;
}

/* —— HR & dividers —— */
html[data-bs-theme="dark"] hr,
html[data-bs-theme="dark"] .mm-divider {
	border-color: var(--border) !important;
	opacity: 1;
}

/* —— Focus visible (accessibility) —— */
html[data-bs-theme="dark"] :focus-visible {
	outline: 2px solid rgba(96, 165, 250, 0.75);
	outline-offset: 2px;
}

html[data-bs-theme="dark"] .btn:focus-visible,
html[data-bs-theme="dark"] .form-control:focus-visible,
html[data-bs-theme="dark"] .form-select:focus-visible,
html[data-bs-theme="dark"] .nav-link:focus-visible {
	box-shadow: var(--focus-ring);
}

/* —— Opacity helpers used for inactive rows —— */
html[data-bs-theme="dark"] .opacity-50,
html[data-bs-theme="dark"] .mm-row--muted {
	opacity: 0.72;
}

/* —— Propagate tokens to page-scoped stylesheets —— */
html[data-bs-theme="dark"] :root,
html[data-bs-theme="dark"] body,
html[data-bs-theme="dark"] .dashboard-container,
html[data-bs-theme="dark"] .mm-page {
	--bg-page: var(--background);
	--bg-card: var(--surface);
}

html[data-bs-theme="dark"] .dashboard-container,
html[data-bs-theme="dark"] .mm-page.dashboard-container {
	background: transparent;
}

html[data-bs-theme="dark"] .glass-card .card-body,
html[data-bs-theme="dark"] .report-section .card-body {
	color: var(--foreground-secondary);
}

html[data-bs-theme="dark"] .btn-accent,
html[data-bs-theme="dark"] .btn-outline-accent {
	/* accent buttons stay theme-colored via --primary */
}

html[data-bs-theme="dark"] .btn-outline-accent {
	color: var(--primary) !important;
	border-color: rgba(59, 130, 246, 0.45);
}

html[data-bs-theme="dark"] .btn-outline-accent:hover {
	background: rgba(59, 130, 246, 0.14);
	color: #93c5fd !important;
}

html[data-bs-theme="dark"] .custom-gradient,
html[data-bs-theme="dark"] .card-header.accent-orange {
	background: linear-gradient(135deg, var(--primary), var(--primary-dark));
	color: #fff;
}

html[data-bs-theme="dark"] .weekly-menu-section .card-header.bg-warning {
	background: rgba(245, 158, 11, 0.15) !important;
	color: var(--warning-fg) !important;
	border-bottom: 1px solid rgba(251, 191, 36, 0.2);
}

html[data-bs-theme="dark"] .tooltip .tooltip-inner {
	background: var(--surface-elevated);
	color: var(--foreground);
	border: 1px solid var(--border);
}

html[data-bs-theme="dark"] .tooltip .tooltip-arrow::before {
	border-top-color: var(--surface-elevated);
}

html[data-bs-theme="dark"] .progress {
	background: var(--surface-raised);
}

html[data-bs-theme="dark"] .spinner-border {
	color: var(--primary);
}

/* ==========================================================================
   Landing page — isolated color system (app-users-landing)
   ========================================================================== */
body:has(#content-limit.app-users-landing) {
	background: var(--background, #f5f6fb) !important;
	color: var(--color-text-strong, #0f172a) !important;
}

html[data-bs-theme="dark"] body:has(#content-limit.app-users-landing) {
	background: linear-gradient(180deg, #0b1120 0%, #111827 55%, #0f172a 100%) !important;
	color: var(--foreground, #f1f5f9) !important;
}

#content-limit.app-users-landing {
	color: inherit;
}

.landing-shell {
	color: var(--color-text-strong, #0f172a);
}

html[data-bs-theme="dark"] .landing-shell {
	color: var(--foreground, #f1f5f9);
}

.landing-shell .section-title {
	color: var(--color-text-strong, #0f172a);
}

html[data-bs-theme="dark"] .landing-shell .section-title {
	color: var(--foreground, #f8fafc);
}

.landing-shell .service-item,
.landing-shell .submodule-item,
.submodule-page .service-item,
.submodule-page .submodule-item {
	color: inherit;
	text-decoration: none;
}

.landing-shell .service-label,
.submodule-page .service-label {
	color: var(--color-text-strong, #0f172a);
	font-weight: 700;
}

html[data-bs-theme="dark"] .landing-shell .service-label,
html[data-bs-theme="dark"] .submodule-page .service-label {
	color: var(--foreground, #f1f5f9);
}

.landing-shell .service-item.is-disabled .service-label,
.landing-shell .submodule-item.is-disabled .service-label,
.submodule-page .service-item.is-disabled .service-label,
.submodule-page .submodule-item.is-disabled .service-label {
	color: var(--foreground-muted, var(--color-muted, #94a3b8));
	font-weight: 600;
}

html[data-bs-theme="dark"] .submodule-page {
	background: var(--surface, #111827) !important;
	color: var(--foreground, #f1f5f9);
}

html[data-bs-theme="dark"] .submodule-header-shell {
	background: var(--surface-raised, #1a2332) !important;
	border-color: var(--border) !important;
}

html[data-bs-theme="dark"] .submodule-header {
	color: var(--foreground, #f1f5f9);
}

html[data-bs-theme="dark"] .submodule-desc {
	color: var(--foreground-muted, #94a3b8) !important;
}

html[data-bs-theme="dark"] .submodule-close {
	background: var(--surface-elevated, #1e293b);
	border-color: var(--border);
	color: var(--foreground-secondary, #cbd5e1);
}

html[data-bs-theme="dark"] .submodule-close:hover,
html[data-bs-theme="dark"] .submodule-close:focus-visible {
	background: var(--surface-raised, #1a2332);
	color: var(--foreground, #f1f5f9);
}

html[data-bs-theme="dark"] .submodule-title {
	color: var(--foreground, #f8fafc);
}

html[data-bs-theme="dark"] a.spot-slide .spot-slide__cta {
	background: #fff;
	color: var(--spot-cta-color, #1e3a8a);
}

html[data-bs-theme="dark"] .spot-slide--education .spot-slide__cta {
	background: rgba(255, 255, 255, 0.95);
	color: var(--spot-cta-color, #6d28d9);
}

