/* ============================================================
   main.css — Entry CSS del chrome NLD (FASE BR3)
   ============================================================
   IMPORTANTE: Las reglas @import deben ir TODAS al inicio,
   antes de cualquier otra regla CSS. Si se mezclan, los
   browsers ignoran los @imports posteriores.
   ============================================================ */

/* ── Tokens BR0 (fuentes + paletas NLD/ULUM) ─────────── */
@import url('themes.css');

/* ── Componentes del chrome NLD ──────────────────────── */
@import url('components/_layout.css');
@import url('components/_sidebar.css');
@import url('components/_header.css');
@import url('components/_footer.css');
@import url('components/_buttons.css');
@import url('components/_forms.css');
@import url('components/_cards.css');
@import url('components/_user-menu.css');
@import url('components/_auth.css');
@import url('components/_badges.css');
@import url('components/selector-proyecto.css');

/* ── Reset suave + base global (después de TODOS los @import) ─── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--nld-font-body);
  font-weight: var(--nld-fw-regular);
  font-size: var(--nld-fs-base);
  line-height: var(--nld-lh-normal);
  color: var(--nld-color-text);
  background: var(--nld-color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; height: auto; }
button { font: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
.nld-icon { flex-shrink: 0; }
