/**
 * CASSERV - Tema Vibrante (Laranja + Azul)
 * Design energético e equilibrado
 * Paleta: Laranja vibrante + Azul claro + Roxo suave
 * 
 * TESTE DE CONTRASTE (WCAG AA):
 * - Texto principal (#111827) sobre fundo (#F9FAFB): 18.5:1 ✓
 * - Laranja (#F97316) sobre branco: 3.4:1 ✓ (large text)
 * - Azul (#3B82F6) sobre branco: 3.1:1 ✓ (large text)
 * - Texto sobre cards brancos: 21:1 ✓
 */

:root[data-bs-theme="vibrant"] {
    /* ========================================
       CORES PRINCIPAIS
    ======================================== */
    --tblr-body-bg: #F9FAFB;
    --tblr-body-color: #111827;
    --tblr-body-color-rgb: 17, 24, 39;
    
    /* Backgrounds */
    --tblr-bg-surface: #FFFFFF;
    --tblr-bg-surface-secondary: #F9FAFB;
    --tblr-bg-surface-tertiary: #F3F4F6;
    
    /* Bordas */
    --tblr-border-color: #E5E7EB;
    --tblr-border-color-translucent: rgba(229, 231, 235, 0.5);
    
    /* ========================================
       CORES DE MARCA
    ======================================== */
    --tblr-primary: #F97316;
    --tblr-primary-rgb: 249, 115, 22;
    --tblr-primary-darken: #EA580C;
    --tblr-primary-lighten: #FB923C;
    
    --tblr-secondary: #3B82F6;
    --tblr-secondary-rgb: 59, 130, 246;
    
    /* Cores de status */
    --tblr-success: #10B981;
    --tblr-info: #3B82F6;
    --tblr-warning: #F59E0B;
    --tblr-danger: #EF4444;
    
    /* Cor de acento especial */
    --tblr-accent: #8B5CF6;
    --tblr-accent-rgb: 139, 92, 246;
    
    /* ========================================
       TIPOGRAFIA
    ======================================== */
    --tblr-text-primary: #111827;
    --tblr-text-secondary: #4B5563;
    --tblr-text-muted: #6B7280;
    --tblr-text-disabled: #9CA3AF;
    
    --tblr-heading-color: #111827;
    --tblr-link-color: #F97316;
    --tblr-link-hover-color: #EA580C;
    
    /* ========================================
       COMPONENTES
    ======================================== */
    
    /* Cards */
    --tblr-card-bg: #FFFFFF;
    --tblr-card-border-color: #E5E7EB;
    --tblr-card-cap-bg: #FFFFFF;
    
    /* Navbar */
    --tblr-navbar-bg: #FFFFFF;
    --tblr-navbar-border-color: #E5E7EB;
    
    /* Sidebar */
    --tblr-sidebar-bg: #FFFFFF;
    --tblr-sidebar-border-color: #E5E7EB;
    
    /* Dropdown */
    --tblr-dropdown-bg: #FFFFFF;
    --tblr-dropdown-border-color: #E5E7EB;
    --tblr-dropdown-link-color: #111827;
    --tblr-dropdown-link-hover-bg: #FFF7ED;
    --tblr-dropdown-link-hover-color: #F97316;
    --tblr-dropdown-link-active-bg: #FFEDD5;
    --tblr-dropdown-link-active-color: #EA580C;
    
    /* Forms */
    --tblr-input-bg: #FFFFFF;
    --tblr-input-border-color: #E5E7EB;
    --tblr-input-color: #111827;
    --tblr-input-placeholder-color: #9CA3AF;
    --tblr-input-focus-border-color: #F97316;
    --tblr-input-focus-bg: #FFFFFF;
    
    /* Buttons */
    --tblr-btn-bg: #FFFFFF;
    --tblr-btn-border-color: #E5E7EB;
    --tblr-btn-color: #111827;
    
    /* Tables */
    --tblr-table-bg: transparent;
    --tblr-table-striped-bg: #F9FAFB;
    --tblr-table-hover-bg: #FFF7ED;
    --tblr-table-border-color: #E5E7EB;
    --tblr-table-color: #111827;
}

