/* ===== Auth (Login/Register) ===== */
.auth-wrap{
    display:grid;
    place-items:center;
    min-height:calc(100vh - 120px);
}
.auth-card{
    width:100%;
    max-width:420px;
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:24px;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.auth-title{
    margin:0 0 14px;
    font-size:1.6rem;
    font-weight:700;
    color:#000;
    text-align:center;
}
.auth-label{
    display:block;
    margin:12px 0 6px;
    font-weight:600;
    color:#000;
}
.auth-input{
    width:100%;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:#000;
    outline:none;
}
.auth-input:focus{ border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); }

.btn-primary{
    width:100%;
    margin-top:16px;
    padding:10px 14px;
    border:0;
    border-radius:10px;
    background:#000;     /* Login-Schaltfläche schwarz */
    color:#fff;
    font-weight:700;
    cursor:pointer;
}
.btn-primary:hover{ filter:brightness(0.9); }

.auth-meta{ text-align:center; margin-top:12px; color:#000; }
.auth-link{ color:#111; text-decoration:underline; }

.auth-alert{
    padding:10px 12px;
    border-radius:10px;
    margin:8px 0 12px;
    font-size:.95rem;
}
.auth-alert.error{ background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.auth-alert.success{ background:#dcfce7; color:#166534; border:1px solid #86efac; }


/*Login*/
/* ---------- Login Alert Styles ---------- */

.alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.4;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
    animation: alert-fade-in 0.25s ease-out;
}

.alert-error {
    background: #FEF2F2;           /* zartes Rot */
    border: 1px solid #FCA5A5;
    color: #991B1B;
}

.alert-icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    background: #FCA5A5;
    color: #7F1D1D;
    margin-top: 2px;
}

.alert-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.alert-title {
    font-weight: 700;
}

.alert-text {
    font-size: 13px;
    opacity: 0.9;
}

@keyframes alert-fade-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


