/* Sentinela — tokens e base compartilhados entre as telas */
:root {
  color-scheme: dark;
  --fundo: #060912;
  --fundo-2: #0b1120;
  --painel: rgba(15, 22, 38, 0.66);
  --painel-solido: #0c1322;
  --borda: rgba(148, 163, 184, 0.14);
  --borda-forte: rgba(148, 163, 184, 0.28);
  --texto: #e6ebf5;
  --texto-2: #a3afc4;
  --texto-3: #6b7a93;
  --ciano: #22d3ee;
  --violeta: #8b5cf6;
  --gradiente: linear-gradient(135deg, var(--ciano), var(--violeta));
  --online: #22c55e;
  --atrasada: #f59e0b;
  --offline: #ef4444;
  --raio: 16px;
  --fonte: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  --mono: "Cascadia Code", "JetBrains Mono", Consolas, ui-monospace, monospace;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  background: var(--fundo);
  color: var(--texto);
  font: 15px/1.5 var(--fonte);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, select { font: inherit; color: inherit; }
a { color: var(--ciano); }
::selection { background: rgba(34, 211, 238, 0.3); }
:focus-visible { outline: 2px solid var(--ciano); outline-offset: 2px; }
[hidden] { display: none !important; }
code, kbd { font-family: var(--mono); font-size: 0.92em; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

@keyframes girar { to { transform: rotate(360deg); } }
@keyframes brilhar { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
@keyframes pulsar-cor {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--cor) 60%, transparent); }
  70% { box-shadow: 0 0 0 7px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
