/* JFR Gateway V2.6.7 — JFR Learning Certificate Center */
.jfr-cert-launch{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.jfr-cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jfr-cert-card{position:relative;overflow:hidden;border:1px solid #dbe4ec;background:linear-gradient(145deg,#fff,#f9fbfd);border-radius:18px;padding:18px;box-shadow:0 12px 28px rgba(19,45,68,.08)}
.jfr-cert-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0e3b70,#c9a34a,#0e3b70)}
.jfr-cert-card .cert-kicker{font-size:9px;letter-spacing:.16em;font-weight:900;color:#8c6b28}.jfr-cert-card h3{margin:7px 0 4px;font-size:17px;color:#102d50}.jfr-cert-card p{margin:0;color:#65758a;font-size:10px;line-height:1.6}.jfr-cert-card .cert-no{display:inline-flex;margin-top:10px;padding:5px 9px;border-radius:999px;background:#eef5fb;color:#23496f;font-size:9px;font-weight:800}.jfr-cert-card .cert-score{position:absolute;right:16px;top:17px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:2px solid #c7a24d;background:#fff8df;color:#8d671f;font-size:15px;font-weight:950}.jfr-cert-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.jfr-cert-actions button{font-size:10px}.jfr-cert-status{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:9px;font-weight:800}.jfr-cert-status i{width:8px;height:8px;border-radius:50%;background:#13a56b}.jfr-cert-status.revoked i{background:#d74444}.jfr-cert-status.revoked{color:#b23737}.jfr-cert-empty{border:1px dashed #cbd8e3;border-radius:18px;background:#fbfdff;padding:22px;text-align:center}.jfr-cert-empty .icon{font-size:35px}.jfr-cert-empty h3{margin:8px 0 5px}.jfr-cert-eligible{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.jfr-cert-eligible>div{border:1px solid #e0e8ef;border-radius:14px;padding:13px;background:#fff}.jfr-cert-eligible b{display:block;font-size:13px;color:#173a5d}.jfr-cert-eligible small{font-size:9px;color:#75879a}.jfr-cert-admin-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:13px}.jfr-cert-admin-head h2{margin:0}.jfr-cert-admin-list{display:grid;gap:9px}.jfr-cert-admin-row{display:grid;grid-template-columns:1.45fr .8fr .7fr .7fr .9fr auto;gap:10px;align-items:center;border:1px solid #e0e8ef;border-radius:13px;background:#fff;padding:11px 12px;font-size:10px}.jfr-cert-admin-row.head{background:#f2f6f9;color:#6d7f91;font-weight:850}.jfr-cert-admin-row b{display:block;color:#173a5d}.jfr-cert-admin-row small{display:block;color:#7a8b9c}.jfr-cert-admin-issue{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid #e0e8ef;border-radius:14px;background:#fff;margin-bottom:10px}.jfr-cert-admin-issue select{min-width:220px}.jfr-cert-note{margin-top:13px;border-radius:13px;background:#fff8e6;border:1px solid #f0d99e;color:#765b22;padding:11px 12px;font-size:9px;line-height:1.55}
@media(max-width:820px){.jfr-cert-grid,.jfr-cert-eligible{grid-template-columns:1fr}.jfr-cert-admin-row{grid-template-columns:1fr 1fr}.jfr-cert-admin-row.head{display:none}.jfr-cert-admin-row>span:first-child{grid-column:1/-1}}

/* Standalone certificate page */
.cert-page{margin:0;background:#eef2f5;color:#10253d;font-family:"Hiragino Sans","Yu Gothic",Meiryo,Arial,sans-serif}.cert-toolbar{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:10px;padding:12px;background:rgba(13,37,63,.94);backdrop-filter:blur(8px)}.cert-toolbar button,.cert-toolbar a{border:0;border-radius:10px;padding:10px 15px;background:#fff;color:#11365d;font-weight:850;text-decoration:none;cursor:pointer}.cert-toolbar .primary{background:#d2ad57;color:#172c44}.certificate-stage{padding:22px;display:flex;justify-content:center}.jfr-certificate-paper{width:210mm;min-height:297mm;box-sizing:border-box;background:#fff;position:relative;overflow:hidden;padding:14mm 15mm 13mm;box-shadow:0 18px 55px rgba(24,43,62,.18);color:#0d2744}.jfr-certificate-paper:before,.jfr-certificate-paper:after{content:"";position:absolute;inset:7mm;border:1px solid #c8a249;pointer-events:none}.jfr-certificate-paper:after{inset:9mm;border-width:2px;border-color:#173e6c}.cert-corner{position:absolute;width:43mm;height:43mm;background:linear-gradient(135deg,#123e74 0 45%,#c9a24e 46% 50%,transparent 51%)}.cert-corner.tl{left:0;top:0}.cert-corner.br{right:0;bottom:0;transform:rotate(180deg)}.cert-watermark{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:125mm;height:125mm;border-radius:50%;border:1px solid rgba(27,72,112,.04);box-shadow:0 0 0 18mm rgba(27,72,112,.018),0 0 0 36mm rgba(27,72,112,.012);pointer-events:none}.cert-top{position:relative;z-index:2;text-align:center}.cert-logo{width:29mm;height:29mm;object-fit:contain;display:block;margin:0 auto 1mm}.cert-org{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:16pt;font-weight:800;letter-spacing:.04em}.cert-brand{font-size:14pt;font-weight:900;color:#164a79;margin-top:1mm}.cert-title{margin:7mm 0 1mm;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:34pt;letter-spacing:.18em;color:#102c4d}.cert-title-en{font-family:Georgia,"Times New Roman",serif;letter-spacing:.22em;font-size:12pt;color:#284564}.cert-rule{width:88mm;height:1px;background:#c9a24e;margin:4mm auto}.cert-intro{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:10.5pt;line-height:1.75}.cert-meta-top{position:absolute;right:15mm;top:13mm;z-index:3;text-align:right;font-size:8.5pt;line-height:1.55}.cert-fields{position:relative;z-index:2;width:145mm;margin:8mm auto 0;display:grid;grid-template-columns:38mm 1fr;row-gap:4mm;align-items:end}.cert-label{font-weight:850;font-size:10pt}.cert-label small{display:block;font-size:7pt;font-weight:600;color:#637588}.cert-value{border-bottom:1px solid #7f94a7;padding:0 0 2mm;font-size:12pt;font-weight:800;min-height:7mm}.cert-name{font-family:Georgia,"Yu Mincho",serif;font-size:20pt;letter-spacing:.04em}.cert-badge{position:absolute;right:17mm;top:153mm;z-index:3;width:33mm;height:33mm;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#fff8d9,#d7ad50);border:2px solid #b78d37;box-shadow:inset 0 0 0 2px #f6e5aa,0 5px 14px rgba(117,84,24,.15);font-family:Georgia,serif;color:#765417}.cert-badge b{font-size:18pt;line-height:1}.cert-badge span{font-size:7pt;font-weight:900;letter-spacing:.08em}.cert-disclaimer{position:relative;z-index:2;margin:8mm auto 0;width:165mm;text-align:center;font-size:7.5pt;line-height:1.6;color:#3d5165}.cert-footer{position:relative;z-index:2;margin:8mm auto 0;width:165mm;display:grid;grid-template-columns:38mm 1fr 40mm;gap:8mm;align-items:end}.cert-qr svg{width:31mm;height:31mm;display:block}.cert-qr small{display:block;font-size:6.6pt;margin-top:1mm;color:#53697e}.cert-issuer{border-top:1px solid #c7d0d8;padding-top:3mm;font-size:9pt;line-height:1.75}.cert-issuer b{font-size:10.5pt}.cert-seal{width:34mm;height:34mm;object-fit:contain;mix-blend-mode:multiply}.cert-tagline{position:relative;z-index:2;margin-top:8mm;text-align:center;color:#244766;font-family:Georgia,"Yu Mincho",serif;font-size:9pt;letter-spacing:.08em}.cert-verify-state{max-width:210mm;margin:15px auto;padding:10px 15px;border-radius:10px;background:#fff;font-size:12px}.cert-verify-state.ok{border-left:4px solid #14a269}.cert-verify-state.revoked{border-left:4px solid #d44949}.cert-verify-state.error{border-left:4px solid #e0a32b}
@page{size:A4 portrait;margin:0}@media print{.cert-toolbar,.cert-verify-state{display:none!important}.cert-page{background:#fff}.certificate-stage{padding:0}.jfr-certificate-paper{box-shadow:none;width:210mm;min-height:297mm;page-break-after:always}}@media(max-width:900px){.certificate-stage{padding:10px;overflow:auto}.jfr-certificate-paper{transform-origin:top center;zoom:.62}.cert-toolbar{flex-wrap:wrap}}
