/* ==========================================================================
   BuenLex - Sistema de Modo Claro y Alto Contraste (WCAG AAA)
   ========================================================================== */

/* Badges por Estado Legal en Modo Claro */
[data-theme="light"] .badge-tramite {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
  font-weight: 600;
}

[data-theme="light"] .badge-admitida {
  background: #dbeafe;
  color: #1e40af;
  border: 1px solid #93c5fd;
  font-weight: 600;
}

[data-theme="light"] .badge-preliminar {
  background: #f3e8ff;
  color: #6b21a8;
  border: 1px solid #d8b4fe;
  font-weight: 600;
}

[data-theme="light"] .badge-juicio {
  background: #ffedd5;
  color: #9a3412;
  border: 1px solid #fdba74;
  font-weight: 600;
}

[data-theme="light"] .badge-audiencia {
  background: #ede9fe;
  color: #5b21b6;
  border: 1px solid #c4b5fd;
  font-weight: 600;
}

[data-theme="light"] .badge-pruebas {
  background: #ffedd5;
  color: #9a3412;
  border: 1px solid #fdba74;
  font-weight: 600;
}

[data-theme="light"] .badge-resolucion {
  background: #cffafe;
  color: #155e75;
  border: 1px solid #67e8f9;
  font-weight: 600;
}

[data-theme="light"] .badge-favorable {
  background: #d1fae5;
  color: #065f46;
  border: 1px solid #6ee7b7;
  font-weight: 600;
}

[data-theme="light"] .badge-contra {
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #fca5a5;
  font-weight: 600;
}

[data-theme="light"] .badge-convenio {
  background: #ccfbf1;
  color: #115e59;
  border: 1px solid #5eead4;
  font-weight: 600;
}

[data-theme="light"] .badge-suspendido {
  background: #f1f5f9;
  color: #334155;
  border: 1px solid #cbd5e1;
  font-weight: 600;
}

[data-theme="light"] .badge-concluido {
  background: #e2e8f0;
  color: #1e293b;
  border: 1px solid #cbd5e1;
  font-weight: 600;
}

/* Badge de Expediente */
[data-theme="light"] .case-badge-exp {
  background-color: #fef2f2;
  color: #9b1e22;
  border: 1px solid #fecaca;
  font-weight: 700;
}

/* Select options en navegadores */
select option {
  background-color: var(--bg-surface);
  color: var(--text-primary);
}

/* Tabla de Datos en Modo Claro */
[data-theme="light"] .table-wrapper {
  background-color: #ffffff;
  border-color: #cbd5e1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .data-table th {
  background-color: #f1f5f9;
  color: #334155;
  border-bottom: 2px solid #cbd5e1;
  font-weight: 700;
}

[data-theme="light"] .data-table td {
  border-bottom: 1px solid #f1f5f9;
  color: #0f172a;
}

[data-theme="light"] .data-table tr:hover td {
  background-color: #f8fafc;
}

