        /* A shared wrapper to center the auth form on the page */
        .auth-page-wrapper {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 4rem 1rem;
            min-height: calc(100vh - 150px); /* Adjust based on header/footer height */
        }
        /* A shared container for the form itself */
        .auth-container {
            background: white;
            padding: 40px;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            text-align: center;
            width: 100%;
            max-width: 400px;
        }
        .auth-container h1 {
            margin-bottom: 24px;
            color: #333;
        }
        .auth-container input {
            width: 100%;
            padding: 12px;
            margin-bottom: 12px;
            border: 1px solid #ddd;
            border-radius: 4px;
            box-sizing: border-box;
        }
        .auth-container .btn-primary {
            width: 100%;
            padding: 12px;
            font-size: 16px;
        }
        .auth-container .social-btn {
            width: 100%;
            padding: 12px;
            font-size: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }
        .auth-container .social-btn img {
            width: 18px;
            height: 18px;
        }
        .auth-container .divider {
            display: flex;
            align-items: center;
            text-align: center;
            color: #888;
            margin: 20px 0;
        }
        .auth-container .divider::before, .auth-container .divider::after {
            content: '';
            flex: 1;
            border-bottom: 1px solid #ddd;
        }
        .auth-container .divider:not(:empty)::before { margin-right: .5em; }
        .auth-container .divider:not(:empty)::after { margin-left: .5em; }
        .auth-container .error {
            color: var(--danger-color);
            margin-top: 10px;
            font-size: 14px;
            min-height: 1em;
        }
        .auth-container .auth-link {
            margin-top: 20px;
            font-size: 14px;
        }
        .auth-container .auth-link a {
            color: var(--primary-color);
            text-decoration: none;
            font-weight: 500;
        }
        .auth-container .auth-link a:hover {
            text-decoration: underline;
        }