/* Atualizador Monetário de Valores — estilos migrados de
 * ia/template/atualizador_monetario.html (US-1133, Fase 4). Tokenização
 * conservadora: #f8f9fa -> var(--dpmg-gray) (match exato com
 * dpmg-tokens.css); demais valores mantidos como no original. */

.am-app { background: var(--color-bg); }
.am-hero { background: var(--cor-hero, var(--dpmg-green-dark)); color: #fff; padding: 2.5rem 0 2rem; }
.am-hero h1 { font-weight: 700; margin-bottom: 0.4rem; display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.am-hero p { color: rgba(255,255,255,0.85); margin-bottom: 0; max-width: 60ch; }
.am-wrap { padding: 2rem 0 3rem; }

.am-beta-badge {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #fff;
    color: #b23b00;
    border-radius: var(--radius-sm, 4px);
    padding: 0.15rem 0.5rem;
    vertical-align: middle;
}
.am-beta-banner {
    background: #fdecea;
    border-bottom: 1px solid #f3b7ac;
    color: #7a1f0f;
    padding: 0.85rem 0;
    font-size: 0.92rem;
}
.am-beta-banner .container { display: flex; align-items: flex-start; gap: 0.6rem; }
.am-beta-banner strong { color: #5c1509; }

.am-app details.aviso {
    background: var(--cor-aviso);
    border: 1px solid var(--cor-aviso-borda);
    color: var(--cor-aviso-texto);
    border-radius: var(--radius-md);
    margin: 1.25rem auto 0;
    padding: 0.85rem 1.1rem;
    max-width: 900px;
}
.am-app details.aviso strong { color: #5a4200; }
.am-app details.aviso summary {
    cursor: pointer;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    list-style: none;
}
.am-app details.aviso summary::-webkit-details-marker { display: none; }
.am-app details.aviso .aviso-toggle { flex-shrink: 0; font-size: 0.85rem; text-decoration: underline; }
.am-app details.aviso .aviso-toggle .rotulo-recolher { display: none; }
.am-app details.aviso[open] .aviso-toggle .rotulo-mais { display: none; }
.am-app details.aviso[open] .aviso-toggle .rotulo-recolher { display: inline; }
.am-app details.aviso .aviso-full { margin-top: 8px; }

.am-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    padding: 1.75rem;
    max-width: 900px;
    margin: 1.75rem auto 0;
}
.am-card h2 { font-size: 1.15rem; margin-bottom: 1.1rem; color: var(--dpmg-green-dark); }
.am-regime-toggle { display: flex; gap: 0.75rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.am-regime-toggle label {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 0.6rem 1rem;
    cursor: pointer;
    flex: 1 1 220px;
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}
.am-regime-toggle input { margin-top: 0.2rem; }
.am-regime-toggle .titulo { font-weight: 600; display: block; }
.am-regime-toggle .descricao { font-size: 0.85rem; color: var(--dpmg-muted); }
.am-regime-toggle label:has(input:checked) { border-color: var(--dpmg-green); background: rgba(26,92,58,0.05); }

.am-resultado { display: none; margin-top: 1.75rem; }
.am-resultado.visivel { display: block; }
.am-valor-final {
    background: rgba(26,92,58,0.08);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 1rem 1.25rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--dpmg-green-dark);
    margin-bottom: 1rem;
}
.am-valor-final small { display: block; font-size: 0.75rem; font-weight: 400; color: var(--dpmg-muted); }
.am-alerta-faltantes {
    background: #fbeecf;
    border: 1px solid #e6c98a;
    color: #7a4b00;
    border-radius: var(--radius-md);
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
.copy-box {
    background: var(--dpmg-gray);
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem;
    font-family: var(--font-mono, 'Courier New', monospace);
    font-size: 0.82rem;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 420px;
    overflow-y: auto;
}
.btn-copy {
    border: 1px solid var(--dpmg-green);
    background: #fff;
    color: var(--dpmg-green-dark);
    border-radius: var(--radius-sm);
    padding: 0.35rem 0.9rem;
    font-size: 0.85rem;
    margin-bottom: 0.6rem;
}
.btn-copy:hover { background: rgba(26,92,58,0.08); }
.btn-copy.copied { background: var(--dpmg-green); color: #fff; border-color: var(--dpmg-green); }
.update-date { font-size: 0.85rem; color: var(--dpmg-muted); margin-top: 0.5rem; }

.am-nota-ajuda {
    background: rgba(26,92,58,0.06);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 0.6rem 0.85rem;
    font-size: 0.85rem;
    color: var(--dpmg-green-dark);
    margin-top: 0.5rem;
}
.am-alerta-termo-final {
    background: #fbeecf;
    border: 1px solid #e6c98a;
    color: #7a4b00;
    border-radius: var(--radius-md);
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
.am-resumo-numeros { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.am-resumo-numeros .am-resumo-item {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 0.6rem 0.9rem;
    font-size: 0.9rem;
    flex: 1 1 220px;
}
.am-resumo-numeros .am-resumo-item strong { display: block; color: var(--dpmg-green-dark); font-size: 1rem; }
.am-export-row { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-bottom: 0.6rem; }
.btn-export {
    border: 1px solid var(--dpmg-green);
    background: #fff;
    color: var(--dpmg-green-dark);
    border-radius: var(--radius-sm);
    padding: 0.35rem 0.9rem;
    font-size: 0.85rem;
}
.btn-export:hover { background: rgba(26,92,58,0.08); }

/* Lista de lançamentos (múltiplos itens por conta) */
.am-itens-titulo { font-size: 1.05rem; margin: 1.5rem 0 1rem; color: var(--dpmg-green-dark); }
.am-item-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 1.1rem 1.25rem 0.25rem;
    margin-bottom: 1.1rem;
}
.am-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}
.am-item-numero { font-weight: 600; color: var(--dpmg-green-dark); font-size: 0.95rem; }
.am-item-remove {
    border: 1px solid var(--color-border);
    background: #fff;
    color: var(--dpmg-muted);
    border-radius: var(--radius-sm);
    width: 1.75rem;
    height: 1.75rem;
    line-height: 1;
    font-size: 1.1rem;
    cursor: pointer;
}
.am-item-remove:hover { background: #fdecea; color: #7a1f0f; border-color: #f3b7ac; }
.am-itens-acoes { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
.am-painel-serie {
    background: rgba(26,92,58,0.04);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 0.75rem 1rem;
    margin: 1rem 0 1.5rem;
}
.am-painel-serie summary { cursor: pointer; font-weight: 600; color: var(--dpmg-green-dark); list-style: none; }
.am-painel-serie summary::-webkit-details-marker { display: none; }
.am-painel-serie-corpo { margin-top: 1rem; }
.am-item-detalhe {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 0.6rem 0.9rem;
    margin-bottom: 0.6rem;
}
.am-item-detalhe summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--dpmg-green-dark);
    list-style: none;
    font-size: 0.92rem;
}
.am-item-detalhe summary::-webkit-details-marker { display: none; }
.am-item-detalhe .copy-box { margin-top: 0.6rem; max-height: 300px; }

@media print {
    nav.navbar, .breadcrumb-bar, .am-hero, .am-beta-banner, details.aviso, #formCalculo,
    .btn-copy, .btn-export, .am-export-row, .site-footer, .skip-link {
        display: none !important;
    }
    .am-app, body { background: #fff !important; }
    .am-resultado { display: block !important; }
    .am-card.am-resultado { box-shadow: none; border: none; padding: 0; margin: 0; max-width: 100%; }
    .copy-box, .am-item-detalhe .copy-box { max-height: none !important; overflow: visible; border: none; }
}
