body.login-page{

    margin:0;
    padding:0;

    font-family:Arial,Helvetica,sans-serif;

    background:url("../images/login_background.jpg") center center no-repeat;
    background-size:cover;

    height:100vh;
    overflow:hidden;

}


.login-header{
    display: flex;
    flex-direction: column;
    align-items: center;   /* zentriert alle Elemente horizontal */
    text-align: center;
    width: 100%;
    margin-bottom: 30px;
}

.login-header .logo{
    display: block;
    width: 70px;
    height: auto;
    margin-bottom: 15px;
}

.login-header .verein{
    text-align: center;
    margin-bottom: 20px;
}

.login-header .portal-title{
    margin: 0;
    text-align: center;
}


.login-wrapper{

    display:flex;
    justify-content:center;
    align-items:center;

    height:100vh;

}

.login-box{

    width:650px;
    max-width:90%;

    background:rgba(255,255,255,.82);

    border-radius:10px;

    backdrop-filter:blur(4px);

    box-shadow:0 10px 40px rgba(0,0,0,.35);

    padding:30px;

}

.logo{

    width:70px;
    margin-bottom:10px;

}

.verein{

    font-size:15px;
    color:#555;

}

.portal-title{

    margin-top:20px;
    margin-bottom:30px;

    font-size:48px;
    font-weight:300;

}

.form-label{

    font-weight:600;

}

.input-group-text{

    width:45px;
    justify-content:center;

}

.form-control{

    height:46px;
	 padding-left:12px;   /* Abstand links */

}


.login-btn{
    width:100%;
    height:42px;

    background:#0d6efd;
    border:1px solid #0d6efd;

    color:#fff;
    font-weight:bold;

    border-radius:4px;
   


}

.login-btn:hover{
    background:#0b5ed7;
    border-color:#0a58ca;
}

.footer{

    text-align:center;

    color:#555;

    font-size:15px;

}

.footer a{

    text-decoration:none;

}

.footer a:hover{

    text-decoration:underline;

}

.alert{

    margin-bottom:20px;

}

.login-status{

    position:fixed;

    left:0;
    right:0;
    bottom:0;

    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    font-size:15px;
    font-weight:500;

    color:#fff;

    z-index:9999;

}

.login-status.info{
    background:#0d6efd;
}

.login-status.success{
    background:#198754;
}

.login-status.warning{
    background:#ffc107;
    color:#212529;
}

.login-status.danger{
    background:#dc3545;
}

.login-status i{
    font-size:18px;
}

.input-group{
    width:100%;
    display:flex;
    flex-wrap:nowrap;   /* Icon und Eingabefeld bleiben in einer Zeile */
    margin-bottom:18px;
}

.input-group-text{
    width:42px;
    flex:0 0 42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#ececec;
    border:1px solid #9d9d9d;
    border-right:none;
    border-radius:4px 0 0 4px;
}

.form-control{
    flex:1;             /* Eingabefeld nimmt den gesamten restlichen Platz ein */
    min-width:0;        /* verhindert Umbruch */

    height:42px;

    border:1px solid #9d9d9d;
    border-left:none;

    border-radius:0 4px 4px 0;

    box-shadow:inset 0 1px 2px rgba(0,0,0,.15);
}

.register-button{
    text-align:center;
    margin:20px 0;
}

.register-btn{
    min-width:180px;
    height:42px;

    background:#0d6efd;
    border:1px solid #0d6efd;

    color:#fff;
    font-weight:bold;
}

.register-btn:hover{
    background:#0b5ed7;
    border-color:#0a58ca;
}