/* tucalculadorasat.com — Tailwind minimal build
   Generado manualmente desde clases usadas en index + 6 calculadoras.
   Reemplaza cdn.tailwindcss.com (~350KB) por este archivo (~8KB).
   Actualizar si se agregan nuevas clases utilitarias. */

/* ── System font stacks — reemplazan Google Fonts (sin petición externa) ── */
/* Inter → system-ui stack (visualmente idéntico en la mayoría de sistemas)  */
/* Syne  → Georgia bold como display fallback                                 */
/* DM Mono → monospace stack del sistema                                      */

@font-face {
  font-family: 'Inter';
  src: local('system-ui'), local('-apple-system'), local('BlinkMacSystemFont'),
       local('Segoe UI'), local('Helvetica Neue'), local('Arial');
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: 'Syne';
  src: local('system-ui'), local('-apple-system'), local('BlinkMacSystemFont'),
       local('Segoe UI'), local('Helvetica Neue'), local('Arial');
  font-weight: 700 900;
  font-display: swap;
}

@font-face {
  font-family: 'DM Mono';
  src: local('SFMono-Regular'), local('SF Mono'), local('Consolas'),
       local('Liberation Mono'), local('Menlo'), local('monospace');
  font-weight: 400 500;
  font-display: swap;
}

/* Overrides de body para asegurar fallback inmediato */
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
               'Helvetica Neue', Arial, sans-serif;
}


/* ── Reset / base ─────────────────────────────────────────── */
*, ::before, ::after { box-sizing: border-box; }

/* ── Display ──────────────────────────────────────────────── */
.block  { display: block; }
.flex   { display: flex; }
.grid   { display: grid; }
.inline { display: inline; }
.hidden { display: none; }

/* ── Position ─────────────────────────────────────────────── */
.absolute { position: absolute; }
.relative { position: relative; }
.fixed    { position: fixed; }

/* ── Overflow ─────────────────────────────────────────────── */
.overflow-hidden   { overflow: hidden; }
.overflow-x-auto   { overflow-x: auto; }

/* ── Flex helpers ─────────────────────────────────────────── */
.flex-1    { flex: 1 1 0%; }
.flex-wrap { flex-wrap: wrap; }
.items-center  { align-items: center; }
.items-start   { align-items: flex-start; }
.justify-between { justify-content: space-between; }
.justify-center  { justify-content: center; }
.mt-auto { margin-top: auto; }

/* ── Grid columns ─────────────────────────────────────────── */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0,1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }

/* ── Gap ──────────────────────────────────────────────────── */
.gap-2 { gap: .5rem; }
.gap-3 { gap: .75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }

/* ── Space-y ──────────────────────────────────────────────── */
.space-y-0 > * + * { margin-top: 0; }
.space-y-3 > * + * { margin-top: .75rem; }
.space-y-5 > * + * { margin-top: 1.25rem; }

