Saltar al contenido

Tokens de diseño ​

Las variables CSS de esta página se leen de admin/src/styles/tokens.css al compilar el portal (scripts/gen-reference.mjs): lo que ves aquí es lo que usa el panel. Este mismo sitio se pinta con ellos.

Se usan siempre como var(--nombre). El modo oscuro redefine las variables bajo @media (prefers-color-scheme: dark) y [data-theme="dark"]; tu código no cambia.

Muestra aplicada ​

Un panel, texto, insignias, botones y un aviso con los tokens, en claro y oscuro. Es una muestra construida con CSS propio sobre las variables, no los componentes reales (esos están en el catálogo).

Claro

Panel

Texto principal sobre superficie. Texto atenuado para ayudas y metadatos.

NeutroAcentoCorrectoAtenciónErrorInformación
PrimarioSecundarioPeligro
Aviso en línea. El color transmite significado, nunca decoración.

Oscuro

Panel

Texto principal sobre superficie. Texto atenuado para ayudas y metadatos.

NeutroAcentoCorrectoAtenciónErrorInformación
PrimarioSecundarioPeligro
Aviso en línea. El color transmite significado, nunca decoración.

Tokens por grupo ​

Cada grupo se muestra en tema claro y tema oscuro, con independencia del tema de esta página.

Superficies

Fondos y bordes de la página, las tarjetas y las zonas hundidas.

Claro

  • --bg#f3f2ee
  • --surface#ffffff
  • --surface-alt#f8f7f4
  • --sunken#eceae4
  • --border#e2dfd8
  • --border-strong#cfcbc2

Oscuro

  • --bg#111114
  • --surface#1a1a1f
  • --surface-alt#202026
  • --sunken#26262d
  • --border#2e2e36
  • --border-strong#3d3d46

Texto

Colores de texto. `muted` y `faint` cumplen 4,5:1 (AA) sobre las superficies indicadas.

Claro

  • --ink#17171b
  • --ink-soft#3d3d44
  • --muted#6a6970
  • --faint#6f6d73
  • --inverse#ffffff

Oscuro

  • --ink#f1efea
  • --ink-soft#d0cec8
  • --muted#9a98a0
  • --faint#88868d
  • --inverse#17171b

Raíl de navegación

El lateral oscuro del panel, igual en claro y oscuro.

Claro

  • --rail#0b0b0b
  • --rail-active#2a2a30
  • --rail-ink#edebe6
  • --rail-muted#929098
  • --rail-w248px

Oscuro

  • --rail#0b0b0d
  • --rail-active#1f1f24
  • --rail-ink#edebe6
  • --rail-muted#929098
  • --rail-w248px

Marca y estados

Color solo con significado: el acento es la marca; verde, rojo, ámbar y azul indican estado.

Claro

  • --accent#cfa84a
  • --accent-soft#f9f5ef
  • --accent-ink#3d2b1f
  • --success#128a4a
  • --success-soft#ddf3e6
  • --danger#d92d20
  • --danger-soft#fde4e1
  • --warning#b54708
  • --warning-soft#fef0c7
  • --info#1d5fd1
  • --info-soft#e1ebfb
  • --scrimrgba(23, 23, 27, 0.45)
  • --focus#1d5fd1

Oscuro

  • --accent#cfa84a
  • --accent-soft#3a2c05
  • --accent-ink#f7cf6a
  • --success#3fb877
  • --success-soft#11301f
  • --danger#f2675b
  • --danger-soft#3a1512
  • --warning#e8924a
  • --warning-soft#3a2410
  • --info#6b9cf0
  • --info-soft#14233d
  • --scrimrgba(23, 23, 27, 0.45)
  • --focus#6b9cf0

Paneles

Degradado y borde de los paneles, calculados sobre `--accent`: cambian con la marca.

