/* ClinicPro - Custom Styles */

/* Animations */
@keyframes slide-in {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes fade-in {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes pulse-soft {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.animate-slide-in { animation: slide-in 0.3s ease-out; }
.animate-fade-in { animation: fade-in 0.2s ease-out; }
.animate-pulse-soft { animation: pulse-soft 2s ease-in-out infinite; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

/* Table Styles */
table th { white-space: nowrap; }
table td { vertical-align: middle; }

/* Modal transitions */
#modal .bg-black\/40 { transition: opacity 0.2s ease; }
#modalContent.show { transform: scale(1) !important; opacity: 1 !important; }

/* Card hover effects */
.card-hover { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.card-hover:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.08); }

/* Input styles */
input:focus, select:focus, textarea:focus {
    transition: border-color 0.2s, box-shadow 0.2s;
}

/* Stored theme */
.theme-dark body { background: #020617 !important; color: #e2e8f0; }
.theme-dark header,
.theme-dark footer,
.theme-dark .bg-white,
.theme-dark #modalContent { background-color: #0f172a !important; }
.theme-dark .border-gray-100,
.theme-dark .border-gray-200,
.theme-dark .border-gray-300 { border-color: #1e293b !important; }
.theme-dark .bg-surface-50,
.theme-dark .bg-surface-100,
.theme-dark .bg-gray-50 { background-color: #111827 !important; }
.theme-dark .bg-primary-50 { background-color: #172554 !important; }
.theme-dark .bg-blue-50 { background-color: #172554 !important; }
.theme-dark .bg-green-50 { background-color: #14532d !important; }
.theme-dark .bg-amber-50 { background-color: #451a03 !important; }
.theme-dark .bg-red-50 { background-color: #450a0a !important; }
.theme-dark .bg-purple-50 { background-color: #3b0764 !important; }
.theme-dark .bg-emerald-50 { background-color: #064e3b !important; }
.theme-dark .text-gray-800 { color: #f8fafc !important; }
.theme-dark .text-gray-700 { color: #e2e8f0 !important; }
.theme-dark .text-gray-600,
.theme-dark .text-gray-500,
.theme-dark .text-gray-400 { color: #94a3b8 !important; }
.theme-dark .text-primary-600,
.theme-dark .text-primary-700 { color: #93c5fd !important; }
.theme-dark input,
.theme-dark select,
.theme-dark textarea { background-color: #020617 !important; color: #e2e8f0 !important; border-color: #334155 !important; }
.theme-dark .hover\:bg-gray-50:hover,
.theme-dark .hover\:bg-gray-100:hover,
.theme-dark .hover\:bg-primary-50:hover { background-color: #1e293b !important; }
.theme-dark .shadow-sm,
.theme-dark .shadow-lg,
.theme-dark .shadow-xl { box-shadow: 0 10px 25px -12px rgba(0, 0, 0, 0.65) !important; }
.theme-dark .glass-card {
    background: rgba(15, 23, 42, 0.92) !important;
    color: #e2e8f0;
}

.settings-status-message {
    transition: opacity 0.2s ease;
}

/* Status badge colors */
.status-scheduled { background-color: #eff6ff; color: #1d4ed8; }
.status-completed { background-color: #f0fdf4; color: #15803d; }
.status-cancelled { background-color: #fef2f2; color: #b91c1c; }
.status-incomplete { background-color: #fffbeb; color: #b45309; }

/* Print styles */
@media print {
    header, footer, nav, button, .no-print { display: none !important; }
    body { background: white; }
    main { max-width: 100%; padding: 0; }
    .bg-white { box-shadow: none !important; border: 1px solid #e5e7eb !important; }
}
