/* Theme System CSS */
:root {
    --primary-50: #fdf4ff;
    --primary-100: #fae8ff;
    --primary-200: #f5d0fe;
    --primary-300: #f0abfc;
    --primary-400: #e879f9;
    --primary-500: #d946ef;
    --primary-600: #c026d3;
    --primary-700: #a21caf;
    --primary-800: #86198f;
    --primary-900: #701a75;
    
    --secondary-50: #eff6ff;
    --secondary-100: #dbeafe;
    --secondary-200: #bfdbfe;
    --secondary-300: #93c5fd;
    --secondary-400: #60a5fa;
    --secondary-500: #3b82f6;
    --secondary-600: #2563eb;
    --secondary-700: #1d4ed8;
    --secondary-800: #1e40af;
    --secondary-900: #1e3a8a;
}

/* Light Theme (default) - Softer background */
body {
    background-color: #f8fafc;
    color: #374151;
}

/* Dark Theme */
body.dark {
    background-color: #111827;
    color: #f9fafb;
}

/* Gradient Backgrounds */
.gradient-bg {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 50%, #8b5cf6 100%);
}

.dark .gradient-bg {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 50%, #7c3aed 100%);
}

/* Gradient Text */
.gradient-text {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Card Gradients - Very subtle for light theme */
.card-gradient {
    background: linear-gradient(135deg, rgba(217, 70, 239, 0.02) 0%, rgba(59, 130, 246, 0.02) 100%);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(217, 70, 239, 0.05);
}

.dark .card-gradient {
    background: linear-gradient(135deg, rgba(162, 28, 175, 0.2) 0%, rgba(29, 78, 216, 0.2) 100%);
    border: 1px solid rgba(217, 70, 239, 0.3);
}

/* Button Gradients */
.button-gradient {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);
}

.button-gradient:hover {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(217, 70, 239, 0.3);
}

.dark .button-gradient {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 100%);
}

.dark .button-gradient:hover {
    background: linear-gradient(135deg, var(--primary-800) 0%, var(--secondary-800) 100%);
}

/* Theme Toggle */
.theme-toggle {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);
}

.theme-toggle:hover {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);
    transform: scale(1.05);
}

.dark .theme-toggle {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 100%);
}

.dark .theme-toggle:hover {
    background: linear-gradient(135deg, var(--primary-800) 0%, var(--secondary-800) 100%);
}

/* Notifications */
.notification {
    background: linear-gradient(135deg, rgba(217, 70, 239, 0.95) 0%, rgba(59, 130, 246, 0.95) 100%);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.notification.error {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.95) 0%, rgba(220, 38, 38, 0.95) 100%);
}

.notification.success {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.95) 0%, rgba(22, 163, 74, 0.95) 100%);
}

/* Info Cards - Made lighter */
.info-card {
    background: linear-gradient(135deg, rgba(217, 70, 239, 0.02) 0%, rgba(59, 130, 246, 0.02) 100%);
    border: 1px solid rgba(217, 70, 239, 0.1);
    backdrop-filter: blur(10px);
}

.dark .info-card {
    background: linear-gradient(135deg, rgba(162, 28, 175, 0.1) 0%, rgba(29, 78, 216, 0.1) 100%);
    border: 1px solid rgba(217, 70, 239, 0.3);
}

/* Table Styles - Made lighter */
.table-header {
    background: linear-gradient(135deg, rgba(217, 70, 239, 0.05) 0%, rgba(59, 130, 246, 0.05) 100%);
}

.dark .table-header {
    background: linear-gradient(135deg, rgba(162, 28, 175, 0.15) 0%, rgba(29, 78, 216, 0.15) 100%);
}

.table-row-hover:hover {
    background: linear-gradient(135deg, rgba(217, 70, 239, 0.03) 0%, rgba(59, 130, 246, 0.03) 100%);
}

/* Invoice Row Styles - Made lighter */
.received-row {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.05) 0%, rgba(22, 163, 74, 0.05) 100%);
    border-left: 4px solid #22c55e;
}

.sent-row {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.05) 0%, rgba(220, 38, 38, 0.05) 100%);
    border-left: 4px solid #ef4444;
}

.dark .received-row {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.15) 0%, rgba(22, 163, 74, 0.15) 100%);
}

.dark .sent-row {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(220, 38, 38, 0.15) 100%);
}

/* Pagination */
.pagination-button {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);
}

.pagination-button:hover {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);
    transform: translateY(-1px);
}

.pagination-button.active {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 100%);
    color: white;
}

