
body{margin:0;background:#e9edf2;font-family:Arial,Helvetica,sans-serif;color:#172033}
.bap-cert-page{padding:24px}
.bap-cert-actions{max-width:1120px;margin:0 auto 12px;display:flex;justify-content:space-between;align-items:center}
.bap-cert-actions button{background:#0c2340;color:#fff;border:0;padding:12px 20px;border-radius:6px;cursor:pointer}
.bap-status{font-weight:700;padding:7px 12px;border-radius:999px;background:#dff3e4;color:#145c2a}
.bap-cert-canvas{position:relative;width:1120px;height:792px;max-width:100%;aspect-ratio:1.414/1;margin:auto;background:#f8f5ea;border:none;box-sizing:border-box;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 8px 32px rgba(0,0,0,.18)}
.bap-el{position:absolute;box-sizing:border-box;padding:4px;display:flex;align-items:center;justify-content:center;white-space:pre-wrap;overflow:hidden}
.bap-el-qr img{width:100%;height:100%;object-fit:contain}
.bap-fallback{text-align:center;padding:120px 80px}
.bap-cert-list{margin:24px 0}
.bap-cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.bap-cert-card{border:1px solid #d9dee7;border-radius:12px;padding:18px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.bap-cert-card h4{margin:8px 0;color:#0c2340}
.bap-cert-category{font-size:12px;text-transform:uppercase;color:#b21f2d;font-weight:700}
.bap-cert-card a{display:inline-block;margin-top:8px;text-decoration:none;font-weight:700}
.bap-verification-card{max-width:600px;margin:80px auto;background:#fff;padding:32px;border-radius:12px;text-align:center}
@media print{
  body{background:#fff}
  .no-print{display:none!important}
  .bap-cert-page{padding:0}
  .bap-cert-canvas{box-shadow:none;border:none;width:297mm;height:210mm;max-width:none}
  @page{size:A4 landscape;margin:0}
}


/* v2.5.3 public verification rendering */
.bap-certificate-verification-page{
  margin:0;
  padding:0;
  background:#eef1f5;
}
.bap-cert-canvas .bap-el{
  min-width:0;
  min-height:0;
}
.bap-cert-canvas .bap-el-image{
  padding:0;
}
.bap-cert-canvas .bap-el-image > img{
  display:block;
  width:100%;
  height:100%;
}
@media screen and (max-width:1160px){
  .bap-cert-page{
    padding:12px;
  }
  .bap-cert-canvas{
    max-width:none;
  }
}


/* v2.5.4 printable certificate background */
.bap-cert-background-image{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
  user-select:none;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.bap-cert-canvas > .bap-el{
  position:absolute;
}
@media print{
  .bap-cert-background-image{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* v2.5.5 printable safe-area enforcement */
.bap-cert-canvas{
  contain:layout paint;
  isolation:isolate;
}
.bap-cert-canvas > .bap-el{
  max-width:100%;
  max-height:100%;
  overflow:hidden;
}
.bap-cert-canvas .bap-el-qr{
  padding:2px;
}
@media print{
  .bap-cert-canvas{
    overflow:hidden!important;
    contain:layout paint!important;
  }
}


/* v2.5.7: unissued preview certificate numbers are screen-only */
@media print{
  [data-bap-preview-number="1"]{
    display:none!important;
  }
}

/* v2.6.0 portrait and landscape certificate pages */
.bap-cert-canvas.bap-orientation-landscape{
  width:1120px;
  height:792px;
  aspect-ratio:1120/792;
}
.bap-cert-canvas.bap-orientation-portrait{
  width:792px;
  height:1120px;
  aspect-ratio:792/1120;
}
.bap-cert-page-landscape{page:bap-cert-landscape}
.bap-cert-page-portrait{page:bap-cert-portrait}
@page bap-cert-landscape{size:A4 landscape;margin:0}
@page bap-cert-portrait{size:A4 portrait;margin:0}
@media print{
  .bap-cert-canvas.bap-orientation-landscape{width:297mm;height:210mm;max-width:none}
  .bap-cert-canvas.bap-orientation-portrait{width:210mm;height:297mm;max-width:none}
}
