/**
 * ODS dark theme.
 * Applies when system prefers dark (prefers-color-scheme: dark) or data-theme="dark".
 */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--color-40: #1a1d24;
		--color-40-darken-3: #14171c;
		--color-50: #3d4149;
		--color-50-darken-3: #2d3139;
		--color-70: #0f3320;
		--color-90: #3d4149;
		--color-border: #3d4149;
		--color-page: #1a1d24;
		--color-text: #e4e6eb;
		--color-text-muted: #b5b9c1;
		--color-banner-tint: #252931;
		--color-10-lighten-5: #5ab3e8;
		--color-10-lighten-10: #7ec7f0;
		--color-20: #2563a8;
		--color-20-lighten-5: #3174b8;
		--color-20-lighten-10: #4a8bc9;
	}

	/* Override Tailwind bg-white and hardcoded white backgrounds */
	html:not([data-theme="light"]) .bg-white,
	html:not([data-theme="light"]) .bg-white\/90 {
		background-color: var(--color-page) !important;
	}
	html:not([data-theme="light"]) .at-page,
	html:not([data-theme="light"]) body.at-page {
		background: var(--color-40) !important;
		color: var(--color-text);
	}

	/* ODS-specific panels and cards (from styles.css) */
	html:not([data-theme="light"]) #ods-disclaimer-panel,
	html:not([data-theme="light"]) .insp-prod-card,
	html:not([data-theme="light"]) .insp-prod-info,
	html:not([data-theme="light"]) .insp-prod-save:hover,
	html:not([data-theme="light"]) .insp-prod-save.saved,
	html:not([data-theme="light"]) .disc-video-section,
	html:not([data-theme="light"]) .disc-calc-card,
	html:not([data-theme="light"]) .disc-studio-section,
	html:not([data-theme="light"]) .disc-partner-tile,
	html:not([data-theme="light"]) .disc-faq-section,
	html:not([data-theme="light"]) .disc-video-section,
	html:not([data-theme="light"]) .looks-setup-error,
	html:not([data-theme="light"]) .looks-error-banner {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .looks-toolbar,
	html:not([data-theme="light"]) .looks-saved-link {
		background: var(--color-banner-tint) !important;
	}
	html:not([data-theme="light"]) .looks-style-tile,
	html:not([data-theme="light"]) #ods-welcome-popup .ods-welcome-popup-panel,
	html:not([data-theme="light"]) .est-total-bar,
	html:not([data-theme="light"]) .est-group-card,
	html:not([data-theme="light"]) .est-mobile-cat-bar,
	html:not([data-theme="light"]) .est-finishes-panel,
	html:not([data-theme="light"]) .est-disclaimer-panel,
	html:not([data-theme="light"]) .est-save-panel {
		background: var(--color-page) !important;
		color: var(--color-text);
	}
	html:not([data-theme="light"]) #preview-detail-modal .at-modal-content,
	html:not([data-theme="light"]) #preview-detail-modal #preview-detail-content {
		background: var(--color-page) !important;
	}
	html:not([data-theme="light"]) .ods-zoom-btn:hover,
	html:not([data-theme="light"]) .look-lock-btn:hover {
		background: var(--color-page) !important;
	}
	/* Browse product cards: keep light (white) for images and logos */
	html:not([data-theme="light"]) .ods-card {
		background: #fff !important;
		border: 1px solid var(--color-border);
	}
	html:not([data-theme="light"]) .ods-card-image-shell,
	html:not([data-theme="light"]) .ods-card-image-inner {
		background: #fff !important;
	}
	html:not([data-theme="light"]) .ods-card .ods-card-name {
		color: #1a1d24 !important;
	}
	html:not([data-theme="light"]) .ods-card .ods-card-attr,
	html:not([data-theme="light"]) .ods-card .ods-card-tile,
	html:not([data-theme="light"]) .ods-card .ods-card-brand,
	html:not([data-theme="light"]) .ods-card .ods-card-brand span {
		color: #6b7280 !important;
	}
	html:not([data-theme="light"]) .ods-card .ods-card-disclaimer {
		color: #6b7280 !important;
	}
	html:not([data-theme="light"]) .ods-card-disclaimer-btn {
		color: var(--color-10) !important;
	}
	html:not([data-theme="light"]) .ods-tile-disclaimer-panel {
		background: var(--color-page) !important;
		color: var(--color-text);
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .ods-tile-disclaimer-panel h3 {
		border-color: var(--color-border);
		color: var(--color-text) !important;
	}
	html:not([data-theme="light"]) .ods-tile-disclaimer-body {
		background: var(--color-50) !important;
		color: var(--color-text-muted) !important;
		border-left-color: var(--color-10);
	}
	html:not([data-theme="light"]) .ods-card-disclaimer-btn {
		background: var(--color-banner-tint) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .ods-card-disclaimer-btn:hover {
		background: var(--color-page) !important;
		border-color: var(--color-10);
	}
	html:not([data-theme="light"]) .ods-card .ods-card-meta-cat {
		color: #a0aab4;
	}
	html:not([data-theme="light"]) .ods-card .ods-card-brand img {
		filter: grayscale(100%) opacity(0.65);
		mix-blend-mode: multiply;
	}
	html:not([data-theme="light"]) .ods-card .ods-placeholder {
		background: #fff !important;
	}
	html:not([data-theme="light"]) .ods-card .ods-placeholder__text {
		color: #6b7280 !important;
	}
	html:not([data-theme="light"]) .ods-card .ods-placeholder__icon {
		color: #9ca3af !important;
	}
	html:not([data-theme="light"]) .ods-card .fav-remove-btn {
		color: #6b7280 !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .ods-card .fav-remove-btn:hover {
		color: #ef4444 !important;
	}
	html:not([data-theme="light"]) .ods-card:hover {
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
		border-color: var(--color-10);
	}
	html:not([data-theme="light"]) .ods-fb--detail.fancybox__container,
	html:not([data-theme="light"]) .ods-fb--detail {
		--f-thumbs-bg: var(--color-page);
		--f-thumb-bg: var(--color-40);
		--f-thumb-selected-shadow: inset 0 0 0 2px #fff;
		--f-thumb-focus-shadow: inset 0 0 0 2px var(--color-20-lighten-5, #5ab3e8);
	}
	html:not([data-theme="light"]) .ods-fb--detail .fancybox__thumbs,
	html:not([data-theme="light"]) .ods-fb--detail .fancybox__thumbs .f-thumbs {
		background: var(--color-page);
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .ods-detail-modal-content {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .ods-fb--detail .fancybox__thumbs .f-thumbs__slide button {
		background: var(--color-40);
	}
	html:not([data-theme="light"]) .ods-fb--detail .f-thumbs.is-modern .f-thumbs__slide.is-selected button {
		box-shadow:
			0 0 0 2px var(--color-page),
			0 0 0 4px #fff,
			0 4px 12px rgba(0, 0, 0, 0.45);
	}
	html:not([data-theme="light"]) .ods-fb--detail .f-thumbs:not(.is-modern) .f-thumbs__slide.is-selected button::after {
		border-color: #fff !important;
		box-shadow: 0 0 0 2px var(--color-page) !important;
	}
	html:not([data-theme="light"]) .insp-prod-card:hover {
		background: var(--color-50) !important;
	}
	/* Visible toggle: dark green tint (was light #d1fae5) */
	html:not([data-theme="light"]) .ods-visibility-toggle--on {
		background: rgba(52, 211, 153, 0.2) !important;
		border-color: rgba(52, 211, 153, 0.4);
		color: #6ee7b7 !important;
	}
	html:not([data-theme="light"]) .ods-visibility-toggle--on::before {
		background: #34d399;
	}
	html:not([data-theme="light"]) .ods-visibility-toggle--on:hover {
		background: rgba(52, 211, 153, 0.3) !important;
		border-color: rgba(52, 211, 153, 0.5);
	}

	/* Forms: inputs, selects, checkboxes, radios */
	html:not([data-theme="light"]) input,
	html:not([data-theme="light"]) select,
	html:not([data-theme="light"]) textarea,
	html:not([data-theme="light"]) .est-radio,
	html:not([data-theme="light"]) .est-checkbox {
		background: var(--color-page) !important;
		color: var(--color-text);
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .est-radio:checked,
	html:not([data-theme="light"]) .est-checkbox:checked {
		background-color: var(--brand-success, #3d8b6a) !important;
		border-color: var(--brand-success, #3d8b6a) !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 9 7.5 12.5 14 6'/%3E%3C/svg%3E") !important;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 12px 12px;
	}
	html:not([data-theme="light"]) .est-deposit-section {
		background: var(--color-40-darken-3) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .est-level-row:hover {
		background: var(--color-40-darken-3) !important;
	}

	/* Tables and tbody */
	html:not([data-theme="light"]) tbody.bg-white,
	html:not([data-theme="light"]) tbody[class*="divide-"] {
		background: var(--color-page) !important;
	}
	html:not([data-theme="light"]) tbody tr {
		border-color: var(--color-border);
		color: var(--color-text);
	}
	/* Tables: subtler borders */
	html:not([data-theme="light"]) table,
	html:not([data-theme="light"]) thead,
	html:not([data-theme="light"]) tbody,
	html:not([data-theme="light"]) th,
	html:not([data-theme="light"]) td,
	html:not([data-theme="light"]) tr {
		border-color: #2d3139 !important;
	}
	html:not([data-theme="light"]) .setup-table th,
	html:not([data-theme="light"]) .setup-table td {
		background: var(--color-page) !important;
		color: var(--color-text);
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .setup-table tbody tr:nth-child(even) {
		background: rgba(255, 255, 255, 0.03) !important;
	}
	html:not([data-theme="light"]) .setup-table tbody tr:hover {
		background: var(--color-50) !important;
	}

	/* Button hover: at-btn-light goes to #fff on hover */
	html:not([data-theme="light"]) .at-btn-light:hover {
		background: var(--color-50) !important;
		border-color: var(--color-50) !important;
		color: var(--color-text) !important;
	}

	/* at-btn at-btn--secondary: white text in dark mode */
	html:not([data-theme="light"]) .at-btn.at-btn--secondary {
		color: #fff !important;
		border-color: var(--color-text) !important;
	}
	html:not([data-theme="light"]) .at-btn.at-btn--secondary:hover {
		background: var(--color-10) !important;
		border-color: var(--color-10) !important;
		color: #fff !important;
	}

	/* Tailwind bg-slate-50: thead and other elements */
	html:not([data-theme="light"]) .bg-slate-50,
	html:not([data-theme="light"]) thead.bg-slate-50 {
		background-color: var(--color-page) !important;
		color: var(--color-text);
	}
	html:not([data-theme="light"]) thead.bg-slate-50 th {
		color: var(--color-text);
	}

	/* Tailwind hover:bg-slate-50 */
	html:not([data-theme="light"]) .hover\:bg-slate-50:hover {
		background-color: var(--color-50) !important;
		color: var(--color-text);
	}
	html:not([data-theme="light"]) .hover\:bg-slate-50:hover td,
	html:not([data-theme="light"]) .hover\:bg-slate-50:hover th,
	html:not([data-theme="light"]) .hover\:bg-slate-50:hover * {
		color: var(--color-text);
	}

	/* Admin tables: dark bg + light text */
	html:not([data-theme="light"]) #purchasers-tbody,
	html:not([data-theme="light"]) #purchasers-tbody td,
	html:not([data-theme="light"]) #purchasers-tbody th,
	html:not([data-theme="light"]) #purchasers-tbody *,
	html:not([data-theme="light"]) #categories-tbody,
	html:not([data-theme="light"]) #categories-tbody td,
	html:not([data-theme="light"]) #categories-tbody th,
	html:not([data-theme="light"]) #categories-tbody *,
	html:not([data-theme="light"]) #finder-tbody,
	html:not([data-theme="light"]) #finder-tbody td,
	html:not([data-theme="light"]) #finder-tbody th,
	html:not([data-theme="light"]) #finder-tbody *,
	html:not([data-theme="light"]) #stats-tbody,
	html:not([data-theme="light"]) #stats-tbody td,
	html:not([data-theme="light"]) #stats-tbody th,
	html:not([data-theme="light"]) #stats-tbody *,
	html:not([data-theme="light"]) #brands-tbody,
	html:not([data-theme="light"]) #brands-tbody td,
	html:not([data-theme="light"]) #brands-tbody th,
	html:not([data-theme="light"]) #brands-tbody *,
	html:not([data-theme="light"]) #homesites-tbody,
	html:not([data-theme="light"]) #homesites-tbody td,
	html:not([data-theme="light"]) #homesites-tbody th,
	html:not([data-theme="light"]) #homesites-tbody *,
	html:not([data-theme="light"]) #saved-estimates-tbody,
	html:not([data-theme="light"]) #saved-estimates-tbody td,
	html:not([data-theme="light"]) #saved-estimates-tbody th,
	html:not([data-theme="light"]) #saved-estimates-tbody * {
		color: #e8eaef !important;
	}
	html:not([data-theme="light"]) #purchasers-tbody,
	html:not([data-theme="light"]) #categories-tbody,
	html:not([data-theme="light"]) #finder-tbody,
	html:not([data-theme="light"]) #stats-tbody,
	html:not([data-theme="light"]) #brands-tbody,
	html:not([data-theme="light"]) #homesites-tbody,
	html:not([data-theme="light"]) #saved-estimates-tbody {
		background-color: var(--color-page) !important;
	}
	/* Gold badges: dark text on gold background for contrast */
	html:not([data-theme="light"]) .ods-collection-gold,
	html:not([data-theme="light"]) .est-collection-badge--gold,
	html:not([data-theme="light"]) .ods-purchaser-design-badge.est-collection-badge--gold {
		color: #3d3520 !important;
	}

	/* Active tab underline */
	html:not([data-theme="light"]) .ods-tab.active {
		border-bottom-color: #fff !important;
	}

	/* Header: keep original dark navy (unchanged from light mode) */
	html:not([data-theme="light"]) .at-header {
		background: #00244d !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
	}

	/* Mobile nav */
	html:not([data-theme="light"]) .ods-mobile-nav {
		background: var(--color-page) !important;
		border-top-color: var(--color-border);
	}

	/* Hamburger drawer: uses var(--color-page) in styles.css; deepen edge shadow */
	html:not([data-theme="light"]) .ods-mobile-menu-panel {
		box-shadow: -4px 0 28px rgba(0, 0, 0, 0.55);
		border-left: 1px solid var(--color-border);
	}

	/* Drawer active row: white type on tinted bar (blue was too low-contrast) */
	html:not([data-theme="light"]) .ods-mobile-menu-active {
		color: #fff !important;
	}
	html:not([data-theme="light"]) .ods-mobile-menu-active .ods-mobile-menu-icon {
		color: #fff !important;
	}
	html:not([data-theme="light"]) .ods-mobile-menu-active .ods-mobile-menu-desc {
		color: rgba(255, 255, 255, 0.82) !important;
	}

	/* Purchaser action buttons (admin.php inline) */
	html:not([data-theme="light"]) .purchaser-action-btn {
		background: var(--color-page) !important;
		color: var(--color-text);
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .purchaser-action-btn:hover {
		background: var(--color-10) !important;
		color: #fff;
		border-color: var(--color-10);
	}

	/* Admin purchaser estimator inline styles */
	html:not([data-theme="light"]) .est-group-card,
	html:not([data-theme="light"]) .est-finishes-panel {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}

	/* Finder inactive rows, visibility toggles */
	html:not([data-theme="light"]) .finder-row-inactive {
		background: var(--color-40-darken-3) !important;
	}
	html:not([data-theme="light"]) .finder-row-inactive:hover {
		background: var(--color-50) !important;
	}
	html:not([data-theme="light"]) .ods-visibility-toggle--off {
		background: var(--color-40-darken-3);
		color: var(--color-text-muted);
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .ods-visibility-toggle--off:hover {
		background: var(--color-50);
		border-color: var(--color-border);
	}

	/* Tailwind divide colors */
	html:not([data-theme="light"]) .divide-slate-200 > * + *,
	html:not([data-theme="light"]) [class*="divide-slate"] > * + * {
		border-color: #2d3139;
	}

	/* Keep Exploring: preserve dark navy background */
	html:not([data-theme="light"]) .page-footer-nav {
		background: #00244d !important;
	}

	/* Footer logo: use white variant in dark mode */
	html:not([data-theme="light"]) .ods-footer-logo .ods-footer-logo-dark {
		display: none !important;
	}
	html:not([data-theme="light"]) .ods-footer-logo .ods-footer-logo-light {
		display: block !important;
	}
	html:not([data-theme="light"]) .ods-footer-credits {
		background: var(--color-40-darken-3) !important;
	}

	html:not([data-theme="light"]) .ods-feedback-footer-banner {
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
	}
	html:not([data-theme="light"]) .ods-feedback-footer-banner__icon-wrap {
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
	}

	html:not([data-theme="light"]) .ods-admin-stats-badge--guest {
		background: #2d333d;
		color: #cbd5e1;
		border-color: #3d4654;
	}

	/* Trusted design partners: bright white logos */
	html:not([data-theme="light"]) .disc-partner-logo img {
		filter: invert(1);
		mix-blend-mode: normal;
	}
	html:not([data-theme="light"]) .disc-partner-tile:hover .disc-partner-logo img {
		filter: invert(1);
		mix-blend-mode: normal;
	}

	/* Looks: Generate a Look button */
	html:not([data-theme="light"]) .looks-setup-cta {
		background: var(--color-10) !important;
		color: #fff !important;
	}
	html:not([data-theme="light"]) .looks-setup-cta:hover {
		background: var(--color-10-lighten-10) !important;
		opacity: 1;
	}

	/* Looks: setup + toolbar */
	html:not([data-theme="light"]) .looks-shell,
	html:not([data-theme="light"]) .looks-view-setup {
		background: var(--color-page) !important;
	}
	html:not([data-theme="light"]) .looks-style-tiles-label {
		color: var(--color-text-muted) !important;
	}
	html:not([data-theme="light"]) .looks-style-tile {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .looks-style-tile:hover {
		border-color: var(--color-10);
		box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	}
	html:not([data-theme="light"]) .looks-style-tile-name {
		color: var(--color-text) !important;
	}
	html:not([data-theme="light"]) .looks-style-tile-sub {
		color: var(--color-text-muted) !important;
	}

	/* Looks: result masthead + toolbar */
	html:not([data-theme="light"]) .looks-result-masthead {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .looks-result-masthead__name {
		color: var(--color-text) !important;
	}
	html:not([data-theme="light"]) .looks-result-masthead__theme,
	html:not([data-theme="light"]) .looks-result-masthead__desc,
	html:not([data-theme="light"]) .looks-toolbar__hint {
		color: var(--color-text-muted) !important;
	}
	html:not([data-theme="light"]) .looks-toolbar__text-btn {
		color: var(--color-10) !important;
	}
	html:not([data-theme="light"]) .looks-mobile-tabs {
		background: var(--color-50) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .looks-tab.is-active {
		background: var(--color-page) !important;
		color: var(--color-text) !important;
	}
	html:not([data-theme="light"]) .looks-tab {
		color: var(--color-text-muted) !important;
	}

	/* Looks: loading state */
	html:not([data-theme="light"]) .looks-loading-inner {
		background: transparent;
	}
	html:not([data-theme="light"]) .looks-loading-text {
		color: var(--color-text-muted) !important;
	}

	/* Looks: look cards (trio + finishing touches) — keep light mode style for product imagery */
	html:not([data-theme="light"]) .look-card,
	html:not([data-theme="light"]) .look-card--finishing {
		background: #fff !important;
		border: 1px solid #e5e7eb;
	}
	html:not([data-theme="light"]) .look-card-img-wrap {
		background: #fff !important;
		border-bottom-color: #e5e7eb;
	}
	html:not([data-theme="light"]) .look-card-noimg {
		background: #e5e7eb !important;
	}
	html:not([data-theme="light"]) .look-card-name {
		color: #1a1d24 !important;
	}
	html:not([data-theme="light"]) .look-card-label {
		color: var(--color-10) !important;
	}
	html:not([data-theme="light"]) .look-card-brand img {
		filter: grayscale(100%) opacity(0.65);
		mix-blend-mode: multiply;
	}
	html:not([data-theme="light"]) .look-card:hover .look-card-brand img {
		filter: grayscale(100%) opacity(0.65);
		mix-blend-mode: multiply;
	}
	html:not([data-theme="light"]) .look-card-brand--text {
		color: #6b7280 !important;
	}
	html:not([data-theme="light"]) .look-card-type {
		color: #1a1d24 !important;
		background: #e5e7eb !important;
	}
	html:not([data-theme="light"]) .look-card-level {
		color: var(--color-10) !important;
		border-color: var(--color-10);
	}
	html:not([data-theme="light"]) .look-finishing-wrap {
		border-top-color: #e5e7eb;
	}
	html:not([data-theme="light"]) .look-finishing-header {
		border-top-color: #e5e7eb;
		color: #6b7280 !important;
	}

	/* Looks: result action buttons */
	html:not([data-theme="light"]) .looks-result-actions {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .looks-result-actions__save {
		background: var(--color-10) !important;
		color: #fff !important;
		border-color: var(--color-10);
	}
	html:not([data-theme="light"]) .looks-result-actions__save:hover {
		background: var(--color-10-lighten-10) !important;
		border-color: var(--color-10-lighten-10);
		color: #fff !important;
	}
	html:not([data-theme="light"]) .looks-result-actions__shuffle {
		background: var(--color-page) !important;
		color: var(--color-text);
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .looks-result-actions__shuffle:hover {
		background: var(--color-50) !important;
		border-color: var(--color-10);
	}

	/* Looks: error state Try Again button */
	html:not([data-theme="light"]) .looks-error-banner .at-btn.at-btn--secondary,
	html:not([data-theme="light"]) .looks-setup-error .at-btn.at-btn--secondary,
	html:not([data-theme="light"]) #look-error .at-btn.at-btn--secondary {
		color: #fff !important;
		border-color: var(--color-border);
	}

	/* Looks: share panel modal */
	html:not([data-theme="light"]) #looks-share-panel {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}

	/* Estimator: sidebar and main panel (light background sections) */
	html:not([data-theme="light"]) .est-sidebar,
	html:not([data-theme="light"]) .est-main-panel {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}

	/* Estimator: design bar (design name + collection badge) */
	html:not([data-theme="light"]) .est-design-bar {
		background: var(--color-page) !important;
		border-color: var(--color-border);
	}
	html:not([data-theme="light"]) .est-design-label {
		color: var(--color-text-muted) !important;
	}
	html:not([data-theme="light"]) .est-design-name {
		color: var(--color-text) !important;
	}
}

[data-theme="dark"] {
	--color-40: #1a1d24;
	--color-40-darken-3: #14171c;
	--color-50: #3d4149;
	--color-50-darken-3: #2d3139;
	--color-70: #0f3320;
	--color-90: #3d4149;
	--color-border: #3d4149;
	--color-page: #1a1d24;
	--color-text: #e4e6eb;
	--color-text-muted: #b5b9c1;
	--color-banner-tint: #252931;
	--color-10-lighten-5: #5ab3e8;
	--color-10-lighten-10: #7ec7f0;
	--color-20: #2563a8;
	--color-20-lighten-5: #3174b8;
	--color-20-lighten-10: #4a8bc9;
}
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-white\/90,
[data-theme="dark"] #ods-disclaimer-panel,
[data-theme="dark"] .insp-prod-card,
[data-theme="dark"] .insp-prod-info,
[data-theme="dark"] .disc-calc-card,
[data-theme="dark"] .disc-partner-tile,
[data-theme="dark"] .disc-studio-section,
[data-theme="dark"] .disc-faq-section,
[data-theme="dark"] .disc-video-section,
[data-theme="dark"] .looks-setup-error,
[data-theme="dark"] .looks-error-banner {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .looks-toolbar,
[data-theme="dark"] .looks-saved-link {
	background: var(--color-banner-tint) !important;
}
[data-theme="dark"] .looks-style-tile,
[data-theme="dark"] .est-total-bar,
[data-theme="dark"] .est-group-card,
[data-theme="dark"] .est-finishes-panel,
[data-theme="dark"] .est-disclaimer-panel,
[data-theme="dark"] .est-save-panel,
[data-theme="dark"] .est-mobile-cat-bar,
[data-theme="dark"] .ods-mobile-nav,
[data-theme="dark"] #ods-welcome-popup .ods-welcome-popup-panel,
[data-theme="dark"] tbody.bg-white {
	background-color: var(--color-page) !important;
	background: var(--color-page) !important;
}
[data-theme="dark"] .setup-table th,
[data-theme="dark"] .setup-table td {
	background: var(--color-page) !important;
	color: var(--color-text);
	border-color: var(--color-border);
}
[data-theme="dark"] .setup-table tbody tr:nth-child(even) {
	background: rgba(255, 255, 255, 0.03) !important;
}
[data-theme="dark"] .setup-table tbody tr:hover {
	background: var(--color-50) !important;
}
[data-theme="dark"] .at-btn-light:hover {
	background: var(--color-50) !important;
	border-color: var(--color-50) !important;
	color: var(--color-text) !important;
}
/* Browse product cards: keep light (white) for images and logos */
[data-theme="dark"] .ods-card {
	background: #fff !important;
	border: 1px solid var(--color-border);
}
[data-theme="dark"] .ods-card-image-shell,
[data-theme="dark"] .ods-card-image-inner {
	background: #fff !important;
}
[data-theme="dark"] .ods-card .ods-card-name {
	color: #1a1d24 !important;
}
[data-theme="dark"] .ods-card .ods-card-attr,
[data-theme="dark"] .ods-card .ods-card-tile,
[data-theme="dark"] .ods-card .ods-card-brand,
[data-theme="dark"] .ods-card .ods-card-brand span {
	color: #6b7280 !important;
}
[data-theme="dark"] .ods-card .ods-card-disclaimer {
	color: #6b7280 !important;
}
[data-theme="dark"] .ods-card-disclaimer-btn {
	color: var(--color-10) !important;
}
[data-theme="dark"] .ods-tile-disclaimer-panel {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .ods-tile-disclaimer-panel h3 {
	border-color: var(--color-border);
	color: var(--color-text) !important;
}
[data-theme="dark"] .ods-tile-disclaimer-body {
	background: var(--color-50) !important;
	color: var(--color-text-muted) !important;
	border-left-color: var(--color-10);
}
[data-theme="dark"] .ods-card-disclaimer-btn {
	background: var(--color-banner-tint) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .ods-card-disclaimer-btn:hover {
	background: var(--color-page) !important;
	border-color: var(--color-10);
}
[data-theme="dark"] .ods-card .ods-card-meta-cat {
	color: #a0aab4;
}
[data-theme="dark"] .ods-card .ods-card-brand img {
	filter: grayscale(100%) opacity(0.65);
	mix-blend-mode: multiply;
}
[data-theme="dark"] .ods-card .ods-placeholder {
	background: #fff !important;
}
[data-theme="dark"] .ods-card .ods-placeholder__text {
	color: #6b7280 !important;
}
[data-theme="dark"] .ods-card .ods-placeholder__icon {
	color: #9ca3af !important;
}
[data-theme="dark"] .ods-card .fav-remove-btn {
	color: #6b7280 !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .ods-card .fav-remove-btn:hover {
	color: #ef4444 !important;
}
[data-theme="dark"] .ods-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
	border-color: var(--color-10);
}
[data-theme="dark"] .ods-fb--detail.fancybox__container,
[data-theme="dark"] .ods-fb--detail {
	--f-thumbs-bg: var(--color-page);
	--f-thumb-bg: var(--color-40);
	--f-thumb-selected-shadow: inset 0 0 0 2px #fff;
	--f-thumb-focus-shadow: inset 0 0 0 2px var(--color-20-lighten-5, #5ab3e8);
}
[data-theme="dark"] .ods-fb--detail .fancybox__thumbs,
[data-theme="dark"] .ods-fb--detail .fancybox__thumbs .f-thumbs {
	background: var(--color-page);
	border-color: var(--color-border);
}
[data-theme="dark"] .ods-detail-modal-content {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .ods-fb--detail .fancybox__thumbs .f-thumbs__slide button {
	background: var(--color-40);
}
[data-theme="dark"] .ods-fb--detail .f-thumbs.is-modern .f-thumbs__slide.is-selected button {
	box-shadow:
		0 0 0 2px var(--color-page),
		0 0 0 4px #fff,
		0 4px 12px rgba(0, 0, 0, 0.45);
}
[data-theme="dark"] .ods-fb--detail .f-thumbs:not(.is-modern) .f-thumbs__slide.is-selected button::after {
	border-color: #fff !important;
	box-shadow: 0 0 0 2px var(--color-page) !important;
}
[data-theme="dark"] .insp-prod-card:hover {
	background: var(--color-50) !important;
}
[data-theme="dark"] .ods-visibility-toggle--on {
	background: rgba(52, 211, 153, 0.2) !important;
	border-color: rgba(52, 211, 153, 0.4);
	color: #6ee7b7 !important;
}
[data-theme="dark"] .ods-visibility-toggle--on::before {
	background: #34d399;
}
[data-theme="dark"] .ods-visibility-toggle--on:hover {
	background: rgba(52, 211, 153, 0.3) !important;
	border-color: rgba(52, 211, 153, 0.5);
}
[data-theme="dark"] .at-btn.at-btn--secondary {
	color: #fff !important;
	border-color: var(--color-text) !important;
}
[data-theme="dark"] .at-btn.at-btn--secondary:hover {
	background: var(--color-10) !important;
	border-color: var(--color-10) !important;
	color: #fff !important;
}
[data-theme="dark"] .bg-slate-50,
[data-theme="dark"] thead.bg-slate-50 {
	background-color: var(--color-page) !important;
	color: var(--color-text);
}
[data-theme="dark"] thead.bg-slate-50 th {
	color: var(--color-text);
}
[data-theme="dark"] .hover\:bg-slate-50:hover {
	background-color: var(--color-50) !important;
	color: var(--color-text);
}
[data-theme="dark"] .hover\:bg-slate-50:hover td,
[data-theme="dark"] .hover\:bg-slate-50:hover th,
[data-theme="dark"] .hover\:bg-slate-50:hover * {
	color: var(--color-text);
}
[data-theme="dark"] #purchasers-tbody,
[data-theme="dark"] #purchasers-tbody td,
[data-theme="dark"] #purchasers-tbody th,
[data-theme="dark"] #purchasers-tbody *,
[data-theme="dark"] #categories-tbody,
[data-theme="dark"] #categories-tbody td,
[data-theme="dark"] #categories-tbody th,
[data-theme="dark"] #categories-tbody *,
[data-theme="dark"] #finder-tbody,
[data-theme="dark"] #finder-tbody td,
[data-theme="dark"] #finder-tbody th,
[data-theme="dark"] #finder-tbody *,
[data-theme="dark"] #stats-tbody,
[data-theme="dark"] #stats-tbody td,
[data-theme="dark"] #stats-tbody th,
[data-theme="dark"] #stats-tbody *,
[data-theme="dark"] #brands-tbody,
[data-theme="dark"] #brands-tbody td,
[data-theme="dark"] #brands-tbody th,
[data-theme="dark"] #brands-tbody *,
[data-theme="dark"] #homesites-tbody,
[data-theme="dark"] #homesites-tbody td,
[data-theme="dark"] #homesites-tbody th,
[data-theme="dark"] #homesites-tbody *,
[data-theme="dark"] #saved-estimates-tbody,
[data-theme="dark"] #saved-estimates-tbody td,
[data-theme="dark"] #saved-estimates-tbody th,
[data-theme="dark"] #saved-estimates-tbody * {
	color: #e8eaef !important;
}
[data-theme="dark"] #purchasers-tbody,
[data-theme="dark"] #categories-tbody,
[data-theme="dark"] #finder-tbody,
[data-theme="dark"] #stats-tbody,
[data-theme="dark"] #brands-tbody,
[data-theme="dark"] #homesites-tbody,
[data-theme="dark"] #saved-estimates-tbody {
	background-color: var(--color-page) !important;
}
[data-theme="dark"] .ods-collection-gold,
[data-theme="dark"] .est-collection-badge--gold,
[data-theme="dark"] .ods-purchaser-design-badge.est-collection-badge--gold {
	color: #3d3520 !important;
}
[data-theme="dark"] .ods-tab.active {
	border-bottom-color: #fff !important;
}
[data-theme="dark"] .at-header {
	background: #00244d !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}
[data-theme="dark"] .ods-mobile-menu-panel {
	box-shadow: -4px 0 28px rgba(0, 0, 0, 0.55);
	border-left: 1px solid var(--color-border);
}
[data-theme="dark"] .ods-mobile-menu-active {
	color: #fff !important;
}
[data-theme="dark"] .ods-mobile-menu-active .ods-mobile-menu-icon {
	color: #fff !important;
}
[data-theme="dark"] .ods-mobile-menu-active .ods-mobile-menu-desc {
	color: rgba(255, 255, 255, 0.82) !important;
}
[data-theme="dark"] table,
[data-theme="dark"] thead,
[data-theme="dark"] tbody,
[data-theme="dark"] th,
[data-theme="dark"] td,
[data-theme="dark"] tr {
	border-color: #2d3139 !important;
}
[data-theme="dark"] .divide-slate-200 > * + *,
[data-theme="dark"] [class*="divide-slate"] > * + * {
	border-color: #2d3139;
}
[data-theme="dark"] .page-footer-nav {
	background: #00244d !important;
}
[data-theme="dark"] .ods-footer-logo .ods-footer-logo-dark {
	display: none !important;
}
[data-theme="dark"] .ods-footer-logo .ods-footer-logo-light {
	display: block !important;
}
[data-theme="dark"] .ods-footer-credits {
	background: var(--color-40-darken-3) !important;
}
[data-theme="dark"] .ods-feedback-footer-banner {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
[data-theme="dark"] .ods-feedback-footer-banner__icon-wrap {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}
[data-theme="dark"] .ods-admin-stats-badge--guest {
	background: #2d333d;
	color: #cbd5e1;
	border-color: #3d4654;
}
[data-theme="dark"] .disc-partner-logo img {
	filter: invert(1);
	mix-blend-mode: normal;
}
[data-theme="dark"] .disc-partner-tile:hover .disc-partner-logo img {
	filter: invert(1);
	mix-blend-mode: normal;
}
[data-theme="dark"] .looks-setup-cta {
	background: var(--color-10) !important;
	color: #fff !important;
}
[data-theme="dark"] .looks-setup-cta:hover {
	background: var(--color-10-lighten-10) !important;
	opacity: 1;
}
[data-theme="dark"] .looks-shell,
[data-theme="dark"] .looks-view-setup {
	background: var(--color-page) !important;
}
[data-theme="dark"] .looks-style-tiles-label {
	color: var(--color-text-muted) !important;
}
[data-theme="dark"] .looks-style-tile {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .looks-style-tile:hover {
	border-color: var(--color-10);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}
[data-theme="dark"] .looks-style-tile-name {
	color: var(--color-text) !important;
}
[data-theme="dark"] .looks-style-tile-sub {
	color: var(--color-text-muted) !important;
}
[data-theme="dark"] .looks-result-masthead {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .looks-result-masthead__name {
	color: var(--color-text) !important;
}
[data-theme="dark"] .looks-result-masthead__theme,
[data-theme="dark"] .looks-result-masthead__desc,
[data-theme="dark"] .looks-toolbar__hint {
	color: var(--color-text-muted) !important;
}
[data-theme="dark"] .looks-toolbar__text-btn {
	color: var(--color-10) !important;
}
[data-theme="dark"] .looks-mobile-tabs {
	background: var(--color-50) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .looks-tab.is-active {
	background: var(--color-page) !important;
	color: var(--color-text) !important;
}
[data-theme="dark"] .looks-tab {
	color: var(--color-text-muted) !important;
}
[data-theme="dark"] .looks-loading-inner {
	background: transparent;
}
[data-theme="dark"] .looks-loading-text {
	color: var(--color-text-muted) !important;
}
/* Looks: look cards (trio + finishing touches) — keep light mode style */
[data-theme="dark"] .look-card,
[data-theme="dark"] .look-card--finishing {
	background: #fff !important;
	border: 1px solid #e5e7eb;
}
[data-theme="dark"] .look-card-img-wrap {
	background: #fff !important;
	border-bottom-color: #e5e7eb;
}
[data-theme="dark"] .look-card-noimg {
	background: #e5e7eb !important;
}
[data-theme="dark"] .look-card-name {
	color: #1a1d24 !important;
}
[data-theme="dark"] .look-card-label {
	color: var(--color-10) !important;
}
[data-theme="dark"] .look-card-brand img {
	filter: grayscale(100%) opacity(0.65);
	mix-blend-mode: multiply;
}
[data-theme="dark"] .look-card:hover .look-card-brand img {
	filter: grayscale(100%) opacity(0.65);
	mix-blend-mode: multiply;
}
[data-theme="dark"] .look-card-brand--text {
	color: #6b7280 !important;
}
[data-theme="dark"] .look-card-type {
	color: #1a1d24 !important;
	background: #e5e7eb !important;
}
[data-theme="dark"] .look-card-level {
	color: var(--color-10) !important;
	border-color: var(--color-10);
}
[data-theme="dark"] .look-finishing-wrap {
	border-top-color: #e5e7eb;
}
[data-theme="dark"] .look-finishing-header {
	border-top-color: #e5e7eb;
	color: #6b7280 !important;
}
[data-theme="dark"] .looks-result-actions {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .looks-result-actions__save {
	background: var(--color-10) !important;
	color: #fff !important;
	border-color: var(--color-10);
}
[data-theme="dark"] .looks-result-actions__save:hover {
	background: var(--color-10-lighten-10) !important;
	border-color: var(--color-10-lighten-10);
	color: #fff !important;
}
[data-theme="dark"] .looks-result-actions__shuffle {
	background: var(--color-page) !important;
	color: var(--color-text);
	border-color: var(--color-border);
}
[data-theme="dark"] .looks-result-actions__shuffle:hover {
	background: var(--color-50) !important;
	border-color: var(--color-10);
}
[data-theme="dark"] .looks-error-banner .at-btn.at-btn--secondary,
[data-theme="dark"] .looks-setup-error .at-btn.at-btn--secondary,
[data-theme="dark"] #look-error .at-btn.at-btn--secondary {
	color: #fff !important;
	border-color: var(--color-border);
}
[data-theme="dark"] #looks-share-panel {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .est-sidebar,
[data-theme="dark"] .est-main-panel {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .est-design-bar {
	background: var(--color-page) !important;
	border-color: var(--color-border);
}
[data-theme="dark"] .est-design-label {
	color: var(--color-text-muted) !important;
}
[data-theme="dark"] .est-design-name {
	color: var(--color-text) !important;
}

/* aw-toast: stronger shadow in dark mode for contrast */
html:not([data-theme="light"]) .aw-toast-bar,
[data-theme="dark"] .aw-toast-bar {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

/* Login / recover / signup pages */
html:not([data-theme="light"]) .ods-login-page,
[data-theme="dark"] .ods-login-page {
	background: linear-gradient(to top right, var(--color-40-darken-3) 0%, var(--color-40) 50%, var(--color-page) 100%);
}

html:not([data-theme="light"]) .ods-login-page .ods-login-card,
[data-theme="dark"] .ods-login-page .ods-login-card {
	background: var(--color-page) !important;
	color: var(--color-text);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

html:not([data-theme="light"]) .ods-login-page .ods-recover-title,
[data-theme="dark"] .ods-login-page .ods-recover-title {
	color: var(--color-text);
}

html:not([data-theme="light"]) .ods-login-page .ods-recover-footer-logo,
[data-theme="dark"] .ods-login-page .ods-recover-footer-logo {
	opacity: 0.7;
	filter: brightness(1.2);
}
