/* ============================================================================
   FITNESS COACH PRO - BUSINESS THEME OVERRIDES (Light & Professional)
   ============================================================================ */

/* Radical Comprehensive Overrides */
.fcp-dashboard-duo {
    background: transparent !important;
}

/* Cards & Containers */
.duo-quest-section,
.duo-stat-card,
.duo-video-card,
.fcp-profile-completion-card,
.duo-streak-card,
.bento-commitment-challenge,
.duo-xp-section,
.duo-workout-card,
.duo-meal-card,
.fcp-modal-content,
.fcp-bottom-sheet-content,
.duo-quest-header,
.duo-daily-goal,
.duo-tasks-column-header,
.duo-program-card,
.duo-achievement-item,
#fcp-completion-banner {
    background: var(--glass-bg, #fff) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 12px !important;
}

.duo-mascot-section,
#fcp-completion-banner,
.duo-program-card,
.duo-quest-section,
.duo-streak-card,
.duo-xp-section,
.duo-stats-grid,
.duo-daily-goal,
.bento-commitment-challenge,
.duo-achievements-teaser,
.achievements-section,
.duo-video-session-widget,
.duo-rest-card,
.duo-no-program,
.fcp-nutrition-path-wrapper,
/* Workout Page Sections (Top Level Wrappers) */
.week-nav-gamified,
.weekly-schedule-strip,
.weekly-progress-bar,
.focus-section-title,
.today-quick-stats,
.today-hero-wrapper,
.upcoming-days-list,
.workout-day-group,
.rest-day-hero,
.empty-schedule-hero,
.week-nav-return-wrap {
    margin: 0 auto var(--spacing-lg, 20px) !important;
    width: calc(100% - 40px) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Remove internal margins for the hero card to match wrapper width */
.today-hero-wrapper .todays-workout-card {
    margin: 0 !important;
    width: 100% !important;
}

/* Remove padding from strips so cards match full width visually */
.upcoming-days-list,
.weekly-schedule-strip {
    padding: 0 !important;
}

/* Texts & Headers */
h1,
h2,
h3,
h4,
h5,
h6,
.duo-greeting h1,
.commitment-title h3,
.ring-value,
.stat-value,
.fcp-xp-text,
.duo-workout-name,
.duo-meal-name,
.quest-title,
.achievements-type-title,
.duo-achievement-name,
#fcb-title,
#fcb-percentage {
    color: var(--duo-text) !important;
    text-shadow: none !important;
    -webkit-text-fill-color: var(--duo-text) !important;
}

p,
span,
.duo-greeting p,
.stat-label,
.ring-target,
.duo-workout-meta,
.duo-meal-meta,
.duo-xp-stats,
.duo-achievement-requirement,
.duo-achievement-xp,
#fcb-subtitle {
    color: var(--duo-text-secondary) !important;
}

/* Inputs, Selects, Forms */
input,
select,
textarea,
.fcp-input,
.fcp-select {
    background: var(--glass-bg) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: var(--duo-text) !important;
    border-radius: 8px !important;
}

/* Topbar / Bottomnav */
.fcp-topbar,
.fcp-bottom-nav,
.duo-bottom-nav:not(.duo-bottom-nav),
.duo-topbar {
    background: var(--glass-bg) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}