Claro

  • --accent-textcolor-mix(in srgb, var(--accent) 72%, var(--ink))
  • --panel-bordercolor-mix(in srgb, var(--accent) 26%, var(--border))
  • --panel-border-strongcolor-mix(in srgb, var(--accent) 55%, var(--border))
  • --panel-tintcolor-mix(in srgb, var(--accent) 5%, var(--surface))
  • --panel-headcolor-mix(in srgb, var(--accent) 3%, var(--surface-alt))
  • --row-hovercolor-mix(in srgb, var(--accent) 7%, transparent)
  • --row-activecolor-mix(in srgb, var(--accent) 12%, transparent)
  • --hairlinevar(--border)

Oscuro

  • --accent-textvar(--accent)
  • --panel-bordercolor-mix(in srgb, var(--accent) 34%, var(--border))
  • --panel-border-strongcolor-mix(in srgb, var(--accent) 55%, var(--border))
  • --panel-tintcolor-mix(in srgb, var(--accent) 9%, var(--surface-alt))
  • --panel-headcolor-mix(in srgb, var(--accent) 3%, var(--surface-alt))
  • --row-hovercolor-mix(in srgb, var(--accent) 7%, transparent)
  • --row-activecolor-mix(in srgb, var(--accent) 12%, transparent)
  • --hairlinevar(--border)

Gráficos

Serie principal, referencia y rejilla.

Claro

  • --chart-1#17171b
  • --chart-2#cfa84a
  • --chart-ref#cfcbc2
  • --chart-grid#eceae4

Oscuro

  • --chart-1#f1efea
  • --chart-2#cfa84a
  • --chart-ref#4a4a53
  • --chart-grid#26262d

Inicio del panel

Paneles oscuros con títulos dorados de la portada. Solo los usa el módulo insights.

Claro

  • --home-panel#141316
  • --home-panel-alt#1c1b1f
  • --home-panel-border#2a2930
  • --home-ink#f1efea
  • --home-muted#a3a1a8
  • --home-gold#e3bd5c
  • --home-tile#cfa84a
  • --home-tile-alt#c49c3f
  • --home-tile-linergba(23, 23, 27, 0.16)
  • --home-tile-ink#17171b
  • --home-tile-muted#45361a
  • --home-ok#3fb877
  • --home-warning#e8a24a
  • --home-down#f2675b
  • --home-off#57555d
  • --home-alert#d92d20
  • --home-series-1#e3bd5c
  • --home-series-2#f1efea
  • --home-series-3#8fb7a5
  • --home-series-4#d08d6a
  • --home-series-5#8592c4
  • --home-series-6#f2675b
  • --home-grid#2a2930

Oscuro

  • --home-panel#141316
  • --home-panel-alt#1c1b1f
  • --home-panel-border#2a2930
  • --home-ink#f1efea
  • --home-muted#a3a1a8
  • --home-gold#e3bd5c
  • --home-tile#cfa84a
  • --home-tile-alt#c49c3f
  • --home-tile-linergba(23, 23, 27, 0.16)
  • --home-tile-ink#17171b
  • --home-tile-muted#45361a
  • --home-ok#3fb877
  • --home-warning#e8a24a
  • --home-down#f2675b
  • --home-off#57555d
  • --home-alert#d92d20
  • --home-series-1#e3bd5c
  • --home-series-2#f1efea
  • --home-series-3#8fb7a5
  • --home-series-4#d08d6a
  • --home-series-5#8592c4
  • --home-series-6#f2675b
  • --home-grid#2a2930

Tipografía

Familias y escala de tamaños.

Claro

  • --font-display"Oswald", "Bebas Neue", "Avenir Next Condensed", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", sans-serif
  • --font-hand"Caveat", "Bradley Hand", "Segoe Print", "Noteworthy", "Comic Neue", cursive
  • --font"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif
  • --monoui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace
  • --fs-xs12px
  • --fs-sm13px
  • --fs-md14px
  • --fs-lg16px
  • --fs-xl20px
  • --fs-2xl24px
  • --fs-3xl30px

Oscuro

  • --font-display"Oswald", "Bebas Neue", "Avenir Next Condensed", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", sans-serif
  • --font-hand"Caveat", "Bradley Hand", "Segoe Print", "Noteworthy", "Comic Neue", cursive
  • --font"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif
  • --monoui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace
  • --fs-xs12px
  • --fs-sm13px
  • --fs-md14px
  • --fs-lg16px
  • --fs-xl20px
  • --fs-2xl24px
  • --fs-3xl30px

