@charset "UTF-8";
/* =========================================
   PLATFORMA ALERTS (Slice 1.4)
   -----------------------------------------
   Standardized alert / notification styles used by:
    - asp-validation-summary blocks on admin forms
    - TempData success / error / warning banners
    - Inline operator feedback messages

   All variants use the existing design-system tokens from
   platforma-tokens.css so palette stays consistent.
   ========================================= */

.platforma-alert {
    padding: var(--platforma-space-3) var(--platforma-space-4);
    border-radius: var(--platforma-radius);
    border: 1px solid transparent;
    font-size: var(--platforma-text-sm);
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: var(--platforma-space-2);
    margin: 0 0 var(--platforma-space-3) 0;
}

    /* An alert with no child content (e.g. empty validation-summary) stays
       hidden so layout isn't disturbed when ModelState is clean. */
    .platforma-alert:empty {
        display: none;
    }

    /* Inline list inside an alert — used by asp-validation-summary which
       renders a <ul><li>...</li></ul> below the main text. */
    .platforma-alert ul {
        margin: var(--platforma-space-1) 0 0 0;
        padding-left: var(--platforma-space-5);
    }

        .platforma-alert ul li {
            margin: 0;
        }

/* ── Variants ────────────────────────────────────────────────────── */

.platforma-alert-danger {
    background: var(--platforma-danger-light);
    color: var(--platforma-danger);
    border-color: rgba(241, 65, 108, 0.3);
}

    .platforma-alert-danger::before {
        content: "⚠";
        font-weight: 700;
        flex-shrink: 0;
        font-size: 1rem;
        line-height: 1.4;
    }

.platforma-alert-warning {
    background: var(--platforma-warning-light);
    color: #7A5B00;
    border-color: rgba(255, 199, 0, 0.45);
}

    .platforma-alert-warning::before {
        content: "⚠";
        font-weight: 700;
        flex-shrink: 0;
        font-size: 1rem;
        line-height: 1.4;
    }

.platforma-alert-success {
    background: var(--platforma-success-light);
    color: #1B7F4A;
    border-color: rgba(80, 205, 137, 0.4);
}

    .platforma-alert-success::before {
        content: "✓";
        font-weight: 700;
        flex-shrink: 0;
        font-size: 1rem;
        line-height: 1.4;
    }

.platforma-alert-info {
    background: var(--platforma-info-light);
    color: var(--platforma-info);
    border-color: rgba(114, 57, 234, 0.3);
}

    .platforma-alert-info::before {
        content: "ℹ";
        font-weight: 700;
        flex-shrink: 0;
        font-size: 1rem;
        line-height: 1.4;
    }

/* ── Summary-block specific (ASP.NET asp-validation-summary rendering) ── */

/* validation-summary-valid is the class ASP.NET adds when there are no
   model errors. Force-hide so the empty div doesn't show a styled but
   content-less alert box. */
.platforma-alert.validation-summary-valid {
    display: none;
}

/* ── Field-level error message ────────────────────────────────────── */

/* Override from platforma-forms.css — adds an inline warning-triangle
   icon so the red message is unmissable. The existing text color and
   size from platforma-forms.css are preserved. */
.platforma-field-error {
    display: block;
    margin-top: 0.25rem;
    font-weight: 500;
}

    .platforma-field-error:not(:empty)::before {
        content: "⚠ ";
        font-weight: 700;
        margin-right: 0.15rem;
    }

/* ASP.NET adds .field-validation-error on the <span> when the bound
   property has errors. Ensure our platforma-field-error style applies
   even if the original view used only the framework class. */
span.field-validation-error {
    display: block;
    margin-top: 0.25rem;
    color: var(--platforma-danger);
    font-size: var(--platforma-text-xs);
    font-weight: 500;
}

    span.field-validation-error:not(:empty)::before {
        content: "⚠ ";
        font-weight: 700;
        margin-right: 0.15rem;
    }

/* Input-level error state — rendered by PlatformaInputErrorAwareTagHelper
   when the bound ModelState property has errors. Inherits from
   .platforma-input--error in platforma-forms.css; this adds ASP.NET's
   own .input-validation-error class for parity with framework-default views. */
.input-validation-error {
    border-color: var(--platforma-danger) !important;
    box-shadow: 0 0 0 3px rgba(241, 65, 108, 0.08);
}
