.home-page {
    padding: 1.5rem;
}

    /* Authorized Dashboard Styles */
    .home-page .welcome-section h1 {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .home-page .dashboard-cards {
        margin-top: 1.5rem;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 1rem;
    }

    .home-page .card {
        border-radius: 12px;
        border: 1px solid rgba(0, 0, 0, 0.06);
        background: var(--surface, #fff);
        display: flex;
        flex-direction: column;
    }

    .home-page .card-body {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 1.5rem;
    }

    .home-page .card-text {
        flex: 1;
        margin-bottom: 1rem;
    }

    /* Button styles use centralized buttons.css */

    .home-page .card-icon {
        width: 18px;
        height: 18px;
        margin-right: 0.5rem;
        vertical-align: middle;
        opacity: 0.8;
    }

    .home-page .card-title {
        display: flex;
        align-items: center;
        font-size: 1.125rem;
        margin-bottom: 0.75rem;
    }

    /* Unauthorized Landing Page Styles */
    .home-page .landing-section {
        max-width: 1200px;
        margin: 0 auto;
    }

    .home-page .hero {
        text-align: center;
        padding: 3rem 1.5rem;
        background: linear-gradient(135deg, #004D93 0%, #003366 100%);
        color: white;
        border-radius: 12px;
        margin-bottom: 2.5rem;
    }

        .home-page .hero h1 {
            font-size: 2.5rem;
            margin-bottom: 0.75rem;
            color: white;
        }

        .home-page .hero .lead {
            font-size: 1.25rem;
            max-width: 60ch;
            margin: 0.75rem auto 1.5rem;
            opacity: 0.95;
        }

    .home-page .hero-buttons {
        display: flex;
        gap: 0.75rem;
        justify-content: center;
    }

    .home-page .features {
        margin-top: 2.5rem;
    }

        .home-page .features h2 {
            text-align: center;
            font-size: 1.75rem;
            margin-bottom: 1.5rem;
        }

    .home-page .feature-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1.5rem;
        margin-top: 1rem;
    }

    .home-page .feature-item {
        background: var(--surface, #fff);
        border: 1px solid rgba(0, 0, 0, 0.06);
        border-radius: 12px;
        padding: 1.5rem;
        text-align: center;
    }

        .home-page .feature-item h3 {
            font-size: 1.125rem;
            margin-bottom: 0.5rem;
        }

    .home-page .feature-icon {
        width: 48px;
        height: 48px;
        color: #004D93;
        opacity: 0.85;
        margin: 0 auto 1rem;
    }

    /* Loading/Status Pages */
    .home-page .loading-page,
    .home-page .unauthorized-page,
    .home-page .not-found-page {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 60vh;
        text-align: center;
    }

/* Responsive Styles */
@media (max-width: 768px) {
    .home-page {
        padding: 1rem;
    }

        .home-page .hero {
            padding: 2rem 1rem;
        }

            .home-page .hero h1 {
                font-size: 1.75rem;
            }

            .home-page .hero .lead {
                font-size: 1.125rem;
            }

        .home-page .hero-buttons {
            flex-direction: column;
            align-items: stretch;
        }

        .home-page .dashboard-cards,
        .home-page .feature-grid {
            grid-template-columns: 1fr;
        }

        .home-page .welcome-section h1 {
            font-size: 1.5rem;
        }
}
