/* Custom styles for calendar week application */

/* Smooth transitions for interactive elements */
.transition-all {
    transition: all 0.2s ease-in-out;
}

/* Enhanced focus styles for better accessibility */
input:focus {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}


/* Removed hover effects for flatter design */

/* Make boxes same height on desktop without filling screen */
@media (min-width: 1024px) {
    .equal-height-container {
        display: flex;
        align-items: stretch;
    }
    
    .equal-height-container > div {
        display: flex;
        flex-direction: column;
    }
}

/* Animation for result section */
#resultSection {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile responsiveness improvements */
@media (max-width: 480px) {
    /* Override Tailwind classes for better mobile experience */
    body {
        padding: 0.125rem !important;
    }
    
    .equal-height-container {
        padding: 0.25rem !important;
        gap: 0.75rem !important;
    }
    
    /* Make text more readable on small screens */
    .text-4xl {
        font-size: 2.25rem;
    }
    
    /* Further reduce padding on very small screens */
    .equal-height-container > div:first-child {
        padding: 1rem 0.75rem !important;
    }
    
    .equal-height-container > div:last-child {
        padding: 0.75rem !important;
    }
    
    /* Adjust button spacing for tiny screens */
    .flex.gap-3 {
        gap: 0.5rem !important;
    }
    
    /* Make buttons smaller on very small screens */
    #prevWeeksBtn, #nextWeeksBtn, #currentWeekBtn {
        font-size: 0.8125rem !important;
        padding: 0.375rem 0.5rem !important;
    }
}


/* Calendar table mobile responsiveness */
@media (max-width: 768px) {
    /* Fix mobile layout and use full screen width */
    body {
        padding: 0.25rem;
    }
    
    .container {
        padding: 0;
        max-width: 100%;
    }
    
    /* Make flex container stack properly on mobile */
    .equal-height-container {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 1rem;
        padding: 0.5rem;
    }
    
    /* Make both boxes use full width on mobile */
    .equal-height-container > div {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    
    /* Reduce padding on mobile for more space */
    .equal-height-container > div:first-child {
        padding: 1.5rem 1rem;
    }
    
    .equal-height-container > div:last-child {
        padding: 1rem;
    }
    
    /* Stack navigation buttons on mobile */
    #prevWeeksBtn, #nextWeeksBtn, #currentWeekBtn {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }
    
    /* Smaller table text on mobile */
    table th, table td {
        font-size: 0.75rem;
        padding: 0.375rem 0.25rem;
    }
    
    /* Adjust table header padding */
    table th:first-child,
    table td:first-child {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

/* Dark mode support for system preference */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #1f2937;
    }
    
    .bg-white {
        background-color: #374151;
    }
    
    .text-gray-800 {
        color: #f9fafb;
    }
    
    .text-gray-700 {
        color: #d1d5db;
    }
    
    .text-gray-600 {
        color: #9ca3af;
    }
    
    .border-gray-300 {
        border-color: #4b5563;
    }
    
    input {
        background-color: #4b5563;
        color: #f9fafb;
    }
}