.fcp-nav-item,
.duo-nav-item:not(.duo-bottom-nav .duo-nav-item) {
    color: var(--duo-text-muted, #64748b) !important;
}

.fcp-nav-item.active,
.duo-nav-item:not(.duo-bottom-nav .duo-nav-item).active {
    color: var(--duo-green, #10b981) !important;
}

.duo-nav-item:not(.duo-bottom-nav .duo-nav-item).active::before {
    background: var(--duo-green, #10b981) !important;
    box-shadow: none !important;
}

/* Specific Badge Overrides */
.duo-streak-badge,
.duo-xp-badge,
.duo-level-badge {
    border-radius: 8px !important;
    box-shadow: none !important;
    border-width: 1px !important;
}

.duo-mascot {
    box-shadow: none !important;
    animation: none !important;
}

/* Form Styles */
.fcp-btn-primary,
.auth-btn,
.register-btn {
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Language Switcher Business Theme Overrides */
.fcp-lang-switcher .lang-toggle {
    background: var(--glass-bg, #fff) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    backdrop-filter: none !important;
}

.fcp-lang-switcher .lang-toggle:hover {
    background: #f8f9fa !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
}

.fcp-lang-switcher .lang-track {
    color: var(--duo-text-muted, #64748b) !important;
}

/* EN Active State */
.fcp-lang-switcher .lang-toggle.is-en .lang-indicator {
    background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.3) !important;
}

.fcp-lang-switcher .lang-toggle.is-en .lang-en {
    color: #fff !important;
    text-shadow: none !important;
}

.fcp-lang-switcher .lang-toggle.is-en .lang-ar {
    color: var(--duo-text-muted, #64748b) !important;
    opacity: 0.7 !important;
}

/* AR Active State */
.fcp-lang-switcher .lang-toggle.is-ar .lang-indicator {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    box-shadow: 0 2px 6px rgba(5, 150, 105, 0.3) !important;
}

.fcp-lang-switcher .lang-toggle.is-ar .lang-ar {
    color: #fff !important;
    text-shadow: none !important;
}

.fcp-lang-switcher .lang-toggle.is-ar .lang-en {
    color: var(--duo-text-muted, #64748b) !important;
    opacity: 0.7 !important;
}

/* ============================================================================
   🏋️ WORKOUT & WORKOUT LOG OVERRIDES
   ============================================================================ */

/* 1. Full-Width & Centered Alignment for Workout Containers */
.fcp-workout-log-page .exercises-list,
.fcp-workout-log-page .logging-header,
.fcp-workout-log-page .day-summary-bar,
.weekly-schedule-strip,
.weekly-progress-bar,
.today-quick-stats,
.today-hero-wrapper,
.upcoming-days-list,
.week-nav-gamified,
.todays-workout-card {
    margin-inline: auto !important;
    width: calc(100% - 40px) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* 2. Glassmorphic White Backgrounds for Workout Cards */
.exercise-log-card,
.schedule-day-card,
.todays-workout-card,
.workout-card-mini,
.session-divider,
.prev-session-summary,
.weekly-progress-bar,
.today-quick-stats,
.week-nav-gamified,
.ex-alternatives-section,
.alt-exercise-card {
    background: var(--glass-bg, #fff) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 14px !important;
}

/* Eliminate excessive internal background colors to fit light mode */
.ex-info-bar,
.prev-session-bar,
.ex-swapped-notice,
.ex-coach-slim-note,
.session-coach-message {
    background: transparent !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.ex-coach-slim-note .slim-note-text,
.session-coach-message .coach-msg-text,
.ex-coach-slim-note .coach-msg-text {
    color: var(--duo-text, #1e293b) !important;
}

.session-coach-message .coach-msg-title {
    color: var(--duo-blue, #3b82f6) !important;
}

.day-summary-bar {
    background: rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    color: var(--duo-text) !important;
}

/* 3. Text Colors - Overriding white text for Light Theme */
.week-dot:not(.done):not(.active) {
    background: #e2e8f0 !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

.week-dot-more {
    color: var(--duo-text-muted, #64748b) !important;
}

.session-divider-name,
.prev-summary-title,
.prev-stat-value,
.ex-title,
.workout-title-lg,
.schedule-day-name,
.schedule-day-workouts,
.quick-stat-value,
.week-nav-num,
.alt-header-text,
.alt-exercise-name {
    color: var(--duo-text, #333) !important;
    text-shadow: none !important;
}

.session-divider-meta,
.prev-summary-date,
.prev-stat-label,
.prev-summary-tip,
.ex-muscle,
.ex-equipment,
.info-value,
.prev-session-label,
.prev-set-chip,
.workout-subtitle,
.schedule-day-status,
.quick-stat-label,
.alt-count-badge {
    color: var(--duo-text-muted, #666) !important;
    text-shadow: none !important;
}

/* Note: Keeping dark gradient on .ex-header-overlay per user request so we don't override .ex-title inside it to be dark if it's over an image.
   Wait, .ex-title is over the image! So .ex-title MUST be white! Let's fix that. */
.ex-header-overlay .ex-title,
.ex-header-overlay .ex-muscle,
.ex-header-overlay .ex-equipment {
    color: #fff !important;
}

.ex-header-overlay .ex-muscle {
    background: rgba(255, 255, 255, 0.2) !important;
}

/* 4. Inputs & Set Rows */
.set-row {
    background: #f8f9fa !important;
    /* Light grey */
    border: 1px solid transparent !important;
}

.set-row.completed-set {
    background: #f0fdf4 !important;
    /* Soft light green */
    border-color: #86efac !important;
}

.log-input {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: var(--duo-text, #333) !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}

.log-input:focus {
    border-color: var(--fcp-primary, #3b82f6) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

/* 5. Finish Workout Button */
.finish-workout-btn {
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* ============================================================================
   ℹ️ EXERCISE INFO MODAL (BUSINESS THEME OVERRIDES)
   ============================================================================ */
.exercise-info-modal {
    background: var(--glass-bg, #ffffff) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.05) !important;
}

.exercise-info-modal-handle {
    background: rgba(0, 0, 0, 0.15) !important;
}

.exercise-info-modal-name {
    color: var(--duo-text, #1e293b) !important;
    text-shadow: none !important;
}

.exercise-info-modal-name-en {
    color: var(--duo-text-muted, #64748b) !important;
}

.exercise-info-modal-desc-label {
    color: var(--duo-green, #10b981) !important;
}

.exercise-info-modal-desc {
    color: var(--duo-text-secondary, #334155) !important;
    background: #f8f9fa !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.exercise-info-modal-divider {
    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.06), transparent) !important;
}

.exercise-info-overlay {
    background: rgba(0, 0, 0, 0.6) !important;
    /* Dark dimming overlay */
    backdrop-filter: blur(5px) !important;
}

/* ============================================================================
   🔧 LOGGING HEADER FIX (Alignment & Spacing)
   ============================================================================ */
.fcp-workout-log-page {
    padding-top: 0 !important;
    /* The topbar is sticky so it occupies space. No extra padding needed here! */
}

.fcp-workout-log-page .logging-header {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.fcp-workout-log-page .log-title h2 {
    color: var(--duo-text, #1e293b) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

.fcp-workout-log-page .log-title div {
    color: var(--duo-text-muted, #64748b) !important;
    margin-top: 4px !important;
}

/* ============================================================================
   🍎 NUTRITION PAGE OVERRIDES
   ============================================================================ */

/* 1. Mascot Hero */
.duo-mascot-section {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.fcp-nutrition-hero {
    background: transparent !important;
}

.nutrition-hero-inner {
    color: var(--duo-text) !important;
}

.nutrition-hero-inner h2,
.nutrition-hero-inner p,
.duo-greeting h1,
.duo-greeting p {
    color: var(--duo-text) !important;
    text-shadow: none !important;
}

/* 2. XP Section */
.duo-xp-section {
    background: var(--glass-bg, #fff) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}

.xp-title,
.xp-subtitle,
.duo-xp-header h3,
.duo-xp-stats span {
    color: var(--duo-text) !important;
}

/* 3. Stats Grid (Macros) */
.stat-card {
    background: var(--glass-bg, #fff) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}

.stat-val {
    color: var(--duo-text) !important;
}

.stat-label {
    color: var(--duo-text-secondary) !important;
}

/* 4. Daily Goal */
.duo-daily-goal {
    background: var(--glass-bg, #fff) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}

.duo-goal-header h3 {
    color: var(--duo-text) !important;
}

.duo-goal-header h3::before {
    content: none !important;
    animation: none !important;
}

.duo-goal-status {
    color: var(--duo-text-secondary, #64748b) !important;
    font-weight: 700 !important;
}

.duo-goal-text .value {
    color: var(--duo-text) !important;
}

.duo-goal-text .label {
    color: var(--duo-text-secondary) !important;
}

.goal-detail-item .detail-text {
    color: var(--duo-text-secondary, #64748b) !important;
}

.goal-detail-item .detail-count {
    color: var(--duo-text, #1e293b) !important;
}

.goal-detail-item .detail-count.complete {
    color: var(--duo-green, #10b981) !important;
}

.duo-goal-circle .bg {
    stroke: rgba(0, 0, 0, 0.05) !important;
}

.goal-ring-bg {
    stroke: rgba(0, 0, 0, 0.05) !important;
}

.goal-center-cal {
    color: var(--duo-text) !important;
}

.goal-center-label {
    color: var(--duo-text-secondary) !important;
}

/* 5. Meal Path */
.fcp-daily-unit {
    background: transparent !important;
    border: none !important;
}

.fcp-unit-header {
    background: rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: none !important;
    border-radius: 20px !important;
}

.fcp-unit-header h3 {
    color: var(--duo-text, #1e293b) !important;
}

.unit-date,
.unit-stat-item .text {
    color: var(--duo-text-secondary, #64748b) !important;
}

.node-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.node-icon {
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1) !important;
}

.is-current .node-icon {
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1), 0 0 15px rgba(88, 204, 2, 0.4) !important;
}

.node-label {
    background: var(--glass-bg, #fff) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}

.node-label::after {
    border-bottom-color: var(--glass-bg, #fff) !important;
}

.node-label .meal-name {
    color: var(--duo-text) !important;
}

.node-label .meal-type {
    color: var(--duo-text-secondary) !important;
}

/* Make the wavy path line darker */
.path-background {
    stroke: rgba(0, 0, 0, 0.12) !important;
}

/* 6. Modals (Nutrition) */

/* Meal Details Modal - High Specificity Overrides */
#fcp-meal-details-modal .fcp-modal-content.fcp-modal-large {
    background: var(--glass-bg, #fff) !important;
    color: var(--duo-text) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1) !important;
}

#fcp-meal-details-modal .hero-top-bar span,
#fcp-meal-details-modal .fcp-qv-title {
    color: #fff !important;
    /* Keep white over image */
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
    /* Restore shadow for readability over image */
}

#fcp-meal-details-modal .fcp-qv-info-bar,
#fcp-meal-details-modal .info-bar-left,
#fcp-meal-details-modal .nutrition-item {
    background: rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: none !important;
}

#fcp-meal-details-modal .info-text {
    color: var(--duo-text) !important;
}

#fcp-meal-details-modal .nutrition-value {
    color: var(--duo-green, #10b981) !important;
    text-shadow: none !important;
}

#fcp-meal-details-modal .nutrition-label,
#fcp-meal-details-modal .nutrition-unit {
    color: var(--duo-text-secondary) !important;
}

#fcp-meal-details-modal .fcp-qv-column-title {
    color: var(--duo-text) !important;
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}

#fcp-meal-details-modal .fcp-qv-ingredients li,
#fcp-meal-details-modal .fcp-qv-directions li {
    background: rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    color: var(--duo-text) !important;
    box-shadow: none !important;
}

#fcp-meal-details-modal .fcp-qv-ingredients li:hover,
#fcp-meal-details-modal .fcp-qv-directions li:hover {
    background: rgba(0, 0, 0, 0.06) !important;
}

#fcp-meal-details-modal .fcp-qv-swap-view {
    background: var(--glass-bg, #fff) !important;
    color: var(--duo-text) !important;
}

.swap-info-banner.duo-style {
    background: rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: none !important;
    color: var(--duo-text) !important;
}

.swap-info-banner.duo-style p,
.swap-info-banner.duo-style p strong {
    color: var(--duo-text) !important;
}

.swap-section-title {
    color: var(--duo-text) !important;
}

.swap-alt-card.duo-style {
    background: rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.swap-alt-card.duo-style .alt-name.duo-style {
    color: var(--duo-text) !important;
}

/* Apply light theme to macro badges in BOTH the banner and the alt cards */
.macro-badge.duo-style {
    background: rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    color: var(--duo-text-secondary) !important;
}

.macro-badge.duo-style.cal {
    color: var(--duo-green) !important;
    font-weight: 800 !important;
}

.macro-badge.duo-style.pro {
    color: #e11d48 !important;
    font-weight: 800 !important;
}

.macro-badge.duo-style.carb {
    color: #d97706 !important;
    font-weight: 800 !important;
}

#fcp-meal-details-modal .fcp-modal-footer.duo-style {
    background: transparent !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
}

#fcp-meal-details-modal .fcp-modal-footer-enhanced {
    background: var(--glass-bg, #fff) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.fcp-qv-swap-view .fcp-btn-alt {
    background: rgba(0, 0, 0, 0.05) !important;
    color: var(--duo-text) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: none !important;
}

/* Smart Shopping List Modal */
#fcp-shopping-list-modal .fcp-modal-content {
    background: var(--glass-bg, #fff) !important;
    color: var(--duo-text) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

#fcp-shopping-list-modal .fcp-shopping-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

#fcp-shopping-list-modal .fcp-shopping-header h2,
#fcp-shopping-list-modal .fcp-shopping-section-title {
    color: var(--duo-text) !important;
}

#fcp-shopping-list-modal .fcp-shopping-preset-btn {
    background: rgba(0, 0, 0, 0.04) !important;
    color: var(--duo-text-secondary) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

#fcp-shopping-list-modal .fcp-shopping-preset-btn.is-active {
    background: var(--duo-green) !important;
    color: #fff !important;
    border-color: var(--duo-green) !important;
}

#fcp-shopping-list-modal .shopping-item-name {
    color: var(--duo-text) !important;
}

#fcp-shopping-list-modal .shopping-item-qty {
    color: var(--duo-text-secondary) !important;
}

#fcp-shopping-list-modal .fcp-shopping-footer {
    background: transparent !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* Shopping List Items Overrides */
#fcp-shopping-list-modal .shopping-category-group {
    background: rgba(0, 0, 0, 0.02) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

#fcp-shopping-list-modal .category-title {
    color: var(--duo-text) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}

#fcp-shopping-list-modal .category-title:hover {
    background: rgba(0, 0, 0, 0.03) !important;
}

#fcp-shopping-list-modal .shopping-item {
    background: rgba(0, 0, 0, 0.02) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

#fcp-shopping-list-modal .shopping-item:hover {
    background: rgba(0, 0, 0, 0.04) !important;
}

#fcp-shopping-list-modal .checklist-custom {
    background: rgba(0, 0, 0, 0.05) !important;
    border: 2px solid rgba(0, 0, 0, 0.1) !important;
}

#fcp-shopping-list-modal .item-name {
    color: var(--duo-text) !important;
}

#fcp-shopping-list-modal .item-quantity {
    background: rgba(0, 0, 0, 0.05) !important;
    color: var(--duo-text-secondary) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

#fcp-shopping-list-modal .checklist-input:checked~.item-details .item-name {
    color: rgba(0, 0, 0, 0.3) !important;
}

#fcp-shopping-list-modal .fcp-shopping-date-input {
    background: rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: var(--duo-text) !important;
    color-scheme: light !important;
}

/* Recipe Modal Overrides */
#client-recipe-modal .fcp-modal-content {
    background: var(--glass-bg, #fff) !important;
}

#client-recipe-modal .modal-body {
    background: transparent !important;
    color: var(--duo-text) !important;
}

#client-recipe-modal .stats-bar {
    background: rgba(0, 0, 0, 0.02) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: none !important;
}

#client-recipe-modal .stats-bar .stat-item>div:first-of-type {
    color: var(--duo-text) !important;
    text-shadow: none !important;
}

#client-recipe-modal .stats-bar .stat-item>div:last-of-type {
    color: var(--duo-text-secondary) !important;
    text-shadow: none !important;
}

#client-recipe-modal .two-col-layout .section {
    background: rgba(0, 0, 0, 0.02) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: none !important;
}

#client-recipe-modal .two-col-layout .section h3 {
    text-shadow: none !important;
}

#client-recipe-modal #crm-ingredients li,
#client-recipe-modal #crm-steps>div {
    background: rgba(0, 0, 0, 0.03) !important;
    color: var(--duo-text) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* Cooking Mode Overrides */
#fcp-cooking-mode-modal .fcp-modal-content {
    background: var(--glass-bg, #fff) !important;
}

#fcp-cooking-mode-modal .cooking-mode-content {
    background: var(--glass-bg, #fff) !important;
}

#fcp-cooking-mode-modal .cooking-slide-container {
    color: var(--duo-text) !important;
}

#fcp-cooking-mode-modal .cooking-photo-section,
#fcp-cooking-mode-modal .cooking-scan-container {
    background: transparent !important;
    color: var(--duo-text) !important;
}

#fcp-cooking-mode-modal #cooking-timer-ui {
    background: rgba(0, 0, 0, 0.05) !important;
    color: var(--duo-text) !important;
}

#fcp-cooking-mode-modal .timer-label {
    color: var(--duo-text) !important;
}

#fcp-cooking-mode-modal .timer-bg {
    stroke: rgba(0, 0, 0, 0.1) !important;
}

#fcp-cooking-mode-modal .cooking-hunger-feedback {
    color: var(--duo-text) !important;
}

#fcp-cooking-mode-modal .hunger-option {
    background: rgba(0, 0, 0, 0.03) !important;
    color: var(--duo-text) !important;
}

#fcp-cooking-mode-modal .cooking-victory-screen {
    color: var(--duo-text) !important;
}

#fcp-cooking-mode-modal .victory-message h2,
#fcp-cooking-mode-modal .victory-message p {
    color: var(--duo-text) !important;
}

/* SweetAlert Overrides */
html body div.swal2-container .stitch-swal-popup,
html body div.swal2-container .fcp-premium-swal {
    background: #ffffff !important;
    color: #1a1a1a !important;
    /* Force all text inside to be dark */
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1) !important;
}

html body div.swal2-container .stitch-swal-popup .swal2-title,
html body div.swal2-container .fcp-premium-swal-content h2 {
    color: #111827 !important;
}

html body div.swal2-container .stitch-swal-popup .swal2-html-container,
html body div.swal2-container .stitch-swal-popup .swal2-content,
html body div.swal2-container .stitch-swal-popup #swal2-html-container,
html body div.swal2-container .stitch-swal-popup #swal2-content,
html body div.swal2-container .fcp-premium-swal-content p {
    color: #111827 !important;
    /* Extremely dark grey for the text */
    font-weight: 800 !important;
}

html body div.swal2-container button.stitch-swal-btn-cancel,
html body div.swal2-container button.swal2-cancel {
    background: rgba(0, 0, 0, 0.05) !important;
    color: #111827 !important;
    /* Make cancel button text dark */
    font-weight: 800 !important;
}

html body div.swal2-container button.stitch-swal-btn-cancel:hover,
html body div.swal2-container button.swal2-cancel:hover {
    background: rgba(0, 0, 0, 0.1) !important;
}

.stitch-swal-popup .swal2-icon.swal2-question {
    border-color: #1cb0f6 !important;
    color: #1cb0f6 !important;
}

.stitch-swal-btn {
    background: #1cb0f6 !important;
    /* Duo Blue */
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(28, 176, 246, 0.3) !important;
}

/* Level Up Overlay Overrides */
#duo-levelup-overlay .duo-levelup-content {
    background: var(--glass-bg, #fff) !important;
    color: var(--duo-text) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

#duo-levelup-overlay h2,
#duo-levelup-overlay #levelup-rank {
    color: var(--duo-text) !important;
}

/* ============================================================================
   DEEP TEXT COLOR FIX FOR LIGHT MODALS
   ============================================================================ */

/* Cooking Mode Texts */
#fcp-cooking-mode-modal h2,
#fcp-cooking-mode-modal h3,
#fcp-cooking-mode-modal p,
#fcp-cooking-mode-modal .timer-display,
#fcp-cooking-mode-modal .timer-label,
#fcp-cooking-mode-modal .ai-text,
#fcp-cooking-mode-modal .hunger-label,
#fcp-cooking-mode-modal .victory-xp-gain,
#fcp-cooking-mode-modal .photo-upload-label span {
    color: var(--duo-text) !important;
}

/* Recipe Modal Texts */
#client-recipe-modal .modal-body h3,
#client-recipe-modal #crm-ingredients li,
#client-recipe-modal #crm-steps>div {
    color: var(--duo-text) !important;
}

/* Shopping List Texts */
#fcp-shopping-list-modal .category-title,
#fcp-shopping-list-modal .item-name,
#fcp-shopping-list-modal .fcp-shopping-section-title,
#fcp-shopping-list-modal .date-separator,
#fcp-shopping-list-modal .fcp-loading-shopping {
    color: var(--duo-text) !important;
}

#fcp-shopping-list-modal .item-quantity,
#fcp-shopping-list-modal .preset-text {
    color: var(--duo-text-secondary) !important;
}

#fcp-shopping-list-modal .fcp-shopping-preset-btn.is-active .preset-text {
    color: #ffffff !important;
}

#fcp-shopping-list-modal .checklist-input:checked~.item-details .item-name {
    color: rgba(0, 0, 0, 0.4) !important;
}

/* SweetAlert Texts */
.stitch-swal-popup .swal2-title,
.stitch-swal-popup .swal2-html-container,
.fcp-premium-swal-content h2,
.fcp-premium-swal-content p {
    color: var(--duo-text) !important;
}

/* Level Up Texts */
#duo-levelup-overlay h2,
#duo-levelup-overlay #levelup-rank,
#duo-levelup-overlay .level-number {
    color: var(--duo-text) !important;
}

/* ============================================================================
   MEAL DETAILS MODAL TWEAKS
   ============================================================================ */

/* 1. Meal Title - Force White over image (Max Specificity) */
html body .fcp-modal#fcp-meal-details-modal .fcp-modal-content h2#meal-detail-title.fcp-qv-title,
#fcp-meal-details-modal .hero-top-bar span,
#fcp-meal-details-modal .fcp-qv-title,
#meal-detail-title {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8) !important;
}

