:root {
  --fg:#111; --bg:#fafafa; --card:#fff; --linha:#e5e5e5;
  --verde:#34C759; --vermelho:#c0392b; --cinza:#666;
}
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color:var(--fg); background:var(--bg); }
main { max-width:820px; margin:0 auto; padding:32px 20px 64px; }
header { margin-bottom:8px; }
h1 { margin:0 0 4px; font-size:24px; }
h2 { font-size:16px; margin:0 0 12px; }
.sub, .dica, .quem { color:var(--cinza); font-size:13px; }
.dica { margin-top:12px; }
.quem { margin:0 0 16px; }
section { background:var(--card); border:1px solid var(--linha); border-radius:10px; padding:20px; margin:16px 0; }
label { display:block; margin-bottom:4px; font-size:13px; color:var(--cinza); }
input[type=password], input[type=file], input:not([type]) { display:block; width:100%; margin-bottom:14px; padding:9px 11px; font-size:15px; color:var(--fg); background:#fff; border:1px solid var(--linha); border-radius:7px; }
button { padding:9px 16px; font-size:14px; font-weight:500; color:#fff; background:var(--verde); border:0; border-radius:7px; cursor:pointer; }
button:disabled { opacity:.5; cursor:progress; }
button.secundario { color:var(--fg); background:transparent; border:1px solid var(--linha); }
button.perigo { background:var(--vermelho); }
.acoes { display:flex; gap:8px; margin-top:16px; flex-wrap:wrap; }
.erro { margin-top:14px; padding:10px 12px; color:#7f1d1d; background:#fef2f2; border:1px solid #fecaca; border-radius:7px; font-size:13px; }
table { width:100%; border-collapse:collapse; font-size:12px; }
th, td { padding:6px 8px; text-align:left; border-bottom:1px solid var(--linha); white-space:nowrap; }
th { color:var(--cinza); font-weight:500; }
.rolagem { overflow-x:auto; }
.numeros { display:flex; gap:24px; flex-wrap:wrap; margin-bottom:20px; }
.numeros div { font-size:13px; color:var(--cinza); }
.numeros strong { display:block; font-size:22px; color:var(--fg); }
.tag { display:inline-block; margin:2px 4px 2px 0; padding:2px 7px; font-size:12px; border-radius:5px; background:#f1f1f1; }
.tag.entra { background:#e8f8ed; color:#1a7f37; }
.tag.sai { background:#fdecea; color:#b42318; }
.bloco { margin-bottom:16px; }
.bloco h3 { margin:0 0 6px; font-size:13px; font-weight:600; }
details { margin-top:8px; font-size:13px; }
summary { cursor:pointer; color:var(--cinza); }
details .rolagem { margin-top:10px; }
code { padding:1px 4px; font-size:12px; background:#f1f1f1; border-radius:4px; }
