Dos capas, un solo violeta
Carrello tiene dos paletas emparentadas. Las apps internas crecieron una por una y cada una eligió su propio look — hoy conviven cuatro violetas distintos, tres pares tipográficos y un naranja que sobrevive del branding anterior. Esta guía ordena todo eso en dos capas, no en una.
Capa 1 — Marca (tu capa)
Todo lo que ve un cliente: landings, campañas, catálogo, redes, email, piezas de marketing. La rampa de lavandas a violeta, con amarillo y fucsia de promoción. Titulares en Poppins. Manda en todo lo que ve un cliente.
Capa 2 — Aplicación (solo referencia)
Herramientas internas de gestión (Torre de Control). Mismo violeta, desaturado — a 12,5px durante ocho horas, el saturado cansa. Interfaz en Plus Jakarta Sans. No se producen piezas de marketing con esta capa.
No es inconsistencia: el #5930CD de marca a 12,5px sobre blanco, ocho horas por día en una tabla de asistencias, cansa. La Torre baja la saturación por la misma razón por la que un cartel de vidriera y una planilla no se imprimen igual. Son la misma familia — no las mezcles dentro de una misma pantalla.
Paleta de marca
Once pasos de lavanda muy claro a azul-púrpura casi negro. Los extremos claros son fondo, el medio es superficie, y los dos oscuros son titular y texto.
| Token | Hex | RGB | Uso |
|---|---|---|---|
| --br-100 | #F0DEFF | 240 222 255 | Fondo base |
| --br-200 | #E8D3FF | 232 211 255 | Lavanda claro |
| --br-300 | #D3BCF9 | 211 188 249 | Lavanda medio |
| --br-400 | #CBABF6 | 203 171 246 | Violeta suave |
| --br-500 | #B491E8 | 180 145 232 | Violeta medio |
| --br-600 | #A88CDE | 168 140 222 | Fondo intenso |
| --br-700 | #683AD1 | 104 58 209 | Marca / campaña |
| --br-800 | #5930CD | 89 48 205 | CTA |
| --br-900 | #4C28BE | 76 40 190 | Púrpura oscuro |
| --br-icon | #40268C | 64 38 140 | Iconos y textos |
| --br-title | #271646 | 39 22 70 | Titulares |
Los dos tokens en negrita (Marca y CTA) son los únicos que llevan peso de marca — el resto es fondo, superficie o texto.
Jerarquía de marca
Marca y CTA son casi el mismo tono a ojo. La diferencia es funcional: el CTA se reserva para lo clickeable o lo que empuja a comprar. Si todo es CTA, nada lo es.
El violeta de la campaña. Bloques grandes, fondos de sección, logo sobre claro.
Solo acción: botones, links de conversión, el precio que querés que miren.
Texto grande sobre fondo claro. Es el negro de la marca — nunca uses negro puro.
El degradado oficial
Tres paradas, en ese orden. Es el fondo por defecto de cualquier pieza de marca — no inventar degradados nuevos ni meter el CTA adentro del degradado.
Tres paradas, ese orden
0% / 50% / 100%, lineal. El ángulo puede cambiar según la pieza; los colores no.
Es el fondo por defecto
Cualquier pieza de marca arranca acá. El blanco queda para tarjetas y respiros encima.
El CTA no va adentro
El botón violeta sobre el degradado se pierde. Ponelo sobre blanco o sobre el extremo claro.
Los dos acentos que rompen el violeta
Se usan poco y fuerte. Si el amarillo está en todas partes, deja de significar oferta.
Amarillo promocional
Descuentos, urgencia, el número de la oferta. Es el color que dice "ahora". 255 202 37
Fucsia de contraste
Etiquetas, destacados, novedad. Aporta calidez sin competir con el CTA. 244 103 166
Ni el amarillo ni el fucsia pasan contraste como texto sobre fondo claro. Van como fondo de badge con texto #271646 encima, o como bloque de color macizo. Nunca como letra chica sobre lavanda o blanco. No pasa WCAG AA en ningún cuerpo sobre fondo claro.
Verificar antes de publicar
Regla práctica: el amarillo y el fucsia son superficie, nunca tinta. El violeta claro es fondo, nunca texto. Si dudás: texto oscuro sobre color, no color sobre claro.
Titular en #271646 sobre lavanda. Cuerpo en #2B1E4F, que mantiene el contraste sin llegar al negro puro.
Titular en violeta medio sobre lavanda (ilegible). Cuerpo en fucsia: ilegible en cuerpo chico, y además compite con el CTA.
Todo cuerpo de texto va en #271646 o #2B1E4F, sin excepción. Los tres errores que aparecen siempre: amarillo como tinta, fucsia como cuerpo, violeta claro como titular.
Violeta de aplicación
La versión desaturada que ya corre en producción en la Torre de Control. Es el único acento de identidad dentro de una app: navegación activa, botones primarios, focos, valores destacados. Coincide con el isotipo — el logo de Carrello es un degradado de ciruela a violeta en exactamente este rango.
--purple
Acento primario. Sidebar activo, botones, títulos de valor.
--purple2
Hover y estados secundarios. Extremo claro del degradado del logo.
--purple-bg
Fondo teñido: chips, teclado del PIN, filas resaltadas.
El :root de la Torre arrastra alias del branding viejo — --navy, --orange, --obg — que se redefinen apuntando al violeta después de haber declarado --orange:#F97316. Gana la última, así que var(--orange) devuelve violeta. Hoy es inofensivo porque ninguno de esos alias se usa (ni referencias en el archivo), pero el que lo lea va a leer mal. Al portar el sistema, no los copies — el bloque de código de la sección 13 ya viene limpio.
Neutrales
No son grises puros: todos tienen una pizca de violeta. Es lo que hace que la interfaz se lea como un conjunto y no como un dashboard genérico. Un #F5F5F5 cualquiera rompe ese efecto.
--bg
Fondo de la app.
--card
Tarjetas, sidebar, topbar, inputs.
--bdr
Borde estándar y separadores.
--bdr2
Borde de control: inputs, selects, botones secundarios.
--tx
Texto principal.
--tx2
Texto secundario, ítems de navegación en reposo.
--tx3
Etiquetas, placeholders, texto deshabilitado.
Colores semánticos
Cada uno viene con su fondo teñido para badges y filas. Se usan por lo que significan, nunca para dar variedad visual. El violeta no está en esta lista: es identidad, no estado.
--green
Aprobado, presente, en meta. bg #F0FDF4
--amber
Pendiente, atención, fuera de rango. bg #FFFBEB
--red
Rechazado, ausente, error. bg #FEF2F2
--blue
Informativo, enlaces, datos neutros. bg #EFF6FF
--teal
Serie de datos secundaria. bg #F0FDFA
--pink
Serie de datos terciaria. bg #FDF2F8
--indigo
Serie de datos. bg #EEF2FF
--cyan
Serie de datos. bg #ECFEFF
--orange
Excepción operativa. Único naranja permitido. bg #FFF7ED
--gray
Inactivo, archivado, sin dato. bg #F3F4F6
Cuando una serie necesita más de un color, tomalos en este orden: violeta → azul → verde → ámbar → teal → rosa → índigo → cian. El rojo queda reservado para error y no entra en rotación.
Tipografía
Las tres son gratuitas en Google Fonts. Descargalas e instalalas antes de abrir cualquier archivo de la marca.
Titulares, claims, precios grandes. Geométrica y redonda: funciona en tamaño grande y se apaga en chico, así que no baja del cuerpo de un subtítulo.
500 Medium · 600 SemiBold · 700 BoldBajadas, párrafos, pies, botones. Es la que aguanta cuerpo chico sin cansar. También es la tipografía de las apps internas (Torre de Control).
400 · 500 · 600 · 700 · 800Precios, códigos, SKUs, porcentajes, fechas: cualquier columna de números que tenga que alinear. Sumar font-variant-numeric: tabular-nums.
Quién usa cuál
Poppins titula lo que ve un cliente: landings, campañas, catálogo, placas. Plus Jakarta Sans hace todo lo demás: la interfaz entera de las apps internas, y el texto corrido también de las piezas de marca — es la que aguanta 12,5px sin cansar. JetBrains Mono va para todo lo que sea dato, no una palabra: montos, horarios, fechas, PINs, IDs, porcentajes, columnas numéricas y valores de KPI.
Poppins y Plus Jakarta Sans en el mismo titular. Son dos sans geométricas cercanas: juntas no se leen como pareja, se leen como error. Una pieza elige display Poppins o display Jakarta, no las dos.
Escala de marca (piezas de campaña)
| Nivel | Familia / Peso | Regla |
|---|---|---|
| Titular | Poppins 600–700 | Grande. Interlineado ajustado, tracking -2%. |
| Subtítulo | Poppins 500 | Hasta acá llega Poppins. Más chico que esto, no. |
| Bajada | Plus Jakarta 400–600 | Párrafo de apoyo, máximo 65 caracteres por línea. |
| Cuerpo | Plus Jakarta 400 | Texto corrido. Nunca centrado en bloques largos. |
| Botón | Plus Jakarta 700 | Verbo y objeto: "Comprar ahora", no "Click aquí". |
| Dato | JetBrains Mono 700 | Precios, códigos, porcentajes. Con cifras tabulares. |
| Etiqueta | Plus Jakarta 700 | Mayúsculas, tracking +10%. Solo textos muy cortos. |
Escala interna (Torre de Control)
La Torre tiene hoy catorce tamaños distintos, varios separados por medio píxel. Esta escala de siete se queda con los que realmente cargan un rol y descarta el ruido.
| Tamaño | Ejemplo | Rol · Peso |
|---|---|---|
| 26px | 1.284.900 | KPI · mono 700 |
| 20px | Accesos y permisos | Título de página · 800 |
| 16px | Solicitudes pendientes | Título de sección · 800 |
| 13.5px | Texto de lectura y descripciones. | Base · 400 |
| 12.5px | Aprobar solicitud | Controles · 600/700 |
| 11.5px | Enviado el 30 de agosto | Secundario · 400/600 |
| 10px | EQUIPO | Etiqueta · 700 + 0.1em |
Los títulos llevan letter-spacing:-.02em; las etiquetas en mayúsculas llevan +.1em. Sin esos dos ajustes la tipografía se ve floja en pantalla.
Forma
Las sombras nunca son negras: son violeta a baja opacidad, del mismo tono del acento. Es la otra mitad de lo que le da cohesión al sistema.
| Token | Valor | Dónde |
|---|---|---|
| --r | 10px | Botones, inputs, ítems de navegación, chips |
| --r2 | 14px | Tarjetas, paneles, modales |
| Radio píldora | 20px / 50px | Badges y botones con nombre |
| Sombra sutil | 0 1px 2px rgba(91,62,138,.06) | Reposo: teclas, controles |
| Sombra tarjeta | 0 10px 24px rgba(91,62,138,.09) | Tarjetas elevadas |
| Sombra activa | 0 4px 12px rgba(91,62,138,.25) | Elemento activo o botón primario |
| Sombra modal | 0 24px 60px rgba(91,62,138,.18) | Diálogos y overlays |
| Transición | .14s | Todo hover y cambio de estado |
Iconos: Tabler Icons 2.47 vía iconfont, a 16px dentro de la navegación. Es la librería que ya carga la Torre — no mezclar con Lucide ni Font Awesome en la misma app.
Seis reglas que resuelven el 90%
Si una pieza cumple estas seis, no hace falta revisarla línea por línea.
Un solo violeta por pieza
Marca o CTA dominando, no los dos peleando. El otro aparece en dosis chica.
El acento se gana el lugar
Amarillo y fucsia ocupan menos del 10% de la superficie. Si ocupan más, dejaron de destacar.
Texto oscuro, siempre
Todo cuerpo va en #271646 o #2B1E4F. El color va en el fondo, no en la tinta.
El degradado no se toca
F0DEFF a CBABF6 a A88CDE. El ángulo puede cambiar; los tres colores no.
Poppins arriba, Jakarta abajo
Titular en una, todo lo demás en la otra. Nunca las dos en la misma línea.
Blanco es un color
El respiro sobre el degradado se hace con tarjetas blancas, no bajando la saturación.
El bloque para copiar
Esto es lo que va al principio del <style> de cada app o pieza web. Reemplaza el :root que tenga hoy. Van las dos capas juntas: una pieza de marca usa los --br-* y una app interna usa el resto — declararlas juntas no cuesta nada y evita tener dos archivos que se desincronizan. A diferencia del original interno, este bloque ya viene sin el alias roto de --orange — acá --orange vale naranja de verdad (#EA580C), igual que --acc-orange en la Torre.
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap"> /* — Sistema Visual Carrello — */ :root{ /* — Capa 1 · Marca (público, campañas, landings) — */ --br-100:#F0DEFF; /* fondo base 240 222 255 */ --br-200:#E8D3FF; /* lavanda claro 232 211 255 */ --br-300:#D3BCF9; /* lavanda medio 211 188 249 */ --br-400:#CBABF6; /* violeta suave 203 171 246 */ --br-500:#B491E8; /* violeta medio 180 145 232 */ --br-600:#A88CDE; /* fondo intenso 168 140 222 */ --br-700:#683AD1; /* MARCA / campaña 104 58 209 */ --br-800:#5930CD; /* CTA 89 48 205 */ --br-900:#4C28BE; /* púrpura oscuro 76 40 190 */ --br-icon:#40268C; /* iconos y textos 64 38 140 */ --br-title:#271646; /* titulares 39 22 70 */ --br-ink:#2B1E4F; /* texto oscuro 43 30 79 */ --br-promo:#FFCA25; /* amarillo promo 255 202 37 */ --br-pink:#F467A6; /* fucsia contraste 244 103 166 */ --br-white:#FFFFFF; --br-grad:linear-gradient(135deg,#F0DEFF 0%,#CBABF6 50%,#A88CDE 100%); /* — Capa 2 · Aplicación (herramientas internas) — */ --purple:#5B3E8A; --purple2:#7C5AAE; --purple-bg:#F4F0FA; /* Neutrales (sesgo violeta) */ --bg:#FAFAFC; --card:#FFFFFF; --bdr:#E7E5F0; --bdr2:#D8D4E8; --tx:#211C33; --tx2:#5B5570; --tx3:#9B96AC; /* Semánticos */ --green:#16A34A; --green-bg:#F0FDF4; --amber:#D97706; --amber-bg:#FFFBEB; --red:#DC2626; --red-bg:#FEF2F2; --blue:#2563EB; --blue-bg:#EFF6FF; --teal:#0D9488; --teal-bg:#F0FDFA; --pink:#DB2777; --pink-bg:#FDF2F8; --indigo:#4F46E5; --indigo-bg:#EEF2FF; --cyan:#0891B2; --cyan-bg:#ECFEFF; --orange:#EA580C; --orange-bg:#FFF7ED; --gray:#6B7280; --gray-bg:#F3F4F6; /* Forma */ --r:10px; --r2:14px; --sh-1:0 1px 2px rgba(91,62,138,.06); --sh-2:0 10px 24px rgba(91,62,138,.09); --sh-3:0 4px 12px rgba(91,62,138,.25); --sh-modal:0 24px 60px rgba(91,62,138,.18); /* Tipografía */ --display:'Poppins','Plus Jakarta Sans',system-ui,sans-serif; --sans:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif; --mono:'JetBrains Mono','SF Mono',Consolas,monospace; } body{ font-family:var(--sans); font-size:13.5px; background:var(--bg); color:var(--tx); } .num,td.num,.kpi-v{ font-family:var(--mono); font-variant-numeric:tabular-nums; }
Referencia rápida
Pensada para imprimir o dejar abierta al lado mientras se produce. Dudas sobre una pieza antes de producirla: preguntar es más barato que rehacer.