Espaciado

Escala de 4 px.

Claro

  • --s-14px
  • --s-28px
  • --s-312px
  • --s-416px
  • --s-520px
  • --s-624px
  • --s-832px
  • --s-1040px

Oscuro

  • --s-14px
  • --s-28px
  • --s-312px
  • --s-416px
  • --s-520px
  • --s-624px
  • --s-832px
  • --s-1040px

Radios

Esquinas redondeadas.

Claro

  • --r-sm6px
  • --r-md10px
  • --r-lg14px
  • --r-pill999px

Oscuro

  • --r-sm6px
  • --r-md10px
  • --r-lg14px
  • --r-pill999px

Sombras

Elevación de tarjetas y elementos flotantes.

Claro

  • --shadow-card0 1px 2px rgba(23, 23, 27, 0.05), 0 1px 1px rgba(23, 23, 27, 0.03)
  • --shadow-pop0 12px 32px rgba(23, 23, 27, 0.16), 0 2px 6px rgba(23, 23, 27, 0.08)

Oscuro

  • --shadow-card0 1px 2px rgba(0, 0, 0, 0.4)
  • --shadow-pop0 12px 32px rgba(0, 0, 0, 0.55)

Layout

Medidas fijas del marco del panel.

Claro

  • --topbar-h56px
  • --content-max1280px
  • --control-h36px
  • --drawer-w560px

Oscuro

  • --topbar-h56px
  • --content-max1280px
  • --control-h36px
  • --drawer-w560px

Cómo se aplican ​

css
.mi-panel {
  padding: var(--s-4) var(--s-5);
  border: 1px solid var(--panel-border);
  border-radius: var(--r-lg);
  background: linear-gradient(160deg, var(--panel-tint) 0%, var(--surface) 55%);
  box-shadow: var(--shadow-card);
  color: var(--ink);
  font-size: var(--fs-md);
}
.mi-panel__meta { color: var(--muted); font-size: var(--fs-xs); }

Estados: fondo --success-soft con texto --success; ídem para --warning, --danger y --info. El acento (--accent) es la marca: botón primario y títulos de panel (--accent-text).

Clases de base ​

admin/src/styles/base.css ofrece las clases que usan los componentes y que puedes usar en tus páginas cuando pintas tu propia lista:

ClaseEfecto
.ui-panelPanel con degradado suave y borde teñido con el acento
.ui-panel-titleTítulo de panel: tipografía de pantalla, mayúsculas, color de acento
.ui-bigCifra grande, números tabulares
.ui-labelEtiqueta pequeña en mayúsculas
.ui-rows, .ui-rowFilas separadas por líneas finas, con tinte del acento al pasar por encima
.numfont-variant-numeric: tabular-nums
.monoTipografía de código
.mutedColor --muted
.sr-onlySolo para lectores de pantalla

Tabla completa de tokens ​

Superficies ​

VariableClaroOscuroNota
--bg#f3f2ee#111114
--surface#ffffff#1a1a1f
--surface-alt#f8f7f4#202026
--sunken#eceae4#26262d
--border#e2dfd8#2e2e36
--border-strong#cfcbc2#3d3d46

Texto ​

VariableClaroOscuroNota
--ink#17171b#f1efea
--ink-soft#3d3d44#d0cec8
--muted#6a6970#9a98a0≥ 4,5:1 sobre bg, surface, surface-alt y sunken (AA)
--faint#6f6d73#88868d≥ 4,5:1 sobre bg, surface y surface-alt (AA)
--inverse#ffffff#17171b

Raíl de navegación ​

VariableClaroOscuroNota
--rail#0b0b0b#0b0b0d
--rail-active#2a2a30#1f1f24
--rail-ink#edebe6igual
--rail-muted#929098igual
--rail-w248pxigual

Marca y estados ​

