/* ============================================================================
   BASE STYLES - Global Styles for All Pages
   ============================================================================ */

/* --- Base & Typography --- */
body {
    background-color: #121212; /* Very Dark */
    color: #E5E7EB; /* Light Gray */
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
}

/* --- Header --- */
#site-header {
    background-color: #1F2A37; /* Dark Slate/Blue-Gray */
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#site-header nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
}

#header-logo {
    height: 60px;
}

.auth-buttons {
    display: flex;
    align-items: center;
}

.auth-buttons span {
    color: #fff;
    margin-right: 15px;
}

.auth-buttons a {
    color: #fff;
    text-decoration: none;
    margin-right: 10px;
    padding: 8px 12px;
    background-color: #4861F6;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.auth-buttons a:hover {
    background-color: #3a4dc4;
}

.auth-buttons a:last-child {
    margin-right: 0;
}

/* Logout button styling */
.auth-buttons a[href*="logout"] {
    background-color: #555;
}

.auth-buttons a[href*="logout"]:hover {
    background-color: #444;
}

/* Sign up button styling */
.auth-buttons a[href*="signup"] {
    background-color: #6c757d;
}

.auth-buttons a[href*="signup"]:hover {
    background-color: #5a6268;
}

/* --- Main Content --- */
main {
    min-height: calc(100vh - 150px); /* Ensure minimum height for content */
}

/* --- Footer --- */
footer {
    background-color: #1F2A37;
    padding: 20px;
    text-align: center;
    color: #9CA3AF;
    border-top: 1px solid #374151;
}

footer p {
    margin: 0;
}

/* --- Common Container Styles --- */
.container {
    max-width: 1800px;
    margin: 0 auto;
    padding: 24px;
}

.page-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 16px;
    color: #fff;
}

.page-title .role-icon {
    width: 32px;
    height: 32px;
}

/* --- Common Button Styles --- */
.btn {
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease-in-out;
}

.btn-primary {
    background-color: #4F46E5; /* Indigo */
    color: #fff;
}

.btn-primary:hover {
    background-color: #4338CA; /* Darker Indigo */
}

.btn-secondary {
    background-color: #334155; /* Slate */
    color: #E2E8F0;
}

.btn-secondary:hover {
    background-color: #475569;
}

/* ============================================================================
   END BASE STYLES
   Page-specific styles are in their own CSS files (recommendations.css, etc.)
   ============================================================================ */
