/* A4 统一拼版：人员固定卡与开放日活动券均为 3 列 × 3 行。 */
.a4-print-pages{display:none}
.activity-a4-pages{display:grid;justify-content:center;gap:24px;margin:0 auto}
.a4-sheet{width:210mm;height:297mm;padding:12mm;background:#fff;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));align-content:stretch;overflow:hidden;box-sizing:border-box;box-shadow:0 18px 48px rgba(17,54,44,.12)}
.a4-slot{min-width:0;min-height:0;overflow:hidden;border:.32mm dashed #8fa39b;background:#fff;box-sizing:border-box}
.a4-slot>.a4-card{width:100%;height:100%;min-height:0!important;margin:0!important;padding:4mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden;box-sizing:border-box}
.a4-slot .idcard-v2{display:flex;flex-direction:column;text-align:center}
.a4-slot .idcard-v2 header{min-height:9mm;gap:2mm}
.a4-slot .idcard-v2 header b{font-size:11pt}.a4-slot .idcard-v2 header small{font-size:7pt}.a4-slot .idcard-v2 header span{display:none}
.a4-slot .idcard-v2>img{width:34mm;height:34mm;margin:2.5mm auto 1.5mm}
.a4-slot .idcard-person-v2 h2{font-size:14pt;line-height:1.2}.a4-slot .idcard-person-v2 p{font-size:7.5pt}
.a4-slot .idcard-v2 .idcard-rules{margin-top:auto;padding-top:2mm;font-size:6.7pt;line-height:1.45;text-align:left}
.a4-slot .activity-paper-ticket{display:flex;flex-direction:column;text-align:left;background:linear-gradient(145deg,#fff 0,#fff 70%,#f1f7f4 100%)}
.a4-slot .activity-ticket-brand{min-height:8mm;align-items:flex-start;gap:2mm;padding-bottom:2mm;border-bottom:.22mm solid #dce7e2}.a4-slot .activity-ticket-brand b{font-size:10pt;color:#153d33}.a4-slot .activity-ticket-brand small,.a4-slot .activity-ticket-brand span{font-size:6.4pt;line-height:1.25}.a4-slot .activity-ticket-brand span{max-width:29mm;padding:1.2mm 2mm;border-radius:99mm;background:#e8f3ee;color:#0f6b54;text-align:right}
.a4-slot .activity-ticket-main{display:grid;grid-template-columns:minmax(0,1fr) 25mm;align-items:center;gap:2.5mm;padding:4mm 0 3mm}.a4-slot .activity-ticket-main img{width:25mm;height:25mm;margin:0;padding:1.2mm;border:.22mm solid #d8e2de;border-radius:2mm;background:#fff}
.a4-slot .activity-ticket-copy{min-width:0}.a4-slot .activity-ticket-copy>small{display:block;margin-bottom:1.2mm;color:#a77c38;font-size:6.2pt;font-weight:800;letter-spacing:.08em}.a4-slot .activity-ticket-copy h2{display:-webkit-box;max-height:12mm;margin:0 0 2mm;overflow:hidden;color:#173d33;font-size:12pt;line-height:1.25;-webkit-line-clamp:2;-webkit-box-orient:vertical}.a4-slot .activity-ticket-copy strong{display:block;color:#0f6b54;font-size:20pt;line-height:1}.a4-slot .activity-ticket-copy strong small{font-size:9pt}
.a4-slot .activity-ticket-details{display:grid;gap:1.5mm;padding:2.2mm 2.5mm;border-radius:2mm;background:#f3f6f4}.a4-slot .activity-ticket-details>div{display:grid;grid-template-columns:12mm minmax(0,1fr);align-items:center;gap:1.5mm}.a4-slot .activity-ticket-details span{color:#73827c;font-size:6.1pt}.a4-slot .activity-ticket-details b{min-width:0;overflow:hidden;color:#314e45;font-size:6.4pt;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.a4-slot .activity-paper-ticket>footer{display:flex;align-items:flex-end;justify-content:space-between;gap:2mm;margin-top:auto;padding-top:2mm;border-top:.22mm dashed #c8d5d0;line-height:1.35}.a4-slot .activity-paper-ticket>footer b{color:#0f6b54;font-size:6.5pt}.a4-slot .activity-paper-ticket>footer span{max-width:28mm;color:#71807a;font-size:5.8pt;text-align:right}

@media(max-width:860px){.activity-a4-pages{display:block;overflow-x:auto;padding-bottom:12px}}

/* 固定卡打印前 A4 预览 */
.print-preview-dialog{width:min(1180px,calc(100vw - 32px));max-width:1180px;height:min(92vh,920px);max-height:920px;padding:0;border:1px solid #dce7e2;border-radius:24px;overflow:hidden;background:#f3f5f3;box-shadow:0 30px 90px rgba(7,39,31,.28)}
.print-preview-dialog::backdrop{background:rgba(7,35,28,.58);backdrop-filter:blur(3px)}
.print-preview-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.print-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 26px 18px;background:#fff;border-bottom:1px solid #dde7e2}
.print-preview-head h2{margin:4px 0 2px;font-size:25px;color:#143c32}.print-preview-head p{margin:0;color:#71817b;font-size:13px}
.print-preview-scroll{min-height:0;overflow:auto;padding:24px;background:linear-gradient(135deg,#edf2ef,#e4ebe7)}
.a4-preview-pages{display:grid;justify-content:center;gap:24px}
.a4-preview-pages .a4-sheet{transform:scale(var(--preview-scale,.72));transform-origin:top center;margin-bottom:calc((297mm * var(--preview-scale,.72)) - 297mm);box-shadow:0 16px 44px rgba(12,45,36,.2)}
.print-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 26px;background:#fff;border-top:1px solid #dce6e1}.print-preview-foot>span{color:#6e7e78;font-size:13px}.print-preview-foot>div{display:flex;gap:10px}
@media(max-width:760px){.print-preview-dialog{width:calc(100vw - 16px);height:calc(100vh - 16px);border-radius:18px}.print-preview-head{padding:18px}.print-preview-head h2{font-size:21px}.print-preview-scroll{padding:16px 8px}.print-preview-foot{align-items:stretch;flex-direction:column;padding:13px 16px}.print-preview-foot>div{display:grid;grid-template-columns:1fr 1fr}.print-preview-foot button{width:100%}}

@media print{
  @page{size:A4 portrait;margin:0}
  html,body{width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}
  .topbar,.mobile-bottom-nav,.nav-backdrop,.print-hide{display:none!important}
  .container{width:210mm!important;max-width:none!important;margin:0!important;padding:0!important}
  .idcard-grid-v2{display:none!important}
  .a4-print-pages{display:block!important;margin:0!important}
  .a4-sheet{width:210mm!important;height:297mm!important;margin:0!important;padding:12mm!important;box-shadow:none!important;break-after:page;page-break-after:always}
  .a4-sheet:last-child{break-after:auto;page-break-after:auto}
  .a4-slot{break-inside:avoid;page-break-inside:avoid}
}
