/* One layout for the preview and the CR80 (85.6 × 54 mm) print. */
#modal:has(.final-card) .modal-card{width:min(610px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:18px 18px 16px}
#modal:has(.final-card) .close{z-index:2}
.final-card{box-sizing:border-box;display:flex;flex-direction:column;gap:8px;width:100%;aspect-ratio:85.6 / 54;min-height:0;height:auto;padding:18px 20px 13px;overflow:hidden;border:1px solid #dce5f8;border-radius:14px;background:linear-gradient(145deg,#f5f8ff,#fff);color:#1c3568;font-family:Tahoma,Arial,sans-serif}
.final-card *{box-sizing:border-box}
.final-card header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:25px;padding:0 0 7px;border-bottom:1px solid #dce5f8}
.final-card .card-title{margin:0;font-size:11px;white-space:nowrap}.final-card .card-brand{font-size:14px;white-space:nowrap}
.final-card .plastic-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:8px}
.final-card .id-profile{display:flex;align-items:center;gap:12px;min-width:0;padding:0}
.final-card .id-profile>div:last-child{min-width:0}.final-card .id-profile h2{font-size:21px;line-height:1.25;margin:0 0 5px;overflow-wrap:anywhere}
.final-card .id-profile p{font-size:12px;white-space:nowrap}
.final-card .child-photo-slot{width:78px;height:86px;min-width:78px;flex:none;overflow:hidden;border:2px solid #fff;border-radius:11px;background:#fcebd0;box-shadow:none}
.final-card .child-photo-slot span{font-size:40px}.final-card .child-photo-slot small{font-size:8px}
.final-card .child-photo-slot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.final-card .square-code{justify-self:end;align-self:center;width:132px;height:140px;margin:0;border:0;border-radius:7px;padding:3px;box-shadow:0 2px 8px #243b651a;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.final-card .real-qr img{width:126px;height:126px;object-fit:contain;image-rendering:pixelated}.final-card .real-qr small{font-size:9px;line-height:1;padding:2px 0}
.final-card .id-details{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:5px 7px}
.final-card .id-details div{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;min-width:0;min-height:29px;padding:4px 7px;border-radius:7px;overflow:hidden}
.final-card .id-details small{flex:none;font-size:11px;white-space:nowrap}.final-card .id-details b{min-width:0;font-size:12px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.final-card footer{flex:none;margin:0;padding-top:4px;border-top:1px solid #e4eaf8;text-align:center;font-size:8px}
.child-card-print-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.child-card-print-actions small{flex-basis:100%;color:#667692;font-size:11px}.child-card-photo-label{cursor:pointer;display:inline-flex;align-items:center}.child-card-photo-label input{display:none}
@media(max-width:520px){#modal:has(.final-card) .modal-card{padding:12px}.final-card{padding:10px;gap:4px}.final-card .card-brand{font-size:10px}.final-card .card-title{font-size:8px}.final-card .plastic-layout{grid-template-columns:minmax(0,1fr) 65px;gap:4px}.final-card .child-photo-slot{width:46px;height:52px;min-width:46px}.final-card .child-photo-slot span{font-size:24px}.final-card .child-photo-slot small{font-size:6px}.final-card .id-profile{gap:5px}.final-card .id-profile h2{font-size:11px}.final-card .id-profile p{font-size:7px}.final-card .square-code{width:65px;height:72px}.final-card .real-qr img{width:62px;height:62px}.final-card .real-qr small{font-size:5px}.final-card .id-details{gap:2px}.final-card .id-details div{min-height:19px;padding:2px 3px}.final-card .id-details small,.final-card .id-details b{font-size:6px}.final-card footer{font-size:6px}}
@media print{
 @page{size:85.6mm 54mm;margin:0}
 html,body{width:85.6mm!important;height:54mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body{display:block!important;min-height:0!important}
 .final-card{width:85.6mm!important;height:54mm!important;min-height:0!important;max-height:54mm!important;aspect-ratio:auto!important;gap:1mm!important;padding:2.5mm 3mm 1.8mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-inside:avoid}
 .final-card header{min-height:4.5mm!important;padding:0 0 .7mm!important;gap:1mm!important}
 .final-card .card-brand{font-size:8pt!important}.final-card .card-title{font-size:6pt!important;padding:.5mm 1mm!important}
 .final-card .plastic-layout{grid-template-columns:minmax(0,1fr) 24mm!important;gap:.5mm!important;min-height:0!important}
 .final-card .id-profile{gap:1.5mm!important;padding:0!important}.final-card .id-profile h2{font-size:11.5pt!important;line-height:1.2!important;margin:0 0 .5mm!important}.final-card .id-profile p{font-size:7pt!important;margin:0!important}
 .final-card .child-photo-slot{width:15mm!important;height:17mm!important;min-width:15mm!important;border-width:.4mm!important}.final-card .child-photo-slot span{font-size:8mm!important}.final-card .child-photo-slot small{font-size:4pt!important}
 .final-card .square-code{width:24mm!important;height:26mm!important;border:0!important;padding:.4mm!important;box-shadow:none!important}.final-card .real-qr img{width:23mm!important;height:23mm!important}.final-card .real-qr small{font-size:5pt!important;padding:0!important}
 .final-card .id-details{gap:.6mm .8mm!important}.final-card .id-details div{min-height:4.3mm!important;padding:.3mm .7mm!important;border-radius:1mm!important}.final-card .id-details small{font-size:6pt!important}.final-card .id-details b{font-size:6.5pt!important}
 .final-card footer{margin:0!important;padding:.3mm 0 0!important;font-size:4.5pt!important}
 .child-card-print-actions,.close{display:none!important}
}
