--- name: LabPréstamos description: Sistema institucional UABC para préstamo de material de laboratorio — la bitácora de papel y Excel, digitalizada. colors: verde-institucional: "#00723F" verde-institucional-hover: "#005f34" dorado-uabc: "#DD971A" dorado-uabc-hover: "#c78614" superficie: "#F4F7F5" tinta: "#2D3748" peligro: "#C53030" typography: headline: fontFamily: "Inter Variable, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif" fontSize: "1.5rem (2xl) → 1.875rem (3xl) md+" fontWeight: 600 lineHeight: 1.25 title: fontFamily: "Inter Variable, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif" fontSize: "1.125rem" fontWeight: 600 lineHeight: 1.4 body: fontFamily: "Inter Variable, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif" fontSize: "0.875rem" fontWeight: 400 lineHeight: 1.5 label: fontFamily: "Inter Variable, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif" fontSize: "0.875rem" fontWeight: 500 lineHeight: 1.3 caption: fontFamily: "Inter Variable, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif" fontSize: "0.75rem" fontWeight: 400 lineHeight: 1.4 rounded: control: "0.5rem" emphasis: "1rem" pill: "9999px" spacing: tight: "0.5rem" base: "1rem" loose: "1.5rem" section: "2rem" components: button-primary: backgroundColor: "{colors.verde-institucional}" textColor: "#ffffff" rounded: "{rounded.control}" padding: "10px 16px" button-secondary: backgroundColor: "{colors.dorado-uabc}" textColor: "#ffffff" rounded: "{rounded.control}" padding: "10px 16px" button-ghost: backgroundColor: "transparent" textColor: "{colors.tinta}" rounded: "{rounded.control}" padding: "10px 16px" card: backgroundColor: "#ffffff" textColor: "{colors.tinta}" rounded: "{rounded.control}" padding: "24px" input: backgroundColor: "#ffffff" textColor: "{colors.tinta}" rounded: "{rounded.control}" padding: "10px 12px" --- # Design System: LabPréstamos ## Overview **Creative North Star: "La Bitácora Digital"** LabPréstamos is the printed loan sheet and the Excel logbook it used to feed, collapsed into one live surface. Every visual decision defends that lineage: nothing decorative, nothing that would feel out of place next to an official UABC form, but nothing that feels like a cold spreadsheet either. The system is **cálido pero confiable** — warm but reliable — and it earns the "warm" half narrowly: a gold accent, soft rounded corners, and gentle motion sit on top of an otherwise flat, administrative base. The page itself stays flat and quiet — white cards on a pale green-grey surface, hairline borders instead of shadows, tabular numbers lined up like a real ledger. Depth is reserved for the two things that are genuinely *floating above* the page: the toast notifications and the mobile navigation dock. That asymmetry is deliberate — it is how the system tells the eye "this is the document" from "this is the chrome." Two audiences read this bitácora differently. The alumno's default device is the phone — the catalog, the request modal, the pill-shaped floating dock are all tuned for thumbs. The admin's default device is the desktop — dense tables, a persistent sidebar, KPI tiles. Neither view degrades on the other's device; every screen ships both a table and a card-list rendering. **Key Characteristics:** - Flat administrative base (white cards, hairline ink-tinted borders, no ambient shadow) - Shadow appears only on floating overlay chrome — the mobile dock and toasts — never on the page plane - Every status is a tinted pill: 12–15% color wash background, full-strength text - Tabular numbers everywhere a quantity, date, or stock figure appears - One typeface (Inter Variable) carrying every role through weight and size alone - Motion is a courtesy, not a performance: `motion-safe:`-gated, specific-property transitions, no `transition-all` ## Colors Two institutional hues carry the whole palette under a strict 60/30/10 split — green dominant, gold as a deliberately rare accent, everything else neutral ink and white. ### Primary - **Verde Institucional** (`#00723F`): the UABC green. Primary buttons, the desktop sidebar's entire background, active nav states, focus rings, "healthy/positive" status pills (disponible, aprobado, devuelto), the login mark. This is the color of the system's authority — it appears on anything that confirms, approves, or orients. ### Secondary - **Dorado UABC** (`#DD971A`): the institutional gold. Used sparingly and only as an accent — secondary buttons, the "en préstamo" KPI tile, "mantenimiento" status pills, the logo-mark square on the sidebar/mobile header. Never the dominant color of a screen. ### Neutral - **Superficie** (`#F4F7F5`): the page background — a near-white green-grey, not pure white. Everything else (cards, dialogs, the desktop sidebar's text, dock) sits on top of it. - **Tinta** (`#2D3748`): body text, and — critically — the **source color for every border in the system**. Borders are never a fixed gray; they're `color-mix(in oklab, var(--color-ink) N%, transparent)` at 8–20% depending on prominence. This ties every hairline to the same ink token instead of a separate gray scale. - **Peligro** (`#C53030`): errors, destructive actions, and the one status that is allowed to break the tinted-pill convention (see Named Rules). ### Named Rules **The Ink-Mix Border Rule.** Every hairline border and divider is `color-mix(in oklab, var(--color-tinta) N%, transparent)`, never a literal gray hex. A border is always "ink, diluted," so it stays coherent with body text at any opacity. **The Vencido Exception.** Every status pill uses the tinted-fill pattern (see Components → Badges) *except* an overdue loan ("Vencido"), which gets a solid `peligro` fill with white text — on both the table badge and, on mobile, a light danger wash across the entire card background. This is the system's one permitted alarm: reserve a solid semantic fill for the single state that genuinely needs to interrupt a scan, and only that state. ## Typography **Body & Display Font:** Inter Variable (with `ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif` fallback) **Character:** One typeface for the entire system — hierarchy comes from weight and size, never a second family. It reads as a single, consistent institutional voice rather than a "brand font + UI font" split. ### Hierarchy - **Headline** (600, 1.5rem → 1.875rem at `md:`, 1.25 line-height): page-level `