/* Cores do canvas de design e a tela de login. Público: não contém dado algum. */
:root {
  --fg: #1f2328; --muted: #59636e; --bg: #ffffff; --subtle: #f6f8fa; --border: #d1d9e0; --bmuted: #dfe4ea;
  --accent: #0969da; --acc_bg: #ddf4ff; --acc_bd: #9ccdfa; --acc_hover: #0550ae;
  --success: #1a7f37; --suc_em: #1f883d; --suc_bg: #dafbe1; --suc_bd: #8fd7a2;
  --done: #8250df; --done_bg: #fbefff; --done_bd: #d8b9ff;
  --att: #9a6700; --att_bg: #fff8c5; --att_bd: #e8d07a;
  --sev: #bc4c00; --sev_bg: #fff1e5; --sev_bd: #f5c193;
  --grp_bg: #fff8f2; --grp_ic: #ffe2c7; --tab: #fd8c73;
  --shadow: rgba(31, 35, 40, 0.04); --neutral: rgba(129, 139, 152, 0.18); --btn_bd: rgba(31, 35, 40, 0.15);
  --danger: #cf222e;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="claro"]) {
    --fg: #f0f6fc; --muted: #9198a1; --bg: #0d1117; --subtle: #151b23; --border: #3d444d; --bmuted: #2a3038;
    --accent: #4493f8; --acc_bg: #121d2f; --acc_bd: #1f4a85; --acc_hover: #79b8ff;
    --success: #3fb950; --suc_em: #238636; --suc_bg: #122a1c; --suc_bd: #2e6b3d;
    --done: #ab7df8; --done_bg: #211a33; --done_bd: #5b3e94;
    --att: #d29922; --att_bg: #2a2213; --att_bd: #6b5113;
    --sev: #db6d28; --sev_bg: #2b1a10; --sev_bd: #7a3f17;
    --grp_bg: #1c1510; --grp_ic: #3a2414; --tab: #f78166;
    --shadow: rgba(1, 4, 9, 0.4); --neutral: rgba(101, 108, 118, 0.3); --btn_bd: rgba(240, 246, 252, 0.1);
    --danger: #ff7b72;
    color-scheme: dark;
  }
}
:root[data-tema="escuro"] {
  --fg: #f0f6fc; --muted: #9198a1; --bg: #0d1117; --subtle: #151b23; --border: #3d444d; --bmuted: #2a3038;
  --accent: #4493f8; --acc_bg: #121d2f; --acc_bd: #1f4a85; --acc_hover: #79b8ff;
  --success: #3fb950; --suc_em: #238636; --suc_bg: #122a1c; --suc_bd: #2e6b3d;
  --done: #ab7df8; --done_bg: #211a33; --done_bd: #5b3e94;
  --att: #d29922; --att_bg: #2a2213; --att_bd: #6b5113;
  --sev: #db6d28; --sev_bg: #2b1a10; --sev_bd: #7a3f17;
  --grp_bg: #1c1510; --grp_ic: #3a2414; --tab: #f78166;
  --shadow: rgba(1, 4, 9, 0.4); --neutral: rgba(101, 108, 118, 0.3); --btn_bd: rgba(240, 246, 252, 0.1);
  --danger: #ff7b72;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 14px/20px -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
}
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--acc_hover); text-decoration: underline; }
.ic { flex: none; display: block; fill: currentColor; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 32px; padding: 0 12px;
  border-radius: 6px; border: 1px solid var(--btn_bd); background: var(--subtle); color: var(--fg);
  font-family: inherit; font-size: 14px; font-weight: 500; line-height: 20px; cursor: pointer; white-space: nowrap; text-decoration: none;
}
.botao:hover { background: var(--bmuted); text-decoration: none; color: var(--fg); }
.botao-primario { background: var(--suc_em); border-color: rgba(31, 35, 40, 0.15); color: #ffffff; }
.botao-primario:hover { background: var(--success); color: #ffffff; }
.campo {
  width: 100%; min-height: 36px; padding: 6px 12px; border-radius: 6px; border: 1px solid var(--border);
  background: var(--bg); color: var(--fg); font: inherit;
}
.campo:focus { border-color: var(--accent); outline: none; box-shadow: inset 0 0 0 1px var(--accent); }
.rotulo { display: block; font-weight: 600; margin-bottom: 6px; }

/* ---------- login ---------- */
.entrar { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 32px 16px; background: var(--subtle); }
.entrar-caixa { width: 100%; max-width: 340px; display: flex; flex-direction: column; gap: 16px; }
.entrar-marca { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.entrar-marca .ic { width: 40px; height: 40px; color: var(--fg); }
.entrar-marca h1 { margin: 0; font-size: 24px; font-weight: 400; line-height: 32px; }
.entrar-form { display: flex; flex-direction: column; gap: 16px; padding: 16px; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; }
.entrar-form .botao { min-height: 36px; }
.entrar-erro { margin: 0; padding: 12px 16px; border-radius: 6px; border: 1px solid var(--sev_bd); background: var(--sev_bg); color: var(--fg); }
.entrar-nota { margin: 0; text-align: center; color: var(--muted); font-size: 12px; }

[hidden] { display: none !important; }
