/* Barra flutuante "alterações não salvas" — ver static/js/unsaved-changes-bar.js */

.unsaved-changes-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    transform: translateY(100%);
    opacity: 0;
    transition: transform .25s ease, opacity .25s ease;
    pointer-events: none;
}

.unsaved-changes-bar.show {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.unsaved-changes-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    padding: .65rem 1.25rem;
    background: var(--tblr-bg-surface, #fff);
    border-top: 1px solid var(--tblr-border-color, #dce1e7);
    box-shadow: 0 -6px 20px rgba(0, 0, 0, .1);
}

.unsaved-changes-bar-text {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--tblr-orange, #f59f00);
    font-size: .875rem;
    font-weight: 500;
}

.unsaved-changes-bar-actions {
    display: flex;
    gap: .5rem;
    flex: none;
}

/* Dá espaço no fim da página pra barra não tampar o fim do conteúdo/botões
   originais do form quando ela está visível. */
body:has(.unsaved-changes-bar.show) {
    padding-bottom: 4.5rem;
}
