/* ==========================================================================
   Base — tipografía, color de texto, selección, foco y barras de scroll
   ========================================================================== */

html[data-theme] body {
  font-family: var(--font-ui) !important;
  color: var(--c-text);
  background: var(--c-bg) !important;
  background-image: none !important;
  -webkit-font-smoothing: antialiased;
  transition: background-color .4s var(--ease), color .4s var(--ease);
}

html[data-theme] :where(button, input, select, textarea) { font-family: inherit; }
html[data-theme] :is(h1, h2, h3) { text-wrap: balance; }
html[data-theme] p { text-wrap: pretty; }

/* Cifras alineadas en contadores y cantidades */
html[data-theme] :is(.stat-num, .astat-num, .count, .qty-box, .archi-qty-num, .harvest-view-count,
  .summary-grid b, .progress-stat-card strong) {
  font-variant-numeric: tabular-nums;
}

::selection { background: var(--c-accent-soft); color: var(--c-text); }

html[data-theme] :is(a, button, [role=button], [tabindex]):focus-visible {
  outline: 2px solid var(--c-accent) !important;
  outline-offset: 2px;
}

/* Barras de scroll en el color de acento. La de la página es la de <html>, que "*" no incluye */
html[data-theme],
html[data-theme] * {
  scrollbar-width: thin;
  scrollbar-color: var(--c-line-accent) transparent !important;
}
html[data-theme] ::-webkit-scrollbar { width: 10px; height: 10px; }
html[data-theme] ::-webkit-scrollbar-track { background: transparent !important; border: 0 !important; }
html[data-theme] ::-webkit-scrollbar-thumb {
  background: var(--c-line-accent) !important;
  border: 2px solid transparent !important;
  background-clip: padding-box !important;
  border-radius: 999px !important;
}
html[data-theme] ::-webkit-scrollbar-thumb:hover { background: var(--c-accent) !important; background-clip: padding-box !important; }