/* 2. Fix Servings and Minutes text colors (Max Specificity & Hardcoded Hex) */
html body .fcp-modal#fcp-meal-details-modal .info-item,
html body .fcp-modal#fcp-meal-details-modal .info-text {
    color: #4b5563 !important;
    /* Hardcoded dark gray instead of variable to prevent resolving to white */
}

html body .fcp-modal#fcp-meal-details-modal .info-text span#meal-detail-servings,
html body .fcp-modal#fcp-meal-details-modal .info-text span#meal-detail-time {
    color: #1cb0f6 !important;
    /* Duo Blue */
    font-weight: 900 !important;
    font-size: 16px !important;
}

/* 3. Footer Buttons Restyling */
#fcp-meal-details-modal .fcp-btn-mark-complete {
    background: var(--duo-green) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 6px 20px rgba(88, 204, 2, 0.3) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    border-radius: 16px !important;
    letter-spacing: 0.5px !important;
    padding: 14px 24px !important;
}

#fcp-meal-details-modal .fcp-btn-mark-complete span {
    color: #ffffff !important;
}

#fcp-meal-details-modal .fcp-btn-premium-swap {
    background: rgba(0, 0, 0, 0.05) !important;
    color: var(--duo-text) !important;
    border: 2px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    border-radius: 16px !important;
    padding: 14px 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

