@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";
@keyframes slideIn{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}:root{--bg-gradient:radial-gradient(circle at 0% 0%, #12131a 0%, #0c0d12 100%);--accent-color:#3b82f6;--accent-glow:#3b82f626;--success-color:#10b981;--success-glow:#10b98133;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-border-hover:#ffffff26;--gold:#f59e0b;--soroban-text:#c4b5fd;--soroban-border:#8b5cf64d;--soroban-bg:#8b5cf60d;--soroban-accent:#a78bfa;--link-color:#60a5fa;--link-hover-color:#93c5fd;--border-divider:#ffffff14;--btn-secondary-bg:#ffffff0d;--btn-secondary-bg-hover:#ffffff1a;--btn-secondary-text:#fff;--pre-bg:#0000004d;--pre-border:#ffffff14;--faq-hover-bg:#ffffff0a;--faq-hover-border:#ffffff1f;--badge-danger-bg:#ef444426;--badge-danger-text:#f87171;--badge-danger-border:#ef444466}.pageContainer{background:var(--bg-gradient);min-height:100vh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;font-family:Plus Jakarta Sans,sans-serif;display:flex;position:relative;overflow:hidden}.pageContainer:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#3b82f61f 0%,#0000 70%);width:500px;height:500px;position:absolute;top:-10%;left:-10%}.pageContainer:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#10b98114 0%,#0000 70%);width:600px;height:600px;position:absolute;bottom:-15%;right:-10%}.contentWrapper{z-index:10;flex-direction:column;gap:30px;width:100%;max-width:900px;animation:.8s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex}.brandHeader{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.logo{letter-spacing:-.5px;background:linear-gradient(135deg,#60a5fa 0%,#34d399 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:8px;font-family:Outfit,sans-serif;font-size:24px;font-weight:700;display:flex}.logoIcon{background:var(--success-color);width:12px;height:12px;box-shadow:0 0 10px var(--success-color);border-radius:3px;display:inline-block}.validationBadge{color:var(--success-color);background:#10b9811a;border:1px solid #10b98159;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:600;animation:3s ease-in-out infinite badgeGlow;display:flex;box-shadow:0 0 15px #10b9814d,inset 0 0 8px #10b9811a}.badgeDot{background-color:var(--success-color);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}.certCard{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:24px;padding:50px;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 20px 50px #0000004d}.certCard.revokedCert:before{content:"REVOCADO";color:#ef44442e;pointer-events:none;z-index:10;letter-spacing:5px;border:10px double #ef444440;border-radius:20px;padding:20px 40px;font-size:80px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-30deg)}.officialCertPaper.revokedCert:before{content:"REVOCADO";color:#ef44442e;pointer-events:none;z-index:10;letter-spacing:5px;border:10px double #ef444438;border-radius:20px;padding:20px 40px;font-size:70px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-30deg)}.certCard:hover{border-color:#f59e0b40;transform:translateY(-4px);box-shadow:0 30px 60px #00000073,0 0 24px #f59e0b1a}.certCard:before{content:"";border-top:3px solid #f59e0b66;border-left:3px solid #f59e0b66;border-top-left-radius:24px;width:40px;height:40px;position:absolute;top:0;left:0}.certCard:after{content:"";border-bottom:3px solid #f59e0b66;border-right:3px solid #f59e0b66;border-bottom-right-radius:24px;width:40px;height:40px;position:absolute;bottom:0;right:0}.certTitleContainer{text-align:center;border-bottom:1px solid #ffffff14;margin-bottom:35px;padding-bottom:25px}.certSubtitle{text-transform:uppercase;letter-spacing:3px;color:var(--gold);margin-bottom:8px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600}.certTitle{letter-spacing:-.5px;background:linear-gradient(90deg,#fff,#d1d5db);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 12px;font-family:Outfit,sans-serif;font-size:32px;font-weight:700}.certId{color:var(--text-secondary);background:#ffffff0a;border-radius:6px;margin-bottom:15px;padding:4px 12px;font-family:monospace;font-size:14px;display:inline-block}.academicLineHeader{color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;margin-top:10px;font-size:14px;display:flex}.academicLineTitle{color:#93c5fd;font-size:15px;font-weight:600}.academicLineDesc{color:#cbd5e1;max-width:600px;font-style:italic;line-height:1.4}.certBody{text-align:center;flex-direction:column;align-items:center;gap:25px;display:flex}.recipientSection{flex-direction:column;gap:5px;display:flex}.recipientLabel{text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary);font-size:13px}.recipientName{color:#fff;letter-spacing:-.5px;margin:5px 0;font-family:Outfit,sans-serif;font-size:38px;font-weight:700}.recipientRut{color:var(--text-secondary);font-size:14px}.courseSection{flex-direction:column;align-items:center;gap:8px;display:flex}.courseLabel{text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary);font-size:13px}.courseName{color:#60a5fa;margin:5px 0;font-family:Outfit,sans-serif;font-size:26px;font-weight:600}.programLink{color:#93c5fd;border-bottom:1px dashed #93c5fd;align-items:center;gap:6px;margin-top:5px;font-size:14px;text-decoration:none;transition:color .2s,border-color .2s;display:inline-flex}.programLink:hover{color:#3b82f6;border-color:#3b82f6}.certStats{border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;grid-template-columns:repeat(3,1fr);gap:20px;width:100%;margin-top:20px;padding:25px 0;display:grid}.statItem{flex-direction:column;gap:5px;display:flex}.statLabel{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);font-size:11px}.statValue{color:#fff;font-family:Outfit,sans-serif;font-size:22px;font-weight:700}.statValue.grade{color:var(--gold)}.blockchainSection{box-sizing:border-box;text-align:left;background:#ffffff05;border:1px solid #ffffff0d;border-radius:16px;width:100%;margin-top:35px;padding:20px 25px}.blockchainHeader{color:#a7f3d0;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.blockchainIcon{width:16px;height:16px;fill:var(--success-color)}.hashRow{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.hashRow:last-child{border-bottom:none}.hashLabel{color:var(--text-secondary)}.hashValue{color:#e2e8f0;font-family:monospace}.explorerLink{color:var(--link-color);align-items:center;gap:4px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.explorerLink:hover{color:var(--link-hover-color);text-decoration:underline}.accessBanner{background:linear-gradient(135deg,#1e293bb3 0%,#0f172acc 100%);border:1px solid #60a5fa26;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;padding:30px 40px;transition:border-color .3s;display:flex;box-shadow:0 10px 30px #0003}.accessBanner:hover{border-color:#60a5fa4d}.bannerText{flex-direction:column;gap:5px;display:flex}.bannerTitle{color:#fff;font-family:Outfit,sans-serif;font-size:18px;font-weight:600}.bannerSubtitle{color:var(--text-secondary);max-width:500px;font-size:14px;line-height:1.4}.bannerButton{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #2563eb4d}.bannerButton:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.errorContainer{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);text-align:center;border:1px solid #ef444433;border-radius:24px;flex-direction:column;align-items:center;gap:20px;max-width:500px;margin:0 auto;padding:60px 40px;display:flex;box-shadow:0 20px 50px #0000004d}.errorIcon{color:#ef4444;font-size:48px;animation:2s infinite pulse}.errorTitle{color:#fff;font-family:Outfit,sans-serif;font-size:24px;font-weight:700}.errorText{color:var(--text-secondary);font-size:15px;line-height:1.5}.backButton{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s}.backButton:hover{background:#ffffff1a}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.certCard{padding:30px 20px}.recipientName{font-size:28px}.courseName{font-size:20px}.certStats{grid-template-columns:1fr;gap:15px;padding:15px 0}.accessBanner{text-align:center;flex-direction:column;padding:25px 20px}.hashRow{flex-direction:column;align-items:flex-start;gap:4px}.hashValue{word-break:break-all}}.tabsContainer{border-bottom:1px solid var(--border-divider);gap:10px;margin-bottom:5px;padding-bottom:5px;display:flex}.tabButton{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:15px;font-weight:600;transition:all .2s}.tabButton:hover{color:var(--text-primary)}.tabButton.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.gridContainer{grid-template-columns:1fr;gap:30px;width:100%;display:grid}@media (min-width:1024px){.gridContainer{grid-template-columns:7fr 3fr}}.sidebar{flex-direction:column;gap:20px;display:flex}.sidebarCard{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;padding:24px;transition:all .3s;box-shadow:0 10px 30px #0003}.sidebarCard:hover{border-color:var(--glass-border-hover)}.linkedinButton{color:#fff;cursor:pointer;background:#0077b5;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:12px;padding:12px;font-size:14px;font-weight:600;transition:transform .2s,background .2s;display:flex}.linkedinButton:hover{background:#006399;transform:translateY(-1px)}.socialShareRow{justify-content:space-between;gap:8px;display:flex}.shareIconLink{width:40px;height:40px;color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex}.shareIconLink:hover{color:var(--text-primary);background:#ffffff1a;transform:translateY(-1px)}.sidebarActionBtn{color:#fff;cursor:pointer;text-align:center;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:10px;width:100%;padding:12px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 4px 12px #10b98133}.sidebarActionBtn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b9814d}.sidebarRedBtn{color:#fff;cursor:pointer;text-align:center;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;border-radius:10px;width:100%;padding:12px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 4px 12px #ef444433}.sidebarRedBtn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ef44444d}.faqSection{width:100%;margin-top:40px}.faqTitle{text-align:center;color:#fff;margin-bottom:20px;font-family:Outfit,sans-serif;font-size:24px;font-weight:700}.faqContainer{flex-direction:column;gap:12px;width:100%;max-width:900px;display:flex}.faqItem{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;transition:border-color .3s,background-color .3s,transform .2s;overflow:hidden}.faqItem:hover{border-color:var(--faq-hover-border);background:var(--faq-hover-bg);transform:translate(4px)}.faqQuestion{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:18px 24px;font-size:15px;font-weight:600;transition:background-color .2s;display:flex}.faqQuestion:hover{background:#ffffff05}.faqAnswer{color:var(--text-secondary);padding:0 24px 18px;font-size:14px;line-height:1.6}.faqIcon{transition:transform .3s}.faqItem.open .faqIcon{transform:rotate(180deg)}@media print{body{color:#000!important;background:#fff!important}.pageContainer{background:#fff!important;padding:0!important}.brandHeader,.tabsContainer,.sidebar,.accessBanner,.faqSection{display:none!important}.gridContainer{display:block!important}.certCard{box-shadow:none!important;background:#fff!important;border:none!important;padding:0!important}.certTitle{color:#000!important;-webkit-text-fill-color:initial!important;background:0 0!important}.recipientName,.courseName{color:#000!important}}.certLogoContainer{justify-content:center;align-items:center;width:100%;margin-bottom:25px;display:flex}.certLogo{object-fit:contain;border-radius:4px;max-width:240px;max-height:80px;transition:transform .3s}.certLogo:hover{transform:scale(1.05)}.certDescription{color:var(--text-primary);max-width:680px;margin:15px auto 25px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;line-height:1.8}.certDescription strong{color:#fff;font-weight:600}body.light-theme .certDescription strong{color:#0f172a}.certCourseDetail{border:1px dashed var(--glass-border);text-align:left;background:#ffffff05;border-radius:12px;width:100%;max-width:600px;margin:0 auto 15px;padding:16px 20px}body.light-theme .certCourseDetail{background:#00000005}.detailLabel{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.detailText{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}body.light-theme{--bg-gradient:radial-gradient(circle at 50% 50%, #fcf9f5 0%, #f5efe8 100%);--accent-color:#2563eb;--accent-glow:#2563eb0f;--success-color:#059669;--success-glow:#0596691a;--text-primary:#1c1917;--text-secondary:#57534e;--glass-bg:#fcf9f5d9;--glass-border:#1c191712;--glass-border-hover:#1c19171f;--soroban-text:#5b21b6;--soroban-border:#6d28d926;--soroban-bg:#6d28d90a;--soroban-accent:#6d28d9;--link-color:#2563eb;--link-hover-color:#1d4ed8;--border-divider:#1c191712;--btn-secondary-bg:#1c19170a;--btn-secondary-bg-hover:#1c191714;--btn-secondary-text:#1c1917;--pre-bg:#1c191708;--pre-border:#1c191712;--faq-hover-bg:#1c191708;--faq-hover-border:#1c191712;--badge-danger-bg:#dc26261a;--badge-danger-text:#b91c1c;--badge-danger-border:#dc262633}body.light-theme .certCard{box-shadow:0 20px 40px #1c19170a}body.light-theme .certTitle{background:linear-gradient(90deg,#1c1917,#2563eb);-webkit-text-fill-color:transparent;-webkit-background-clip:text}body.light-theme .certId{color:#57534e;background:#1c19170a}body.light-theme .academicLineTitle{color:#2563eb}body.light-theme .academicLineDesc{color:#292524}body.light-theme .recipientName,body.light-theme .statValue:not(.grade){color:#1c1917}body.light-theme .blockchainSection{background:#1c191705;border-color:#1c19170a}body.light-theme .blockchainHeader{color:#065f46}body.light-theme .blockchainSection[style*=border-top] .blockchainHeader{color:#5b21b6}body.light-theme .hashRow{border-bottom-color:#1c19170a}body.light-theme .hashValue{color:#1c1917}body.light-theme .shareIconLink{color:#57534e;background:#fcf9f580;border-color:#1c191712}body.light-theme .shareIconLink:hover{color:#1c1917;background:#1c19170f}body.light-theme .faqItem{background:#fcf9f5b3;border-color:#1c19170d}body.light-theme .faqQuestion:hover{background:#1c191705}body.light-theme .faqAnswer{color:#57534e}body.light-theme .accessBanner{background:linear-gradient(135deg,#f5efe8 0%,#ebe1d6 100%);border-color:#2563eb33;box-shadow:0 10px 30px #1c191708}body.light-theme .bannerTitle{color:#1c1917}body.light-theme .bannerSubtitle{color:#57534e}.defaultCertLogo{border:1px dashed var(--glass-border);background:linear-gradient(135deg,#3b82f60d 0%,#10b9810d 100%);border-radius:12px;flex-direction:column;align-items:center;gap:10px;min-width:220px;padding:16px 24px;display:flex}body.light-theme .defaultCertLogo{background:linear-gradient(135deg,#2563eb08 0%,#05966908 100%)}.defaultLogoIcon{width:32px;height:32px;fill:var(--accent-color)}.defaultLogoText{letter-spacing:-.2px;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:14px;font-weight:600}.officialCertPaper{aspect-ratio:4/3;box-sizing:border-box;color:#1c1917;background-color:#fafaf9;border:1px solid #d6d3d1;width:100%;max-width:900px;margin:0 auto;padding:20px;position:relative;overflow:hidden;box-shadow:0 15px 35px #00000026}.officialCertPaper:before{content:"";pointer-events:none;z-index:1;background-image:radial-gradient(circle at 100% 150%,#78716c08 24%,#0000 24%),radial-gradient(circle at 0 150%,#78716c08 24%,#0000 24%),linear-gradient(#78716c03 1px,#0000 1px),linear-gradient(90deg,#78716c03 1px,#0000 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px;position:absolute;inset:0}.certBorderDecoration{outline-offset:-8px;box-sizing:border-box;z-index:2;border:2px solid #a8a29e;outline:6px double #d6d3d1;flex-direction:column;justify-content:space-between;align-items:center;height:100%;padding:20px 30px;display:flex;position:relative}.certAprobacionText{text-transform:uppercase;letter-spacing:2px;color:#78716c;margin-top:5px;font-family:Outfit,sans-serif;font-size:12px}.certStudentName{color:#1c1917;text-align:center;letter-spacing:-.5px;margin:4px 0;font-family:Outfit,sans-serif;font-size:26px;font-weight:700}.certAprobacionSub{color:#78716c;margin:2px 0;font-size:12px;font-style:italic}.certCourseName{color:#1e3a8a;text-align:center;max-width:600px;margin:4px 0;font-family:Outfit,sans-serif;font-size:18px;font-weight:700;line-height:1.3}.certCourseDescShort{color:#57534e;text-align:center;max-width:480px;margin-bottom:5px;font-size:11px;line-height:1.4}.certBottomRow{justify-content:space-between;align-items:flex-end;width:100%;margin-top:auto;display:flex}.certBottomLeft,.certBottomRight{flex-direction:column;flex:1;display:flex}.certBottomLeft{align-items:flex-start}.certBottomRight{align-items:flex-end}.certBottomCenter{flex-direction:column;align-items:center;gap:4px;display:flex}.certQrCodeContainer{background:#fff;border:1px solid #e7e5e4;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:flex;box-shadow:0 4px 10px #00000008}.certQrCode{width:72px;height:72px;display:block}.certDateText{color:#78716c;text-align:center;font-size:10px;font-weight:500}.certStamp{color:#ef4444;letter-spacing:1px;background:#ef444405;border:2px double #ef4444;border-radius:6px;flex-direction:column;align-items:center;margin-left:10px;padding:4px 8px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;display:flex;transform:rotate(-12deg)}.stampSubText{margin-top:1px;font-size:9px;font-weight:600}.certSignatureBlock{flex-direction:column;align-items:center;margin-right:10px;display:flex}.certSignatureLine{background-color:#a8a29e;width:120px;height:1px;margin-bottom:4px}.certSignatureLabel{color:#78716c;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.certSignatureOtec{color:#1c1917;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:160px;margin-top:2px;font-size:10px;font-weight:500;overflow:hidden}@media print{.officialCertPaper{max-width:100%!important;box-shadow:none!important;aspect-ratio:4/3!important;background:#fff!important;border:none!important;padding:0!important}.certBorderDecoration{padding:20px!important}}@media (max-width:768px){.officialCertPaper{aspect-ratio:auto!important;padding:12px!important}.certBorderDecoration{outline-offset:-6px!important;gap:15px!important;padding:15px 20px!important}.certLogoContainer{margin-bottom:5px!important}.certStudentName{margin:2px 0!important;font-size:20px!important}.certCourseName{margin:2px 0!important;font-size:15px!important}.certCourseDescShort{margin-bottom:2px!important;font-size:10px!important}.certBottomRow{flex-direction:column!important;align-items:center!important;gap:16px!important;margin-top:10px!important}.certSignatureBlock{margin-right:0!important}.certStamp{margin-left:0!important;transform:none!important}}@keyframes badgeGlow{0%{box-shadow:0 0 10px #10b98133,inset 0 0 4px #10b9810d}50%{box-shadow:0 0 20px #10b98180,inset 0 0 10px #10b98140}to{box-shadow:0 0 10px #10b98133,inset 0 0 4px #10b9810d}}.themeToggleButton{background:var(--btn-secondary-bg);border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.themeToggleButton:hover{background:var(--btn-secondary-bg-hover);border-color:var(--glass-border-hover)}.sidebarSecondaryBtn{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--glass-border);cursor:pointer;border-radius:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:600;transition:background-color .2s,border-color .2s}.sidebarSecondaryBtn:hover{background:var(--btn-secondary-bg-hover);border-color:var(--glass-border-hover)}.metadataPre{background:var(--pre-bg);border:1px solid var(--pre-border);white-space:pre-wrap;word-break:break-all;color:var(--text-primary);border-radius:8px;margin:0;padding:12px;font-family:monospace;font-size:12px}
