/* ============================================================
   Neo-01 — Base / Reset / Typography
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap');

/* ─── RESET MINIMALISTA ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html, body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, figure, blockquote { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; background: none; border: none; padding: 0; color: inherit; }
input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }

/* ─── BODY ──────────────────────────────────────────────────── */
html, body {
  height: 100%;
}
body {
  background: var(--bg);
  color: var(--ink-2);
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  letter-spacing: var(--ls-base);
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── TIPOGRAFIA NUMÉRICA ──────────────────────────────────── */
.tabular { font-variant-numeric: tabular-nums; }
.mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* ─── HEADINGS ─────────────────────────────────────────────── */
h1, h2, h3, h4 { color: var(--ink); font-weight: 600; }

/* ─── SCROLLBAR ────────────────────────────────────────────── */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: 10px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover { background: var(--ink-4); }

/* ─── SELECTION ────────────────────────────────────────────── */
::selection { background: var(--accent-soft); color: var(--accent); }

/* ─── UTILITIES BÁSICOS ────────────────────────────────────── */
.txt-r { text-align: right; }
.txt-l { text-align: left; }
.txt-c { text-align: center; }
.fs-10 { font-size: 10px; }
.fs-11 { font-size: 11px; }
.fs-12 { font-size: 12px; }
.fs-13 { font-size: 13px; }
.fw-600 { font-weight: 600; }
.txt-strong { font-weight: 600; color: var(--ink); }
.c-ok { color: var(--ok); }
.c-warn { color: var(--warn); }
.c-danger { color: var(--danger); }
.c-info { color: var(--info); }
.c-accent { color: var(--accent); }
.c-ink-3 { color: var(--ink-3); }
.c-ink-4 { color: var(--ink-4); }
.fx-1 { flex: 1; }
.fx-0 { flex-shrink: 0; }