/* Tarjetas de Casos en Modo Claro */
[data-theme="light"] .case-card {
  background-color: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .case-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .card-client-name {
  color: #0f172a;
}

[data-theme="light"] .card-details-list {
  color: #475569;
}

[data-theme="light"] .card-last-update {
  background-color: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .last-update-title {
  color: #64748b;
  font-weight: 700;
}

[data-theme="light"] .last-update-notes {
  color: #334155;
}

/* Calendario y Agenda en Modo Claro */
[data-theme="light"] .calendar-agenda-section {
  background-color: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .calendar-card {
  background-color: #ffffff;
  border-color: #e2e8f0;
}

[data-theme="light"] .calendar-weekdays-grid {
  color: #475569;
  font-weight: 700;
}

[data-theme="light"] .calendar-day-cell {
  color: #0f172a;
}

[data-theme="light"] .calendar-day-cell:hover {
  background-color: #f1f5f9;
  border-color: #cbd5e1;
}

[data-theme="light"] .calendar-day-cell.other-month {
  color: #94a3b8;
  opacity: 0.5;
}

[data-theme="light"] .calendar-day-cell.today {
  background-color: #fef2f2;
  border-color: #c1282d;
  color: #9b1e22;
  font-weight: 700;
}

[data-theme="light"] .calendar-day-cell.selected {
  background-color: #c1282d !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(193, 40, 45, 0.35);
}

[data-theme="light"] .calendar-day-dot {
  background-color: #7c3aed;
}

[data-theme="light"] .agenda-card {
  background-color: #ffffff;
  border-color: #e2e8f0;
}

[data-theme="light"] .agenda-header {
  border-bottom: 1px solid #e2e8f0;
}

[data-theme="light"] .agenda-header h4 {
  color: #0f172a;
}

[data-theme="light"] .agenda-subtitle {
  color: #64748b;
}

[data-theme="light"] .agenda-count-badge {
  background: #ede9fe;
  color: #6d28d9;
  border: 1px solid #ddd6fe;
}

[data-theme="light"] .agenda-item {
  background-color: #f8fafc;
  border-color: #e2e8f0;
  border-left: 3px solid #7c3aed;
}

[data-theme="light"] .agenda-item:hover {
  background-color: #f1f5f9;
  border-color: #c1282d;
}

[data-theme="light"] .agenda-item-time {
  color: #b45309;
}

[data-theme="light"] .agenda-item-title {
  color: #0f172a;
}

[data-theme="light"] .agenda-item-meta {
  color: #475569;
}

[data-theme="light"] .agenda-empty {
  color: #64748b;
}

/* KPIs y Métricas en Modo Claro */
[data-theme="light"] .metric-card {
  background-color: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .metric-label {
  color: #475569;
}

[data-theme="light"] .metric-value {
  color: #0f172a;
}

/* Acciones y Contacto en Modo Claro */
[data-theme="light"] .btn-action-contact {
  background-color: #ffffff;
  border-color: #cbd5e1;
}

[data-theme="light"] .btn-action-contact.whatsapp {
  color: #047857;
}

[data-theme="light"] .btn-action-contact.whatsapp:hover {
  background-color: #d1fae5;
  border-color: #059669;
}

[data-theme="light"] .btn-action-contact.phone {
  color: #1d4ed8;
}

[data-theme="light"] .btn-action-contact.phone:hover {
  background-color: #dbeafe;
  border-color: #2563eb;
}

[data-theme="light"] .btn-danger {
  background: #fee2e2;
  color: #dc2626;
  border-color: #fca5a5;
}

[data-theme="light"] .btn-danger:hover {
  background: #dc2626;
  color: #ffffff;
  border-color: #dc2626;
}

/* Sesión de Usuario en Header en Modo Claro */
[data-theme="light"] .user-session-chip {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
}

[data-theme="light"] .user-session-chip:hover {
  background: #e2e8f0;
}

[data-theme="light"] .user-session-name {
  color: #0f172a;
}

[data-theme="light"] .user-role-badge.admin {
  background: #fee2e2;
  color: #b91c1c;
  border: 1px solid #fca5a5;
}

[data-theme="light"] .user-role-badge.abogado {
  background: #dbeafe;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}

[data-theme="light"] .btn-logout {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fca5a5;
}

[data-theme="light"] .btn-logout:hover {
  background: #fee2e2;
  border-color: #dc2626;
  color: #991b1b;
}

/* Modal de Gestión de Usuarios en Modo Claro */
[data-theme="light"] .user-row-card {
  background: #ffffff;
  border-color: #e2e8f0;
}

[data-theme="light"] .user-row-card:hover {
  background: #f8fafc;
}

[data-theme="light"] .user-row-name {
  color: #0f172a;
}

[data-theme="light"] .user-row-username {
  color: #64748b;
}

[data-theme="light"] .perm-chip {
  background: #f1f5f9;
  color: #313438;
  border-color: #cbd5e1;
}

[data-theme="light"] .perm-chip.admin-only {
  background: #fee2e2;
  color: #b91c1c;
  border-color: #fca5a5;
}

[data-theme="light"] .user-action-btn {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #1e293b;
}

[data-theme="light"] .user-action-btn:hover {
  background: #fee2e2;
  border-color: #c1282d;
  color: #9b1e22;
}

[data-theme="light"] .user-action-btn.delete-btn {
  background: #fef2f2;
  border-color: #fca5a5;
  color: #b91c1c;
}

[data-theme="light"] .user-action-btn.delete-btn:hover {
  background: #fee2e2;
  border-color: #dc2626;
  color: #991b1b;
}

[data-theme="light"] .user-permissions-checkbox-grid {
  background: #f8fafc;
  border-color: #cbd5e1;
}

[data-theme="light"] .perm-checkbox-item {
  color: #0f172a;
}

/* Modal de Exportación Semanal en Modo Claro */
[data-theme="light"] .weekly-controls-card {
  background: #ffffff;
  border-color: #e2e8f0;
}

[data-theme="light"] .weekly-preview-container {
  background: #ffffff;
  border-color: #e2e8f0;
}

[data-theme="light"] .weekly-preview-header-bar {
  background: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .week-badge-indicator {
  color: #64748b;
}

[data-theme="light"] #week-display-range-title {
  color: #0f172a;
}

[data-theme="light"] .week-total-badge {
  background: #fee2e2;
  color: #9b1e22;
  border-color: #fca5a5;
}

[data-theme="light"] .week-days-badge {
  background: #d1fae5;
  color: #047857;
  border-color: #a7f3d0;
}

[data-theme="light"] .weekly-modal-icon-badge {
  background: #fee2e2;
  color: #b91c1c;
  border-color: #fca5a5;
}

/* Timeline y Banner en Modal de Expedientes en Modo Claro */
[data-theme="light"] .timeline-item {
  background-color: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .timeline-item-date {
  color: #c1282d;
}

[data-theme="light"] .timeline-item-status {
  color: #0f172a;
}

[data-theme="light"] .timeline-item-notes {
  color: #475569;
}

[data-theme="light"] .preview-banner-badge {
  background: #fef2f2;
  color: #9b1e22;
  border: 1px solid #fecaca;
}

/* Subida Excel y Nube en Modo Claro */
[data-theme="light"] .dropzone-area {
  background-color: #f8fafc;
  border-color: #cbd5e1;
}

[data-theme="light"] .file-badge {
  background-color: #e2e8f0;
  color: #334155;
}

[data-theme="light"] .cloud-guide-card {
  background-color: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .code-badge {
  background-color: #ffffff;
  border-color: #cbd5e1;
  color: #c1282d;
}

/* Estilos de Impresión / Guardar como PDF */
@media print {
  body * {
    visibility: hidden;
  }

  #modal-weekly-export,
  #modal-weekly-export * {
    visibility: visible;
  }

  #modal-weekly-export {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    background: transparent !important;
    padding: 0;
    margin: 0;
  }

  .weekly-modal-dialog {
    max-width: 100% !important;
    width: 100% !important;
    box-shadow: none !important;
    border: none !important;
  }

  .modal-header,
  .weekly-controls-card,
  .weekly-preview-header-bar,
  .weekly-modal-footer,
  .modal-close-btn {
    display: none !important;
  }

  .weekly-preview-sheet {
    padding: 0 !important;
    overflow: visible !important;
  }

  .weekly-court-table {
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .weekly-court-table th.table-day-header,
  .weekly-court-table th.table-col-header {
    background-color: #802020 !important;
    color: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .weekly-court-table td.cell-highlight-yellow {
    background-color: #ffff00 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