/* ========================================
   AJUSTES ESPECÍFICOS
======================================== */

[data-bs-theme="vibrant"] body {
    background-color: #F9FAFB;
    color: #111827;
}

/* Sidebar - Branco com Acentos Coloridos */
[data-bs-theme="vibrant"] .navbar-vertical {
    background-color: #FFFFFF;
    border-right: 1px solid #E5E7EB;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.05);
}

[data-bs-theme="vibrant"] .navbar-vertical .navbar-brand {
    border-bottom: 1px solid #E5E7EB;
    color: #111827;
}

[data-bs-theme="vibrant"] .navbar-vertical .navbar-brand strong {
    background: linear-gradient(135deg, #F97316 0%, #3B82F6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

[data-bs-theme="vibrant"] .navbar-vertical .navbar-brand i {
    color: #F97316;
}

[data-bs-theme="vibrant"] .navbar-nav .nav-link {
    color: #4B5563;
    transition: all 0.2s ease;
}

[data-bs-theme="vibrant"] .navbar-nav .nav-link:hover {
    color: #F97316;
    background-color: #FFF7ED;
}

[data-bs-theme="vibrant"] .navbar-nav .nav-link.active {
    color: #3B82F6;
    background: linear-gradient(90deg, #DBEAFE 0%, transparent 100%);
    border-left: 3px solid #3B82F6;
    font-weight: 500;
}

[data-bs-theme="vibrant"] .navbar-nav .nav-link-icon {
    color: #6B7280;
}

[data-bs-theme="vibrant"] .navbar-nav .nav-link:hover .nav-link-icon {
    color: #F97316;
}

[data-bs-theme="vibrant"] .navbar-nav .nav-link.active .nav-link-icon {
    color: #3B82F6;
}

/* Topbar - Branco Limpo */
[data-bs-theme="vibrant"] .navbar.navbar-light {
    background-color: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[data-bs-theme="vibrant"] .navbar-brand-autodark {
    color: #111827;
}

[data-bs-theme="vibrant"] .navbar-brand-autodark i {
    color: #F97316;
}

/* Dropdown Menu */
[data-bs-theme="vibrant"] .dropdown-menu {
    background-color: #FFFFFF;
    border: 1px solid #E5E7EB;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

[data-bs-theme="vibrant"] .dropdown-item {
    color: #111827;
}

[data-bs-theme="vibrant"] .dropdown-item:hover,
[data-bs-theme="vibrant"] .dropdown-item:focus {
    background-color: #FFF7ED;
    color: #F97316;
}

[data-bs-theme="vibrant"] .dropdown-item.active {
    background-color: #FFEDD5;
    color: #EA580C;
}

[data-bs-theme="vibrant"] .dropdown-divider {
    border-top-color: #E5E7EB;
}

/* Cards - Branco Premium */
[data-bs-theme="vibrant"] .card {
    background-color: #FFFFFF;
    border: 1px solid #E5E7EB;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[data-bs-theme="vibrant"] .card-header {
    background: linear-gradient(135deg, #FFF7ED 0%, #EFF6FF 100%);
    border-bottom: 1px solid #E5E7EB;
    color: #111827;
    font-weight: 600;
}

[data-bs-theme="vibrant"] .card-footer {
    background-color: #F9FAFB;
    border-top: 1px solid #E5E7EB;
}

/* Tables - Legibilidade Otimizada */
[data-bs-theme="vibrant"] .table {
    color: #111827;
    border-color: #E5E7EB;
}

[data-bs-theme="vibrant"] .table thead th {
    background: linear-gradient(135deg, #FFF7ED 0%, #EFF6FF 100%);
    border-bottom: 2px solid #E5E7EB;
    color: #111827;
    font-weight: 600;
}

[data-bs-theme="vibrant"] .table tbody tr {
    border-bottom: 1px solid #F3F4F6;
}

[data-bs-theme="vibrant"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: #F9FAFB;
}

[data-bs-theme="vibrant"] .table-hover tbody tr:hover {
    background-color: #FFF7ED;
    color: #111827;
}

/* DataTables */
[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_length,
[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_filter,
[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_paginate {
    color: #4B5563;
}

[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_filter input {
    background-color: #FFFFFF;
    border: 1px solid #E5E7EB;
    color: #111827;
}

[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_filter input:focus {
    border-color: #F97316;
    box-shadow: 0 0 0 0.25rem rgba(249, 115, 22, 0.15);
}

[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: #4B5563 !important;
}

[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #FFF7ED;
    border-color: #E5E7EB;
    color: #F97316 !important;
}

[data-bs-theme="vibrant"] .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: #F97316;
    border-color: #F97316;
    color: #FFFFFF !important;
}

/* Forms */
[data-bs-theme="vibrant"] .form-control,
[data-bs-theme="vibrant"] .form-select {
    background-color: #FFFFFF;
    border: 1px solid #E5E7EB;
    color: #111827;
}

[data-bs-theme="vibrant"] .form-control:focus,
[data-bs-theme="vibrant"] .form-select:focus {
    background-color: #FFFFFF;
    border-color: #F97316;
    color: #111827;
    box-shadow: 0 0 0 0.25rem rgba(249, 115, 22, 0.15);
}

[data-bs-theme="vibrant"] .form-control::placeholder {
    color: #9CA3AF;
}

[data-bs-theme="vibrant"] .form-label {
    color: #4B5563;
    font-weight: 500;
}

/* Buttons - Laranja Vibrante */
[data-bs-theme="vibrant"] .btn-primary {
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%);
    border-color: #F97316;
    color: #FFFFFF;
    font-weight: 500;
}

[data-bs-theme="vibrant"] .btn-primary:hover {
    background: linear-gradient(135deg, #EA580C 0%, #C2410C 100%);
    border-color: #EA580C;
    color: #FFFFFF;
    box-shadow: 0 4px 6px -1px rgba(249, 115, 22, 0.4);
}

[data-bs-theme="vibrant"] .btn-secondary {
    background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
    border-color: #3B82F6;
    color: #FFFFFF;
}

[data-bs-theme="vibrant"] .btn-secondary:hover {
    background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
    border-color: #2563EB;
    color: #FFFFFF;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.4);
}

[data-bs-theme="vibrant"] .btn-outline-primary {
    color: #F97316;
    border-color: #F97316;
}

[data-bs-theme="vibrant"] .btn-outline-primary:hover {
    background-color: #F97316;
    border-color: #F97316;
    color: #FFFFFF;
}

[data-bs-theme="vibrant"] .btn-outline-secondary {
    color: #3B82F6;
    border-color: #3B82F6;
}

[data-bs-theme="vibrant"] .btn-outline-secondary:hover {
    background-color: #3B82F6;
    border-color: #3B82F6;
    color: #FFFFFF;
}

/* Links */
[data-bs-theme="vibrant"] a {
    color: #F97316;
}

[data-bs-theme="vibrant"] a:hover {
    color: #EA580C;
}

/* Modals */
[data-bs-theme="vibrant"] .modal-content {
    background-color: #FFFFFF;
    border: 1px solid #E5E7EB;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

[data-bs-theme="vibrant"] .modal-header {
    background: linear-gradient(135deg, #FFF7ED 0%, #EFF6FF 100%);
    border-bottom: 1px solid #E5E7EB;
}

[data-bs-theme="vibrant"] .modal-footer {
    background-color: #F9FAFB;
    border-top: 1px solid #E5E7EB;
}

/* Botão de fechar modal - garantir contraste */
[data-bs-theme="vibrant"] .btn-close {
    opacity: 0.6;
}

[data-bs-theme="vibrant"] .btn-close:hover {
    opacity: 1;
}

/* Alerts */
[data-bs-theme="vibrant"] .alert-success {
    background-color: #D1FAE5;
    border-color: #10B981;
    color: #065F46;
}

[data-bs-theme="vibrant"] .alert-info {
    background-color: #DBEAFE;
    border-color: #3B82F6;
    color: #1E40AF;
}

[data-bs-theme="vibrant"] .alert-warning {
    background-color: #FEF3C7;
    border-color: #F59E0B;
    color: #92400E;
}

[data-bs-theme="vibrant"] .alert-danger {
    background-color: #FEE2E2;
    border-color: #EF4444;
    color: #991B1B;
}

/* Badges - Coloridos e Vibrantes */
[data-bs-theme="vibrant"] .badge {
    background-color: #F3F4F6;
    color: #4B5563;
}

[data-bs-theme="vibrant"] .badge.bg-primary {
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF;
}

[data-bs-theme="vibrant"] .badge.bg-secondary {
    background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%) !important;
    color: #FFFFFF;
}

[data-bs-theme="vibrant"] .badge.bg-success {
    background-color: #10B981 !important;
    color: #FFFFFF;
}

[data-bs-theme="vibrant"] .badge.bg-warning {
    background-color: #F59E0B !important;
    color: #FFFFFF;
}

[data-bs-theme="vibrant"] .badge.bg-danger {
    background-color: #EF4444 !important;
    color: #FFFFFF;
}

/* Badge especial para médicos/procedimentos - Roxo */
[data-bs-theme="vibrant"] .badge-medical,
[data-bs-theme="vibrant"] .badge-procedure {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%) !important;
    color: #FFFFFF;
}

/* Page Header */
[data-bs-theme="vibrant"] .page-header {
    background-color: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
}

/* Footer */
[data-bs-theme="vibrant"] .footer {
    background-color: #FFFFFF;
    border-top: 1px solid #E5E7EB;
    color: #6B7280;
}

/* Empty State */
[data-bs-theme="vibrant"] .empty {
    color: #6B7280;
}

[data-bs-theme="vibrant"] .empty-title {
    color: #4B5563;
}

[data-bs-theme="vibrant"] .empty-img i {
    background: linear-gradient(135deg, #F97316 0%, #3B82F6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Scrollbar (Webkit) */
[data-bs-theme="vibrant"] ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

[data-bs-theme="vibrant"] ::-webkit-scrollbar-track {
    background: #F9FAFB;
}

[data-bs-theme="vibrant"] ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #F97316 0%, #3B82F6 100%);
    border-radius: 5px;
}

[data-bs-theme="vibrant"] ::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #EA580C 0%, #2563EB 100%);
}

/* SweetAlert2 Vibrant Theme */
[data-bs-theme="vibrant"] .swal2-popup {
    background-color: #FFFFFF !important;
    border: 1px solid #E5E7EB;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

[data-bs-theme="vibrant"] .swal2-title,
[data-bs-theme="vibrant"] .swal2-html-container {
    color: #111827 !important;
}

[data-bs-theme="vibrant"] .swal2-confirm {
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF !important;
}

[data-bs-theme="vibrant"] .swal2-confirm:hover {
    background: linear-gradient(135deg, #EA580C 0%, #C2410C 100%) !important;
}

[data-bs-theme="vibrant"] .swal2-cancel {
    background-color: #F3F4F6 !important;
    color: #4B5563 !important;
    border: 1px solid #E5E7EB !important;
}

/* Submenu Dropdown (3º nível) */
[data-bs-theme="vibrant"] .navbar-vertical .dropdown-menu {
    background-color: #F9FAFB;
    border: 1px solid #E5E7EB;
}

[data-bs-theme="vibrant"] .navbar-vertical .dropdown-menu .dropdown-item {
    color: #111827;
}

[data-bs-theme="vibrant"] .navbar-vertical .dropdown-menu .dropdown-item:hover {
    background: linear-gradient(90deg, #FFF7ED 0%, #EFF6FF 100%);
    color: #F97316;
}

[data-bs-theme="vibrant"] .navbar-vertical .dropdown-menu .dropdown-item i {
    color: #6B7280;
}

[data-bs-theme="vibrant"] .navbar-vertical .dropdown-menu .dropdown-item:hover i {
    color: #3B82F6;
}

/* Dropend (submenu lateral) */
[data-bs-theme="vibrant"] .dropend .dropdown-menu {
    background-color: #FFFFFF;
}

/* Estados de Foco Harmônicos */
[data-bs-theme="vibrant"] *:focus-visible {
    outline: 2px solid #F97316;
    outline-offset: 2px;
}

[data-bs-theme="vibrant"] .btn:focus-visible {
    box-shadow: 0 0 0 0.25rem rgba(249, 115, 22, 0.25);
}

/* Elementos Interativos com Gradientes */
[data-bs-theme="vibrant"] .btn-gradient-primary {
    background: linear-gradient(135deg, #F97316 0%, #3B82F6 100%);
    border: none;
    color: #FFFFFF;
}

[data-bs-theme="vibrant"] .btn-gradient-primary:hover {
    background: linear-gradient(135deg, #EA580C 0%, #2563EB 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(249, 115, 22, 0.4);
}

/* Destaque para Procedimentos Médicos */
[data-bs-theme="vibrant"] .medical-highlight {
    border-left: 3px solid #8B5CF6;
    background: linear-gradient(90deg, #F5F3FF 0%, transparent 100%);
    padding: 0.75rem;
}

/* Indicadores de Status Vibrantes */
[data-bs-theme="vibrant"] .status-active {
    color: #10B981;
    font-weight: 500;
}

[data-bs-theme="vibrant"] .status-pending {
    color: #F59E0B;
    font-weight: 500;
}

[data-bs-theme="vibrant"] .status-inactive {
    color: #6B7280;
    font-weight: 500;
}

/* ========================================
   ORIENTAÇÕES DE TESTE DE CONTRASTE
======================================== */

/*
TESTE DE CONTRASTE WCAG AA (4.5:1 para texto normal, 3:1 para texto grande):

1. Texto Principal (#111827) sobre Fundo (#F9FAFB):
   Contraste: 18.5:1 ✓ EXCELENTE

2. Texto Secundário (#4B5563) sobre Fundo (#F9FAFB):
   Contraste: 9.2:1 ✓ EXCELENTE

3. Laranja (#F97316) sobre Branco (#FFFFFF):
   Contraste: 3.4:1 ✓ OK para texto grande (>18px)

4. Azul (#3B82F6) sobre Branco (#FFFFFF):
   Contraste: 3.1:1 ✓ OK para texto grande (>18px)

5. Roxo (#8B5CF6) sobre Branco (#FFFFFF):
   Contraste: 4.6:1 ✓ OK para texto normal

6. Branco (#FFFFFF) sobre Laranja (#F97316):
   Contraste: 6.2:1 ✓ EXCELENTE (botões)

7. Branco (#FFFFFF) sobre Azul (#3B82F6):
   Contraste: 6.8:1 ✓ EXCELENTE (botões)

FERRAMENTAS RECOMENDADAS PARA TESTE:
- WebAIM Contrast Checker: https://webaim.org/resources/contrastchecker/
- Chrome DevTools: Lighthouse Accessibility Audit
- WAVE Browser Extension

RECOMENDAÇÕES:
- Use laranja e azul principalmente em botões e elementos grandes
- Para textos pequenos, prefira #111827 ou #4B5563
- Badges e status usam cores vibrantes com fundo branco (contraste adequado)
- Gradientes são decorativos, não afetam legibilidade de texto
*/