.dark .pagination-button {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 100%);
}

.dark .pagination-button:hover {
    background: linear-gradient(135deg, var(--primary-800) 0%, var(--secondary-800) 100%);
}

.dark .pagination-button.active {
    background: linear-gradient(135deg, var(--primary-900) 0%, var(--secondary-900) 100%);
}

/* Animations */
.slide-in {
    animation: slideIn 0.5s ease-out;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.fade-in {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Dark mode specific overrides */
.dark {
    color-scheme: dark;
}

.dark body {
    background-color: #111827;
    color: #f9fafb;
}

/* Light theme - Made much lighter */
.bg-white {
    background-color: #ffffff;
}

.text-gray-700 {
    color: #6b7280;
}

.text-gray-600 {
    color: #6b7280;
}

.text-gray-500 {
    color: #9ca3af;
}

.border-gray-200 {
    border-color: #e5e7eb;
}

.border-gray-300 {
    border-color: #d1d5db;
}

.bg-gray-50 {
    background-color: #fafafa;
}

.bg-gray-100 {
    background-color: #f5f5f5;
}

.bg-gray-200 {
    background-color: #e5e7eb;
}

.bg-gray-700 {
    background-color: #374151;
}

.bg-gray-800 {
    background-color: #1f2937;
}

.bg-gray-900 {
    background-color: #111827;
}

.text-gray-900 {
    color: #374151;
}

.text-gray-800 {
    color: #4b5563;
}

.text-gray-100 {
    color: #f3f4f6;
}

.text-gray-200 {
    color: #e5e7eb;
}

.text-gray-300 {
    color: #d1d5db;
}

.text-gray-400 {
    color: #9ca3af;
}

.divide-gray-200 {
    border-color: #e5e7eb;
}

.divide-gray-700 {
    border-color: #4b5563;
}

/* Focus states for light mode */
input:focus,
select:focus,
textarea:focus {
    border-color: var(--primary-500);
    box-shadow: 0 0 0 3px rgba(217, 70, 239, 0.1);
}

/* Hover states for light mode */
.hover\:bg-gray-100:hover {
    background-color: #f5f5f5;
}

.hover\:bg-gray-700:hover {
    background-color: #4b5563;
}

.hover\:bg-gray-800:hover {
    background-color: #374151;
}

.hover\:text-gray-300:hover {
    color: #d1d5db;
}

.hover\:text-gray-600:hover {
    color: #6b7280;
}

/* Dark mode specific overrides */
.dark .bg-white {
    background-color: #1f2937;
}

.dark .text-gray-700 {
    color: #d1d5db;
}

.dark .text-gray-600 {
    color: #9ca3af;
}

.dark .text-gray-500 {
    color: #6b7280;
}

.dark .border-gray-200 {
    border-color: #374151;
}

.dark .border-gray-300 {
    border-color: #4b5563;
}

.dark .bg-gray-50 {
    background-color: #1f2937;
}

.dark .bg-gray-100 {
    background-color: #374151;
}

.dark .bg-gray-200 {
    background-color: #4b5563;
}

.dark .bg-gray-700 {
    background-color: #374151;
}

.dark .bg-gray-800 {
    background-color: #1f2937;
}

.dark .bg-gray-900 {
    background-color: #111827;
}

.dark .text-gray-900 {
    color: #f9fafb;
}

.dark .text-gray-800 {
    color: #f3f4f6;
}

.dark .text-gray-100 {
    color: #f3f4f6;
}

.dark .text-gray-200 {
    color: #e5e7eb;
}

.dark .text-gray-300 {
    color: #d1d5db;
}

.dark .text-gray-400 {
    color: #9ca3af;
}

.dark .divide-gray-200 {
    border-color: #374151;
}

.dark .divide-gray-700 {
    border-color: #4b5563;
}

/* Focus states for dark mode */
.dark input:focus,
.dark select:focus,
.dark textarea:focus {
    border-color: var(--primary-500);
    box-shadow: 0 0 0 3px rgba(217, 70, 239, 0.1);
}

/* Hover states for dark mode */
.dark .hover\:bg-gray-100:hover {
    background-color: #374151;
}

.dark .hover\:bg-gray-700:hover {
    background-color: #4b5563;
}

.dark .hover\:bg-gray-800:hover {
    background-color: #374151;
}

.dark .hover\:text-gray-300:hover {
    color: #d1d5db;
}

.dark .hover\:text-gray-600:hover {
    color: #9ca3af;
} 