/* Tema da Lunarco (2026-11-09): calmo e arejado, fácil para a vista. Claro por padrão, escuro por escolha.
   Fonte Inter, cartões brancos sobre fundo levemente azulado, campos com borda nítida e anel de foco, cor só onde avisa algo. */
:root {
  color-scheme: light;
  --bg: #f3f5f9; --sup: #ffffff; --sup2: #f6f8fb; --t: #1f2937; --m: #5f6b80; --l: #e3e8ef;
  --campo-bg: #ffffff; --campo-borda: #c9d2e0; --campo-borda-forte: #94a3bb; --cabecalho-tabela: transparent;
  --a: #2563c9; --a-forte: #1d4fa3; --a-sel: #e8effc; --a-t: #ffffff; --esc: #b45309;
  --ruim: #b42318; --ruim-bg: #fef3f2; --ok: #027a48; --barra: #141c3a; --barra-t: #ffffff; --barra-l: rgba(255, 255, 255, .14);
  --sombra: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .07);
  --raio: 10px; --campo: 36px; --fonte: 14px;
}
:root[data-tema="dark"] { color-scheme: dark; --bg: #0f1526; --sup: #171f36; --sup2: #1d2640; --t: #e6eaf2; --m: #9aa5bd; --l: #2a3452; --campo-bg: #121a30; --campo-borda: #3a4766; --campo-borda-forte: #56669a; --cabecalho-tabela: transparent; --a: #7ea6ff; --a-forte: #a3c0ff; --a-sel: #24345f; --a-t: #0d142b; --esc: #f0b35c; --ruim: #ffb4ab; --ruim-bg: #3a1d20; --ok: #6fdc8c; --barra: #0b1024; --sombra: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="light"]) { color-scheme: dark; --bg: #0f1526; --sup: #171f36; --sup2: #1d2640; --t: #e6eaf2; --m: #9aa5bd; --l: #2a3452; --campo-bg: #121a30; --campo-borda: #3a4766; --campo-borda-forte: #56669a; --cabecalho-tabela: transparent; --a: #7ea6ff; --a-forte: #a3c0ff; --a-sel: #24345f; --a-t: #0d142b; --esc: #f0b35c; --ruim: #ffb4ab; --ruim-bg: #3a1d20; --ok: #6fdc8c; --barra: #0b1024; --sombra: none; }
}
/* No celular e no toque, os controles crescem para caber o dedo. */
@media (max-width: 760px), (pointer: coarse) { :root { --campo: 42px; --fonte: 15px; } }

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--t); font: var(--fonte)/1.5 Inter, "Segoe UI Variable", "Segoe UI", system-ui, sans-serif; min-height: 100vh; -webkit-font-smoothing: antialiased; }
a { color: var(--a); text-decoration: none; }
a:hover { text-decoration: underline; }
button, select, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; border: 1px solid var(--campo-borda); background: var(--sup); padding: 0 12px; border-radius: 8px; min-height: var(--campo); color: var(--t); font-weight: 500; transition: background .12s, border-color .12s, box-shadow .12s; }
button:hover { background: var(--sup2); border-color: var(--campo-borda-forte); }
button.pri, button.on { background: var(--a); border-color: var(--a); color: var(--a-t); font-weight: 600; box-shadow: 0 1px 2px rgba(37, 99, 201, .3); }
button.pri:hover { background: var(--a-forte); border-color: var(--a-forte); }
button.perigo { color: var(--ruim); border-color: var(--ruim); background: var(--sup); }
button.perigo:hover { background: var(--ruim-bg); }
button.leve { background: transparent; border-color: transparent; box-shadow: none; }
button.leve:hover { background: var(--a-sel); border-color: transparent; }
button:disabled { opacity: .5; cursor: default; }
button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible, a:focus-visible { outline: 2px solid var(--a); outline-offset: 2px; }
input, select, textarea { background: var(--campo-bg); border: 1px solid var(--campo-borda); border-radius: 8px; padding: 0 10px; min-height: var(--campo); transition: border-color .12s, box-shadow .12s; }
input:hover, select:hover, textarea:hover { border-color: var(--campo-borda-forte); }
input:focus, select:focus, textarea:focus { border-color: var(--a); box-shadow: 0 0 0 3px var(--a-sel); outline: none; }
input::placeholder, textarea::placeholder { color: var(--m); opacity: .75; }
input:disabled, select:disabled, textarea:disabled { background: var(--sup2); color: var(--m); border-color: var(--l); }
textarea { padding: 8px 10px; resize: vertical; line-height: 1.45; }
@media (max-width: 760px), (pointer: coarse) { input, select, textarea { font-size: 16px; } }
table { width: 100%; border-collapse: collapse; }
td, th { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--l); vertical-align: middle; }
th { color: var(--m); font-weight: 600; font-size: .78em; text-transform: uppercase; letter-spacing: .05em; padding-top: 4px; padding-bottom: 8px; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: var(--sup2); }
.barra-app { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 4px 16px; background: var(--barra); color: var(--barra-t); flex-wrap: wrap; }
.barra-app a { color: var(--barra-t); }
.barra-app img { display: block; height: 30px; width: auto; }
.barra-app .esp { flex: 1; min-width: 8px; }
.barra-app button, .barra-app select { background: transparent; color: var(--barra-t); border-color: var(--barra-l); box-shadow: none; }
.barra-app select option { color: var(--t); background: var(--sup); }
.barra-app button:hover { background: var(--barra-l); border-color: var(--barra-l); }
.sub { color: var(--m); font-size: .92em; }
.bloco { background: var(--sup); border: 1px solid var(--l); box-shadow: var(--sombra); padding: 16px 18px; margin-bottom: 12px; border-radius: var(--raio); overflow-x: auto; }
h1 { font-size: 20px; font-weight: 650; margin: 0; letter-spacing: -.01em; }
h2 { font-size: 14px; font-weight: 600; margin: 0 0 10px; color: var(--t); }
h3 { font-size: 13px; font-weight: 600; margin: 0; }
#erro { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); background: var(--ruim-bg); color: var(--ruim); border: 1px solid var(--ruim); padding: 8px 14px; border-radius: 8px; display: none; max-width: 90vw; z-index: 9; box-shadow: 0 6px 20px rgba(16, 24, 40, .15); }
