/* AUTOS v2 — Banner global de download em segundo plano (core/download-banner.js).
   Canto inferior direito, persistente entre navegações. Tokens --au-* / BEM. */

.au-dlbanner {
    position: fixed;
    right: var(--au-space-5, 20px);
    bottom: var(--au-space-5, 20px);
    z-index: 1200;
    width: 336px;
    max-width: calc(100vw - 32px);
    display: flex;
    flex-direction: column;
    gap: var(--au-space-2, 8px);
    pointer-events: none;
}
.au-dlbanner[hidden] { display: none; }

.au-dlbanner__card {
    pointer-events: auto;
    background: var(--au-bg-panel, #fff);
    border: 0.5px solid var(--au-line, #dcd5ca);
    border-radius: var(--au-radius-lg, 10px);
    box-shadow: var(--au-shadow-lg, 0 12px 32px rgba(26, 24, 22, 0.14), 0 2px 8px rgba(26, 24, 22, 0.08));
    padding: var(--au-space-3, 12px);
    animation: au-dlbanner-in 0.18s ease-out;
}
@keyframes au-dlbanner-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.au-dlbanner__row { display: flex; align-items: center; gap: var(--au-space-3, 12px); }

.au-dlbanner__ic {
    flex: 0 0 auto;
    width: 30px; height: 30px;
    border-radius: var(--au-radius, 8px);
    display: flex; align-items: center; justify-content: center;
}
.au-dlbanner__ic--run { background: var(--au-accent-soft, #f0e4df); color: var(--au-accent, #7a3e2f); }
.au-dlbanner__ic--done { background: #e3efe6; color: #0f6e56; }
.au-dlbanner__ic--error { background: var(--au-danger-soft, #f5e0dc); color: var(--au-danger, #a8331f); }
/* Espera estacionada: o tribunal trabalha — visual PASSIVO (sem spinner,
   sem barra): a pesquisa de UX (NN/g) manda não animar espera longa. */
.au-dlbanner__ic--wait { background: var(--au-accent-soft, #f0e4df); color: var(--au-accent, #7a3e2f); }
.au-dlbanner__card--wait .au-dlbanner__meta { margin-top: var(--au-space-2, 7px); }
.au-dlbanner__svg { width: 17px; height: 17px; }

.au-dlbanner__spin {
    width: 15px; height: 15px;
    border: 2px solid var(--au-accent-soft, #f0e4df);
    border-top-color: var(--au-accent, #7a3e2f);
    border-radius: 50%;
    animation: au-dlbanner-spin 1.1s linear infinite;
}
@keyframes au-dlbanner-spin { to { transform: rotate(360deg); } }

.au-dlbanner__txt { min-width: 0; flex: 1 1 auto; }
.au-dlbanner__ttl {
    font-size: 13.5px; font-weight: 500;
    color: var(--au-ink-900, #16130f); line-height: 1.25;
}
.au-dlbanner__sub {
    font-size: 12px; color: var(--au-ink-500, #67605a);
    line-height: 1.3; margin-top: 1px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.au-dlbanner__x {
    flex: 0 0 auto; margin-left: auto;
    width: 26px; height: 26px;
    border: none; background: transparent;
    color: var(--au-ink-400, #86807a);
    border-radius: var(--au-radius, 6px);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
}
.au-dlbanner__x:hover { background: var(--au-bg-subtle, #ede9e0); color: var(--au-ink-700, #3a352f); }
.au-dlbanner__x-ic { width: 15px; height: 15px; }

.au-dlbanner__bar {
    height: 5px; border-radius: 99px;
    background: var(--au-bg-subtle, #ede9e0);
    overflow: hidden; margin-top: var(--au-space-3, 10px);
}
.au-dlbanner__fill {
    height: 100%; border-radius: 99px;
    background: var(--au-accent, #7a3e2f);
    transition: width 0.4s ease;
}
.au-dlbanner__fill--ind {
    width: 40%;
    background: linear-gradient(90deg, transparent, var(--au-accent, #7a3e2f), transparent);
    animation: au-dlbanner-slide 2.8s ease-in-out infinite;
}
@keyframes au-dlbanner-slide {
    0% { transform: translateX(-120%); }
    100% { transform: translateX(320%); }
}

.au-dlbanner__meta {
    display: flex; justify-content: space-between; gap: 8px;
    font-size: 11.5px; color: var(--au-ink-400, #86807a);
    margin-top: 6px;
}
.au-dlbanner__meta span:first-child {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.au-dlbanner__btn {
    margin-top: var(--au-space-3, 11px);
    display: inline-flex; align-items: center; gap: 6px;
    height: 30px; padding: 0 13px;
    border: none; border-radius: var(--au-radius, 6px);
    background: var(--au-accent, #7a3e2f); color: #fff;
    font-size: 12.5px; font-weight: 500; font-family: inherit;
    cursor: pointer;
}
.au-dlbanner__btn:hover { background: #693425; }
.au-dlbanner__btn--ghost {
    background: transparent;
    color: var(--au-accent, #7a3e2f);
    border: 0.5px solid rgba(122, 62, 47, 0.35);
}
.au-dlbanner__btn--ghost:hover { background: var(--au-accent-soft, #f0e4df); }
.au-dlbanner__btn-ic { width: 15px; height: 15px; }

@media (max-width: 560px) {
    .au-dlbanner { left: var(--au-space-4, 16px); right: var(--au-space-4, 16px); width: auto; }
}
