.cert-progress{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:18px 22px;margin-bottom:22px;}
.cert-progress-item{display:flex;align-items:center;gap:12px;padding:7px 0;font-size:13.5px;color:var(--text-muted);}
.cpi-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;position:relative;transition:all .2s ease;}
.cert-progress-item.done{color:var(--text);}
.cert-progress-item.done .cpi-check{background:var(--teal);border-color:var(--teal);}
.cert-progress-item.done .cpi-check::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #0B0E14;border-width:0 2px 2px 0;transform:rotate(45deg);}
.cert-progress-count{margin-top:10px;padding-top:12px;border-top:1px dashed var(--border);font-family:var(--mono);font-size:13px;color:var(--amber);text-align:center;}
.cert-progress-count.done{color:var(--teal);}
.cert-shell{display:none;flex-direction:column;align-items:center;gap:20px;}
.cert-shell.unlocked{display:flex;animation:fadein .5s ease;}
@keyframes fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.cert-card{width:100%;max-width:600px;background:#FDFCF9;border:2px solid #C17F1F;border-radius:14px;padding:40px 36px;text-align:center;position:relative;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);}
.cert-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(193,127,31,.4);border-radius:8px;pointer-events:none;}
.cert-seal{font-size:38px;margin-bottom:10px;}
.cert-kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#6b7180;margin-bottom:6px;}
.cert-title{font-family:var(--mono);font-weight:800;font-size:26px;color:#B8721B;margin-bottom:18px;letter-spacing:.02em;}
.cert-card p{font-size:13.5px;color:#5a6072;margin:0 0 10px;}
.cert-card p b{color:#1c1f29;}
.cert-name{font-family:var(--mono);font-weight:700;font-size:22px;color:#14161f;margin:6px 0 16px;padding-bottom:10px;border-bottom:1px solid #ddd8cd;min-height:30px;word-break:break-word;}
.cert-footer{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px dashed #ddd8cd;flex-wrap:wrap;}
.cert-sig,.cert-date{font-family:var(--mono);font-size:11.5px;color:#6b7180;}
.cert-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:100%;max-width:600px;}
.cert-input{flex:1;min-width:180px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-family:var(--sans);font-size:13.5px;color:var(--text);}
.cert-input:focus{outline:none;border-color:var(--amber);}
.btn{font-family:var(--mono);font-size:12.5px;padding:9px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-panel-2);color:var(--text);cursor:pointer;transition:all .15s ease;}
.btn:hover{border-color:var(--amber);color:var(--amber);}
.btn-primary{background:var(--amber);border-color:var(--amber);color:#0B0E14;font-weight:700;}
.btn-primary:hover{background:#f2b25a;color:#0B0E14;}
@media print{
  body *{visibility:hidden;}
  .cert-card,.cert-card *{visibility:visible;}
  .cert-card{position:absolute;top:0;left:0;width:100%;max-width:none;box-shadow:none;}
}