:root{
  --leo-navy:#0d1736;
  --leo-blue:#123d68;
  --leo-gold:#c69a42;
  --leo-gold-soft:#f5e7c8;
  --leo-bg:#f6f8fb;
  --leo-line:#d9e1ea;
  --leo-text:#0d2340;
  --leo-muted:#64748b;
  --leo-valid:#18794e;
  --leo-valid-soft:#e8f7ef;
  --leo-pending:#9a5b04;
  --leo-pending-soft:#fff3e0;
  --leo-revoked:#b42318;
  --leo-revoked-soft:#fdecec;
}

/* FRONTEND */
body.leo-cert-page .entry-title,
body.leo-cert-page .page-title,
body.leo-cert-page .elementor-widget-theme-post-title,
body.leo-cert-page .wp-block-post-title,
body.leo-cert-page .entry-header{display:none!important}

.leo-cert,
.leo-cert *{box-sizing:border-box}
.leo-cert{
  max-width:1080px;
  margin:32px auto 72px;
  padding:34px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
  border:1px solid #edf1f5;
  border-radius:26px;
  box-shadow:0 18px 48px rgba(11,24,48,.08);
  color:var(--leo-text);
  font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
}
.leo-cert__brandline{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.leo-cert__eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--leo-gold)}
.leo-cert__eyebrow--muted{color:#7e8ca0;letter-spacing:.6px;text-transform:none;font-weight:700}
.leo-cert__hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}
.leo-cert__title{margin:0 0 10px;font-size:clamp(30px,4.2vw,54px);line-height:1.02;color:var(--leo-navy);font-weight:850;letter-spacing:-.03em}
.leo-cert__lead{margin:0;color:#516278;font-size:18px;line-height:1.65;max-width:760px}
.leo-cert__seal{min-width:240px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#123d68,#0d2d4d);isolation:isolate;color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 30px rgba(10,20,50,.18)}
.leo-cert__seal-logo{display:block;width:100%;max-width:240px;height:auto;margin:0 auto}
.leo-cert__seal-text{font-size:13px;font-weight:700;opacity:.95}
.leo-cert__form{background:var(--leo-bg);border:1px solid #ecf0f4;padding:22px;border-radius:18px}
.leo-cert__form label{display:block;margin-bottom:10px;font-size:14px;font-weight:800;color:#1d3557}
.leo-cert__search{display:flex;gap:12px;align-items:stretch}
.leo-cert__search input{flex:1;min-width:0;padding:16px 18px;border-radius:12px;border:1px solid #ccd6e1;background:#fff;color:#0e2240;font-size:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.leo-cert__search input:focus{outline:none;border-color:#6b8fb2;box-shadow:0 0 0 4px rgba(18,61,104,.12)}
.leo-cert__search button{padding:0 24px;border-radius:12px;border:0;background:linear-gradient(135deg,#123d68,#0d2d4d);color:#fff;font-weight:800;font-size:17px;cursor:pointer;white-space:nowrap;box-shadow:0 10px 24px rgba(18,61,104,.22)}
.leo-cert__search button:hover{filter:brightness(1.03)}
.leo-cert__result{margin-top:24px;padding:24px;border-radius:20px;border:1px solid var(--leo-line);background:#fff}
.leo-cert__result.is-valid{border-color:#bfdcc9;background:linear-gradient(180deg,#fbfffc,#f4fbf6)}
.leo-cert__result.is-pending{border-color:#f0d7aa;background:linear-gradient(180deg,#fffdf8,#fff8ec)}
.leo-cert__result.is-revoked{border-color:#efc7c2;background:linear-gradient(180deg,#fff9f9,#fff2f2)}
.leo-cert__statusbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #e9eef3;padding-bottom:18px;margin-bottom:18px}
.leo-cert__badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}
.leo-cert__badge.is-valid{background:var(--leo-valid-soft);color:var(--leo-valid)}
.leo-cert__badge.is-pending{background:var(--leo-pending-soft);color:var(--leo-pending)}
.leo-cert__badge.is-revoked{background:var(--leo-revoked-soft);color:var(--leo-revoked)}
.leo-cert__resulttitle{margin:0 0 6px;font-size:28px;line-height:1.15;color:var(--leo-navy)}
.leo-cert__message{margin:0;color:#5b687d;max-width:760px}
.leo-cert__idbox{min-width:200px;padding:16px 18px;border-radius:16px;background:#f7fafc;border:1px solid #e3ebf2}
.leo-cert__idbox span{display:block;color:#7b8796;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.leo-cert__idbox strong{font-size:18px;color:var(--leo-navy);overflow-wrap:anywhere}
.leo-cert__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}
.leo-cert__detail{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px dashed #e4e9ef}
.leo-cert__detail span{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#748095;margin-bottom:5px}
.leo-cert__detail strong{font-size:17px;line-height:1.45;color:#10213d;overflow-wrap:anywhere}
.leo-cert__institution{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;padding-top:4px}
.leo-cert__institution>div{padding:16px;border-radius:14px;background:#f7fafc;border:1px solid #e5edf3}
.leo-cert__institution span{display:block;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#748095;margin-bottom:6px}
.leo-cert__institution strong{font-size:16px;color:#10213d}
.leo-cert__notice{margin-top:24px;padding:18px 20px;border-radius:16px;border:1px solid #f0d7aa;background:#fff8ec;color:#8a5a0a;font-weight:600}
.leo-cert__notice.is-miss{border-color:#e3e8ef;background:#f8fafc;color:#4f6177}
.leo-cert__small,.leo-cert__footer{font-size:13px;color:#637387}
.leo-cert__small{margin-top:16px}
.leo-cert__footer{margin-top:28px;padding-top:18px;border-top:1px solid #edf1f4;text-align:center}

/* ADMIN */
.leo-cert-admin{max-width:1380px}
.leo-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.leo-admin-head h1{margin-bottom:8px}
.leo-admin-actions-top{display:flex;gap:10px;flex-wrap:wrap}
.leo-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 22px}
.leo-stat{background:#fff;border:1px solid #e4e8ee;border-left:4px solid var(--leo-blue);border-radius:16px;padding:18px 18px 16px;box-shadow:0 4px 15px rgba(20,38,63,.04)}
.leo-stat span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.8px;font-weight:800;color:#708095;margin-bottom:8px}
.leo-stat strong{font-size:28px;line-height:1;color:#0f2240}
.leo-stat.is-valid{border-left-color:var(--leo-valid)}
.leo-stat.is-pending{border-left-color:var(--leo-pending)}
.leo-stat.is-revoked{border-left-color:var(--leo-revoked)}
.leo-admin-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:18px;margin-bottom:18px}
.leo-admin-card{background:#fff;border:1px solid #e5eaf0;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(17,24,39,.04)}
.leo-admin-card h2{margin-top:0;margin-bottom:14px}
.leo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.leo-field{display:flex;flex-direction:column;gap:7px}
.leo-field--full{grid-column:1/-1}
.leo-field label{font-weight:700;color:#24364b}
.leo-field input,.leo-field select{width:100%;max-width:none;padding:12px 14px;border:1px solid #cfd8e3;border-radius:10px;background:#fff;min-height:44px}
.leo-field input:focus,.leo-field select:focus{outline:none;border-color:#6b8fb2;box-shadow:0 0 0 4px rgba(18,61,104,.10)}
.leo-inline-row{display:flex;gap:10px;align-items:center}
.leo-inline-row input{flex:1}
.leo-submitbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
.leo-admin-sidecard hr{margin:20px 0}
.leo-admin-tips{margin:0;padding-left:18px}
.leo-admin-tips li{margin:0 0 8px}
.leo-list-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.leo-list-head h2{margin:0}
.leo-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.leo-filters input[type="search"],.leo-filters select{min-width:170px;padding:10px 12px;border:1px solid #ccd6e1;border-radius:10px;background:#fff}
.leo-table th,.leo-table td{vertical-align:top}
.leo-subinfo{color:#6c7a8e}
.leo-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1.2}
.leo-pill.is-valid{background:var(--leo-valid-soft);color:var(--leo-valid)}
.leo-pill.is-pending{background:var(--leo-pending-soft);color:var(--leo-pending)}
.leo-pill.is-revoked{background:var(--leo-revoked-soft);color:var(--leo-revoked)}

/* QR MODAL */
.leo-qr-modal:not([hidden]){position:fixed;inset:0;display:flex;justify-content:center;align-items:center;background:rgba(7,14,29,.78);z-index:999999}
.leo-qr-dialog{background:#fff;padding:28px 30px 24px;text-align:center;border-radius:18px;max-width:92vw;width:460px;max-height:92vh;overflow:auto;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.leo-qr-close{float:right}
.leo-qr-brand{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--leo-gold);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.leo-qr-brand-logo{display:block;width:220px;max-width:100%;height:auto}
.leo-qr-image svg{width:290px;max-width:100%;height:auto;border-radius:14px;border:1px solid #e5e7eb;background:#fff}
.leo-qr-help{font-size:13px;color:#6c7786}

@media (max-width: 980px){
  .leo-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .leo-admin-grid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .leo-cert{margin:12px auto 30px;padding:18px;border-radius:18px}
  .leo-cert__brandline{margin-bottom:14px}
  .leo-cert__hero{flex-direction:column;gap:14px;margin-bottom:18px}
  .leo-cert__title{font-size:clamp(26px,9vw,42px)}
  .leo-cert__lead{font-size:16px;line-height:1.55}
  .leo-cert__seal{width:100%;min-width:0;padding:14px 16px}
  .leo-cert__form{padding:16px;border-radius:16px}
  .leo-cert__search{flex-direction:column}
  .leo-cert__search input{font-size:16px;padding:14px 15px}
  .leo-cert__search button{width:100%;padding:14px 18px;font-size:16px}
  .leo-cert__statusbar{flex-direction:column}
  .leo-cert__resulttitle{font-size:23px}
  .leo-cert__idbox{width:100%;min-width:0}
  .leo-cert__grid,.leo-cert__institution{grid-template-columns:1fr}
  .leo-admin-card{padding:16px}
  .leo-form-grid{grid-template-columns:1fr}
  .leo-inline-row{flex-direction:column;align-items:stretch}
  .leo-filters{width:100%}
  .leo-filters input[type="search"],.leo-filters select{width:100%;min-width:0}
}

/* SGEL: original logo over the same institutional blue as the verify button. */
.leo-cert__seal-logo,.leo-qr-brand-logo{mix-blend-mode:screen}
.leo-qr-logo-frame{display:block;background:linear-gradient(135deg,#123d68,#0d2d4d);border-radius:12px;padding:12px;isolation:isolate}
.leo-qr-brand{isolation:isolate}
.leo-cert__footer strong{display:block;color:var(--leo-blue);font-size:16px;letter-spacing:2px;margin-bottom:4px}
.leo-cert__footer span{display:block;line-height:1.5}
