{
"schemaVersion": 2,
"generatedAt": "2026-08-16T00:00:00.000Z",
"title": "Design System: LabPréstamos",
"extensions": {
"colorMeta": {
"cream": { "role": "neutral", "displayName": "Cream Paper", "canonical": "#f4efea" },
"frost": { "role": "neutral", "displayName": "Frost White", "canonical": "#ffffff" },
"chalk": { "role": "neutral", "displayName": "Chalk Gray", "canonical": "#f8f8f7" },
"ink": { "role": "neutral", "displayName": "Charcoal Ink", "canonical": "#383838" },
"pencil": { "role": "neutral", "displayName": "Pencil Gray", "canonical": "#a1a1a1" },
"primary": { "role": "primary", "displayName": "Sky Crayon", "canonical": "#6fc2ff" },
"secondary": { "role": "secondary", "displayName": "Duck Bill Orange", "canonical": "#ff9538" },
"danger": { "role": "danger", "displayName": "Coral Sketch (fill)", "canonical": "#f38e84" },
"danger-text": { "role": "danger", "displayName": "Coral Sketch (text, AA-darkened)", "canonical": "#a83224" },
"positive": { "role": "success", "displayName": "Mint Sketch", "canonical": "#38c1b0" }
},
"typographyMeta": {
"body": { "displayName": "Body / Mono", "purpose": "Universal voice — every role through weight, size, and case." },
"label": { "displayName": "Label", "purpose": "Uppercase structural labels: nav, buttons, form labels, headers." }
},
"shadows": [
{ "name": "hard", "value": "-6px 6px 0 0 #383838", "purpose": "The system's only shadow — every raised element at rest." },
{ "name": "hard-sm", "value": "-3px 3px 0 0 #383838", "purpose": "Active/pressed state of a raised element (halfway press)." }
],
"motion": [
{ "name": "press", "value": "transform: translate(-6px, 6px); transition: transform 100ms ease-out;", "purpose": "Hover/focus on any raised element — presses into its own shadow." }
],
"breakpoints": [
{ "name": "md", "value": "768px" }
]
},
"components": [
{
"name": "Primary Button",
"kind": "button",
"refersTo": "button-primary",
"description": "The system's default call to action.",
"html": "",
"css": ".ds-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border-radius:2px; border:2px solid #383838; font-family:'JetBrains Mono Variable',monospace; letter-spacing:0.02em; font-weight:500; box-shadow:-6px 6px 0 0 #383838; transition:transform 100ms ease-out; } .ds-btn:hover, .ds-btn:focus-visible { transform:translate(-6px,6px); box-shadow:0 0 0 0 transparent; } .ds-btn-primary { background:#6fc2ff; color:#383838; }"
},
{
"name": "Secondary Button",
"kind": "button",
"refersTo": "button-secondary",
"description": "White-filled, charcoal-outlined — never a second brand color.",
"html": "",
"css": ".ds-btn-secondary { background:#ffffff; color:#383838; }"
},
{
"name": "Ghost Button",
"kind": "button",
"refersTo": "button-ghost",
"description": "Low-commitment counterpart — Cancelar/Limpiar.",
"html": "",
"css": ".ds-btn-ghost { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border-radius:2px; border:2px solid rgba(56,56,56,0.35); background:transparent; color:#383838; font-family:'JetBrains Mono Variable',monospace; letter-spacing:0.02em; font-weight:500; } .ds-btn-ghost:hover { background:#f8f8f7; border-color:#383838; }"
},
{
"name": "Raised Card",
"kind": "card",
"refersTo": "card",
"description": "Discrete, singular, actionable surface — login card, dashboard tile, KPI tile.",
"html": " Ver material disponible.Catálogo