.qr-sheet-body { margin: 0; background: #eeeae3; color: #20392c; font-family: system-ui, sans-serif; line-height: 1.4; }
.qr-sheet-body *, .qr-sheet-body *::before, .qr-sheet-body *::after { box-sizing: border-box; }
.qr-preview { padding: 1rem; }
.qr-preview__controls { max-width: 180mm; margin: 0 auto 1.5rem; display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.qr-preview__controls p { margin: 0; width: 100%; font-size: 0.875rem; }
.qr-preview__controls [role="alert"] { color: #a42b24; }
.qr-sheet { --sheet-accent: #234b35; --sheet-paper: #fffcf5; --sheet-heading: Georgia, "Times New Roman", serif; max-width: 180mm; min-height: 240mm; padding: 10mm; margin: auto; border: 1mm double var(--sheet-accent); background: var(--sheet-paper); text-align: center; overflow-wrap: anywhere; }
.qr-sheet[data-theme="birthday"] { --sheet-accent: #0959c6; --sheet-paper: #fffdf7; --sheet-heading: "Trebuchet MS", system-ui, sans-serif; color: #0d3269; border-style: dashed; }
.qr-sheet[data-theme="party"] { --sheet-accent: #70359b; --sheet-paper: #fffbff; --sheet-heading: "Trebuchet MS", system-ui, sans-serif; color: #35214c; border-style: dotted; }
.qr-sheet__artwork { display: block; width: 100%; height: 22mm; object-fit: contain; }
.qr-sheet__theme { margin: 2mm 0; font-size: 0.75rem; font-weight: bold; text-transform: uppercase; letter-spacing: 0.15em; }
.qr-sheet h1 { margin: 3mm 0; font: bold clamp(1.75rem, 5vw, 2.5rem)/1.08 var(--sheet-heading); color: var(--sheet-accent); }
.qr-sheet__invitation { margin: 3mm 0; font: 1.125rem/1.4 var(--sheet-heading); }
.qr-sheet .event-invitation { max-width: none; margin: 0; padding: 0; border: 0; background: none; }
.qr-sheet .event-invitation h2, .qr-sheet .event-invitation > p:not(.event-invitation__status) { display: none; }
.qr-sheet .event-invitation__qr { width: 70mm; max-width: 100%; margin: 4mm auto 0; background: white; }
.qr-sheet .event-invitation__status { min-height: 1.4em; margin: 0; }
.qr-sheet__instruction { max-width: 130mm; margin: 3mm auto; font-size: 0.9375rem; }
.qr-sheet__details { margin: 5mm 0; padding-top: 4mm; border-top: 1px solid currentColor; font-size: 1rem; }
.qr-sheet__details p { margin: 2mm 0; }
.qr-sheet__brand { margin: 4mm 0 0; font-weight: bold; font-size: 1.125rem; }
.qr-sheet-body :focus-visible { outline: 3px solid #a83f2f; outline-offset: 3px; }
@page { size: portrait; margin: 10mm; }
@media print {
  .qr-sheet-body { background: white; }
  .qr-preview { padding: 0; }
  .qr-preview__controls, .qr-sheet .event-invitation__actions, .qr-sheet .event-invitation__status { display: none; }
  .qr-sheet { width: 100%; max-width: none; margin: 0; min-height: 240mm; break-inside: avoid; box-shadow: none; }
  .qr-sheet h1 { font-size: 22pt; }
  .qr-sheet .event-invitation__qr { width: 70mm; max-width: none; print-color-adjust: exact; }
}
@media screen and (max-width: 480px) {
  .qr-preview { padding: 0.75rem; }
  .qr-sheet { min-height: 0; padding: 5mm; }
  .qr-sheet__details { font-size: 0.875rem; }
}
