.auth-page{min-height:100vh;background:
 radial-gradient(circle at 20% 10%,rgba(8,120,255,.12),transparent 28%),
 radial-gradient(circle at 85% 84%,rgba(239,146,53,.10),transparent 24%),
 linear-gradient(180deg,#f8fbff 0%,#f2f5fa 100%);display:grid;place-items:center;padding:28px}
.auth-shell{width:min(100%,470px);display:flex;flex-direction:column;align-items:center;gap:20px}
.auth-card{width:100%;background:rgba(255,255,255,.97);border:1px solid rgba(7,24,47,.08);border-radius:24px;padding:34px;box-shadow:var(--shadow)}
.auth-card-wide{width:min(100vw - 36px,580px)}
.auth-logo{display:block;width:min(300px,78%);height:auto;margin:-22px auto -16px}
.auth-logo-small{width:min(240px,68%);margin:-20px auto -8px}
.auth-card h1{text-align:center;color:var(--navy);font-size:28px;margin:4px 0 24px}
.auth-lead{text-align:center;color:var(--muted);margin:-12px auto 22px;line-height:1.5}
.password-wrap{display:flex;position:relative}
.password-wrap input{padding-right:50px}
.password-wrap .password-toggle{position:absolute;right:5px;top:5px}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.form-message{min-height:20px;margin:2px 0 10px;font-size:13px;font-weight:700;color:var(--danger)}
.form-message.success{color:var(--success)}
.email-builder{display:flex;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;align-items:center}
.email-builder:focus-within{border-color:var(--blue);box-shadow:var(--focus)}
.email-builder input{border:0!important;box-shadow:none!important;border-radius:0!important;min-width:0}
.email-builder strong{white-space:nowrap;padding:0 13px;color:var(--navy);font-size:14px}
.back-link{display:inline-block;font-weight:750;font-size:13px;color:var(--muted)}
.auth-shell footer{font-size:12px;color:var(--muted)}
@media(max-width:520px){.auth-page{padding:18px}.auth-card{padding:24px 20px}.auth-actions{grid-template-columns:1fr}.auth-logo{width:78%}}

/* Moosemail compact login patch */
.auth-card{
    padding-top:18px !important;
    padding-bottom:18px !important;
}

.auth-card img{
    display:block !important;
    max-width:230px !important;
    height:auto !important;
    margin:0 auto 10px !important;
}

.auth-card form{
    margin-top:4px !important;
}

.auth-card input{
    margin-top:0 !important;
}

.auth-card .btn-primary{
    margin-top:10px !important;
}

.auth-card .btn + .btn,
.auth-card .btn-row,
.auth-card .auth-actions,
.auth-card .secondary-actions{
    margin-top:10px !important;
    gap:10px !important;
}

.auth-card + *,
.auth-footer,
footer{
    margin-top:12px !important;
}

@media (min-height: 800px){
    body{
        overflow-y:hidden;
    }
}

/* Login: redundante Feldbeschriftungen ausblenden */
.auth-card form#login-form label.field > span{
    display:none !important;
}

.auth-card form#login-form label.field{
    margin:0 !important;
}

.auth-card form#login-form{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.auth-card form#login-form .password-wrap{
    margin-top:0 !important;
}

/* Login Logo: größer und direkt über den Feldern */
#login-form{
    margin-top:0 !important;
}

.auth-card:has(#login-form) .auth-logo{
    max-width:300px !important;
    width:300px !important;
    margin:0 auto -5px !important;
}

.auth-card:has(#login-form){
    padding-top:10px !important;
}

.auth-card:has(#login-form) #login-form{
    margin-top:-20px !important;
}
