.ferramentas-area {
    --ferramentas-sucesso: #168047;
    --ferramentas-erro: #c23434;
    --color-warning: var(--texto-suave);
    --bg-surface: var(--superficie);
    min-width: 0;
    overflow-wrap: anywhere;
}
html[data-tema="escuro"] .ferramentas-area {
    --ferramentas-sucesso: #68d79b;
    --ferramentas-erro: #ff8c8c;
}
.ferramentas-area h1, .ferramentas-area h2, .ferramentas-area h3 { letter-spacing: 0; }
.ferramentas-interativas { border: 0; padding: 0; margin: 0; min-width: 0; width: 100%; }
.ferramentas-interativas:disabled .btn, .ferramentas-interativas:disabled input { cursor: progress; }
.ferramentas-formulario { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 0 1.5rem; align-items: start; }
.ferramentas-formulario > * { min-width: 0; }
.media-linha { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 2.5rem; gap: .75rem; align-items: end; margin-bottom: .75rem; }
.recorte-canvas { width: 100%; height: 360px; overflow: hidden; background: var(--superficie); border: 1px solid var(--borda); margin-block: 1rem; }
.recorte-canvas > img { display: block; max-width: 100%; max-height: 100%; }
.recorte-canvas > img:not([src]) { visibility: hidden; }
@media (max-width: 600px) { .recorte-canvas { height: 260px; } }
.ferramenta-campo-largo { grid-column: 1 / -1; }
.ferramentas-resultados { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1rem; margin-block: 1.5rem 1rem; }
.ferramentas-resultados .result-card { min-height: 6rem; }
.renda-fixa-titulo { border: 0; border-top: 1px solid var(--borda); padding: 1rem 0 0; margin: 1rem 0; min-width: 0; }
.renda-fixa-titulo legend { padding-right: .75rem; font-weight: 700; }
.ferramentas-area .ferramenta-tabela-longa { max-height: 28rem; overflow: auto; }
.arquivos-lista { list-style: none; padding: 0; margin-block: 1rem; }
.arquivo-linha { display: flex; justify-content: space-between; gap: .75rem; align-items: center; padding-block: .6rem; border-bottom: 1px solid var(--borda); }
.arquivo-linha > span { min-width: 0; overflow-wrap: anywhere; }
.arquivo-acoes { display: flex; flex: none; gap: .3rem; }
.utilitario-saida { display: flex; flex-wrap: wrap; gap: 1rem; align-items: start; margin-top: 1rem; }
.utilitario-saida > .ferramentas-resultados, .utilitario-saida > input { flex-basis: 100%; }
.utilitario-saida figure { flex: 1 1 230px; min-width: 0; margin: 0; }
.arquivo-previa { display: block; max-width: 100%; max-height: 320px; object-fit: contain; background: var(--superficie); }
.utilitario-saida figcaption { font-size: .85rem; color: var(--texto-suave); margin-block: .5rem; }
@media (max-width: 600px) {
    .ferramentas-formulario { grid-template-columns: minmax(0, 1fr); }
    .arquivo-linha { flex-wrap: wrap; }
}
.conversor-par-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.conversor-par-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-block: 1rem; }
.conversor-par-cotacao { font-weight: 600; }
.conversor-par-resultado { display: flex; flex-direction: column; gap: .5rem; border-block: 1px solid var(--borda); padding-block: 1rem; margin-block: 1.5rem 1rem; min-height: 6rem; }
@media (max-width: 600px) {
    .conversor-par-campos { grid-template-columns: minmax(0, 1fr); }
}
.ferramentas-area h2 { font-size: 1.35rem; }
.ferramentas-area h3 { font-size: 1.05rem; }
.ferramentas-area .titulo-pagina, .ferramentas-area .section-title { font-size: 2rem; margin-block: .25rem .75rem; }
.ferramentas-secoes { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding-bottom: 1rem; margin-bottom: 2rem; border-bottom: 1px solid var(--borda); font-size: .88rem; color: var(--texto-suave); }
.ferramentas-secoes a { text-decoration: none; }
.ferramentas-secoes a[aria-current="page"] { color: var(--destaque); font-weight: 700; }
.ferramentas-filtros { max-width: 52rem; }
.ferramentas-categorias { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 1rem; }
.ferramentas-categorias button, .ferramentas-categorias a { border: 1px solid var(--borda); padding: .45rem .75rem; border-radius: 6px; background: var(--fundo); color: var(--texto-suave); font: inherit; font-size: .9rem; cursor: pointer; text-decoration: none; }
.ferramentas-categorias button[aria-pressed="true"] { background: var(--texto); border-color: var(--texto); color: var(--fundo); }
.ferramentas-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 255px), 1fr)); gap: 1rem 2rem; }
.ferramenta-item { border-top: 1px solid var(--borda); min-width: 0; }
.ferramenta-item > a { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; height: 100%; padding-block: 1.25rem; text-decoration: none; }
.ferramenta-item h3 { margin: 0; color: var(--texto); }
.ferramenta-item p { color: var(--texto-suave); font-size: .92rem; margin: 0; }
.ferramenta-item small { color: var(--texto-suave); font-size: .75rem; margin-top: auto; }
.ferramenta-item a:hover h3 { color: var(--destaque); text-decoration: underline; }
.ferramenta-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 3rem; align-items: start; }
.ferramenta-principal, .ferramenta-lateral { min-width: 0; }
.ferramenta-controles { padding-block: 1.5rem; border-block: 1px solid var(--borda); }
.ferramenta-artigo { max-width: var(--largura-leitura); margin-top: 2.5rem; }
.ferramenta-artigo h2, .ferramenta-artigo h3 { margin-block: 1.5rem .75rem; }
.ferramenta-artigo p { color: var(--texto-suave); }
.ferramenta-faq { margin-top: 2.5rem; }
.ferramenta-faq details { border-bottom: 1px solid var(--borda); padding-block: 1rem; }
.ferramenta-faq summary { cursor: pointer; font-weight: 600; }
.ferramenta-faq p { color: var(--texto-suave); }
.ferramenta-qr { margin: 1.5rem 0; }
.ferramenta-qr img { background: #fff; max-width: 100%; height: auto; image-rendering: pixelated; }
.ferramenta-contato { max-width: 42rem; }
.ferramentas-conexao { display: none; padding: 1rem; position: fixed; inset: auto 0 0; z-index: 100; background: var(--superficie); border-top: 2px solid var(--ferramentas-erro); text-align: center; }
.ferramentas-area .container { width: 100%; }
.ferramentas-area .row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; }
.ferramentas-area .row > * { grid-column: span 12; min-width: 0; }
.ferramentas-area .row > .col-6 { grid-column: span 6; }
.ferramentas-area .row > .col-4 { grid-column: span 4; }
.ferramentas-area .form-label { display: block; font-size: .92rem; font-weight: 600; margin-bottom: .4rem; }
.ferramentas-area .form-control, .ferramentas-area .form-select { display: block; width: 100%; min-width: 0; border: 1px solid var(--borda); border-radius: 6px; background: var(--fundo); color: var(--texto); padding: .7rem .8rem; font: inherit; line-height: 1.4; }
.ferramentas-area textarea.form-control { resize: vertical; }
.ferramentas-area textarea[readonly] { background: var(--superficie); }
.ferramentas-area input[type="range"] { display: block; width: 100%; min-height: 2rem; accent-color: var(--destaque); }
.ferramentas-area input[type="checkbox"], .ferramentas-area input[type="radio"] { accent-color: var(--destaque); width: 1rem; height: 1rem; margin: 0 .4rem 0 0; vertical-align: middle; }
.ferramentas-area .form-check { display: flex; align-items: baseline; gap: .4rem; margin-block: .5rem; }
.ferramentas-area .form-text { font-size: .82rem; color: var(--texto-suave); margin-top: .5rem; }
.ferramentas-area .input-group { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.ferramentas-area .input-group > .form-control { flex: 1 1 10rem; }
.ferramentas-area .input-group-text:empty { display: none; }
.ferramentas-area .btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; max-width: 100%; min-height: 2.6rem; padding: .6rem 1rem; border: 1px solid var(--borda); border-radius: 6px; background: var(--fundo); color: var(--texto); font: inherit; font-size: .92rem; line-height: 1.4; text-align: center; text-decoration: none; cursor: pointer; white-space: normal; }
.ferramentas-area .btn-primary { background: var(--destaque); border-color: var(--destaque); color: var(--destaque-texto); }
.ferramentas-area .btn-outline-primary { color: var(--destaque); border-color: var(--destaque); }
.ferramentas-area .btn-outline-danger { color: var(--ferramentas-erro); }
.ferramentas-area .btn:hover { filter: brightness(.94); }
.ferramentas-area .btn:disabled { opacity: .6; cursor: not-allowed; }
.ferramentas-area .btn-sm { font-size: .82rem; padding: .3rem .6rem; min-height: 2rem; }
.ferramentas-area .nav { display: flex; flex-wrap: wrap; list-style: none; gap: .4rem; padding: 0; }
.ferramentas-area .nav-link { border: 1px solid var(--borda); padding: .6rem .8rem; border-radius: 6px; background: var(--fundo); color: var(--texto-suave); font: inherit; cursor: pointer; }
.ferramentas-area .nav-link.active { background: var(--texto); color: var(--fundo); }
.ferramentas-area .result-card { padding: 1rem; border: 1px solid var(--borda); border-radius: 6px; background: var(--superficie); height: 100%; }
.ferramentas-area .result-label { color: var(--texto-suave); font-size: .85rem; margin-bottom: .35rem; }
.ferramentas-area .result-value { font-size: 1.4rem; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.ferramentas-area .valid-badge, .ferramentas-area .invalid-badge { padding: .8rem; border-left: 3px solid currentColor; background: var(--superficie); }
.ferramentas-area .valid-badge, .ferramentas-area .text-success { color: var(--ferramentas-sucesso); }
.ferramentas-area .invalid-badge, .ferramentas-area .text-danger { color: var(--ferramentas-erro); }
.ferramentas-area .alert { padding: .9rem 1rem; margin-block: 1rem; background: var(--superficie); border-left: 3px solid var(--borda); }
.ferramentas-area .alert-danger { border-color: var(--ferramentas-erro); }
.ferramentas-area .alert-success { border-color: var(--ferramentas-sucesso); }
.ferramentas-area .alert-warning { border-color: var(--texto-suave); }
.ferramentas-area .table-responsive { max-width: 100%; overflow-x: auto; }
.ferramentas-area table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.ferramentas-area th, .ferramentas-area td { text-align: left; padding: .6rem; border-bottom: 1px solid var(--borda); }
.ferramentas-area th { background: var(--superficie); }
.ferramentas-area .breadcrumb { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; list-style: none; font-size: .85rem; color: var(--texto-suave); }
.ferramentas-area .breadcrumb-item + .breadcrumb-item::before { content: "/"; margin-right: .4rem; }
.ferramentas-area .seo-content { max-width: var(--largura-leitura); }
.ferramentas-area .blog-card { border-top: 1px solid var(--borda); padding-top: 1rem; }
.ferramentas-area .blog-meta, .ferramentas-area .blog-excerpt { color: var(--texto-suave); font-size: .9rem; }
.ferramentas-area .blog-tag { color: var(--destaque); font-size: .8rem; }
.ferramentas-area .strength-bar { height: 6px; background: var(--borda); border-radius: 3px; margin-block: .5rem; }
.ferramentas-area .strength-bar-fill { height: 100%; background: var(--destaque); border-radius: 3px; }
.ferramentas-area .strength-strong, .ferramentas-area .strength-good { color: var(--ferramentas-sucesso); }
.ferramentas-area .strength-weak { color: var(--ferramentas-erro); }
.ferramentas-area .spinner-border { display: inline-block; width: 1.3rem; height: 1.3rem; border: 2px solid var(--borda); border-top-color: var(--destaque); border-radius: 50%; animation: ferramentas-giro .8s linear infinite; }
.ferramentas-area .d-flex { display: flex; min-width: 0; }
.ferramentas-area .d-block { display: block; }
.ferramentas-area .d-inline-block { display: inline-block; }
.ferramentas-area .flex-wrap { flex-wrap: wrap; }
.ferramentas-area .align-items-center { align-items: center; }
.ferramentas-area .align-items-end { align-items: end; }
.ferramentas-area .justify-content-between { justify-content: space-between; }
.ferramentas-area .justify-content-center { justify-content: center; }
.ferramentas-area .gap-2 { gap: .5rem; }
.ferramentas-area .gap-3 { gap: 1rem; }
.ferramentas-area .w-100 { width: 100%; }
.ferramentas-area .text-center { text-align: center; }
.ferramentas-area .text-end { text-align: right; }
.ferramentas-area .text-muted { color: var(--texto-suave); }
.ferramentas-area .text-primary { color: var(--destaque); }
.ferramentas-area .text-break { overflow-wrap: anywhere; word-break: break-word; }
.ferramentas-area .font-monospace { font-family: ui-monospace, monospace; }
.ferramentas-area .fw-bold, .ferramentas-area .fw-black { font-weight: 700; }
.ferramentas-area .small, .ferramentas-area small { font-size: .85rem; }
.ferramentas-area .fs-5 { font-size: 1.15rem; }
.ferramentas-area .display-3, .ferramentas-area .display-5, .ferramentas-area .display-6 { font-size: 1.8rem; }
.ferramentas-area .bg-surface { background: var(--superficie); }
.ferramentas-area .rounded { border-radius: 6px; }
.ferramentas-area .border-bottom { border-bottom: 1px solid var(--borda); }
.ferramentas-area .mb-0 { margin-bottom: 0; }
.ferramentas-area .mb-1 { margin-bottom: .25rem; }
.ferramentas-area .mb-2 { margin-bottom: .5rem; }
.ferramentas-area .mb-3 { margin-bottom: 1rem; }
.ferramentas-area .mb-4 { margin-bottom: 1.5rem; }
.ferramentas-area .mb-5 { margin-bottom: 2rem; }
.ferramentas-area .mt-1 { margin-top: .25rem; }
.ferramentas-area .mt-2 { margin-top: .5rem; }
.ferramentas-area .mt-3 { margin-top: 1rem; }
.ferramentas-area .mt-4 { margin-top: 1.5rem; }
.ferramentas-area .mt-5 { margin-top: 2rem; }
.ferramentas-area .p-3 { padding: 1rem; }
.ferramentas-area .p-4 { padding: 1.5rem; }
.ferramentas-area .py-2 { padding-block: .5rem; }
.ferramentas-area .py-4 { padding-block: 1.5rem; }
.ferramentas-area .py-5 { padding-block: 0; }
@keyframes ferramentas-giro { to { transform: rotate(360deg); } }
@media (min-width: 600px) {
    .ferramentas-area .row > .col-sm-6 { grid-column: span 6; }
}
@media (min-width: 760px) {
    .ferramentas-area .row > .col-md-6 { grid-column: span 6; }
    .ferramentas-area .row > .col-md-4 { grid-column: span 4; }
    .ferramentas-area .row > .col-md-3 { grid-column: span 3; }
}
@media (min-width: 1000px) {
    .ferramentas-area .row > .col-lg-4 { grid-column: span 4; }
    .ferramentas-area .row > .col-lg-6 { grid-column: span 6; }
    .ferramentas-area .row > .col-lg-8 { grid-column: 3 / span 8; }
}
.ferramentas-area .ferramenta-lateral .row > * { grid-column: span 12; }
@media (max-width: 900px) {
    .ferramenta-colunas { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .ferramenta-lateral .row { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
    .ferramentas-area .ferramenta-lateral .row > * { grid-column: auto; }
}
@media (max-width: 420px) {
    .ferramentas-area .row > .col-4 { grid-column: span 12; }
    .ferramentas-area .d-flex { flex-wrap: wrap; }
    .ferramentas-area .titulo-pagina, .ferramentas-area .section-title { font-size: 1.75rem; }
}
@media (prefers-reduced-motion: reduce) {
    .ferramentas-area .spinner-border { animation: none; }
}