/* Calculadora pública: as mesmas cores e fontes da folha do Reino. */
#conta-linhas details { padding-bottom: 1rem; }
#conta-linhas fieldset { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .6rem; }
#conta-linhas fieldset label { display: block; font: .8rem/1.7 var(--sem-serifa); }
#conta-linhas fieldset input { width: 100% !important; }
#conta-app select,#conta-app input[type=text],#conta-nome { max-width: 100%; padding: .5rem; background: var(--papel); color: var(--tinta); border: 1px solid var(--linha); }
#conta-app select { display: block; width: 100%; }
#conta-app dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .6rem 1rem; }
#conta-app dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
#conta-erros:not(:empty) { padding: 1rem; border: 2px solid var(--tinta); }
@media(max-width:680px){ #conta-linhas fieldset { grid-template-columns: repeat(2,minmax(0,1fr)); } #conta-app dl { grid-template-columns: 1fr; } #conta-app dd { margin-bottom: .7rem; } }
.calculadora .folha { max-width: 68rem; }
.calculadora .bloco { max-width: none; }
.calculadora .bloco > p { max-width: 54rem; }
.calc-aviso { padding: 1rem; border-left: 3px solid var(--tinta); background: var(--papel-fundo); font-size: .88rem; }
.calc-painel { border-top: 2px solid var(--tinta); border-bottom: 1px solid var(--linha); padding-block: 1.5rem; }
.calc-placar { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.4rem; margin-block: 1.6rem; }
.calc-placar span,.calc-placar small { display: block; font: .82rem/1.5 var(--sem-serifa); }
.calc-placar strong { display: block; font: 600 clamp(1.25rem,2.4vw,2rem)/1.35 var(--sem-serifa); margin-block: .5rem; overflow-wrap: anywhere; }
.calc-destaque { padding-left: 1rem; border-left: 2px solid var(--tinta); }
.calc-acoes { display: flex; flex-wrap: wrap; gap: .6rem; margin-block: 1rem; }
.calculadora button,.calc-importar { background: var(--papel); border: 1px solid var(--tinta); padding: .7rem .85rem; color: var(--tinta); font: .82rem/1.35 var(--sem-serifa); cursor: pointer; border-radius: 0; }
.calculadora button:hover,.calc-importar:hover { background: var(--papel-fundo); }
.calculadora button:disabled { opacity: .45; cursor: not-allowed; }
.calculadora input[type=number] { width: 100%; min-height: 2.5rem; padding: .5rem; border: 1px solid var(--linha-forte); border-radius: 0; font: .9rem var(--sem-serifa); background: var(--papel); color: var(--tinta); }
.calculadora input:focus-visible,.calculadora button:focus-visible,.calculadora summary:focus-visible { outline: 2px solid var(--tinta); outline-offset: 3px; }
.calc-base { display: block; max-width: 24rem; font: .85rem/1.7 var(--sem-serifa); }
.calc-ajuda { font-size: .82rem; color: var(--tinta-fraca); }
.calc-medida { border-top: 1px solid var(--linha); }
.calc-medida:last-child { border-bottom: 1px solid var(--linha); }
.calc-medida summary { padding: 1rem .2rem; cursor: pointer; font: .92rem/1.5 var(--sem-serifa); }
.calc-medida summary label { cursor: pointer; }
.calc-medida input[type=checkbox] { width: 1.1rem; height: 1.1rem; vertical-align: middle; margin-right: .5rem; accent-color: var(--tinta); }
.calc-medida-saldo { display: block; margin-left: 2rem; font-size: .8rem; color: var(--tinta-fraca); }
.calc-medida-corpo { padding: 0 .8rem 1.4rem; }
.calc-medida-corpo p { font-size: .9rem; }
.calc-campos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.calc-campos label,.calc-cinco label { font: .78rem/1.7 var(--sem-serifa); }
.calculadora fieldset { border: 0; padding: 0; margin-top: 1rem; min-width: 0; }
.calculadora legend { font: .85rem/1.6 var(--sem-serifa); padding: 0 0 .5rem; }
.calc-cinco { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .6rem; }
.calc-tabela-wrap { overflow-x: auto; }
.calc-tabela { width: 100%; border-collapse: collapse; font: .82rem/1.5 var(--sem-serifa); }
.calc-tabela caption { text-align: left; padding-bottom: .8rem; color: var(--tinta-fraca); }
.calc-tabela th,.calc-tabela td { text-align: right; padding: .8rem .6rem; border-bottom: 1px solid var(--linha); white-space: nowrap; }
.calc-tabela th:first-child { text-align: left; }
.calc-grafico { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1rem; padding-top: 1rem; }
.calc-coluna strong,.calc-coluna span { display: block; font: .72rem/1.4 var(--sem-serifa); }
.calc-coluna strong { margin-bottom: .8rem; font-weight: 600; }
.calc-barra-fundo { height: .45rem; background: var(--papel-fundo); margin: .3rem 0 .8rem; }
.calc-barra-brasil,.calc-barra-alegoria { height: 100%; }
.calc-barra-brasil { background: var(--tinta-tenue); }
.calc-barra-alegoria { background: var(--tinta); }
#calc-erro { padding: 1rem; border: 2px solid var(--tinta); }
#calc-contribuicoes p { margin-block: .5rem; font-size: .85rem; }
.calc-importar input { display: block; max-width: 15rem; font-size: .7rem; margin-top: .4rem; }
@media (max-width: 680px) {
  .calc-placar { grid-template-columns: 1fr; gap: .7rem; }
  .calc-destaque { padding: .8rem 0 0; border-left: 0; border-top: 1px solid var(--linha); }
  .calc-placar strong { font-size: 1.6rem; }
  .calc-cinco { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .calc-campos { grid-template-columns: 1fr; }
  .calc-grafico { grid-template-columns: 1fr; }
  .calc-coluna { display: grid; grid-template-columns: 1fr 2fr; column-gap: .7rem; }
  .calc-coluna strong { grid-column: 1 / -1; margin-bottom: .2rem; }
}