/* ── Padding ──────────────────────────────────────────────── */
.p-3  { padding: .75rem; }
.p-5  { padding: 1.25rem; }
.p-6  { padding: 1.5rem; }
.p-7  { padding: 1.75rem; }
.p-8  { padding: 2rem; }
.px-4 { padding-left: 1rem;  padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-7 { padding-left: 1.75rem; padding-right: 1.75rem; }
.py-3 { padding-top: .75rem; padding-bottom: .75rem; }
.py-4 { padding-top: 1rem;   padding-bottom: 1rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-8 { padding-top: 2rem;   padding-bottom: 2rem; }
.pt-4 { padding-top: 1rem; }
.pb-10{ padding-bottom: 2.5rem; }

/* ── Margin ───────────────────────────────────────────────── */
.mx-auto { margin-left: auto; margin-right: auto; }
.mb-1 { margin-bottom: .25rem; }
.mb-2 { margin-bottom: .5rem; }
.mb-3 { margin-bottom: .75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 1.25rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-10{ margin-bottom: 2.5rem; }
.mt-0\.5 { margin-top: .125rem; }
.mt-1 { margin-top: .25rem; }
.mt-2 { margin-top: .5rem; }
.mt-3 { margin-top: .75rem; }
.mt-4 { margin-top: 1rem; }
.mt-8 { margin-top: 2rem; }

/* ── Max-width ────────────────────────────────────────────── */
.max-w-md  { max-width: 28rem; }
.max-w-xl  { max-width: 36rem; }
.max-w-5xl { max-width: 64rem; }

/* ── Width / height ───────────────────────────────────────── */
.w-full  { width: 100%; }
.h-full  { height: 100%; }
.w-auto  { width: auto; }

/* ── Top / left ───────────────────────────────────────────── */
.top-1\/2  { top: 50%; }
.left-4    { left: 1rem; }

/* ── Transform ────────────────────────────────────────────── */
.-translate-y-1\/2 { transform: translateY(-50%); }

/* ── Border ───────────────────────────────────────────────── */
.border   { border-width: 1px; border-style: solid; }
.border-b { border-bottom-width: 1px; border-bottom-style: solid; }
.border-slate-100 { border-color: #f1f5f9; }
.border-slate-200 { border-color: #e2e8f0; }
.border-blue-100  { border-color: #dbeafe; }

/* ── Border radius ────────────────────────────────────────── */
.rounded-xl { border-radius: .75rem; }

/* ── Background ───────────────────────────────────────────── */
.bg-slate-50 { background-color: #f8fafc; }
.bg-blue-50  { background-color: #eff6ff; }

/* ── Text color ───────────────────────────────────────────── */
.text-slate-300 { color: #cbd5e1; }
.text-slate-400 { color: #94a3b8; }
.text-slate-500 { color: #64748b; }
.text-slate-600 { color: #475569; }
.text-slate-700 { color: #334155; }
.text-slate-800 { color: #1e293b; }
.text-slate-900 { color: #0f172a; }
.text-blue-300  { color: #93c5fd; }
.text-blue-400  { color: #60a5fa; }
.text-blue-500  { color: #3b82f6; }
.text-blue-600  { color: #2563eb; }
.text-blue-700  { color: #1d4ed8; }
.text-amber-600 { color: #d97706; }
.text-red-500   { color: #ef4444; }
.text-red-600   { color: #dc2626; }

/* ── Text align ───────────────────────────────────────────── */
.text-center { text-align: center; }

/* ── Font size ────────────────────────────────────────────── */
.text-xs   { font-size: .75rem;   line-height: 1rem; }
.text-sm   { font-size: .875rem;  line-height: 1.25rem; }
.text-base { font-size: 1rem;     line-height: 1.5rem; }
.text-lg   { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl   { font-size: 1.25rem;  line-height: 1.75rem; }
.text-2xl  { font-size: 1.5rem;   line-height: 2rem; }
.text-3xl  { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl  { font-size: 2.25rem;  line-height: 2.5rem; }
.\text-\[10px\] { font-size: 10px; }
.\text-\[9px\]  { font-size: 9px; }

/* ── Font weight ──────────────────────────────────────────── */
.font-medium   { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold     { font-weight: 700; }
.font-black    { font-weight: 900; }

/* ── Font family ──────────────────────────────────────────── */
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }

/* ── Line height ──────────────────────────────────────────── */
.leading-relaxed { line-height: 1.625; }

/* ── Letter spacing ───────────────────────────────────────── */
.tracking-tight   { letter-spacing: -0.025em; }
.tracking-wider   { letter-spacing: .05em; }
.tracking-widest  { letter-spacing: .1em; }
.\tracking-\[0\.25em\] { letter-spacing: 0.25em; }
.\tracking-\[0\.3em\]  { letter-spacing: 0.3em; }

/* ── Text transform ───────────────────────────────────────── */
.uppercase { text-transform: uppercase; }

/* ── Hover utilities ──────────────────────────────────────── */
.hover\:bg-blue-50:hover       { background-color: #eff6ff; }
.hover\:border-blue-200:hover  { border-color: #bfdbfe; }
.hover\:text-slate-400:hover   { color: #94a3b8; }

/* ── Group hover ──────────────────────────────────────────── */
.group:hover .group-hover\:text-blue-700 { color: #1d4ed8; }

/* ── Responsive: md (≥768px) ──────────────────────────────── */
@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .md\:text-4xl    { font-size: 2.25rem; line-height: 2.5rem; }
  .md\:text-5xl    { font-size: 3rem;    line-height: 1; }
}

/* ── Responsive: lg (≥1024px) ─────────────────────────────── */
@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

/* ── Ampliación: historial, glosario, acerca, terminos, contacto, tipo_de_cambio ── */

/* Background adicionales */
.bg-blue-300  { background-color: #93c5fd; }
.bg-blue-500  { background-color: #3b82f6; }
.bg-blue-600  { background-color: #2563eb; }
.bg-slate-300 { background-color: #cbd5e1; }
.bg-slate-400 { background-color: #94a3b8; }

/* Border adicionales */
.border-t { border-top-width: 1px; border-top-style: solid; }

/* Flex adicionales */
.flex-col { flex-direction: column; }

/* Gap adicionales */
.gap-1\.5 { gap: .375rem; }
.gap-6    { gap: 1.5rem; }

/* Height / Width adicionales */
.h-2 { height: .5rem; }
.w-2 { width: .5rem; }

/* Max-width adicional */
.max-w-2xl { max-width: 42rem; }

/* Margin adicionales */
.mb-1\.5 { margin-bottom: .375rem; }
.mb-7    { margin-bottom: 1.75rem; }
.mt-10   { margin-top: 2.5rem; }
.mt-12   { margin-top: 3rem; }
.my-2    { margin-top: .5rem;  margin-bottom: .5rem; }
.my-8    { margin-top: 2rem;   margin-bottom: 2rem; }

/* Padding adicionales */
.p-4  { padding: 1rem; }
.pt-3 { padding-top: .75rem; }
.pt-6 { padding-top: 1.5rem; }
.pt-8 { padding-top: 2rem; }

/* Border radius adicional */
.rounded-full { border-radius: 9999px; }

/* Space-y adicionales */
.space-y-1 > * + * { margin-top: .25rem; }
.space-y-2 > * + * { margin-top: .5rem; }
.space-y-4 > * + * { margin-top: 1rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }

/* Font size adicional */
.text-5xl    { font-size: 3rem;    line-height: 1; }
.\text-\[8px\] { font-size: 8px; }

/* Letter spacing adicional */
.\tracking-\[0\.2em\] { letter-spacing: 0.2em; }

/* Responsive md adicionales */
@media (min-width: 768px) {
  .md\:scale-105 { transform: scale(1.05); }
  .md\:z-10      { z-index: 10; }
}

/* ── Faltantes detectados en barrida de cobertura ────────── */
.font-display  { font-family: 'Syne', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 900; letter-spacing: -0.02em; }
.inline-block  { display: inline-block; }
