/* ==========================================================================
   ui/styles/base.css — reset e tipografia do dashboard NOVO.
   CUIDADO CALCULADO: a tela de acesso e preservada carrega regras em `html` e
   `body` (fundo, fonte, overflow-x). Este arquivo NAO as sobrescreve, senao a
   aparencia do login mudaria. Tudo que e do dashboard novo vive sob
   #oracle-dashboard-root.
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

#oracle-dashboard-root {
  min-height: 100dvh;
  background: var(--surface-page);
  color: var(--text-primary);
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#oracle-dashboard-root[hidden] {
  display: none;
}

/* Enquanto a tela de acesso esta visivel, o dashboard novo nao participa da
   composicao: o palco do login e exatamente o material preservado em
   legacy-auth. */
html[data-app-stage="login"] #oracle-dashboard-root {
  visibility: hidden;
}

/* A tela de acesso original declarava `body { overflow-x: hidden }`. Isso
   esconderia estouro horizontal do dashboard novo e faria a medicao mentir.
   Durante o palco do dashboard o overflow volta a ser real, para poder ser
   medido e corrigido na causa. */
html[data-app-stage="dashboard"] body {
  height: auto;
  min-height: 100%;
  overflow-x: visible;
  overflow-y: auto;
}

#oracle-dashboard-root h1,
#oracle-dashboard-root h2,
#oracle-dashboard-root h3,
#oracle-dashboard-root p,
#oracle-dashboard-root figure,
#oracle-dashboard-root dl,
#oracle-dashboard-root dd,
#oracle-dashboard-root dt {
  margin: 0;
}

#oracle-dashboard-root ul,
#oracle-dashboard-root ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

#oracle-dashboard-root button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}

#oracle-dashboard-root input,
#oracle-dashboard-root select,
#oracle-dashboard-root textarea {
  font: inherit;
  color: inherit;
}

#oracle-dashboard-root table {
  border-collapse: collapse;
  width: 100%;
}

#oracle-dashboard-root :focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  border-radius: var(--radius-control);
}

#oracle-dashboard-root .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Numeros que mudam de largura balancam a linha: tabular em todo preco. */
#oracle-dashboard-root .num,
#oracle-dashboard-root output {
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

#oracle-dashboard-root ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

#oracle-dashboard-root ::-webkit-scrollbar-track {
  background: var(--surface-sunken);
}

#oracle-dashboard-root ::-webkit-scrollbar-thumb {
  background: var(--border-subtle);
  border-radius: var(--radius-pill);
  border: 2px solid var(--surface-sunken);
}

#oracle-dashboard-root ::-webkit-scrollbar-thumb:hover {
  background: var(--border-control);
}
