/* Marca CALADESK — capa de marca sobre Tailwind.
   Se carga DESPUES de tailwind.css. Retematiza el acento de la app a la paleta
   "Cala" redefiniendo las variables de color de Tailwind v4: todas las clases
   `indigo-*` de las plantillas pasan a teal sin tocarlas. Va en un archivo aparte
   (no <style> inline) porque la CSP de produccion es `style-src 'self'`. */

:root{
  /* Acento -> paleta Cala (teal). Escala de claro a oscuro, anclada en Marea (#0F6D78 = 600). */
  --color-indigo-50:  #ECF6F5;
  --color-indigo-100: #D3ECE9;
  --color-indigo-200: #ABDBD4;
  --color-indigo-300: #7CC6BC;
  --color-indigo-400: #46AA9B;
  --color-indigo-500: #16888F;
  --color-indigo-600: #0F6D78;
  --color-indigo-700: #0B555F;
  --color-indigo-800: #0C444C;
  --color-indigo-900: #0A343B;

  /* Chrome de la app */
  --color-sidebar: #0A2E38;   /* cove profundo */
  --color-cream:   #EEF4F4;   /* fondo blanco frio */
  --color-ink:     #14333B;   /* texto: tinta teal profunda */
}

/* Faro (chispa calida de la marca) */
:root{ --cala-faro:#EF9B44; --cala-aqua:#5AC3B4; }

/* Wordmark caladesk. — pensado para fondos oscuros (sidebar y login). */
.brand-wm{
  font-family:'Manrope', ui-sans-serif, system-ui, sans-serif;
  font-weight:800; letter-spacing:-.02em; line-height:1;
}
.brand-wm .c{ color:var(--cala-aqua); }
.brand-wm .d{ color:#ffffff; }
.brand-wm .dot{ color:var(--cala-faro); }
/* Variante para fondos claros (tarjetas blancas). */
.brand-wm.on-light .c{ color:var(--color-indigo-600); }
.brand-wm.on-light .d{ color:var(--color-ink); }

/* Boton del login: aseguramos el teal de marca (su fondo no venia de una variable). */
.auth-btn{ background:linear-gradient(135deg,#0F6D78,#0B555F); }
.auth-btn:hover{ filter:brightness(1.07); }

/* Artículos del blog (sitio/templates/sitio/blog/). El cuerpo se escribe con etiquetas
   sueltas —<h2>, <p>, <ul>— y el estilo vive aquí, no en clases repetidas en cada párrafo:
   así un artículo nuevo es solo texto. */
.articulo-blog h2{ font-size:1.5rem; line-height:1.25; font-weight:700; letter-spacing:-0.01em;
  margin:2.5rem 0 1rem; text-wrap:balance; }
.articulo-blog h3{ font-size:1.125rem; font-weight:700; margin:1.75rem 0 .75rem; }
.articulo-blog p, .articulo-blog li{ color:color-mix(in srgb, var(--color-ink) 78%, transparent);
  line-height:1.7; }
.articulo-blog p{ margin:0 0 1.15rem; }
.articulo-blog ul, .articulo-blog ol{ margin:0 0 1.25rem; padding-left:1.4rem; }
.articulo-blog ul{ list-style:disc; }
.articulo-blog ol{ list-style:decimal; }
.articulo-blog li{ margin:.35rem 0; }
.articulo-blog .cuerpo a{ color:var(--color-indigo-600); text-decoration:underline; }
.articulo-blog .tabla-blog{ overflow-x:auto; margin:0 0 1.5rem; }
.articulo-blog .tabla-blog table{ width:100%; border-collapse:collapse; font-size:.95rem; }
.articulo-blog .tabla-blog th, .articulo-blog .tabla-blog td{ text-align:left; padding:.55rem .75rem;
  border-bottom:1px solid #D5E3E4; }
.articulo-blog .tabla-blog th{ font-weight:600; }
.articulo-blog .tabla-blog td{ font-variant-numeric:tabular-nums; }
