/* SPEZIFISCH FÜR LOGIN/REGISTER: Begrenzt die Breite der Karte */
        /* ==================================== */
        /* 2. FORMULAR SPEZIFISCHE STILE */
        /* ==================================== */

        /* SPEZIFISCH FÜR LOGIN/REGISTER */
        .auth-card {
            background-color: var(--color-white);
            padding: 2rem;
            border-radius: 1rem; 
            box-shadow: var(--shadow-lg);
            border: 1px solid #e5e7eb;
        }

        /* SPEZIFISCH FÜR LOGIN/REGISTER: Überschrift des jeweiligen Formulars */
        #login-section h2, #register-section h2 {
            font-size: 1.875rem; 
            font-weight: 700;
            color: var(--bg-menu);
            text-align: center;
            margin-top: 0;
            margin-bottom: 2rem;
        }

        /* SPEZIFISCH FÜR LOGIN/REGISTER */
        .form-grid {
            display: grid;
            gap: 1.5rem; 
            grid-template-columns: 1fr; 
        }
        
        /* SPEZIFISCH FÜR LOGIN/REGISTER */
        @media (min-width: 640px) {
            .form-grid.grid-2 {
                grid-template-columns: 1fr 1fr;
            }
        }

        /* SPEZIFISCH FÜR LOGIN/REGISTER */
        .form-group label {
            display: block;
            font-weight: 600;
            font-size: 0.875rem; 
            margin-bottom: 0.5rem;
            color: var(--color-text);
        }

        /* SPEZIFISCH FÜR LOGIN/REGISTER */
        .form-group input {
            width: 100%;
            padding: 0.75rem 1rem;
            border: 1px solid #d1d5db;
            border-radius: 0.5rem;
            font-size: 1rem;
            transition: border-color 0.2s, box-shadow 0.2s;
            box-sizing: border-box; 
        }

        /* SPEZIFISCH FÜR LOGIN/REGISTER */
        .form-group input:focus {
            outline: none;
            border-color: var(--color-accent);
            box-shadow: 0 0 0 3px rgba(241, 110, 56, 0.3); /* Orange Ring */
        }
        /* SPEZIFISCH FÜR LOGIN/REGISTER: Umschalt-Link */
        .toggle-link {
            text-align: center;
            margin-top: 1.5rem;
            font-size: 0.875rem;
        }

        .toggle-link a {
            color: var(--color-accent);
            font-weight: 600;
            text-decoration: none;
            transition: color 0.2s;
        }

        .toggle-link a:hover {
            color: var(--color-accent-hover);
            text-decoration: underline;
        }
        
        /* SPEZIFISCH FÜR LOGIN/REGISTER: Admin Hinweis Box (Jetzt in beiden Ansichten sichtbar) */
        .admin-info {
            margin-top: 2rem; /* Abstand auf Mobile */
            padding: 1rem;
            background-color: #fef3e9; 
            border-left: 4px solid var(--color-accent);
            border-radius: 0.5rem;
            /* GEÄNDERT: Von #7c2d12 zu var(--color-text) für bessere Lesbarkeit */
            color: var(--color-text); 
        }
        
        .admin-info strong {
            display: block;
            font-size: 1rem;
            margin-bottom: 0.5rem;
            color: var(--color-accent-hover);
        }
        
        .admin-info p {
            margin: 0;
            line-height: 1.5;
        }
        
        /* SPEZIFISCH FÜR LOGIN/REGISTER: Desktop Side-by-Side Layout */
        @media (min-width: 768px) {
            .auth-layout {
                display: grid;
                grid-template-columns:3fr 2fr; /* Formular (ca. 60%) und Info-Box (ca. 40%) */
                gap: 3rem;
                align-items: start; 
            }
            .auth-card {
                padding: 3rem; /* Mehr Platz auf Desktop */
            }
            
            /* Titel Ausrichtung anpassen, wenn Side-by-Side */
            #login-section h2, #register-section h2 {
                text-align: left;
                font-size: 1.625rem; /* Etwas kleiner als Mobile */
                margin-bottom: 1.5rem;
            }
            
            /* Entfernt unnötigen Top-Margin für das Info-Feld im Grid */
            .admin-info {
                margin-top: 0;
                padding: 1.5rem;
            }
        }
        /* ==================================== */
        /* 3. FEHLERMELDUNGEN (LOKAL) */
        /* ==================================== */
        .message-box {
            padding: 1rem;
            /* Sorgt für Abstand nach oben (von Feldern) und unten (zum Button) */
            margin-top: 1.5rem; 
            margin-bottom: 1.5rem; 
            border-radius: 0.5rem;
            font-weight: 600;
            line-height: 1.5;
        }
        
        .message-box.error {
            background-color: var(--color-error-bg);
            border: 1px solid var(--color-error-border);
            color: var(--color-error-text);
        }

.remember-login {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #f9fafb;
    color: var(--color-text);
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}

.remember-login input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.remember-login:hover {
    border-color: rgba(241, 110, 56, 0.45);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.06);
}

.remember-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    height: 1.2rem;
    border: 2px solid #d1d5db;
    border-radius: 0.35rem;
    background: #ffffff;
    flex: 0 0 auto;
    transition: border-color 0.2s, background-color 0.2s;
}

.remember-check::after {
    content: "";
    width: 0.32rem;
    height: 0.58rem;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform 0.16s ease;
}

.remember-login input:checked + .remember-check {
    border-color: var(--color-accent);
    background: var(--color-accent);
}

.remember-login input:checked + .remember-check::after {
    transform: rotate(45deg) scale(1);
}

.remember-text {
    display: grid;
    gap: 0.15rem;
}

.remember-text strong {
    color: var(--bg-menu);
    font-size: 0.92rem;
}

.remember-text small {
    color: var(--color-text-light);
    font-size: 0.78rem;
}