VariableClaroOscuroNota
--accent#cfa84aigual
--accent-soft#f9f5ef#3a2c05
--accent-ink#3d2b1f#f7cf6a
--success#128a4a#3fb877
--success-soft#ddf3e6#11301f
--danger#d92d20#f2675b
--danger-soft#fde4e1#3a1512
--warning#b54708#e8924a
--warning-soft#fef0c7#3a2410
--info#1d5fd1#6b9cf0
--info-soft#e1ebfb#14233d
--scrimrgba(23, 23, 27, 0.45)igual
--focus#1d5fd1#6b9cf0

Paneles ​

VariableClaroOscuroNota
--accent-textcolor-mix(in srgb, var(--accent) 72%, var(--ink))var(--accent)títulos en acento legibles sobre fondo claro
--panel-bordercolor-mix(in srgb, var(--accent) 26%, var(--border))color-mix(in srgb, var(--accent) 34%, var(--border))
--panel-border-strongcolor-mix(in srgb, var(--accent) 55%, var(--border))igual
--panel-tintcolor-mix(in srgb, var(--accent) 5%, var(--surface))color-mix(in srgb, var(--accent) 9%, var(--surface-alt))
--panel-headcolor-mix(in srgb, var(--accent) 3%, var(--surface-alt))igual
--row-hovercolor-mix(in srgb, var(--accent) 7%, transparent)igual
--row-activecolor-mix(in srgb, var(--accent) 12%, transparent)igual
--hairlinevar(--border)igual

Gráficos ​

VariableClaroOscuroNota
--chart-1#17171b#f1efea
--chart-2#cfa84aigual
--chart-ref#cfcbc2#4a4a53
--chart-grid#eceae4#26262d

Inicio del panel ​

VariableClaroOscuroNota
--home-panel#141316igual
--home-panel-alt#1c1b1figual
--home-panel-border#2a2930igual
--home-ink#f1efeaigual
--home-muted#a3a1a8igual
--home-gold#e3bd5cigual
--home-tile#cfa84aigual
--home-tile-alt#c49c3figual
--home-tile-linergba(23, 23, 27, 0.16)igual
--home-tile-ink#17171bigual
--home-tile-muted#45361aigual
--home-ok#3fb877igual
--home-warning#e8a24aigual
--home-down#f2675bigual
--home-off#57555digual
--home-alert#d92d20igual
--home-series-1#e3bd5cigual
--home-series-2#f1efeaigual
--home-series-3#8fb7a5igual
--home-series-4#d08d6aigual
--home-series-5#8592c4igual
--home-series-6#f2675bigual
--home-grid#2a2930igual

Tipografía ​

VariableClaroOscuroNota
--font-display"Oswald", "Bebas Neue", "Avenir Next Condensed", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", sans-serifigual
--font-hand"Caveat", "Bradley Hand", "Segoe Print", "Noteworthy", "Comic Neue", cursiveigual
--font"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serifigual
--monoui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospaceigual
--fs-xs12pxigual
--fs-sm13pxigual
--fs-md14pxigual
--fs-lg16pxigual
--fs-xl20pxigual
--fs-2xl24pxigual
--fs-3xl30pxigual

Espaciado ​

VariableClaroOscuroNota
--s-14pxigual
--s-28pxigual
--s-312pxigual
--s-416pxigual
--s-520pxigual
--s-624pxigual
--s-832pxigual
--s-1040pxigual

Radios ​

VariableClaroOscuroNota
--r-sm6pxigual
--r-md10pxigual
--r-lg14pxigual
--r-pill999pxigual

Sombras ​

VariableClaroOscuroNota
--shadow-card0 1px 2px rgba(23, 23, 27, 0.05), 0 1px 1px rgba(23, 23, 27, 0.03)0 1px 2px rgba(0, 0, 0, 0.4)
--shadow-pop0 12px 32px rgba(23, 23, 27, 0.16), 0 2px 6px rgba(23, 23, 27, 0.08)0 12px 32px rgba(0, 0, 0, 0.55)

Layout ​

VariableClaroOscuroNota
--topbar-h56pxigual
--content-max1280pxigual
--control-h36pxigual
--drawer-w560pxigual

Contrato con el host: apiVersion 2. Sitio estático: no recoge datos ni usa servicios de terceros.