#fcp-meal-details-modal .fcp-btn-premium-swap span {
    color: var(--duo-text) !important;
}

#fcp-meal-details-modal .fcp-btn-premium-swap:hover {
    background: rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-2px) !important;
}

#fcp-meal-details-modal .fcp-btn-mark-complete:hover {
    box-shadow: 0 8px 25px rgba(88, 204, 2, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* ============================================================================
   MEAL SWAP VIEW TWEAKS (Light Theme)
   ============================================================================ */

/* 1. Header */
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .premium-swap-header h2 {
    color: var(--duo-text) !important;
}

/* 2. Current Meal Banner */
html body .fcp-modal#fcp-meal-details-modal #swap-current-meal-info.swap-info-banner {
    background: rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: none !important;
}

html body .fcp-modal#fcp-meal-details-modal #swap-current-meal-info p {
    color: var(--duo-text-secondary) !important;
}

html body .fcp-modal#fcp-meal-details-modal #swap-current-meal-info p strong {
    color: var(--duo-text) !important;
}

/* 3. Section Title */
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .swap-section-title {
    color: var(--duo-text) !important;
}

/* 4. Alternative Cards */
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .swap-alt-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}

html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .swap-alt-card:hover {
    background: #fafafa !important;
    border-color: rgba(0, 0, 0, 0.15) !important;
}

