:root {
  --pngtpa-card-w: min(100%, 340px);
  --pngtpa-gold: #ffd100;
  --pngtpa-text: #f5f7fb;
  --pngtpa-muted: #aab6c8;
  --pngtpa-green: #2ecc71;
  --pngtpa-bg1: #030814;
  --pngtpa-bg2: #0a1830;
  --pngtpa-card: #0c1a2b;
  --pngtpa-glass: rgba(255,255,255,.08);
}
html .pngtpa-verify-body, html .pngtpa-verify-body body { margin: 0; }
.pngtpa-verify-body {
  min-height: 100vh;
  background: linear-gradient(180deg,var(--pngtpa-bg1),var(--pngtpa-bg2));
  color: var(--pngtpa-text);
}
.pngtpa-verify-body *, .pngtpa-id-wrap * { box-sizing: border-box; }
.pngtpa-verify-shell, .pngtpa-id-wrap { display:flex; justify-content:center; padding:16px 12px 22px; }
.pngtpa-id-stage { width: var(--pngtpa-card-w); margin:0 auto; }
.pngtpa-id-card { width:100%; display:grid; perspective:1200px; transform-style:preserve-3d; }
.pngtpa-card-face {
  grid-area:1 / 1;
  position:relative;
  border-radius:26px;
  overflow:hidden;
  background: linear-gradient(180deg,#0f1f36,#0b1626);
  box-shadow:0 30px 60px rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.08);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform-style:preserve-3d;
  transition: transform .65s ease, opacity .35s ease, visibility .35s ease;
  height: min(680px, calc(100svh - 78px));
  min-height: 560px;
}
.pngtpa-card-front { transform:rotateY(0deg); z-index:2; }
.pngtpa-card-back { transform:rotateY(180deg); opacity:0; visibility:hidden; z-index:1; }
.pngtpa-id-card.is-back .pngtpa-card-front { transform:rotateY(-180deg); opacity:0; visibility:hidden; z-index:1; }
.pngtpa-id-card.is-back .pngtpa-card-back { transform:rotateY(0deg); opacity:1; visibility:visible; z-index:2; }
.pngtpa-app-card-inner{height:100%;display:flex;flex-direction:column;position:relative;}
.pngtpa-card-face::before{
  content:"";
  position:absolute; inset:0; pointer-events:none; opacity:.12;
  background:
    radial-gradient(circle at top right, rgba(255,209,0,.24), transparent 20%),
    repeating-linear-gradient(45deg, rgba(255,209,0,.12) 0 7px, transparent 7px 14px),
    repeating-linear-gradient(-45deg, rgba(255,209,0,.06) 0 7px, transparent 7px 14px);
  mix-blend-mode:screen;
}
.pngtpa-brand-band{position:relative;z-index:1;padding:18px 20px 12px;text-align:center;}
.pngtpa-brand-band::after{content:"";display:block;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--pngtpa-gold),#ffe16f);margin-top:12px;}
.pngtpa-brand-logo{display:flex;justify-content:center;align-items:center;min-height:60px;}
.pngtpa-bilum-mark{position:absolute;inset:0;opacity:.08;background:repeating-linear-gradient(45deg, rgba(255,209,0,.18) 0 8px, transparent 8px 16px), repeating-linear-gradient(-45deg, rgba(255,255,255,.14) 0 8px, transparent 8px 16px);mix-blend-mode:screen;pointer-events:none;}
.pngtpa-brand-image{max-height:56px;max-width:140px;object-fit:contain;display:block;}
.pngtpa-brand-text{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,var(--pngtpa-gold),#efb500);color:#111827;font-size:24px;font-weight:900;box-shadow:0 10px 24px rgba(255,209,0,.2);}
.pngtpa-brand-sub{position:relative;z-index:1;font-size:11px;color:#f1d460;letter-spacing:3px;text-transform:uppercase;}
.pngtpa-front-scroll,.pngtpa-back-scroll{position:relative;z-index:1;flex:1;overflow:auto;padding:6px 18px 12px;-ms-overflow-style:none;scrollbar-width:none;}
.pngtpa-front-scroll::-webkit-scrollbar,.pngtpa-back-scroll::-webkit-scrollbar{display:none;}
.pngtpa-avatar-wrap{display:flex;flex-direction:column;align-items:center;margin-top:4px;}
.pngtpa-avatar{width:84px;height:84px;border-radius:999px;background:#ccc;overflow:hidden;border:3px solid rgba(255,255,255,.16);box-shadow:0 12px 22px rgba(0,0,0,.24);display:flex;align-items:center;justify-content:center;color:#111827;font-weight:800;}
.pngtpa-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.pngtpa-status-badge{margin-top:10px;display:inline-flex;padding:5px 12px;border-radius:999px;background:var(--pngtpa-green);color:#fff;font-size:11px;font-weight:800;}
.pngtpa-status-badge.status-inactive,.pngtpa-status-badge.status-contract-ended{background:#ad7a1d;}
.pngtpa-status-badge.status-suspended{background:#b82222;}
.pngtpa-app-name{font-size:22px;line-height:1.15;font-weight:800;text-align:center;margin:12px 0 6px;}
.pngtpa-app-role{font-size:14px;color:var(--pngtpa-gold);font-weight:700;text-align:center;}
.pngtpa-app-division{font-size:13px;color:var(--pngtpa-muted);text-align:center;margin:6px 0 14px;}
.pngtpa-id-qr{background:#fff;border-radius:18px;padding:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(0,0,0,.28);}
.pngtpa-id-qr img,.pngtpa-id-qr svg,.pngtpa-id-qr canvas{width:100%;height:100%;display:block;border-radius:10px;}
.pngtpa-id-qr.app-hero{width:154px;height:154px;margin:0 auto 10px;cursor:pointer;}
.pngtpa-id-qr.modal-qr{width:280px;height:280px;margin:16px auto 0;box-shadow:none;border:1px solid #ececec;}
.pngtpa-app-qr-note{text-align:center;font-size:13px;color:var(--pngtpa-muted);margin-bottom:14px;}
.pngtpa-app-blocks{display:grid;gap:10px;margin-bottom:14px;}
.pngtpa-app-block{display:flex;align-items:center;gap:12px;background:var(--pngtpa-glass);border:1px solid rgba(255,255,255,.07);padding:13px 14px;border-radius:14px;}
.pngtpa-app-block .icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(255,209,0,.14);color:var(--pngtpa-gold);font-weight:900;flex:0 0 auto;}
.pngtpa-app-block span{font-size:14px;font-weight:600;word-break:break-word;}
.pngtpa-share-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start;}
.pngtpa-share-icon{appearance:none;background:none;border:0;color:inherit;text-decoration:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font:inherit;}
.pngtpa-share-icon .icon-badge{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:18px;}
.pngtpa-share-icon .icon-badge.wa{background:rgba(37,211,102,.15);}
.pngtpa-share-icon span:last-child{font-size:11px;color:var(--pngtpa-muted);font-weight:600;}
.pngtpa-section-title{text-align:center;font-size:12px;letter-spacing:2px;color:var(--pngtpa-gold);margin:2px 0 14px;text-transform:uppercase;}
.pngtpa-back-blocks{display:grid;gap:10px;}
.pngtpa-back-blocks .pngtpa-app-block{flex-direction:column;align-items:flex-start;gap:6px;}
.pngtpa-back-blocks .pngtpa-app-block strong{font-size:10px;letter-spacing:1.8px;color:var(--pngtpa-muted);text-transform:uppercase;}
.pngtpa-back-blocks .pngtpa-app-block span{font-size:14px;font-weight:700;}
.pngtpa-back-blocks .full{grid-column:1 / -1;}
.pngtpa-verification-note{margin-top:14px;background:var(--pngtpa-glass);border:1px solid rgba(255,255,255,.07);padding:14px;border-radius:14px;font-size:13px;line-height:1.5;color:var(--pngtpa-text);}
.pngtpa-sig-wrap{text-align:center;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}
.pngtpa-sig-wrap img{max-width:180px;max-height:70px;object-fit:contain;filter:brightness(0) invert(1);opacity:.94;}
.pngtpa-sig-note{font-size:12px;color:var(--pngtpa-muted);line-height:1.5;margin-top:4px;}
.pngtpa-pager{position:relative;z-index:1;display:flex;justify-content:center;gap:10px;padding:12px 18px 18px;}
.pngtpa-pager .dot{appearance:none;border:0;width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.2);padding:0;cursor:pointer;}
.pngtpa-pager .dot.active{background:var(--pngtpa-gold);box-shadow:0 0 0 5px rgba(255,209,0,.12);cursor:default;}
.pngtpa-qr-modal{position:fixed;inset:0;background:rgba(3,4,8,.78);display:none;align-items:center;justify-content:center;z-index:999999;padding:16px;}
.pngtpa-qr-modal.open{display:flex;}
.pngtpa-qr-dialog{width:min(92vw,420px);background:#fff;color:#111;border-radius:24px;padding:22px;text-align:center;position:relative;}
.pngtpa-qr-close{position:absolute;top:10px;right:12px;background:transparent;color:#111;border:0;font-size:28px;cursor:pointer;}
.pngtpa-modal-url{margin:8px 0 0;color:#555;word-break:break-all;font-size:13px;}
.pngtpa-not-found{max-width:420px;margin:60px auto;background:#fff;color:#111;border-radius:20px;padding:24px;}
@media (max-width:480px){
  .pngtpa-id-stage{width:min(100%,340px);}
  .pngtpa-card-face{height:min(640px, calc(100svh - 58px)); min-height:520px;}
  .pngtpa-share-icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
  .pngtpa-app-name{font-size:20px;}
  .pngtpa-id-qr.app-hero{width:140px;height:140px;}
}
