/* Porta das ferramentas — paleta do Tutor Fiscal (CLAUDE.md, seção 6-E). */
:root {
  --fundo: #0a0b0a; --cartao: #141613; --faixa: #1c1f1b;
  --texto: #f2f3f0; --texto2: #9aa096; --verde: #5ae628; --ocre: #d4914e;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fundo); color: var(--texto);
       font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
header { display: flex; align-items: center; justify-content: space-between;
         padding: 14px 24px; border-bottom: 1px solid var(--faixa); }
header .marca { display: flex; align-items: center; gap: 10px; font-weight: 600; }
header .marca span { color: var(--verde); }
header form { margin: 0; }
main { max-width: 980px; margin: 32px auto; padding: 0 20px; }
.cartao { background: var(--cartao); border-radius: 12px; padding: 24px; margin-bottom: 20px; }
.estreito { max-width: 440px; margin-left: auto; margin-right: auto; }
h1, h2 { color: var(--verde); font-weight: 600; margin-top: 0; }
h1 { font-size: 1.5rem; } h2 { font-size: 1.15rem; }
label { display: block; margin: 14px 0 4px; color: var(--texto2); font-size: .92rem; }
input, select { width: 100%; padding: 10px 12px; border-radius: 8px; border: 1px solid #2b2f2a;
                background: var(--faixa); color: var(--texto); font: inherit; }
input[type=checkbox] { width: auto; }
button { margin-top: 18px; padding: 10px 18px; border: 0; border-radius: 8px; cursor: pointer;
         background: var(--verde); color: #0a0b0a; font: inherit; font-weight: 600; }
.campo-senha { position: relative; }
.campo-senha input { padding-right: 44px; }
.campo-senha button.olho { position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
                           margin: 0; padding: 6px; background: transparent; color: var(--texto2); }
.campo-senha button.olho:hover { color: var(--verde); }
button.discreto { background: transparent; color: var(--texto2); border: 1px solid #2b2f2a; margin: 0; }
a { color: var(--verde); }
.links { margin-top: 18px; font-size: .92rem; display: flex; gap: 18px; flex-wrap: wrap; }
.aviso { background: var(--faixa); border-left: 3px solid var(--ocre); padding: 10px 14px;
         border-radius: 6px; margin: 14px 0; }
.erro { border-left-color: #e05a4e; }
.grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 18px; }
table { width: 100%; border-collapse: collapse; margin-top: 10px; }
td, th { padding: 7px 8px; border-bottom: 1px solid var(--faixa); text-align: right; }
td:first-child, th:first-child { text-align: left; color: var(--texto2); }
th { color: var(--verde); font-weight: 600; }
tr.total td { color: var(--ocre); font-weight: 600; }
.pequeno { color: var(--texto2); font-size: .88rem; }
.oculto { display: none; }

/* Tela de entrada com arte (Israel, 20/10/2026): frase + formulário à esquerda, arte 3D à direita. */
body:has(.vitrine) { min-height: 100vh;
  background: radial-gradient(ellipse 70% 80% at 72% 48%, #12301f 0%, #0b140e 45%, var(--fundo) 75%); }
main:has(.vitrine) { max-width: 1200px; margin-top: 12px; margin-bottom: 16px; }
.vitrine { display: grid; grid-template-columns: minmax(320px, 440px) 1fr;
           grid-template-areas: "texto arte"; align-items: center; gap: 48px; min-height: calc(100vh - 140px); }
.vitrine-texto { grid-area: texto; }
.vitrine-arte { grid-area: arte; text-align: center; }
.vitrine-arte img { width: 100%; max-width: 640px; height: auto;
                    filter: drop-shadow(0 0 40px rgba(90, 230, 40, .18)); }
.vitrine-arte img.tela-real { border-radius: 14px; border: 1px solid #2c4a22;
                              box-shadow: 0 0 0 6px rgba(90, 230, 40, .06), 0 20px 60px rgba(0, 0, 0, .6); }
.selo { display: inline-block; margin: 0 0 10px; padding: 4px 12px; border: 1px solid rgba(90, 230, 40, .45);
        border-radius: 999px; color: var(--verde); font-size: .82rem; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; }
.chamada { margin: 0 0 10px; font-size: 2.2rem; line-height: 1.12; font-weight: 800; letter-spacing: -.01em; }
.chamada span { color: var(--verde); }
.subchamada { margin: 0 0 16px; color: var(--texto2); font-size: 1.05rem; max-width: 400px; }
.cartao.entrada { max-width: 360px; padding: 18px 20px; margin: 0;
                  border: 1px solid #22281f; box-shadow: 0 10px 40px rgba(0, 0, 0, .45); }
.cartao.entrada h1 { font-size: 1.15rem; margin-bottom: 2px; }
.cartao.entrada .pequeno { margin: 0; font-size: .82rem; }
.cartao.entrada label { margin-top: 10px; font-size: .85rem; }
.cartao.entrada input { padding: 8px 10px; font-size: .95rem; }
.cartao.entrada button[type=submit] { margin-top: 14px; width: 100%; }
.cartao.entrada .links { margin-top: 12px; font-size: .85rem; }
@media (max-width: 820px) {
  body:has(.vitrine) { background: radial-gradient(ellipse 120% 50% at 50% 12%, #12301f 0%, var(--fundo) 70%); }
  main:has(.vitrine) { margin-top: 12px; }
  .vitrine { grid-template-columns: minmax(0, 1fr); grid-template-areas: "arte" "texto"; gap: 8px; min-height: 0; }
  .vitrine-arte img { max-width: 280px; }
  .vitrine-texto { text-align: center; }
  .chamada { font-size: 1.7rem; }
  .subchamada { margin-left: auto; margin-right: auto; }
  .cartao.entrada { margin: 0 auto; text-align: left; }
}

/* Contador imprime relatório: fundo claro na impressão (CLAUDE.md, 6-E). */
@media print {
  body { background: #fff; color: #111; }
  header form, form#calc button, #consulta { display: none; }
  .cartao, .aviso { background: #fff; border: 1px solid #ccc; }
  h1, h2, th { color: #1f6b00; }
  tr.total td { color: #8a4b12; }
  td:first-child, .pequeno, label { color: #444; }
}
