﻿/* ============================================================
   styleValidation.css - PVBK ai.pvbk.ch
   R5: EINHEITLICHES MELDUNGSSYSTEM - NUR .pvbk-notify
   Referenzdesign: Login-Fehler-Card (site_login.php L1147)
   ============================================================ */

/* -- Fehlerstatus auf Formularfeldern (Rand-Markierung) ------- */
input.field-error,
select.field-error,
textarea.field-error {
    border: 1px solid #ef4444 !important;
    background: rgba(239,68,68,0.04) !important;
    outline: none;
    transition: border-color 0.2s ease;
}
input.field-success,
select.field-success,
textarea.field-success {
    border: 1px solid #16a34a !important;
}

/* ============================================================
   .pvbk-notify - EINZIGES MELDUNGSGEFAESS
   Ersetzt: fals_msg, true_msg, neutral_msg, showToastNotice,
            pvbk-error-card, pvbk-inline-error, ajax-form-error
   ============================================================ */
.pvbk-notify {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid #ef4444;
    border-left: 4px solid #CC0000;
    border-radius: 8px;
    background: #fef2f2;
    color: #991b1b;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    box-sizing: border-box;
    transition: opacity 0.4s ease;
}
.pvbk-notify strong {
    display: block;
    font-size: 1.05em;
    margin-bottom: 2px;
}

/* -- Error (Standard, rot) ------------------------------------ */
.pvbk-notify--error {
    border-color: #ef4444;
    border-left-color: #CC0000;
    background: #fef2f2;
    color: #991b1b;
}

/* -- Success (gruen) ------------------------------------------ */
.pvbk-notify--success {
    border-color: #86efac;
    border-left-color: #16a34a;
    background: #f0fdf4;
    color: #14532d;
}
.pvbk-notify--success strong { color: #16a34a; }

/* -- Warning (orange) ----------------------------------------- */
.pvbk-notify--warning {
    border-color: #fde68a;
    border-left-color: #d97706;
    background: #fffbeb;
    color: #78350f;
}
.pvbk-notify--warning strong { color: #d97706; }

/* -- Info (blau) ---------------------------------------------- */
.pvbk-notify--info {
    border-color: #93c5fd;
    border-left-color: #0065A5;
    background: #eff6ff;
    color: #1e3a5f;
}
.pvbk-notify--info strong { color: #0065A5; }

/* -- Auto-fade: Erfolgs-Cards nach 4s ausblenden -------------- */
.pvbk-notify--success.pvbk-notify-autofade {
    animation: pvbkFadeOut 0.5s ease 4s forwards;
}
@keyframes pvbkFadeOut {
    from { opacity: 1; max-height: 200px; }
    to   { opacity: 0; max-height: 0; padding: 0; margin: 0; border: none; overflow: hidden; }
}

/* -- Admin-Notify-Area: fixe Zone unter NavBar ---------------- */
#admin-notify-area {
    margin: 0 0 16px 0;
}
#admin-notify-area .pvbk-notify {
    margin-top: 0;
}