@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
#lexibal-certificate-validator{--lx-blue:#5170ff;--lx-blue-dark:#3f5bea;--lx-text:#111827;--lx-heading:#171A21;--lx-muted:#667085;--lx-page:#f6f7fb;--lx-card:#fff;--lx-input:#fff;--lx-border:#eaecf0;--lx-control-border:#d0d5dd;font-family:Poppins,Arial,sans-serif;background:var(--lx-page);padding:54px 18px;box-sizing:border-box;color:var(--lx-text)}
#lexibal-certificate-validator *{box-sizing:border-box}.lx-cert-wrap{max-width:1180px;margin:auto}.lx-cert-header{text-align:center;margin-bottom:28px}.lx-cert-kicker{font-size:13px;font-weight:600;color:var(--lx-blue);letter-spacing:.02em}.lx-cert-kicker span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lx-blue);margin-right:7px}.lx-cert-header h1{font-size:42px;line-height:1.1;margin:9px 0;color:var(--lx-heading)}.lx-cert-header p{max-width:700px;margin:auto;color:var(--lx-muted);font-size:15px}.lx-cert-search{max-width:650px;margin:0 auto 20px;background:var(--lx-card);border:1px solid var(--lx-border);border-radius:15px;padding:8px;display:flex;gap:8px;box-shadow:0 12px 35px #1018280b}.lx-cert-search input{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;padding:13px 14px;font:500 14px Poppins}.lx-cert-search button,.lx-verified-bar button{border:1px solid var(--lx-control-border);border-radius:9px;background:var(--lx-card);padding:11px 15px;font:600 13px Poppins;cursor:pointer}.lx-cert-search button{background:var(--lx-blue);border-color:var(--lx-blue);color:#fff}.lx-cert-message{max-width:650px;margin:14px auto;padding:13px 15px;border-radius:10px}.lx-cert-message.error{background:#fef2f2;color:#b42318;border:1px solid #fecaca}.lx-verified-bar{max-width:1123px;margin:18px auto;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ecfdf3;border:1px solid #bbf7d0;padding:12px 15px;border-radius:10px}.lx-verified-bar.revoked{background:#fef2f2;border-color:#fecaca;color:#b42318}.lx-verified-bar>div{display:flex;gap:8px;flex-wrap:wrap}
.lx-cert-placeholder{max-width:650px;margin:18px auto 0;min-height:190px;padding:34px 20px;border:1px solid var(--lx-border);border-radius:15px;background:var(--lx-card);box-shadow:0 10px 30px #1018280b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:var(--lx-muted)}.lx-cert-placeholder-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef2ff;color:var(--lx-blue);font-weight:700;font-size:20px;margin-bottom:3px}.lx-cert-placeholder strong{font-size:16px;color:var(--lx-heading)}.lx-cert-placeholder span{font-size:13px;line-height:1.55}
/* One public certificate renderer. Master is always 1123 × 794. */
.lx-certificate-stage{width:100%;display:flex;justify-content:center;align-items:flex-start;overflow:hidden;margin:0 auto}.lexcm-certificate,.lx-public-cert{width:1123px;height:794px;min-width:1123px;min-height:794px;background:var(--cm-bg,#fff);position:relative;box-sizing:border-box;font-family:var(--cm-font),Georgia,serif;box-shadow:0 15px 45px #10182814;transform-origin:top left;flex:none}.cm-frame{position:absolute;inset:18px;border:var(--cm-border-width,3px) solid var(--cm-border);pointer-events:none}.cm-inner{position:absolute;inset:31px;border:1px solid var(--cm-border);overflow:hidden}.cm-el{position:absolute;box-sizing:border-box;z-index:2}.cm-text{overflow:hidden;line-height:1.28;white-space:normal}.cm-image{display:flex;align-items:center;justify-content:center}.cm-image img{max-width:100%;max-height:100%;object-fit:contain}.cm-image-empty{font:600 10px Poppins,sans-serif;color:#98a2b3;border:1px dashed #d0d5dd;padding:7px}
.lexcm-variant-minimal .cm-frame{inset:0;border-width:0 0 1px}.lexcm-variant-minimal .cm-inner{border:0}.lexcm-variant-royal .cm-frame{inset:12px;border-width:8px}.lexcm-variant-royal .cm-inner{inset:29px}.lexcm-variant-heritage .cm-frame{border-style:double}.lexcm-variant-signature .cm-inner{border-style:dashed}.lexcm-variant-classic .cm-frame{border-style:double}.lexcm-variant-modern .cm-frame{inset:12px;border-width:3px}.lexcm-variant-modern .cm-inner{inset:24px;border:0}.lexcm-variant-seal .cm-inner{inset:35px;border-style:dotted}.lexcm-variant-frame .cm-frame{inset:10px;border-width:4px}.lexcm-variant-frame .cm-inner{inset:24px}.lexcm-variant-contemporary .cm-frame{inset:0;border-width:0 0 3px}.lexcm-variant-contemporary .cm-inner{inset:25px;border:0}.lexcm-variant-executive .cm-frame{inset:22px;border-width:2px}.lexcm-variant-executive .cm-inner{inset:38px;border:0}
.lx-qr-wrap{margin:20px auto;text-align:center;color:#667085;font-size:12px}.lx-qr-wrap #lx-qr{display:inline-block;background:#fff;padding:8px;border:1px solid #eaecf0;border-radius:10px}.lx-qr-wrap img{display:block}
@media(max-width:782px){#lexibal-certificate-validator{padding:30px 12px}.lx-cert-header h1{font-size:30px}.lx-cert-search{display:flex}.lx-verified-bar{flex-direction:column;align-items:flex-start}}
@media print{#lexibal-certificate-validator{padding:0;background:#fff}.lx-cert-header,.lx-cert-search,.lx-cert-message,.lx-verified-bar,.lx-qr-wrap{display:none!important}.lx-certificate-stage{width:1123px;height:794px;display:block;overflow:visible;margin:0}.lx-public-cert{width:1123px;height:794px;transform:none!important;box-shadow:none}}

/* v5.2.2 — QR is part of the certificate itself */
.lexcm-certificate .cm-qr{position:absolute;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;box-sizing:border-box;background:#fff;padding:4px;border:1px solid #d0d5dd;border-radius:7px;overflow:hidden}
.lexcm-certificate .cm-qr-box{display:block;width:100%;height:calc(100% - 14px);min-height:24px;background:#fff}
.lexcm-certificate .cm-qr-box img,.lexcm-certificate .cm-qr-box canvas{display:block!important;width:100%!important;height:100%!important}
.lexcm-certificate .cm-qr small{font:700 6px/1 Poppins,Arial,sans-serif;color:#475467;letter-spacing:.06em;white-space:nowrap}
/* User-uploaded certificate template backgrounds */
.lexcm-certificate{position:relative;overflow:hidden}
.lexcm-certificate .cm-custom-bg{position:absolute!important;inset:0!important;width:1123px!important;height:794px!important;z-index:0!important;pointer-events:none!important;overflow:hidden!important}
.lexcm-certificate .cm-custom-bg img{display:block!important;width:1123px!important;height:794px!important;max-width:none!important;max-height:none!important;object-fit:fill!important}
.lexcm-certificate .cm-frame,.lexcm-certificate .cm-inner{z-index:1}
.lexcm-certificate .cm-el{z-index:3}
.lexcm-certificate .cm-qr{z-index:4}

/* V5.2.9 — follow the existing Lexibal/Foxiz theme only. No plugin theme switch or theme state. */
/* Light mode is the default. Dark mode is activated only by the site's existing selectors. */
html.dark #lexibal-certificate-validator,
body.dark #lexibal-certificate-validator,
.dark-mode #lexibal-certificate-validator,
html.dark-mode #lexibal-certificate-validator,
body.dark-mode #lexibal-certificate-validator,
body.rb-dark-mode #lexibal-certificate-validator,
[data-theme="dark"] #lexibal-certificate-validator{
  --lx-text:#CBD5E1;
  --lx-muted:#98A2B3;
  --lx-page:#0F131A;
  --lx-card:#171B23;
  background:var(--lx-page);
  color:var(--lx-text);
}
html.dark #lexibal-certificate-validator .lx-cert-header h1,
body.dark #lexibal-certificate-validator .lx-cert-header h1,
.dark-mode #lexibal-certificate-validator .lx-cert-header h1,
html.dark-mode #lexibal-certificate-validator .lx-cert-header h1,
body.dark-mode #lexibal-certificate-validator .lx-cert-header h1,
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-header h1,
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-header h1{color:#F8FAFC}
html.dark #lexibal-certificate-validator .lx-cert-header p,
body.dark #lexibal-certificate-validator .lx-cert-header p,
.dark-mode #lexibal-certificate-validator .lx-cert-header p,
html.dark-mode #lexibal-certificate-validator .lx-cert-header p,
body.dark-mode #lexibal-certificate-validator .lx-cert-header p,
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-header p,
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-header p{color:#CBD5E1}
html.dark #lexibal-certificate-validator .lx-cert-search,
body.dark #lexibal-certificate-validator .lx-cert-search,
.dark-mode #lexibal-certificate-validator .lx-cert-search,
html.dark-mode #lexibal-certificate-validator .lx-cert-search,
body.dark-mode #lexibal-certificate-validator .lx-cert-search,
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-search,
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-search{background:#171B23;border-color:#303642;box-shadow:0 12px 35px #00000026}
html.dark #lexibal-certificate-validator .lx-cert-search input,
body.dark #lexibal-certificate-validator .lx-cert-search input,
.dark-mode #lexibal-certificate-validator .lx-cert-search input,
html.dark-mode #lexibal-certificate-validator .lx-cert-search input,
body.dark-mode #lexibal-certificate-validator .lx-cert-search input,
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-search input,
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-search input{color:#F8FAFC}
html.dark #lexibal-certificate-validator .lx-cert-search input::placeholder,
body.dark #lexibal-certificate-validator .lx-cert-search input::placeholder,
.dark-mode #lexibal-certificate-validator .lx-cert-search input::placeholder,
html.dark-mode #lexibal-certificate-validator .lx-cert-search input::placeholder,
body.dark-mode #lexibal-certificate-validator .lx-cert-search input::placeholder,
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-search input::placeholder,
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-search input::placeholder{color:#7F8A9A}
html.dark #lexibal-certificate-validator .lx-cert-search button:not(:first-child),
body.dark #lexibal-certificate-validator .lx-cert-search button:not(:first-child),
.dark-mode #lexibal-certificate-validator .lx-cert-search button:not(:first-child),
html.dark-mode #lexibal-certificate-validator .lx-cert-search button:not(:first-child),
body.dark-mode #lexibal-certificate-validator .lx-cert-search button:not(:first-child),
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-search button:not(:first-child),
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-search button:not(:first-child){background:#20252E;color:#E5E7EB;border-color:#3A414D}
html.dark #lexibal-certificate-validator .lx-cert-message.error,
body.dark #lexibal-certificate-validator .lx-cert-message.error,
.dark-mode #lexibal-certificate-validator .lx-cert-message.error,
html.dark-mode #lexibal-certificate-validator .lx-cert-message.error,
body.dark-mode #lexibal-certificate-validator .lx-cert-message.error,
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-message.error,
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-message.error{background:#321B1D;color:#FCA5A5;border-color:#633137}
html.dark #lexibal-certificate-validator .lx-verified-bar,
body.dark #lexibal-certificate-validator .lx-verified-bar,
.dark-mode #lexibal-certificate-validator .lx-verified-bar,
html.dark-mode #lexibal-certificate-validator .lx-verified-bar,
body.dark-mode #lexibal-certificate-validator .lx-verified-bar,
body.rb-dark-mode #lexibal-certificate-validator .lx-verified-bar,
[data-theme="dark"] #lexibal-certificate-validator .lx-verified-bar{background:#13251B;border-color:#245B3B;color:#BBF7D0}
html.dark #lexibal-certificate-validator .lx-verified-bar.revoked,
body.dark #lexibal-certificate-validator .lx-verified-bar.revoked,
.dark-mode #lexibal-certificate-validator .lx-verified-bar.revoked,
html.dark-mode #lexibal-certificate-validator .lx-verified-bar.revoked,
body.dark-mode #lexibal-certificate-validator .lx-verified-bar.revoked,
body.rb-dark-mode #lexibal-certificate-validator .lx-verified-bar.revoked,
[data-theme="dark"] #lexibal-certificate-validator .lx-verified-bar.revoked{background:#321B1D;border-color:#633137;color:#FCA5A5}
html.dark #lexibal-certificate-validator .lx-verified-bar button,
body.dark #lexibal-certificate-validator .lx-verified-bar button,
.dark-mode #lexibal-certificate-validator .lx-verified-bar button,
html.dark-mode #lexibal-certificate-validator .lx-verified-bar button,
body.dark-mode #lexibal-certificate-validator .lx-verified-bar button,
body.rb-dark-mode #lexibal-certificate-validator .lx-verified-bar button,
[data-theme="dark"] #lexibal-certificate-validator .lx-verified-bar button{background:#20252E;color:#E5E7EB;border-color:#3A414D}
html.dark #lexibal-certificate-validator .lx-cert-placeholder,
body.dark #lexibal-certificate-validator .lx-cert-placeholder,
.dark-mode #lexibal-certificate-validator .lx-cert-placeholder,
html.dark-mode #lexibal-certificate-validator .lx-cert-placeholder,
body.dark-mode #lexibal-certificate-validator .lx-cert-placeholder,
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-placeholder,
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-placeholder{background:#171B23;border-color:#303642;color:#98A2B3;box-shadow:0 10px 30px #00000026}
html.dark #lexibal-certificate-validator .lx-cert-placeholder strong,
body.dark #lexibal-certificate-validator .lx-cert-placeholder strong,
.dark-mode #lexibal-certificate-validator .lx-cert-placeholder strong,
html.dark-mode #lexibal-certificate-validator .lx-cert-placeholder strong,
body.dark-mode #lexibal-certificate-validator .lx-cert-placeholder strong,
body.rb-dark-mode #lexibal-certificate-validator .lx-cert-placeholder strong,
[data-theme="dark"] #lexibal-certificate-validator .lx-cert-placeholder strong{color:#F8FAFC}

/* The certificate is an artwork: never darken or recolour it. */
.lx-public-cert{color:initial;box-sizing:border-box!important;position:relative;display:block;flex:none;width:1123px;height:794px;min-width:1123px;min-height:794px;max-width:none;max-height:none;margin:0;transform-origin:top left;overflow:hidden}
.lx-certificate-stage{box-sizing:border-box;display:block;width:1123px;height:794px;max-width:100%;margin:0 auto;position:relative;overflow:hidden;flex:none}
.lx-cert-wrap{min-width:0!important;width:100%}
@media(max-width:782px){
  #lexibal-certificate-validator{width:100%;max-width:100%;padding:28px 12px}
  #lexibal-certificate-validator .lx-cert-wrap{width:100%;max-width:100%;min-width:0}
  .lx-cert-header{margin-bottom:20px}
  .lx-cert-header h1{font-size:30px}
  .lx-cert-header p{font-size:13px;line-height:1.55}
  .lx-cert-search{width:100%;max-width:100%;padding:6px;gap:6px}
  .lx-cert-search input{min-width:0;width:100%;padding:12px 10px}
  .lx-cert-search button{flex:0 0 auto;padding:11px 13px}
  .lx-cert-placeholder{width:100%;min-height:200px;margin-top:18px;padding:28px 16px}
  .lx-verified-bar{width:100%;max-width:100%;align-items:flex-start}
  .lx-verified-bar>div{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .lx-verified-bar button{width:100%;min-width:0}
}
@media print{#lexibal-certificate-validator{padding:0;background:#fff}.lx-cert-header,.lx-cert-search,.lx-cert-message,.lx-verified-bar,.lx-qr-wrap,.lx-cert-placeholder{display:none!important}.lx-certificate-stage{width:1123px!important;height:794px!important;max-width:none;display:block;overflow:visible;margin:0}.lx-public-cert{width:1123px!important;height:794px!important;transform:none!important;box-shadow:none}}

/* Verification loading state */
.lx-cert-loading{display:none;margin:18px auto 0;max-width:650px;padding:24px 22px;text-align:center;border:1px solid var(--lx-border,#eaecf0);border-radius:16px;background:var(--lx-card,#fff);box-shadow:0 10px 30px rgba(16,24,40,.06);box-sizing:border-box;color:var(--lx-heading,#171A21)}
.lx-cert-loading.is-active{display:flex;flex-direction:column;align-items:center;gap:7px}
.lx-loading-spinner{width:24px;height:24px;border:3px solid var(--lx-border,#e5e7eb);border-top-color:#5170FF;border-radius:50%;animation:lxCertSpin .75s linear infinite;margin-bottom:3px}
.lx-cert-loading strong{font-size:17px;line-height:1.3}
.lx-loading-status{font-size:13px;color:var(--lx-text,#69707D)}
.lx-loading-count{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:5px}
.lx-loading-count b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:700;color:var(--lx-text,#69707D);background:var(--lx-page,#f6f7fb);opacity:.45;transform:scale(.9);transition:opacity .2s ease,transform .2s ease,background .2s ease,color .2s ease}
.lx-loading-count b.is-current{opacity:1;transform:scale(1.08);background:#5170FF;color:#fff}
@keyframes lxCertSpin{to{transform:rotate(360deg)}}
html.dark .lx-cert-loading,body.dark .lx-cert-loading,.dark-mode .lx-cert-loading,html.dark-mode .lx-cert-loading,body.dark-mode .lx-cert-loading,body.rb-dark-mode .lx-cert-loading,[data-theme="dark"] .lx-cert-loading{--lx-card:#111827;--lx-border:#263247;--lx-heading:#F8FAFC;--lx-text:#CBD5E1;--lx-page:#0f172a;color:#F8FAFC}
@media(max-width:600px){.lx-cert-loading{margin-top:14px;padding:20px 15px;border-radius:14px}.lx-cert-loading strong{font-size:16px}.lx-loading-status{font-size:12px}.lx-loading-count{gap:5px}.lx-loading-count b{width:26px;height:26px}}
