/* Passport cards. On screen they are a preview at real size; in print only the sheet remains. */
.psheet { display: flex; flex-wrap: wrap; gap: 4mm; align-items: flex-start; background: #fff; color: #000; padding: 6mm; border: 1px solid var(--line); border-radius: 10px; }
.psheet * { box-sizing: border-box; }
.psheet .plogo { height: 5.2mm; width: auto; display: block; }
.psheet .pq { line-height: 0; } .psheet .pq svg { display: block; }
.psheet .pc { font-family: ui-monospace, Menlo, Consolas, monospace; font-weight: 700; letter-spacing: .08em; }
.psheet .ph { color: #444; }

/* credit-card size card */
.pcard { width: 85.6mm; height: 54mm; border: .25mm dashed #999; border-radius: 3mm; padding: 4mm; display: grid; grid-template-columns: 31mm 1fr; gap: 3.5mm; align-items: center; break-inside: avoid; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; background: #fff; }
.pcard .pt { display: grid; gap: 1.1mm; align-content: center; min-width: 0; }
.pcard .pk { font-size: 2.6mm; letter-spacing: .28em; font-weight: 700; margin-top: .6mm; }
.pcard .pm { font-size: 3.4mm; font-weight: 650; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pcard .pv { font-size: 2.3mm; line-height: 1.3; color: #333; }
.pcard .pc { font-size: 3.3mm; margin-top: .6mm; } .pcard .ph { font-size: 2.2mm; }

/* A6 insert */
.pa6 { width: 105mm; height: 148mm; overflow: hidden; border: .25mm dashed #999; padding: 7mm 8mm 5mm; display: flex; flex-direction: column; align-items: center; text-align: center; break-inside: avoid; page-break-after: always; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; background: #fff; }
.pa6 .plogo { height: 6mm; } .pa6 .pk { font-size: 3.4mm; letter-spacing: .32em; font-weight: 700; margin-top: 3mm; } .pa6 .pst { font-size: 2.8mm; color: #333; line-height: 1.3; margin: 1mm 0 3mm; }
.pa6 .pc { font-size: 4.4mm; margin: 2mm 0 2.5mm; }
.pa6 dl { width: 100%; margin: 0 0 2.5mm; font-size: 2.8mm; } .pa6 dl div { display: flex; justify-content: space-between; gap: 4mm; padding: .9mm 0; border-top: .2mm solid #ccc; text-align: left; } .pa6 dt { color: #555; flex: none; } .pa6 dd { margin: 0; font-weight: 600; text-align: right; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pa6 .pi { font-size: 2.4mm; line-height: 1.3; color: #333; margin: 0 0 1.2mm; } .pa6 .ph { font-size: 2.6mm; margin-top: auto; }

@page cardsheet { size: A4; margin: 10mm; }
@page a6sheet { size: A6; margin: 0; }
.psheet.size-card { page: cardsheet; } .psheet.size-a6 { page: a6sheet; }

@media print {
  html, body { background: #fff !important; }
  .topbar, .noprint, .toasts, dialog { display: none !important; }
  .page { padding: 0 !important; max-width: none !important; }
  .psheet { border: 0; border-radius: 0; padding: 0; gap: 3mm; }
  .psheet.size-card { justify-content: center; }
  .psheet.size-a6 { gap: 0; display: block; }
  .pa6 { border: 0; margin: 0; }
  .pcard { border-color: #bbb; }
}
