/*
File: appStyles.css
Description: Unified styles for all sections of the NAS Utilities single-page application.
Includes styles for login, dashboard, and submission views.
Author: João Aranha
Last Modified: 2025-07-28 => 20:00
*/

/* Global Styles */
body {
    font-family: 'Inter', sans-serif; /* Using Inter font */
    background-color: #121212; /* Dark background */
    color: #E0E0E0; /* Light text color */
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh; /* Full viewport height */
    margin: 0;
    padding: 20px; /* Add some padding for mobile */
    box-sizing: border-box; /* Include padding in element's total width and height */
    overflow-y: auto; /* Allow scrolling if content exceeds viewport height */
}

/* Common Container Styles for all views */
.container {
    background-color: #1F1F1F; /* Slightly lighter dark background */
    padding: 40px;
    border-radius: 15px; /* Rounded corners */
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); /* Subtle shadow */
    max-width: 800px; /* Max width for larger screens */
    width: 100%; /* Full width on smaller screens */
    box-sizing: border-box;
    margin: 20px auto; /* Center container with margin */
}

/* Headings */
h1 {
    color: #1DB954; /* Spotify green for heading */
    margin-bottom: 20px;
    font-size: 2.5em; /* Larger heading */
}

/* Paragraphs */
p {
    font-size: 1.1em;
    margin-bottom: 30px;
    line-height: 1.6;
}

/* Spotify Login Button */
.spotify-button {
    background-color: #1DB954; /* Spotify green */
    color: white;
    border: none;
    padding: 15px 30px;
    border-radius: 30px; /* Rounded button */
    font-size: 1.2em;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 4px 10px rgba[0, 0, 0, 0.3]; /* Button shadow */
}

.spotify-button:hover {
    background-color: #1ED760; /* Slightly lighter green on hover */
    transform: translateY(-2px); /* Slight lift effect */
}

.spotify-button:active {
    background-color: #179B4B; /* Darker green on click */
    transform: translateY(0);
}

/* Dashboard and Submission Buttons */
.button-group {
    display: flex;
    flex-wrap: wrap; /* Allow buttons to wrap on smaller screens */
    justify-content: center;
    gap: 15px; /* Space between buttons */
    margin-bottom: 30px;
}

.action-button {
    background-color: #1DB954; /* Spotify green */
    color: white;
    border: none;
    padding: 12px 25px;
    border-radius: 30px; /* Rounded button */
    font-size: 1.1em;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 4px 10px rgba[0, 0, 0, 0.3];
    white-space: nowrap; /* Prevent text wrapping inside buttons */
}

.action-button:hover {
    background-color: #1ED760;
    transform: translateY(-2px);
}

.action-button:active {
    background-color: #179B4B;
    transform: translateY(0);
}

/* Content Area for Dashboard/Submission Results */
.content-area {
    background-color: #1F1F1F;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    max-width: 800px;
    width: 100%;
    box-sizing: border-box;
    text-align: left; /* Align text left within content area */
    margin-top: 20px; /* Space above content area */
}

.content-area h2 {
    color: #1DB954;
    margin-bottom: 20px;
}

.content-area p {
    margin-bottom: 10px;
    font-size: 1em;
}

/* Hidden sections (controlled by JavaScript) */
.hidden {
    display: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    body {
        padding: 15px;
    }

    .container, .content-area {
        padding: 20px;
        border-radius: 10px;
    }

    h1 {
        font-size: 2em;
    }

    p, .welcome-message, .content-area p {
        font-size: 1em;
    }

    .button-group {
        gap: 10px;
    }

    .action-button {
        padding: 10px 20px;
        font-size: 0.95em;
    }
}

@media (max-width: 480px) {
    .container, .content-area {
        padding: 15px;
    }

    h1 {
        font-size: 1.8em;
    }

    .action-button {
        width: 100%; /* Full width buttons on very small screens */
    }
}