html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .alt-name {
    color: var(--duo-text) !important;
}

/* 5. Macro Badges inside Swap View */
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .alt-macros,
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .swap-macros-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-top: 8px !important;
}

html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .macro-badge {
    background: rgba(243, 243, 243, 0.849) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    color: var(--duo-text) !important;
    box-shadow: none !important;
    padding: 6px 10px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* 6. Difference Badge */
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .alt-diff {
    background: rgba(0, 0, 0, 0.04) !important;
    color: var(--duo-text-secondary) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    margin-top: 8px !important;
    display: inline-block !important;
}

html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .alt-diff span {
    color: var(--duo-text) !important;
    font-weight: 900 !important;
}

/* 7. Select Button (Checkmark) */
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .alt-select-btn {
    background: rgba(0, 0, 0, 0.05) !important;
    color: rgba(0, 0, 0, 0.3) !important;
    border: 2px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .swap-alt-card:hover .alt-select-btn,
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .alt-select-btn:hover {
    background: var(--duo-blue, #1cb0f6) !important;
    color: #ffffff !important;
    border-color: var(--duo-blue, #1cb0f6) !important;
    box-shadow: 0 4px 15px rgba(28, 176, 246, 0.3) !important;
}

html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .swap-alt-card:hover .alt-select-btn svg,
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view .alt-select-btn:hover svg {
    stroke: #ffffff !important;
    color: #ffffff !important;
}

/* 8. Back Button */
html body .fcp-modal#fcp-meal-details-modal #meal-swap-view #meal-swap-back-btn {
    background: rgba(0, 0, 0, 0.05) !important;
    color: var(--duo-text) !important;
    border: 2px solid rgba(0, 0, 0, 0.1) !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    border-radius: 16px !important;
    padding: 14px 24px !important;
    transition: all 0.2s ease !important;
}

html body .fcp-modal#fcp-meal-details-modal #meal-swap-view #meal-swap-back-btn:hover {
    background: rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-2px) !important;
}

/* ============================================================================
   SHOPPING LIST FAB (Floating Action Button)
   ============================================================================ */
html body button#fcp-fab-shopping.fcp-shopping-fab {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid rgba(28, 176, 246, 0.4) !important;
    /* Duo Blue */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 0 20px rgba(28, 176, 246, 0.15) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

html body button#fcp-fab-shopping.fcp-shopping-fab:hover {
    background: #ffffff !important;
    border-color: rgba(28, 176, 246, 0.4);
}

/* ============================================================================
   7. PROFILE PAGE (BUSINESS THEME)
   ============================================================================ */

/* 7.1 Profile Header */
.theme-business-light .duo-profile-header {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
}

.theme-business-light .duo-profile-header::before {
    background: linear-gradient(90deg, var(--duo-blue), var(--duo-green));
    box-shadow: none;
}

.theme-business-light .duo-profile-name {
    color: var(--duo-text);
    text-shadow: none;
}

.theme-business-light .duo-profile-email {
    color: var(--duo-text-secondary);
}

.theme-business-light .duo-profile-rank {
    background: rgba(28, 176, 246, 0.1);
    border: 1px solid rgba(28, 176, 246, 0.2);
    color: var(--duo-blue);
    box-shadow: none;
}

.theme-business-light .duo-profile-avatar {
    border-color: var(--glass-border);
    box-shadow: var(--shadow-sm);
}

.theme-business-light .duo-profile-avatar-upload {
    background: var(--duo-blue);
    border-color: #fff;
}

/* 7.2 Profile Tabs */
.theme-business-light .duo-profile-tabs {
    background: transparent !important;
    border: none !important;
}

.theme-business-light .duo-tab-btn {
    color: #ffffff !important;
}

.theme-business-light .duo-tab-btn:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1);
}

.theme-business-light .duo-tab-btn.active {
    background: var(--duo-blue);
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(28, 176, 246, 0.3);
}

/* 7.3 Profile Form Sections */
.theme-business-light .fcp-form-section {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
}

.theme-business-light .fcp-form-section::before {
    background: linear-gradient(90deg, var(--duo-blue), var(--duo-green));
}

.theme-business-light .fcp-form-section-title {
    color: #333333 !important;
    border-bottom-color: var(--glass-border);
    text-shadow: none;
}

.theme-business-light #fcp-measurements-video-btn,
.theme-business-light #fcp-measurements-video-btn span {
    color: #ffffff !important;
}

/* 7.4 Form Inputs */
.theme-business-light .fcp-form-row label {
    color: var(--duo-text);
}

.theme-business-light .fcp-form-row input,
.theme-business-light .fcp-form-row select,
.theme-business-light .fcp-form-row textarea {
    background: var(--duo-bg) !important;
    color: var(--duo-text) !important;
    border-color: var(--glass-border);
}

.theme-business-light .fcp-form-row input::placeholder,
.theme-business-light .fcp-form-row textarea::placeholder {
    color: #64748b !important;
    opacity: 0.8 !important;
}

.theme-business-light .fcp-form-row input:hover,
.theme-business-light .fcp-form-row select:hover,
.theme-business-light .fcp-form-row textarea:hover {
    background: #ffffff !important;
    border-color: var(--duo-blue);
    color: var(--duo-text) !important;
}

.theme-business-light .fcp-form-row input:focus,
.theme-business-light .fcp-form-row select:focus,
.theme-business-light .fcp-form-row textarea:focus {
    background: #ffffff !important;
    border-color: var(--duo-blue);
    box-shadow: 0 0 0 4px rgba(28, 176, 246, 0.1);
    color: var(--duo-blue) !important;
}

