/* El mismo verde pastel en éxitos AJAX, avisos Noty y flashes Bootstrap. */
:root .bc-ajax-notification[data-state="saved"],
:is(#noty_layout__topCenter, #noty_layout__topRight) .noty_bar.noty_theme__sunset.noty_type__success,
:root .alert.alert-success.bc-success-notice {
    color: var(--bc-ui-state-success-text, #285b35) !important;
    background: var(--bc-ui-state-success-bg, #edf5ea) !important;
    border-color: var(--bc-ui-state-success-border, #b8cdb4) !important;
    box-shadow: var(--biblio-shadow-sm, 0 1px 4px rgba(20, 45, 65, .06)) !important;
}

.bc-success-notice { position: relative; }
.bc-ajax-notification.bc-success-notice {
    position: fixed;
    display: grid;
    grid-template-columns: 1.55rem minmax(0, 1fr);
    row-gap: 0.3rem;
    min-width: 6.5rem;
    padding-right: 0.8rem;
}
.bc-ajax-notification.bc-success-notice > .bc-success-notice__controls {
    grid-column: 1 / -1;
    grid-row: 1;
}
.bc-ajax-notification.bc-success-notice > .bc-ajax-notification__icon {
    grid-column: 1;
    grid-row: 2;
}
.bc-ajax-notification.bc-success-notice > .bc-ajax-notification__message {
    grid-column: 2;
    grid-row: 2;
}
.bc-ajax-notification.bc-success-notice.is-visible { pointer-events: auto; }
.bc-ajax-notification[data-state="saved"] .bc-ajax-notification__icon {
    color: var(--bc-ui-state-success-text, #285b35);
    background: var(--biblio-paper, #faf7ef);
}
:is(#noty_layout__topCenter, #noty_layout__topRight) .noty_bar.noty_theme__sunset.noty_type__success .noty_body {
    padding-right: 0.8rem !important;
}
:is(#noty_layout__topCenter, #noty_layout__topRight) .noty_type__success > .bc-success-notice__controls {
    padding: 0.5rem 0.5rem 0 0.65rem;
}
:is(#noty_layout__topCenter, #noty_layout__topRight) .noty_type__success .noty_body::before {
    color: var(--bc-ui-state-success-text, #285b35) !important;
    background: var(--biblio-paper, #faf7ef) !important;
}
.alert.bc-success-notice { padding-right: 1rem; }
.alert.bc-success-notice > .bc-success-notice__controls { margin-bottom: 0.3rem; }
.bc-success-notice > .btn-close { display: none; }
.bc-success-notice__controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.3rem;
    color: var(--bc-ui-state-success-text, #285b35);
}
.bc-success-notice__countdown {
    min-width: 2rem;
    font-size: 0.75rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
}
.bc-success-notice__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: var(--biblio-radius-sm, 6px);
    color: inherit;
    background: transparent;
    font: 1.45rem/1 system-ui, sans-serif;
    cursor: pointer;
}
.bc-success-notice__close:hover { background: var(--bc-ui-state-success-border, #b8cdb4); }
.bc-success-notice__close:focus-visible { outline: 2px solid var(--bc-ui-state-success-text, #285b35); outline-offset: 1px; }

/* Keep message timing and controls; share colour roles across all renderers. */

.alert.alert-success {
    --bs-alert-color: var(--bc-ui-state-success-text, #285b35);
    --bs-alert-bg: var(--bc-ui-state-success-bg, #edf5ea);
    --bs-alert-border-color: var(--bc-ui-state-success-border, #b8cdb4);
}

.alert.alert-warning {
    --bs-alert-color: var(--bc-ui-state-warning-text, #715015);
    --bs-alert-bg: var(--bc-ui-state-warning-bg, #f4efe3);
    --bs-alert-border-color: var(--bc-ui-state-warning-border, #d8c59b);
}

.alert.alert-danger {
    --bs-alert-color: var(--bc-ui-state-danger-text, #8b352c);
    --bs-alert-bg: var(--bc-ui-state-danger-bg, #f8ece9);
    --bs-alert-border-color: var(--bc-ui-state-danger-border, #ddbbb3);
}

.alert.alert-info {
    --bs-alert-color: var(--bc-ui-state-info-text, #285d65);
    --bs-alert-bg: var(--bc-ui-state-info-bg, #e6f0f1);
    --bs-alert-border-color: var(--bc-ui-state-info-border, #b5cdd0);
}
