/* DECIDIR — design system "auditoria sóbria" (§6) */
:root {
  --paper: #F6F4EE;
  --ink:   #181C20;
  --red:   #B3282D;
  --green: #1E6B4F;
  --amber: #B07A1E;
  --line:  #D8D4C8;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.55;
}
.num, .mono { font-family: Consolas, 'Courier New', monospace; }

.wrap { max-width: 880px; margin: 0 auto; padding: 32px 20px 64px; }

header.topo {
  border-bottom: 3px solid var(--ink);
  padding-bottom: 12px;
  margin-bottom: 28px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
header.topo h1 { font-size: 22px; margin: 0; letter-spacing: 0.5px; }
header.topo .fase { font-family: Consolas, monospace; font-size: 12px; color: var(--amber); }
a { color: var(--ink); }

h2 { font-size: 17px; border-bottom: 1px solid var(--line); padding-bottom: 6px; margin-top: 36px; }

.gancho {
  border: 2px solid var(--ink);
  background: #fff;
  padding: 22px 26px;
  margin: 24px 0;
}
.gancho .valor { font-family: Consolas, monospace; font-size: 42px; font-weight: bold; color: var(--red); }
.gancho .rotulo { font-size: 14px; }

.cartao {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 5px solid var(--line);
  padding: 14px 18px;
  margin: 12px 0;
}
.cartao.critico { border-left-color: var(--red); }
.cartao.aviso   { border-left-color: var(--amber); }
.cartao.info    { border-left-color: var(--green); }
.cartao h3 { margin: 0 0 4px; font-size: 15px; }
.cartao .valores { font-family: Consolas, monospace; font-size: 14px; margin: 6px 0; }
.cartao .valores strong { color: var(--red); }
.cartao .alternativa { font-size: 14px; color: #3a4046; margin: 6px 0 0; }
.cartao .codigo { font-family: Consolas, monospace; font-size: 11px; color: #8a8577; float: right; }

.alerta {
  background: #FDF9EF;
  border: 1px solid var(--amber);
  padding: 14px 18px;
  margin: 12px 0;
}
.alerta .pergunta { font-size: 15px; }
.alerta .botoes { margin-top: 10px; }
.alerta .botoes span {
  display: inline-block; border: 1px solid var(--ink);
  padding: 4px 14px; margin-right: 8px;
  font-family: Consolas, monospace; font-size: 13px; background: #fff;
}
.alerta .sepa { font-size: 13px; color: #5a5648; margin-top: 8px; }

table.lista { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; }
table.lista th, table.lista td { border: 1px solid var(--line); padding: 7px 10px; text-align: left; }
table.lista th { background: var(--ink); color: var(--paper); font-weight: normal; font-size: 13px; }
table.lista td.num { text-align: right; }

.estado { font-family: Consolas, monospace; font-size: 12px; padding: 2px 8px; }
.estado.processado { color: var(--green); }
.estado.pendente, .estado.erro { color: var(--red); }
.estado.novo { color: var(--amber); }

form.upload {
  background: #fff; border: 1px dashed var(--ink);
  padding: 20px; margin: 16px 0;
}
form.upload input[type=file] { font-family: Consolas, monospace; font-size: 13px; }
button {
  background: var(--ink); color: var(--paper);
  border: 0; padding: 9px 22px; font-family: Georgia, serif;
  font-size: 15px; cursor: pointer; margin-top: 10px;
}
button:hover { background: var(--red); }

.aviso-caixa { background: #FBEDEE; border: 1px solid var(--red); padding: 12px 16px; margin: 14px 0; font-size: 14px; }
.ok-caixa    { background: #EDF5F1; border: 1px solid var(--green); padding: 12px 16px; margin: 14px 0; font-size: 14px; }

footer { margin-top: 48px; border-top: 1px solid var(--line); padding-top: 12px; font-size: 12px; color: #8a8577; }