.theme-business-light .fcp-form-row select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%231a1a1a' d='M7 10L2 5h10z'/%3E%3C/svg%3E");
}

.theme-business-light .fcp-form-row input:read-only {
    background: rgba(0, 0, 0, 0.05) !important;
    color: var(--duo-text-secondary) !important;
    border-color: var(--glass-border);
}

/* 7.5 Checkboxes and Radios */
.theme-business-light .radio-card {
    background: var(--glass-bg);
    border-color: var(--glass-border);
    color: var(--duo-text);
}

.theme-business-light .radio-card:hover {
    border-color: var(--duo-blue);
    background: rgba(28, 176, 246, 0.05);
}

.theme-business-light input[type="radio"]:checked+.radio-card {
    background: rgba(28, 176, 246, 0.1);
    border-color: var(--duo-blue);
}

.theme-business-light .fcp-checkbox-label {
    color: var(--duo-text);
}

.theme-business-light .fcp-checkbox-custom {
    border-color: var(--glass-border);
    background: var(--glass-bg);
}

.theme-business-light input[type="checkbox"]:checked+.fcp-checkbox-custom {
    background: var(--duo-blue);
    border-color: var(--duo-blue);
}

/* 7.6 Completion Banner */
.theme-business-light .profile-completion-banner {
    background: rgba(255, 152, 0, 0.1);
    border-color: rgba(255, 152, 0, 0.3);
    color: var(--duo-text);
}

.theme-business-light .completion-header h3 {
    color: var(--duo-text);
}

.theme-business-light .missing-fields-list li {
    background: var(--glass-bg);
    border-color: var(--glass-border);
    color: var(--duo-text-secondary);
}

.theme-business-light .missing-fields-list li .field-icon {
    background: rgba(255, 152, 0, 0.1);
}

/* 7.7 Action Bar */
.theme-business-light .duo-form-actions {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.theme-business-light .btn-cancel {
    background: rgba(0, 0, 0, 0.05);
    color: var(--duo-text);
    border-color: var(--glass-border);
}

.theme-business-light .btn-cancel:hover {
    background: rgba(0, 0, 0, 0.1);
    color: var(--duo-text);
}

.theme-business-light .btn-save {
    background: var(--duo-blue);
    box-shadow: 0 4px 12px rgba(28, 176, 246, 0.3);
}

.theme-business-light .btn-save:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(28, 176, 246, 0.4);
}

/* 7.8 Profile Downloads */
.theme-business-light .fcp-downloads-title {
    color: var(--duo-text);
}

.theme-business-light .fcp-downloads-subtitle {
    color: var(--duo-text-secondary);
}

.theme-business-light .fcp-dl-card {
    background: var(--glass-bg);
    border-color: var(--glass-border);
    box-shadow: var(--glass-shadow);
}

.theme-business-light .fcp-dl-card:hover {
    background: var(--glass-bg);
    border-color: var(--duo-blue);
    box-shadow: 0 10px 25px rgba(28, 176, 246, 0.15);
}

.theme-business-light .fcp-dl-card-title {
    color: var(--duo-text);
}

.theme-business-light .fcp-dl-card-meta {
    color: var(--duo-text-secondary);
}

.theme-business-light .fcp-dl-card-icon {
    background: rgba(0, 0, 0, 0.03);
    border-bottom-color: var(--glass-border);
}

.theme-business-light .fcp-dl-card-cover {
    border-bottom-color: var(--glass-border);
}

.theme-business-light .fcp-dl-card-actions {
    border-top-color: var(--glass-border);
}

.theme-business-light .fcp-dl-btn-preview {
    background: rgba(0, 0, 0, 0.05);
    color: var(--duo-text);
    border-color: var(--glass-border);
}

.theme-business-light .fcp-dl-btn-preview:hover {
    background: rgba(0, 0, 0, 0.1);
    color: var(--duo-blue);
    border-color: var(--duo-blue);
}

/* ============================================================================
   8. CHAT PAGE (BUSINESS THEME)
   ============================================================================ */

/* 8.1 Topbar */
.theme-business-light .duo-chat-topbar {
    background: var(--glass-bg) !important;
    border-bottom-color: var(--glass-border) !important;
}

.theme-business-light .chat-back-btn {
    background: rgba(28, 176, 246, 0.1) !important;
    border-color: rgba(28, 176, 246, 0.2) !important;
    color: var(--duo-blue) !important;
}

.theme-business-light .chat-back-btn:hover {
    background: rgba(28, 176, 246, 0.2) !important;
    border-color: var(--duo-blue) !important;
}

.theme-business-light .trainer-name {
    color: var(--duo-text) !important;
}

.theme-business-light .trainer-status {
    color: var(--duo-text-secondary) !important;
}

.theme-business-light .trainer-avatar {
    border-color: var(--duo-blue) !important;
}

/* 8.2 Messages Area */
.theme-business-light .chat-messages-wrapper {
    background: transparent !important;
}

.theme-business-light .message-date-divider span {
    background: var(--glass-bg) !important;
    color: var(--duo-text-muted) !important;
    border: 1px solid var(--glass-border) !important;
}

/* Chat Bubbles */
.theme-business-light .chat-message.trainer .message-bubble {
    background: #ffffff !important;
    color: var(--duo-text) !important;
    border: 1px solid var(--glass-border) !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02) !important;
}

.theme-business-light .chat-message.client .message-bubble {
    background: linear-gradient(135deg, var(--duo-blue), #0d96d6) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(28, 176, 246, 0.2) !important;
}

/* Empty & Loading States */
.theme-business-light .chat-empty-state h3 {
    color: var(--duo-text) !important;
}

.theme-business-light .chat-empty-state p {
    color: var(--duo-text-secondary) !important;
}

.theme-business-light .chat-loading {
    color: var(--duo-text-secondary) !important;
}

.theme-business-light .chat-loading-spinner {
    border-color: rgba(0, 0, 0, 0.05) !important;
    border-top-color: var(--duo-blue) !important;
}

/* 8.3 Input Area */
.theme-business-light .chat-input-area {
    background: var(--glass-bg) !important;
    border-top-color: var(--glass-border) !important;
}

.theme-business-light #chat-message-input {
    background: #ffffff !important;
    border-color: var(--glass-border) !important;
    color: var(--duo-text) !important;
}

.theme-business-light #chat-message-input::placeholder {
    color: #64748b !important;
    opacity: 0.8 !important;
}

.theme-business-light #chat-message-input:focus {
    border-color: var(--duo-blue) !important;
    box-shadow: 0 0 0 3px rgba(28, 176, 246, 0.1) !important;
}

.theme-business-light .chat-emoji-btn {
    background: #ffffff !important;
    border-color: var(--glass-border) !important;
    color: var(--duo-text-muted) !important;
}

