@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..700;1,6..96,400..700&family=Inter:wght@400;500;600&display=swap');
:root {
  --background: 43 33% 95%; --foreground: 0 0% 8%; --card: 43 33% 95%;
  --card-foreground: 0 0% 8%; --popover: 43 33% 95%; --popover-foreground: 0 0% 8%;
  --primary: 0 0% 8%; --primary-foreground: 43 33% 95%; --secondary: 40 22% 90%;
  --secondary-foreground: 0 0% 8%; --muted: 40 22% 90%; --muted-foreground: 33 6% 46%;
  --accent: 41 51% 62%; --accent-foreground: 0 0% 8%; --destructive: 0 60% 42%;
  --destructive-foreground: 43 33% 95%; --border: 40 26% 90%; --input: 40 26% 90%;
  --ring: 41 51% 62%; --radius: .25rem;
}
* { border-color: hsl(var(--border)); box-sizing: border-box; }
html { background:#F7F4EE; }
body { margin:0; font-family:'Inter',sans-serif; background:#F7F4EE; color:#141414; overflow-x:clip; -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font:inherit; }
@keyframes rise { from { opacity:0; transform:translateY(16px) } to { opacity:1; transform:translateY(0) } }
.animate-rise { animation:rise .6s cubic-bezier(.22,1,.36,1) both; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
@media print {
  @page { size:A4; margin:15mm; }
  html,body { background:#fff!important; }
  .print-sheet { width:100%; margin:0!important; padding:0!important; box-shadow:none!important; }
  .avoid-break { break-inside:avoid; page-break-inside:avoid; }
  .allow-break { break-inside:auto; page-break-inside:auto; }
  .print-footer { position:fixed; bottom:6mm; left:15mm; right:15mm; display:flex; align-items:center; justify-content:center; font:8pt 'Inter',sans-serif; letter-spacing:.15em; text-transform:uppercase; color:#7B746B; }
}
