body {
    font-family: 'Inter', sans-serif;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    margin: 0;

    .login-card {
        max-width: 440px;
        padding: 2.5rem;
        background: #ffffff;
        border-radius: 8px;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
        text-align: center;

        .login-logo {
            width: 64px;
            height: auto;
            margin-bottom: 1.5rem;
        }

        .login-title {
            font-size: 1.75rem;
            font-weight: 600;
            color: #1a1a1a;
            margin-bottom: 0.5rem;
        }

        .login-subtitle {
            font-size: 0.875rem;
            color: #666;
            margin-bottom: 2rem;
        }

        .form-group {
            text-align: left;
            margin-bottom: 1.25rem;
        }

        .form-input-container {
            position: relative;
        }

        .remember-me {
            text-align: left;

            input {
                width: 16px;
                height: 16px;
                cursor: pointer;
            }
        }

        .password-toggle {
            position: absolute;
            right: 12px;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            color: #999;
            cursor: pointer;
            padding: 0;
            display: flex;
            align-items: center;
        }

        .password-toggle:hover {
            color: #666;
        }

        .alert-danger {
            li {
                list-style: none;
            }
        }

        .social-divider {
            display: flex;
            align-items: center;
            text-align: center;
            margin: 1.5rem 0;
            color: #999;
            font-size: 0.875rem;

            &::before,
            &::after {
                content: "";
                flex: 1;
                border-bottom: 1px solid #eee;
            }

            span {
                padding: 0 1rem;
            }
        }

        .btn-microsoft {
            background-color: #fff;
            color: #5e5e5e;
            border: 1px solid #8c8c8c;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            padding: 0.6rem;
            font-weight: 500;
            transition: all 0.2s ease;
            text-decoration: none;
            width: 100%;
            border-radius: 4px;

            &:hover {
                background-color: #f2f2f2;
                border-color: #8c8c8c;
                color: #5e5e5e;
            }

            i {
                font-size: 1.25rem;
                display: flex;
                align-items: center;
                /* Microsoft brand colors for the icon parts if we were using SVG, 
                   but for a single font icon we'll use a neutral or brand-ish color */
                color: #00a4ef;
                /* Microsoft blue */
            }
        }
    }
}