.theme-business-light .chat-emoji-btn:hover {
    background: rgba(0, 0, 0, 0.02) !important;
    color: var(--duo-blue) !important;
    border-color: var(--duo-blue) !important;
}

.theme-business-light .chat-send-btn {
    background: linear-gradient(135deg, var(--duo-blue), #0d96d6) !important;
    box-shadow: 0 4px 0 #0d96d6 !important;
}

.theme-business-light .chat-send-btn:hover:not(:disabled) {
    box-shadow: 0 6px 0 #0d96d6, 0 0 15px rgba(28, 176, 246, 0.4) !important;
}

.theme-business-light .chat-send-btn:active:not(:disabled) {
    box-shadow: 0 2px 0 #0d96d6 !important;
}

.theme-business-light .emoji-picker {
    background: #ffffff !important;
    border-color: var(--glass-border) !important;
}

.theme-business-light .emoji-item:hover {
    background: rgba(0, 0, 0, 0.05) !important;
}

/* ============================================================================
   SHOPPING LIST MODAL BUTTONS (Light Theme)
   ============================================================================ */

/* 1. Date Preset Buttons (This Week, Next 3 Days, etc.) */
html body div#fcp-shopping-list-modal .fcp-shopping-preset-btn {
    background: rgba(0, 0, 0, 0.05) !important;
    color: #4b5563 !important;
    /* var(--duo-text-secondary) */
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: none !important;
    font-weight: 700 !important;
}

html body div#fcp-shopping-list-modal .fcp-shopping-preset-btn:hover {
    background: rgba(0, 0, 0, 0.08) !important;
    color: #1a1a1a !important;
    /* var(--duo-text) */
}

html body div#fcp-shopping-list-modal .fcp-shopping-preset-btn.is-active {
    background: #1cb0f6 !important;
    /* var(--duo-blue) */
    color: #ffffff !important;
    border-color: #1cb0f6 !important;
    box-shadow: 0 4px 15px rgba(28, 176, 246, 0.3) !important;
}

/* Section Title */
html body div#fcp-shopping-list-modal .fcp-shopping-section-title {
    color: #1a1a1a !important;
}

/* 2. Main Generate Button */
html body div#fcp-shopping-list-modal .fcp-shopping-generate-btn {
    background: #1cb0f6 !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 15px rgba(28, 176, 246, 0.3) !important;
    border-radius: 16px !important;
}

html body div#fcp-shopping-list-modal .fcp-shopping-generate-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(28, 176, 246, 0.4) !important;
    background: #1899d6 !important;
}

/* 3. Footer Action Buttons (Print / WhatsApp) */
html body div#fcp-shopping-list-modal .fcp-shopping-action-btn,
html body div#fcp-shopping-list-modal .fcp-modal-footer button.fcp-shopping-action-btn {
    background: rgba(0, 0, 0, 0.05) !important;
    color: #1a1a1a !important;
    border: 2px solid rgba(0, 0, 0, 0.1) !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    border-radius: 16px !important;
}

html body div#fcp-shopping-list-modal .fcp-shopping-action-btn:hover,
html body div#fcp-shopping-list-modal .fcp-modal-footer button.fcp-shopping-action-btn:hover {
    background: rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-2px) !important;
}

html body div#fcp-shopping-list-modal .fcp-shopping-whatsapp-btn,
html body div#fcp-shopping-list-modal .fcp-modal-footer button.fcp-shopping-whatsapp-btn {
    background: #25D366 !important;
    /* WhatsApp Green */
    color: #ffffff !important;
    border: none !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3) !important;
    border-radius: 16px !important;
}

html body div#fcp-shopping-list-modal .fcp-shopping-whatsapp-btn:hover,
html body div#fcp-shopping-list-modal .fcp-modal-footer button.fcp-shopping-whatsapp-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4) !important;
    background: #20bd5a !important;
}

/* ==========================================================================
   6. Progress Page (Business Theme)
   ========================================================================== */

/* 6.1 Stats Grid & Health Indicators */
.theme-business-light .duo-stat-card,
.theme-business-light .health-indicator-card,
.theme-business-light .weight-stat-card,
.theme-business-light .progress-summary-stat-item,
.theme-business-light .inbody-metric-item,
.theme-business-light .segmental-item,
.theme-business-light .duo-achievement-item,
.theme-business-light .duo-rank-item,
.theme-business-light .inbody-chart-container,
.theme-business-light .photos-card,
.theme-business-light .fcp-achievement-badge,
.theme-business-light .body-measurement-item,
.theme-business-light .progress-photos-container .photo-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--duo-text);
}

.theme-business-light .stat-icon,
.theme-business-light .health-icon,
.theme-business-light .weight-stat-icon {
    background: rgba(28, 176, 246, 0.1);
    color: var(--duo-blue);
    border: 1px solid rgba(28, 176, 246, 0.2);
}

.theme-business-light .stat-value,
.theme-business-light .health-indicator-value,
.theme-business-light .weight-stat-value,
.theme-business-light .inbody-metric-value,
.theme-business-light .segmental-value {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: var(--duo-text);
    color: var(--duo-text);
}

.theme-business-light .stat-label,
.theme-business-light .health-label,
.theme-business-light .health-desc,
.theme-business-light .weight-stat-label,
.theme-business-light .today-weight-label {
    color: var(--duo-text-secondary);
}

/* Today Weight Card (Main Chart) */
.theme-business-light .health-today-weight-card {
    background: linear-gradient(135deg, rgba(28, 176, 246, 0.1) 0%, var(--glass-bg) 100%);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    backdrop-filter: blur(20px);
}

.theme-business-light .today-weight-value {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: var(--duo-blue);
    color: var(--duo-blue);
}

.theme-business-light .today-weight-unit {
    color: var(--duo-text-secondary);
    -webkit-text-fill-color: var(--duo-text-secondary);
}

.theme-business-light .today-weight-icon {
    filter: drop-shadow(0 4px 12px rgba(28, 176, 246, 0.3));
}

/* 6.2 XP Progress Bar */
.theme-business-light .fcp-xp-progress-bar {
    background: rgba(0, 0, 0, 0.05);
    border: 1px solid var(--glass-border);
}

.theme-business-light .fcp-xp-progress-fill {
    background: var(--duo-blue);
    box-shadow: 0 0 10px rgba(28, 176, 246, 0.5);
}

/* 6.3 Weight Chart & Progress SVG */
.theme-business-light .weight-progress-circle .ring-bg {
    stroke: rgba(0, 0, 0, 0.05);
}

.theme-business-light .weight-progress-circle .ring-fill {
    stroke: var(--duo-blue);
    filter: drop-shadow(0 0 4px rgba(28, 176, 246, 0.5));
}

.theme-business-light .sparkline-line,
.theme-business-light .fcp-sparkline-path {
    stroke: var(--duo-blue) !important;
    filter: drop-shadow(0 2px 4px rgba(28, 176, 246, 0.3));
}

