Files
bsk/app/globals.css
T
tiennm99 86046ace4f feat(reports): prescription & ultrasound PDFs, wider Excel exports, print CSS
Restores the original's full print/report surface (it had three JasperReports
templates; only the invoice existed):

- prescription PDF: dosage-prominent, no prices, doctor + signature line
- ultrasound/imaging report PDF: template title, diagnosis/conclusion, up to
  4 embedded images (downloaded server-side via signed URL)
- Excel exports added for patient roster, medicine+service catalog (2 sheets),
  and monthly paid-revenue with a grand-total row
- browser print CSS (@page A4, chrome hidden via data-print-hidden)

All PDFs use the bundled Be Vietnam Pro family so diacritics render.
2026-07-25 14:57:23 +07:00

85 lines
1.9 KiB
CSS

@import "tailwindcss";
@theme {
--color-background: oklch(1 0 0);
--color-foreground: oklch(0.145 0 0);
--color-primary: oklch(0.205 0 0);
--color-primary-foreground: oklch(0.985 0 0);
--color-muted: oklch(0.97 0 0);
/* Darkened from 0.556 → 0.50 for WCAG AA at small (text-xs) sizes. */
--color-muted-foreground: oklch(0.5 0 0);
--color-border: oklch(0.922 0 0);
--font-sans: var(--font-be-vietnam-pro), ui-sans-serif, system-ui, sans-serif;
--font-mono: ui-monospace, "Courier New", monospace;
--radius: 0.5rem;
}
@media (prefers-color-scheme: dark) {
@theme {
--color-background: oklch(0.145 0 0);
--color-foreground: oklch(0.985 0 0);
--color-primary: oklch(0.985 0 0);
--color-primary-foreground: oklch(0.205 0 0);
--color-muted: oklch(0.269 0 0);
--color-muted-foreground: oklch(0.708 0 0);
--color-border: oklch(0.269 0 0);
}
}
html,
body {
height: 100%;
}
body {
background: var(--color-background);
color: var(--color-foreground);
font-family: var(--font-sans);
}
/* Respect users who ask the OS to reduce motion (vestibular safety). */
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
/*
* Browser-print support for screens (e.g. the checkup detail page). The
* primary print path is the server-rendered PDFs (lib/pdf/*) — this block
* only cleans up whatever screen the user hits Ctrl+P on directly.
*/
@media print {
nav,
aside,
header,
[data-print-hidden] {
display: none !important;
}
* {
background: transparent !important;
box-shadow: none !important;
color: #000 !important;
}
body {
color: #000;
}
tr,
li {
break-inside: avoid;
}
@page {
size: A4;
margin: 12mm;
}
}