.certificate-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:none;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .4s}.cert-btn,.view-certificate{transition:.3s}.certificate-modal.show{display:flex;opacity:1}.certificate-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);backdrop-filter:blur(10px);animation:.3s fadeIn}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.certificate-modal-content{position:relative;z-index:10;width:90vw;height:90vh;animation:.5s slideInUp;display:flex;flex-direction:column}@keyframes slideInUp{from{transform:translateY(50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.certificate-modal-close{position:absolute;top:-15px;right:-15px;width:50px;height:50px;background:linear-gradient(135deg,#f093fb 0,#f5576c 100%);border:3px solid #fff;border-radius:50%;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;z-index:11;box-shadow:0 5px 20px rgba(0,0,0,.3)}.certificate-image-wrapper,.certificate-paper{border-radius:10px;overflow:hidden;display:flex}.certificate-modal-close:hover{transform:rotate(90deg) scale(1.1);background:linear-gradient(135deg,#667eea 0,#764ba2 100%)}.certificate-paper{background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.5);position:relative;animation:3s ease-in-out infinite paperFloat;flex-direction:column;height:100%}@keyframes paperFloat{0%,100%{transform:translateY(0) rotateX(0)}50%{transform:translateY(-10px) rotateX(2deg)}}.paper-shadow{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(102,126,234,.1) 0,transparent 50%,rgba(118,75,162,.1) 100%);pointer-events:none}.paper-content{padding:15px;position:relative;z-index:2;display:flex;flex-direction:column;height:100%}.certificate-modal-title{text-align:center;color:#1a1a2e;margin-bottom:10px;font-weight:700;font-size:clamp(1rem, 2vw, 1.5rem);background:linear-gradient(135deg,#667eea 0,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex-shrink:0}.certificate-image-wrapper{position:relative;flex:1;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.2);background:#f8f9fa;min-height:0}.certificate-image-wrapper img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;transition:transform .3s;cursor:zoom-in;object-fit:contain}.certificate-image-wrapper img.zoomed{transform:scale(2);cursor:zoom-out}.certificate-image-wrapper img.rotated-90{transform:rotate(90deg)}.certificate-image-wrapper img.rotated-180{transform:rotate(180deg)}.certificate-image-wrapper img.rotated-270{transform:rotate(270deg)}.certificate-image-wrapper img.zoomed.rotated-90{transform:rotate(90deg) scale(2)}.certificate-image-wrapper img.zoomed.rotated-180{transform:rotate(180deg) scale(2)}.certificate-image-wrapper img.zoomed.rotated-270{transform:rotate(270deg) scale(2)}.certificate-actions{display:flex;gap:10px;justify-content:center;margin-top:10px;flex-wrap:wrap;flex-shrink:0}.cert-btn{padding:10px 20px;border:none;border-radius:50px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.9rem;box-shadow:0 4px 15px rgba(0,0,0,.2)}.cert-btn i{font-size:1rem}.cert-btn-zoom{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff}.cert-btn-zoom:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.cert-btn-rotate{background:linear-gradient(135deg,#f093fb 0,#f5576c 100%);color:#fff}.cert-btn-rotate:hover{transform:translateY(-3px) rotate(90deg);box-shadow:0 6px 20px rgba(240,147,251,.4)}.cert-btn-download{background:linear-gradient(135deg,#4facfe 0,#00f2fe 100%);color:#fff}.cert-btn-download:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(79,172,254,.4)}.view-certificate:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.3)}@media (max-width:768px){.certificate-modal-content{width:95vw;height:95vh}.paper-content{padding:10px}.certificate-modal-close{top:-10px;right:-10px;width:40px;height:40px;font-size:1.2rem}.certificate-modal-title{font-size:.9rem;margin-bottom:8px}.certificate-image-wrapper img.zoomed{transform:scale(1.5)}.certificate-actions{gap:8px;margin-top:8px}.cert-btn{padding:8px 15px;font-size:.8rem;gap:5px}.cert-btn i{font-size:.9rem}}@media (max-width:480px){.certificate-modal-content{width:98vw;height:98vh}.paper-content{padding:8px}.certificate-modal-title{font-size:.85rem;margin-bottom:5px}.certificate-actions{gap:5px;margin-top:5px}.cert-btn{padding:7px 12px;font-size:.75rem}}.certificate-image-wrapper::before{content:'';position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:1s linear infinite spin;opacity:0;transition:opacity .3s}.certificate-image-wrapper.loading::before{opacity:1}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}