.theme-business-light .sparkline-dot {
    fill: var(--duo-blue) !important;
    filter: drop-shadow(0 0 6px var(--duo-blue));
}

.theme-business-light .fcp-sparkline-fill {
    fill: rgba(28, 176, 246, 0.1) !important;
}

/* 6.4 Quick Weight Button & Logged States */
.theme-business-light .quick-weight-btn,
.theme-business-light .log-weight-btn,
.theme-business-light .add-measurement-btn {
    background: rgba(28, 176, 246, 0.1);
    color: var(--duo-blue);
    border: 2px dashed rgba(28, 176, 246, 0.3);
}

.theme-business-light .quick-weight-btn:hover,
.theme-business-light .log-weight-btn:hover,
.theme-business-light .add-measurement-btn:hover {
    background: rgba(28, 176, 246, 0.15);
    border-color: var(--duo-blue);
}

.theme-business-light .weight-logged-card {
    background: linear-gradient(135deg, rgba(28, 176, 246, 0.1), rgba(28, 176, 246, 0.05));
    border: 2px solid rgba(28, 176, 246, 0.3);
}

.theme-business-light .weight-logged-icon,
.theme-business-light .weight-logged-message,
.theme-business-light .weight-logged-value {
    color: var(--duo-blue);
}

.theme-business-light .weight-locked-card {
    background: rgba(0, 0, 0, 0.02);
    border: 2px dashed rgba(0, 0, 0, 0.1);
}

.theme-business-light .weight-locked-title,
.theme-business-light .weight-locked-desc {
    color: var(--duo-text-secondary);
}

.theme-business-light .weight-input-field {
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid rgba(0, 0, 0, 0.1);
    color: var(--duo-text) !important;
    -webkit-text-fill-color: var(--duo-text) !important;
}

.theme-business-light .weight-input-field:focus {
    border-color: var(--duo-blue);
    background: #fff;
    color: var(--duo-text) !important;
    -webkit-text-fill-color: var(--duo-text) !important;
    box-shadow: 0 0 0 4px rgba(28, 176, 246, 0.1);
}

.theme-business-light .weight-input-field::placeholder {
    color: var(--duo-text-secondary) !important;
    -webkit-text-fill-color: var(--duo-text-secondary) !important;
}

/* 6.5 Inbody Analysis Table/Rows */
.theme-business-light .inbody-history-table th {
    background: rgba(0, 0, 0, 0.02);
    color: var(--duo-text-secondary);
    border-bottom: 2px solid rgba(0, 0, 0, 0.05);
}

.theme-business-light .inbody-history-table td {
    color: var(--duo-text);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.theme-business-light .inbody-metric-unit,
.theme-business-light .segmental-unit,
.theme-business-light .inbody-comparison-table .unit {
    color: var(--duo-text-secondary);
    -webkit-text-fill-color: var(--duo-text-secondary);
}

.theme-business-light .inbody-summary-value {
    color: var(--duo-blue);
    -webkit-text-fill-color: var(--duo-blue);
    font-weight: 800;
}

.theme-business-light .inbody-history-table tr:hover {
    background: rgba(0, 0, 0, 0.01);
}

/* 6.6 Section Headers */
.theme-business-light .section-title,
.theme-business-light .progress-section-title,
.theme-business-light .fcp-section-title {
    color: var(--duo-text);
}

.theme-business-light .section-subtitle {
    color: var(--duo-text-secondary);
}

/* 6.7 SVG Icons & Gradients Overrides */
.theme-business-light .inbody-metric-item svg,
.theme-business-light .segmental-item svg {
    color: var(--duo-blue);
}

/* 6.8 Photo Before/After Text */
.theme-business-light .photo-date-label,
.theme-business-light .photo-type-badge {
    background: rgba(255, 255, 255, 0.85);
    color: #1a1a1a;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

/* 6.9 BMI Gauge Overrides */
.theme-business-light .bmi-gauge-bg,
.theme-business-light .gauge-bg {
    stroke: rgba(0, 0, 0, 0.05);
}

.theme-business-light .bmi-gauge-fill,
.theme-business-light .gauge-fill {
    stroke: var(--duo-blue);
    filter: drop-shadow(0 0 4px rgba(28, 176, 246, 0.5));
}

/* 6.10 Specific Text Adjustments */
.theme-business-light .bmi-value,
.theme-business-light .bmr-value,
.theme-business-light .tdee-value,
.theme-business-light .measurement-value {
    color: var(--duo-text);
}

.theme-business-light .bmi-category,
.theme-business-light .measurement-label {
    color: var(--duo-text-secondary);
}

/* Achievements Badges Fix */
.theme-business-light .achievement-icon-wrapper {
    background: rgba(28, 176, 246, 0.1);
    border: 1px solid rgba(28, 176, 246, 0.2);
}

.theme-business-light .achievement-locked .achievement-icon-wrapper {
    background: rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 0, 0, 0.1);
    filter: grayscale(1);
}

.theme-business-light .achievement-title {
    color: var(--duo-text);
}

.theme-business-light .achievement-desc {
    color: var(--duo-text-secondary);
}

/* 6.11 Inbody Modals */
.theme-business-light #inbodyModal .inbody-modal-container,
.theme-business-light #inbodyDetailsModal .inbody-details-container {
    background: var(--glass-bg) !important;
    border: 1px solid var(--glass-border) !important;
    box-shadow: var(--glass-shadow) !important;
    color: var(--duo-text) !important;
}

.theme-business-light .inbody-modal-header,
.theme-business-light .inbody-details-header {
    border-bottom: 1px solid var(--glass-border) !important;
}

.theme-business-light .inbody-modal-title,
.theme-business-light .inbody-details-title {
    color: var(--duo-text) !important;
}

.theme-business-light .inbody-section-title,
.theme-business-light .inbody-form-section-title {
    color: var(--duo-text) !important;
    border-bottom: 2px solid rgba(0, 0, 0, 0.05) !important;
}

.theme-business-light .inbody-form-label {
    color: var(--duo-text-secondary) !important;
}

.theme-business-light .inbody-form-input,
.theme-business-light .inbody-form-textarea {
    background: rgba(255, 255, 255, 0.5) !important;
    border: 2px solid rgba(0, 0, 0, 0.1) !important;
    color: var(--duo-text) !important;
}

.theme-business-light .inbody-form-input:focus,
.theme-business-light .inbody-form-textarea:focus {
    border-color: var(--duo-blue) !important;
    background: #fff !important;
}

.theme-business-light .inbody-modal-close-btn,
.theme-business-light .inbody-details-close-btn {
    color: var(--duo-text-secondary) !important;
}

.theme-business-light .inbody-modal-close-btn:hover,
.theme-business-light .inbody-details-close-btn:hover {
    color: var(--duo-text) !important;
    background: rgba(0, 0, 0, 0.05) !important;
}