/* Styles personnalisés pour l'application */

/* Navigation */
.nav-item {
    @apply flex items-center px-6 py-3 text-gray-700 hover:bg-blue-50 hover:text-blue-700 transition-colors;
}

.nav-item.active {
    @apply bg-blue-50 text-blue-700 border-r-4 border-blue-600;
}

/* Quick Actions */
.quick-action-btn {
    @apply flex flex-col items-center justify-center p-4 rounded-xl border-2 text-center transition-transform hover:scale-105;
}

/* Table styles */
.table-row-hover:hover {
    @apply bg-gray-50;
}

/* Form styles */
.form-input {
    @apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500;
}

.form-label {
    @apply block text-sm font-medium text-gray-700 mb-1;
}

/* Badges */
.badge {
    @apply px-3 py-1 rounded-full text-xs font-medium;
}

.badge-scheduled {
    @apply bg-yellow-100 text-yellow-800;
}

.badge-confirmed {
    @apply bg-blue-100 text-blue-800;
}

.badge-completed {
    @apply bg-green-100 text-green-800;
}

.badge-cancelled {
    @apply bg-red-100 text-red-800;
}

/* MODAL STYLES - CORRIGÉ */
.modal {
    @apply fixed inset-0 z-50 flex items-center justify-center;
    background-color: rgba(0, 0, 0, 0.5);
    display: none; /* Hidden by default */
}

.modal.show {
    display: flex !important; /* Show when needed */
}

.modal-content {
    @apply relative bg-white rounded-lg shadow-xl mx-4;
    max-height: 90vh;
    overflow-y: auto;
}

/* Modal sizes */
.modal-sm {
    @apply max-w-md w-full;
}

.modal-md {
    @apply max-w-2xl w-full;
}

.modal-lg {
    @apply max-w-4xl w-full;
}

.modal-xl {
    @apply max-w-6xl w-full;
}

/* Loading spinner */
.spinner {
    @apply animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600;
}

/* Print styles for certificates and prescriptions */
@media print {
    .no-print {
        display: none !important;
    }
    
    body {
        font-size: 12pt;
        background: white !important;
        color: black !important;
    }
    
    .print-container {
        margin: 0;
        padding: 0;
        width: 100%;
    }
}

/* Smooth transitions */
.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.slide-up {
    animation: slideUp 0.3s ease-in-out;
}

@keyframes slideUp {
    from { 
        opacity: 0;
        transform: translateY(20px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

/* Actes status colors */
.bg-yellow-100 { background-color: #fef9c3; }
.text-yellow-800 { color: #854d0e; }
.bg-blue-100 { background-color: #dbeafe; }
.text-blue-800 { color: #1e40af; }
.bg-orange-100 { background-color: #ffedd5; }
.text-orange-800 { color: #9a3412; }
.bg-green-100 { background-color: #dcfce7; }
.text-green-800 { color: #166534; }

/* Money formatting */
.money-positive { color: #166534; }
.money-negative { color: #dc2626; }
.money-zero { color: #6b7280; }

/* Smooth transitions */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}