/* ============================================
   IRONLINK - SISTEMA DE TEMAS DINÂMICOS
   Light & Teal Theme (Nova Paleta FitFactory)
   ============================================ */

/* TEMA FITFACTORY - Light & Teal (Padrão) */
.theme-fitfactory {
    /* ===== CORES PRINCIPAIS - TEAL ===== */
    --teal-primary: #00747C;
    --teal-dark: #005F66;
    --teal-light: #00BBC9;
    
    /* Aliases para compatibilidade (legado → teal) */
    --gold-primary: #00747C;
    --gold-dark: #005F66;
    --gold-light: #00BBC9;
    
    /* HSL values para hsl() */
    --fitfactory-gold: 183 100% 24%;
    --fitfactory-gold-dark: 183 100% 20%;
    --graphite-black: 180 2% 13%;
    --graphite-black-dark: 180 3% 10%;
    
    /* ===== BACKGROUNDS - LIGHT THEME ===== */
    --bg-primary: #E4EFEF;
    --bg-secondary: #ffffff;
    --bg-card: #ffffff;
    --bg-input: #ffffff;
    --bg-hover: rgba(0, 116, 124, 0.08);
    
    /* ===== TEXTO - ESCURO para fundo claro ===== */
    --text-primary: #202022;
    --text-secondary: #878787;
    --text-on-gold: #ffffff;
    --text-on-teal: #ffffff;
    --text-muted: #CACACA;
    --text-disabled: #CACACA;
    
    /* ===== BORDAS ===== */
    --border-dark: #CACACA;
    --border-light: #E4EFEF;
    --border-accent: rgba(0, 116, 124, 0.3);
    
    /* ===== SOMBRAS - Light Mode ===== */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 12px rgba(0, 116, 124, 0.12);
    --shadow-lg: 0 12px 24px rgba(0, 116, 124, 0.15);
    --shadow-gold-sm: 0 4px 12px rgba(0, 116, 124, 0.2);
    --shadow-gold-md: 0 8px 20px rgba(0, 116, 124, 0.25);
    --shadow-gold-lg: 0 12px 30px rgba(0, 116, 124, 0.3);
    --shadow-teal-sm: 0 4px 12px rgba(0, 116, 124, 0.2);
    --shadow-teal-md: 0 8px 20px rgba(0, 116, 124, 0.25);
    --shadow-glow: 0 12px 40px rgba(0, 0, 0, 0.1), 0 0 30px rgba(0, 187, 201, 0.2);
    --text-shadow-gold: 0 2px 8px rgba(0, 116, 124, 0.3);
    --text-shadow-teal: 0 2px 8px rgba(0, 116, 124, 0.3);
    
    /* ===== ESTADOS ===== */
    --success-bg: rgba(16, 185, 129, 0.1);
    --success-border: #10b981;
    --success-text: #047857;
    --danger-bg: rgba(239, 68, 68, 0.1);
    --danger-border: #ef4444;
    --danger-text: #b91c1c;
    --warning-bg: rgba(0, 116, 124, 0.1);
    --warning-border: var(--teal-primary);
    --warning-text: #005F66;
    --info-bg: rgba(0, 187, 201, 0.1);
    --info-border: var(--teal-light);
    --info-text: #202022;
    
    /* ===== NAVIGATION ===== */
    --bg-navbar: rgba(0, 116, 124, 0.95);
    --border-navbar: rgba(0, 116, 124, 0.3);
    --bg-dropdown: #ffffff;
    --border-dropdown: #CACACA;
    --shadow-dropdown: 0 10px 30px rgba(0, 0, 0, 0.15);
    --bg-dropdown-hover: rgba(0, 116, 124, 0.08);
    --bg-dropdown-active: rgba(0, 116, 124, 0.15);
    --border-divider: #CACACA;
    --bg-badge: rgba(0, 116, 124, 0.15);
    --gradient-brand-badge: linear-gradient(135deg, #00747C, #00BBC9);
    --gradient-avatar: linear-gradient(135deg, #00747C, #00BBC9);
    --accent-primary: #00747C;
    --text-on-accent: #ffffff;
    
    /* ===== SLOTS & FORMS ===== */
    --bg-timeslot: linear-gradient(135deg, #ffffff 0%, #E4EFEF 100%);
    --color-success: #10B981;
    --text-on-success: #ffffff;
    --shadow-success: 0 8px 20px rgba(16, 185, 129, 0.3);
    --bg-weekday: rgba(228, 239, 239, 1);
    --border-weekday: rgba(0, 116, 124, 0.25);
    --bg-weekday-hover: rgba(255, 255, 255, 1);
    --gradient-weekday-active: linear-gradient(135deg, #10B981, #059669);
    
    /* ===== GRADIENTS ===== */
    --gradient-primary: linear-gradient(135deg, #00747C, #00BBC9);
    --gradient-card: linear-gradient(135deg, #ffffff 0%, #E4EFEF 100%);
    --bg-alert-info: linear-gradient(135deg, rgba(0, 116, 124, 0.1) 0%, rgba(0, 116, 124, 0.05) 100%);
    --bg-badge-dark: #E4EFEF;
    --bg-day-title: linear-gradient(135deg, rgba(0, 116, 124, 0.1) 0%, rgba(0, 116, 124, 0.05) 100%);
    --gradient-table-header: linear-gradient(135deg, #E4EFEF 0%, #ffffff 100%);
    --border-table: #CACACA;
    --bg-table-hover: linear-gradient(135deg, rgba(0, 116, 124, 0.08) 0%, rgba(0, 116, 124, 0.04) 100%);
    --shadow-table-hover: 0 4px 15px rgba(0, 116, 124, 0.2);
    --bg-empty-state: linear-gradient(135deg, rgba(0, 187, 201, 0.1) 0%, rgba(0, 187, 201, 0.05) 100%);
    --color-info: #00BBC9;
    --text-on-info: #ffffff;
    --shadow-info: 0 4px 15px rgba(0, 187, 201, 0.3);
    --color-danger: #ef4444;
    --text-on-danger: #ffffff;
    --shadow-danger: 0 4px 12px rgba(239, 68, 68, 0.3);
    --bg-btn-back: #E4EFEF;
    --shadow-exercises: 0 10px 30px rgba(0, 0, 0, 0.1), 0 4px 20px rgba(0, 116, 124, 0.15);
    
    /* ===== NIVEL BADGES ===== */
    --gradient-nivel-iniciante: linear-gradient(135deg, #10B981, #059669);
    --gradient-nivel-intermediario: linear-gradient(135deg, #00747C, #005F66);
    --gradient-nivel-avancado: linear-gradient(135deg, #dc2626, #991b1b);
    
    /* ===== METODO BADGE ===== */
    --gradient-metodo: linear-gradient(135deg, #7c3aed, #6d28d9);
    --text-on-metodo: #ffffff;
    --shadow-metodo: 0 4px 12px rgba(124, 58, 237, 0.4);
    --border-metodo: rgba(124, 58, 237, 0.3);
}

/* TEMA LIGHT - Clean & Professional (Alternativo) */
.theme-light {
    /* Cores Principais - Teal suave */
    --gold-primary: #00747C;
    --gold-dark: #005F66;
    --gold-light: #00BBC9;
    --teal-primary: #00747C;
    --teal-dark: #005F66;
    --teal-light: #00BBC9;
    
    /* HSL values */
    --fitfactory-gold: 183 100% 24%;
    --fitfactory-gold-dark: 183 100% 20%;
    --graphite-black: 180 2% 13%;
    --graphite-black-dark: 180 3% 10%;
    
    /* Backgrounds */
    --bg-primary: #ffffff;
    --bg-secondary: #f9fafb;
    --bg-card: #ffffff;
    --bg-input: #ffffff;
    --bg-hover: rgba(0, 116, 124, 0.08);
    
    /* Texto */
    --text-primary: #202022;
    --text-secondary: #878787;
    --text-on-gold: #ffffff;
    --text-on-teal: #ffffff;
    --text-muted: #CACACA;
    --text-disabled: #CACACA;
    
    /* Bordas */
    --border-dark: #CACACA;
    --border-light: #E4EFEF;
    --border-accent: rgba(0, 116, 124, 0.3);
    
    /* Sombras */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-gold-sm: 0 4px 12px rgba(0, 116, 124, 0.2);
    --shadow-gold-md: 0 8px 20px rgba(0, 116, 124, 0.25);
    --shadow-gold-lg: 0 12px 30px rgba(0, 116, 124, 0.3);
    --shadow-teal-sm: 0 4px 12px rgba(0, 116, 124, 0.2);
    --shadow-teal-md: 0 8px 20px rgba(0, 116, 124, 0.25);
    --shadow-glow: 0 12px 40px rgba(0, 0, 0, 0.1), 0 0 30px rgba(0, 187, 201, 0.2);
    --text-shadow-gold: 0 2px 8px rgba(0, 116, 124, 0.3);
    --text-shadow-teal: 0 2px 8px rgba(0, 116, 124, 0.3);
    
    /* Estados */
    --success-bg: rgba(16, 185, 129, 0.1);
    --success-border: #10b981;
    --success-text: #047857;
    --danger-bg: rgba(239, 68, 68, 0.1);
    --danger-border: #ef4444;
    --danger-text: #b91c1c;
    --warning-bg: rgba(0, 116, 124, 0.1);
    --warning-border: var(--teal-primary);
    --warning-text: #005F66;
    --info-bg: rgba(0, 187, 201, 0.1);
    --info-border: var(--teal-light);
    --info-text: #202022;
    
    /* Navigation */
    --bg-navbar: rgba(0, 116, 124, 0.95);
    --border-navbar: rgba(0, 116, 124, 0.3);
    --bg-dropdown: #ffffff;
    --border-dropdown: #CACACA;
    --shadow-dropdown: 0 10px 30px rgba(0, 0, 0, 0.15);
    --bg-dropdown-hover: rgba(0, 116, 124, 0.08);
    --bg-dropdown-active: rgba(0, 116, 124, 0.15);
    --border-divider: #CACACA;
    --bg-badge: rgba(0, 116, 124, 0.15);
    --gradient-brand-badge: linear-gradient(135deg, #00747C, #00BBC9);
    --gradient-avatar: linear-gradient(135deg, #00747C, #00BBC9);
    --accent-primary: #00747C;
    --text-on-accent: #ffffff;
    
    /* Slots & Forms */
    --bg-timeslot: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
    --color-success: #10B981;
    --text-on-success: #ffffff;
    --shadow-success: 0 8px 20px rgba(16, 185, 129, 0.3);
    --bg-weekday: rgba(249, 250, 251, 1);
    --border-weekday: rgba(0, 116, 124, 0.2);
    --bg-weekday-hover: rgba(255, 255, 255, 1);
    --gradient-weekday-active: linear-gradient(135deg, #10B981, #059669);
    
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #00747C, #00BBC9);
    --gradient-card: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
    --bg-alert-info: linear-gradient(135deg, rgba(0, 116, 124, 0.1) 0%, rgba(0, 116, 124, 0.05) 100%);
    --bg-badge-dark: #f3f4f6;
    --bg-day-title: linear-gradient(135deg, rgba(0, 116, 124, 0.1) 0%, rgba(0, 116, 124, 0.05) 100%);
    --gradient-table-header: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
    --border-table: #CACACA;
    --bg-table-hover: linear-gradient(135deg, rgba(0, 116, 124, 0.08) 0%, rgba(0, 116, 124, 0.04) 100%);
    --shadow-table-hover: 0 4px 15px rgba(0, 116, 124, 0.2);
    --bg-empty-state: linear-gradient(135deg, rgba(0, 187, 201, 0.1) 0%, rgba(0, 187, 201, 0.05) 100%);
    --color-info: #00BBC9;
    --text-on-info: #ffffff;
    --shadow-info: 0 4px 15px rgba(0, 187, 201, 0.3);
    --color-danger: #ef4444;
    --text-on-danger: #ffffff;
    --shadow-danger: 0 4px 12px rgba(239, 68, 68, 0.3);
    --bg-btn-back: #f9fafb;
    --shadow-exercises: 0 10px 30px rgba(0, 0, 0, 0.1), 0 4px 20px rgba(0, 116, 124, 0.15);
    
    /* Nivel badges */
    --gradient-nivel-iniciante: linear-gradient(135deg, #10B981, #059669);
    --gradient-nivel-intermediario: linear-gradient(135deg, #00747C, #005F66);
    --gradient-nivel-avancado: linear-gradient(135deg, #dc2626, #991b1b);
    
    /* Metodo badge */
    --gradient-metodo: linear-gradient(135deg, #7c3aed, #6d28d9);
    --text-on-metodo: #ffffff;
    --shadow-metodo: 0 4px 12px rgba(124, 58, 237, 0.4);
    --border-metodo: rgba(124, 58, 237, 0.3);
}

/* ============================================
   APLICAÇÃO DAS VARIÁVEIS DE TEMA
   ============================================ */

/* Body */
body {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* Navbar */
.navbar {
    background: var(--bg-navbar) !important;
    border-bottom: 1px solid var(--border-navbar) !important;
}

.navbar-brand {
    color: #ffffff !important;
}

.nav-link {
    color: rgba(255, 255, 255, 0.9) !important;
}

.nav-link:hover,
.nav-link.active {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

/* Cards */
.card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: var(--shadow-md) !important;
    color: var(--text-primary) !important;
}

.card:hover {
    border-color: var(--border-accent) !important;
}

.card-title {
    color: var(--text-primary) !important;
}

.card-text {
    color: var(--text-secondary) !important;
}

/* Botões */
.btn-primary {
    background: var(--teal-primary) !important;
    border: none !important;
    color: var(--text-on-teal) !important;
    box-shadow: var(--shadow-md) !important;
}

.btn-primary:hover {
    background: var(--teal-light) !important;
    box-shadow: var(--shadow-teal-sm) !important;
}

.btn-outline-primary {
    border: 2px solid var(--border-dark) !important;
    color: var(--text-primary) !important;
    background: transparent !important;
}

.btn-outline-primary:hover {
    background: var(--bg-hover) !important;
    border-color: var(--teal-primary) !important;
    color: var(--teal-primary) !important;
}

/* Formulários */
.form-control,
.form-select {
    background: var(--bg-input) !important;
    border: 2px solid var(--border-dark) !important;
    color: var(--text-primary) !important;
}

.form-control:focus,
.form-select:focus {
    background: var(--bg-input) !important;
    border-color: var(--teal-primary) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 0 0 3px var(--bg-hover) !important;
}

/* Form overrides for light theme */
.theme-fitfactory .form-control,
.theme-fitfactory .form-select,
.theme-light .form-control,
.theme-light .form-select {
    background: #ffffff !important;
    color: #202022 !important;
}

.theme-fitfactory .form-control::placeholder,
.theme-fitfactory .form-select::placeholder,
.theme-light .form-control::placeholder,
.theme-light .form-select::placeholder {
    color: #878787 !important;
}

.form-label {
    color: var(--text-primary) !important;
}

.form-text,
small {
    color: var(--text-muted) !important;
}

/* Alerts */
.alert-success {
    background: var(--success-bg) !important;
    border-left-color: var(--success-border) !important;
    color: var(--success-text) !important;
}

.alert-danger {
    background: var(--danger-bg) !important;
    border-left-color: var(--danger-border) !important;
    color: var(--danger-text) !important;
}

.alert-warning {
    background: var(--warning-bg) !important;
    border-left-color: var(--warning-border) !important;
    color: var(--warning-text) !important;
}

.alert-info {
    background: var(--info-bg) !important;
    border-left-color: var(--info-border) !important;
    color: var(--text-primary) !important;
}

/* Tabelas */
.table {
    color: var(--text-primary) !important;
    background: var(--bg-primary) !important;
}

.table thead th {
    background: var(--bg-secondary) !important;
    color: var(--teal-primary) !important;
    border-color: var(--border-dark) !important;
}

.table tbody tr {
    background: var(--bg-primary) !important;
    border-color: var(--border-light) !important;
}

.table tbody td {
    color: var(--text-primary) !important;
    border-color: var(--border-light) !important;
}

.table-hover tbody tr:hover {
    background: var(--bg-hover) !important;
}

/* Dropdown */
.dropdown-menu {
    background: var(--bg-dropdown) !important;
    border: 1px solid var(--border-dropdown) !important;
}

.dropdown-item {
    color: var(--text-primary) !important;
}

.dropdown-item:hover {
    background: var(--bg-hover) !important;
    color: var(--teal-primary) !important;
}

/* Modais */
.modal-content {
    background: var(--bg-primary) !important;
    border: 1px solid var(--border-dark) !important;
    color: var(--text-primary) !important;
}

.modal-header {
    border-bottom: 1px solid var(--border-dark) !important;
}

.modal-footer {
    border-top: 1px solid var(--border-dark) !important;
}

/* Breadcrumbs */
.breadcrumb-item a {
    color: var(--teal-primary) !important;
}

.breadcrumb-item.active {
    color: var(--text-secondary) !important;
}

/* Badges */
.badge {
    background: var(--teal-primary) !important;
    color: var(--text-on-teal) !important;
}

/* Progress Bar */
.progress {
    background: var(--bg-secondary) !important;
}

.progress-bar {
    background: var(--teal-primary) !important;
}

/* Lista de Grupos */
.list-group-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-primary) !important;
}

.list-group-item:hover {
    background: var(--bg-hover) !important;
}

/* Paginação */
.page-link {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-dark) !important;
    color: var(--text-primary) !important;
}

.page-link:hover {
    background: var(--bg-hover) !important;
    color: var(--teal-primary) !important;
}

.page-item.active .page-link {
    background: var(--teal-primary) !important;
    border-color: var(--teal-primary) !important;
    color: var(--text-on-teal) !important;
}