/**
 * SoulCert Design System — v3 (2026-04-10)
 * Brand: Outfit (body/UI) + Fraunces (display), warm off-white palette
 * Header: #E8F5F0 (light sage) — replaces dark navy
 * Primary: #2B8F72 (sage), Accent: #E8943A (amber)
 */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,600;0,700;1,400&display=swap');

/* ── Reset ── */
*{margin:0;padding:0;box-sizing:border-box}

/* ── Color system ── */
:root{
  --sc-header:#E8F5F0;
  --sc-bg:#F7F5F2;
  --sc-white:#ffffff;
  --sc-border:#E2DED8;
  --sc-text:#2C3E3A;
  --sc-muted:#6B7D78;
  --sc-green:#2B8F72;
  --sc-amber:#E8943A;
  --sc-red:#c0392b;
  --sc-green-bg:#E8F5F0;
  --sc-amber-bg:#FEF3E6;
  --sc-red-bg:#fef2f2;

  /* Legacy aliases — keep existing template inline styles working */
  --sage:#2B8F72;
  --sage-mid:#5DCAA5;
  --sage-light:#E8F5F0;
  --amber:#E8943A;
  --warm-bg:#F7F5F2;
  --text:#2C3E3A;
  --muted:#6B7D78;
  --border:#E2DED8;
}

/* ── Base ── */
body{
  font-family:'Outfit',system-ui,sans-serif;
  color:var(--sc-text);
  background:var(--sc-bg);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
h1{font-family:'Fraunces',Georgia,serif;font-weight:700;}
h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;}
h4{font-family:'Outfit',system-ui,sans-serif;font-weight:700;}
a{color:var(--sc-green);text-decoration:none;}

/* ── Header (light sage) ── */
.sc-hdr{
  background:var(--sc-header);
  color:var(--sc-text);
  padding:32px 24px 24px;
  text-align:center;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--sc-border);
}
.sc-hdr::before{
  content:'';
  position:absolute;top:-40%;left:-20%;
  width:140%;height:140%;
  background:radial-gradient(circle at 30% 50%,rgba(43,143,114,.08) 0%,transparent 55%);
  pointer-events:none;
}
.sc-hdr>*{position:relative;z-index:1;}
.sc-hdr.certified{border-top:4px solid var(--sc-green);}

.sc-hdr-logo{margin-bottom:16px;}
.sc-hdr-logo img{height:32px;vertical-align:middle;}

.sc-hdr-ring-row{
  display:flex;justify-content:center;align-items:center;
  gap:24px;margin-bottom:16px;flex-wrap:wrap;
}

.sc-hdr h1{font-size:26px;font-weight:700;margin-bottom:4px;letter-spacing:-0.3px;color:var(--sc-text);}
.sc-hdr-role{font-size:14px;color:var(--sc-muted);margin-bottom:4px;font-weight:500;}
.sc-hdr-certified{font-size:13px;color:var(--sc-muted);margin-bottom:3px;font-weight:500;}
.sc-hdr-score-line{font-size:15px;color:var(--sc-muted);margin-bottom:3px;}
.sc-hdr-meta{font-size:11px;color:var(--sc-muted);opacity:.7;margin-bottom:12px;}

/* ── Score ring ── */
.score-ring{position:relative;width:120px;height:120px;}
.score-ring svg{transform:rotate(-90deg);}
.score-ring .track{fill:none;stroke:rgba(44,62,58,.12);stroke-width:6;}
.score-ring .ring-text{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.score-ring .ring-num{font-family:'Fraunces',Georgia,serif;font-size:34px;font-weight:700;line-height:1;color:var(--sc-text);}
.score-ring .ring-max{font-size:12px;color:var(--sc-muted);margin-top:2px;}

/* ── Certified badge ── */
.certified-badge{
  display:inline-block;
  font-size:11px;font-weight:600;
  letter-spacing:1.5px;text-transform:uppercase;
  background:rgba(43,143,114,.08);
  border:1px solid rgba(43,143,114,.25);
  color:var(--sc-green);
  border-radius:100px;
  padding:4px 14px;margin-bottom:10px;
}

/* ── Meta pills ── */
.sc-meta-row{
  display:flex;justify-content:center;gap:6px;
  flex-wrap:wrap;margin-bottom:10px;
}
.sc-meta-pill{
  background:rgba(43,143,114,.06);
  border:1px solid var(--sc-border);
  padding:3px 10px;border-radius:6px;
  font-size:11px;color:var(--sc-text);
}
.sc-meta-pill strong{color:var(--sc-green);}

/* ── Share bar ── */
.sc-share-bar{
  display:flex;justify-content:center;
  gap:6px;margin-bottom:14px;align-items:center;flex-wrap:wrap;
}
.sc-share-btn{
  background:#fff;
  border:1px solid var(--sc-border);
  color:var(--sc-text);
  padding:6px 14px;border-radius:6px;
  font-size:11px;font-weight:500;
  cursor:pointer;font-family:'Outfit',sans-serif;
  transition:all .18s;
}
.sc-share-btn:hover{background:var(--sc-header);border-color:var(--sc-green);color:var(--sc-green);}

/* ── Level pills ── */
.level-legend{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;}
.level-pill{font-size:11px;font-weight:500;padding:4px 12px;border-radius:100px;white-space:nowrap;}
.level-pill.active{font-weight:700;}

/* ── Tier scale bar ── */
.sc-tier-scale{
  display:flex;
  border-bottom:1px solid var(--sc-border);
  background:#fff;
}
.sc-tier-bar{
  flex:1;padding:8px 6px;text-align:center;
  font-size:10px;font-weight:600;
  position:relative;
}
.sc-tier-bar span{
  font-size:9px;font-weight:400;color:var(--sc-muted);
  display:block;margin-top:1px;
}
.sc-tier-bar.bronze{background:#FDF6F0;color:#8B5E3C;}
.sc-tier-bar.silver{background:#F4F6F7;color:#5A6670;}
.sc-tier-bar.gold{background:#FFFAF0;color:#8B5E1A;}
.sc-tier-bar.platinum{background:var(--sc-header);color:#1A6B52;}
.sc-tier-bar.active{outline:2px solid var(--sc-amber);outline-offset:-2px;z-index:1;}

/* ── Key takeaway quote ── */
.sc-takeaway{
  background:#fff;
  border:1px solid var(--sc-border);
  border-left:4px solid var(--sc-green);
  border-radius:8px;
  padding:16px 18px;
  margin-bottom:20px;
}
.sc-takeaway-label{
  font-size:10px;font-weight:600;color:var(--sc-green);
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;
}
.sc-takeaway-quote{
  font-family:'Fraunces',Georgia,serif;
  font-size:15px;font-style:italic;
  color:var(--sc-text);line-height:1.6;
}
.sc-takeaway-src{font-size:10px;color:var(--sc-muted);margin-top:6px;}

/* ── Body ── */
.sc-body{max-width:740px;margin:0 auto;padding:24px 20px 60px;}

/* ── Section header ── */
.sc-section-hdr{
  font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;
  color:var(--sc-muted);
  margin:24px 0 12px;
  display:flex;align-items:center;gap:8px;
}
.sc-section-hdr::after{content:'';flex:1;height:1px;background:var(--sc-border);}
.sc-badge{
  background:var(--sc-border);color:#555;
  font-size:10px;padding:2px 8px;border-radius:10px;
  font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;
}

/* ── Cards ── */
.sc-card,.card{
  background:var(--sc-white);
  border:1px solid var(--sc-border);
  border-radius:10px;
  padding:20px;
  margin-bottom:16px;
  transition:box-shadow .15s;
}
.sc-card:hover,.card:hover{box-shadow:0 2px 8px rgba(0,0,0,.05);}
.sc-card-strong{border-left:4px solid var(--sc-green);}
.sc-card-moderate{border-left:4px solid var(--sc-amber);}
.sc-card-low{border-left:4px solid var(--sc-red);}

.card h2{font-size:15px;font-weight:700;margin-bottom:14px;color:var(--sc-text);}
.card h3{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--sc-text);}
.card p,.card li{font-size:14px;color:var(--sc-muted);line-height:1.7;}
.card p{margin-bottom:10px;}
.card p:last-child{margin-bottom:0;}
.card ul{list-style:none;padding:0;margin:0;}
.card li{padding:5px 0 5px 18px;position:relative;}
.card li::before{
  content:'';position:absolute;
  left:0;top:13px;
  width:6px;height:6px;border-radius:50%;
  background:var(--sc-green);opacity:.5;
}
.card strong{color:var(--sc-text);}

/* ── Org governance ── */
.org-gov{
  background:var(--sc-white);
  border:1px solid var(--sc-border);
  border-radius:10px;padding:20px;margin-bottom:16px;
}
.org-gov h3{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--sc-text);}
.org-gov-score{font-family:'Fraunces',Georgia,serif;font-size:28px;font-weight:700;color:var(--sc-muted);margin-bottom:6px;}
.org-gov-note{font-size:13px;color:var(--sc-muted);font-style:italic;margin-top:10px;}

/* ── Competency grid ── */
.sc-comp-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:16px;
}
.comp-bar{
  background:var(--sc-white);
  border:1px solid var(--sc-border);
  border-radius:10px;
  padding:14px 16px;
  display:block;margin-bottom:0;
  transition:box-shadow .15s;
}
.comp-bar:hover{box-shadow:0 2px 8px rgba(0,0,0,.05);}
.comp-label{
  font-size:12px;font-weight:600;
  color:var(--sc-text);
  display:block;margin-bottom:10px;line-height:1.4;
}
.comp-track{
  width:100%;height:6px;
  background:var(--sc-border);
  border-radius:3px;overflow:hidden;margin-bottom:6px;
}
.comp-score{
  font-family:'Fraunces',Georgia,serif;
  font-size:12px;font-weight:700;
  text-align:right;color:var(--sc-muted);display:block;
}
@keyframes barGrow{to{width:var(--w)}}

/* ── How-to steps ── */
.steps{counter-reset:step;}
.step{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start;}
.step:last-child{margin-bottom:0;}
.step-num{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:var(--sc-green);color:#fff;
  font-size:14px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.step-body{flex:1;}
.step-body h4{font-size:14px;font-weight:700;margin-bottom:4px;color:var(--sc-text);}
.step-body p{font-size:13px;color:var(--sc-muted);margin:0;}

/* ── Buttons ── */
.copy-btn{
  display:inline-block;margin-top:8px;
  padding:8px 20px;
  background:var(--sc-text);color:#fff;
  font-size:13px;font-weight:600;
  border:none;border-radius:100px;
  cursor:pointer;transition:background .2s;font-family:'Outfit',sans-serif;
}
.copy-btn:hover{background:#1a2c28;}
.copy-btn.copied{background:#16a34a;}

.ai-links{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.ai-links a{
  font-size:12px;font-weight:600;
  padding:6px 14px;border-radius:100px;
  border:1.5px solid var(--sc-border);
  color:var(--sc-text);
  transition:border-color .2s,color .2s;
}
.ai-links a:hover{border-color:var(--sc-green);color:var(--sc-green);}

/* ── Cert CTA — brand-locked: sage bg + amber primary, NO persona overrides ── */
.cert-cta{
  background:#2C3E3A !important;
  border-radius:10px;padding:36px 24px;
  text-align:center;margin-bottom:20px;
  position:relative;overflow:hidden;
}
.cert-cta::before{
  content:'';position:absolute;top:-40%;left:-20%;
  width:140%;height:140%;
  background:radial-gradient(circle at 70% 50%,rgba(43,143,114,.15) 0%,transparent 50%) !important;
  pointer-events:none;
}
.cert-cta>*{position:relative;z-index:1;}
.cert-cta h2{font-size:20px;font-weight:700;color:#fff !important;margin-bottom:10px;}
.cert-cta p{font-size:14px;color:rgba(255,255,255,.75);max-width:440px;margin:0 auto 20px;line-height:1.6;}
.cert-cta-btns{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.btn{
  display:inline-block;
  font-size:14px;font-weight:600;
  padding:12px 28px;border-radius:100px;
  cursor:pointer;font-family:'Outfit',sans-serif;
  border:none;text-decoration:none;
  transition:transform .15s,box-shadow .15s,opacity .15s;
}
.btn-primary{
  background:#E8943A !important;color:#fff !important;
  box-shadow:0 4px 20px rgba(232,148,58,.3);
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(232,148,58,.4);}
.btn-ghost{
  background:transparent !important;color:#fff !important;
  border:1.5px solid rgba(255,255,255,.35) !important;
}
.btn-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.05) !important;}
.emp-note{
  font-size:11px;color:rgba(255,255,255,.5);
  margin-top:6px;line-height:1.5;
  max-width:400px;margin-left:auto;margin-right:auto;
}

/* ── Enterprise CTA — amber card, sage button, no persona overrides ── */
.sc-enterprise-cta{
  background:#FEF3E0;border:1px solid #F5C97A;
  border-radius:10px;padding:28px 24px;
  text-align:center;margin-bottom:16px;
}
.sc-enterprise-cta h2{
  font-size:18px;font-weight:700;color:#2C3E3A;
  margin-bottom:10px;margin-top:10px;
}
.sc-enterprise-cta p{
  font-size:14px;color:#4A5E58;
  max-width:440px;margin:0 auto 20px;line-height:1.6;
}
.sc-signal-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;border:1.5px solid #E8943A;
  color:#E8943A;font-size:12px;font-weight:600;
  padding:4px 12px;border-radius:100px;margin-bottom:4px;
}
.sc-signal-dot{
  width:6px;height:6px;background:#E8943A;
  border-radius:50%;display:inline-block;
}
.btn-sage{
  display:inline-block;
  background:#2B8F72;color:#fff;
  font-size:14px;font-weight:600;
  padding:12px 28px;border-radius:100px;
  border:none;text-decoration:none;
  font-family:'Outfit',sans-serif;
  cursor:pointer;
  transition:transform .15s,box-shadow .15s;
}
.btn-sage:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(43,143,114,.35);}
.sc-enterprise-nudge{
  background:#E8F5F0;border:1px solid #B8DDD4;
  border-radius:10px;padding:20px 24px;
  text-align:center;margin-bottom:16px;
}
.sc-enterprise-nudge p{
  font-size:15px;font-weight:600;color:#2C3E3A;margin-bottom:4px;
}
.sc-nudge-sub{
  font-size:13px !important;font-weight:400 !important;
  color:#6B7D78 !important;margin-bottom:12px !important;
}
.sc-nudge-link{
  font-size:14px;font-weight:600;color:#2B8F72;
  text-decoration:underline;
}
.sc-nudge-link:hover{color:#1d6b55;}

/* ── Testimonial / feedback card ── */
.sc-fb-card{
  background:var(--sc-white);
  border:1px solid var(--sc-border);
  border-radius:10px;padding:20px;
  text-align:center;margin-bottom:16px;
}
.sc-fb-card h3{font-size:14px;margin-bottom:6px;}
.sc-fb-card>p{font-size:12px;color:var(--sc-muted);margin-bottom:12px;}
.sc-fb-btns{display:flex;justify-content:center;gap:10px;margin-bottom:10px;}
.sc-fb-btn{
  font-size:22px;cursor:pointer;
  background:none;border:2px solid var(--sc-border);
  padding:8px 18px;border-radius:8px;
  transition:all .18s;line-height:1;
}
.sc-fb-btn:hover,.sc-fb-btn.selected{
  border-color:var(--sc-green);background:var(--sc-green-bg);
}
.sc-fb-expand{display:none;margin-top:10px;}
.sc-fb-expand.show{display:block;}
.sc-fb-ta{
  width:100%;padding:10px;
  border:1px solid var(--sc-border);border-radius:6px;
  font-family:'Outfit',sans-serif;font-size:13px;
  resize:vertical;min-height:60px;
  color:var(--sc-text);background:#fff;
}
.sc-fb-ta::placeholder{color:var(--sc-muted);}
.sc-fb-sub{
  background:var(--sc-green);color:#fff;border:none;
  padding:8px 20px;border-radius:6px;
  font-size:12px;font-weight:600;cursor:pointer;
  font-family:'Outfit',sans-serif;margin-top:8px;
  transition:background .2s;
}
.sc-fb-sub:hover{background:#237a62;}
.sc-fb-hint{font-size:10px;color:var(--sc-muted);margin-top:5px;}
.sc-fb-thanks{display:none;font-size:13px;font-weight:600;color:var(--sc-green);margin-top:10px;}

/* ── Check-in card ── */
.sc-checkin-card{
  background:var(--sc-white);
  border:1px solid var(--sc-border);
  border-radius:10px;padding:20px;
  text-align:center;margin-bottom:16px;
}
.sc-checkin-card h3{font-size:14px;margin-bottom:6px;}
.sc-checkin-card p{font-size:13px;color:var(--sc-muted);margin-bottom:14px;}
.sc-freq-btns{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.sc-freq-btn{
  padding:8px 18px;border:1.5px solid var(--sc-border);
  border-radius:100px;background:#fff;
  font-size:12px;font-weight:600;
  cursor:pointer;font-family:'Outfit',sans-serif;
  transition:all .18s;color:var(--sc-text);
}
.sc-freq-btn:hover,.sc-freq-btn.selected{
  border-color:var(--sc-green);background:var(--sc-green-bg);color:var(--sc-green);
}
.sc-checkin-thanks{
  display:none;font-size:13px;font-weight:600;
  color:var(--sc-green);margin-top:10px;
}

/* ── Employer modal ── */
.emp-modal-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.45);z-index:1000;
  align-items:center;justify-content:center;padding:16px;
}
.emp-modal-overlay.open{display:flex;}
.emp-modal{
  background:#fff;border-radius:12px;
  max-width:540px;width:100%;
  max-height:90vh;overflow-y:auto;
  padding:24px;position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,.2);
}
.emp-modal-close{
  position:absolute;top:14px;right:16px;
  background:none;border:none;font-size:22px;
  cursor:pointer;color:var(--sc-muted);line-height:1;padding:0;
}
.emp-modal h3{font-size:16px;margin-bottom:3px;}
.emp-modal>.sub{font-size:12px;color:var(--sc-muted);margin-bottom:16px;}
.emp-modal-email{
  background:var(--sc-bg);border:1px solid var(--sc-border);
  border-radius:8px;padding:16px;margin-bottom:12px;
}
.emp-modal-meta{font-size:10px;color:var(--sc-muted);margin-bottom:10px;line-height:1.5;}
.emp-modal-body{
  font-size:13px;color:var(--sc-text);line-height:1.75;
  white-space:pre-wrap;font-family:'Outfit',sans-serif;
}
.emp-modal-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.emp-btn{
  padding:9px 18px;border-radius:6px;font-size:12px;font-weight:600;
  cursor:pointer;font-family:'Outfit',sans-serif;border:none;transition:opacity .2s;
}
.emp-btn.primary{background:var(--sc-green);color:#fff;}
.emp-btn.primary:hover{opacity:.88;}
.emp-btn.secondary{background:var(--sc-bg);color:var(--sc-text);border:1px solid var(--sc-border);}
.emp-btn.secondary:hover{border-color:var(--sc-green);}
.emp-copy-confirm{
  display:none;font-size:12px;color:var(--sc-green);
  margin-top:8px;font-weight:600;
}

/* ── Bottom CTA + footer ── */
.bottom-cta{text-align:center;padding:16px 24px 40px;}
.bottom-cta a{
  display:inline-block;
  background:var(--sc-text);color:#fff;
  font-size:15px;font-weight:600;
  padding:14px 36px;border-radius:100px;
  text-decoration:none;transition:opacity .2s;
  font-family:'Outfit',sans-serif;
}
.bottom-cta a:hover{opacity:.85;}
footer{text-align:center;padding:24px;font-size:12px;color:var(--sc-muted);border-top:1px solid var(--sc-border);}

/* ── Company header extensions ── */
.sc-hdr-badge{
  display:inline-block;
  font-size:11px;font-weight:600;
  color:var(--sc-muted);
  border:1px solid var(--sc-border);
  border-radius:100px;
  padding:6px 16px;margin-bottom:16px;
  letter-spacing:2px;text-transform:uppercase;
}
.sc-hdr-sub{font-size:14px;color:var(--sc-muted);margin-bottom:20px;}
.avg-pill{
  display:inline-flex;align-items:center;gap:16px;
  background:rgba(43,143,114,.07);
  border:1px solid rgba(43,143,114,.2);
  border-radius:100px;padding:12px 24px;margin-bottom:16px;
}
.avg-score{font-family:'Fraunces',Georgia,serif;font-size:30px;font-weight:700;color:var(--sc-text);}
.avg-meta{text-align:left;}
.avg-meta-label{font-size:11px;color:var(--sc-muted);letter-spacing:1px;text-transform:uppercase;}
.avg-meta-level{font-size:14px;font-weight:600;color:var(--sc-text);}

/* ── Company distribution ── */
.dist-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.dist-name{width:88px;font-size:13px;font-weight:600;flex-shrink:0;color:var(--sc-text);}
.dist-bar-wrap{flex:1;background:var(--sc-border);border-radius:100px;height:16px;overflow:hidden;}
.dist-bar{height:100%;border-radius:100px;}
.dist-count{width:28px;text-align:right;font-size:13px;color:var(--sc-muted);flex-shrink:0;}
.bar-bronze{background:rgba(196,149,106,.75);}
.bar-silver{background:rgba(138,147,155,.75);}
.bar-gold{background:rgba(232,148,58,.75);}
.bar-platinum{background:rgba(43,143,114,.75);}

/* ── Company performance ── */
.perf-group{margin-bottom:18px;}
.perf-group:last-child{margin-bottom:0;}
.perf-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--sc-muted);margin-bottom:10px;}
.comp-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:14px;}
.comp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot-strength{background:var(--sc-green);}
.dot-gap{background:var(--sc-amber);}

/* ── Company CTA card ── */
.cta-card{
  background:#2C3E3A;border-radius:10px;
  padding:32px 24px;text-align:center;margin-bottom:20px;
}
.cta-card h2{font-size:20px;font-weight:700;color:#fff;margin-bottom:8px;}
.cta-card p{font-size:14px;color:rgba(255,255,255,.8);margin-bottom:20px;max-width:420px;margin-left:auto;margin-right:auto;}
.btn-amber{
  display:inline-block;background:#E8943A !important;color:#fff !important;
  font-size:14px;font-weight:600;padding:12px 24px;border-radius:100px;
  border:none;cursor:pointer;font-family:'Outfit',sans-serif;
  margin:4px;text-decoration:none;transition:opacity .2s;
}
.btn-amber:hover{opacity:.9;}
.btn-outline{
  display:inline-block;color:#fff;font-size:14px;font-weight:600;
  padding:12px 24px;border-radius:100px;
  border:1.5px solid rgba(255,255,255,.5);
  cursor:pointer;font-family:'Outfit',sans-serif;
  text-decoration:none;margin:4px;transition:opacity .2s;
}
.btn-outline:hover{opacity:.8;}
.copy-confirm{display:none;font-size:13px;color:rgba(255,255,255,.8);margin-top:12px;}

/* ── Responsive ── */
@media(max-width:860px){.sc-comp-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){
  .sc-comp-grid{grid-template-columns:1fr;}
  .sc-hdr h1{font-size:22px;}
  .level-pill{font-size:10px;padding:4px 9px;}
  .sc-hdr-ring-row{gap:16px;}
  .avg-pill{flex-direction:column;gap:4px;padding:14px 20px;}
  .cert-cta-btns{flex-direction:column;align-items:center;}
  .emp-modal-btns{flex-direction:column;}
  .sc-tier-bar span{display:none;}
}

/* ── dd_070: Permanent URL block ── */
.sc-permanent-url{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;
  margin:10px 0 4px;padding:8px 14px;
  background:var(--sc-white);border:1px solid var(--sc-border);border-radius:8px;
  font-size:13px;
}
.sc-permanent-url-label{color:var(--sc-muted);white-space:nowrap;}
.sc-permanent-url-link{
  font-family:'Outfit',monospace;font-size:13px;font-weight:500;
  color:var(--sc-green);word-break:break-all;
}
.sc-permanent-url-copy{
  background:var(--sc-green);color:#fff;border:none;border-radius:5px;
  padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;
  transition:background .15s;
}
.sc-permanent-url-copy:hover{background:#237a60;}

/* ── dd_070: Version badge (inline, next to score line) ── */
.sc-version-badge{
  display:inline-block;margin-left:8px;padding:2px 8px;
  background:var(--sc-amber-bg);color:var(--sc-amber);
  border:1px solid var(--sc-amber);border-radius:12px;
  font-size:11px;font-weight:700;vertical-align:middle;letter-spacing:.3px;
}

/* ── dd_070: Version history collapsible ── */
.soul-version-history{
  margin:16px 0;padding:16px 20px;
  background:var(--sc-white);border:1px solid var(--sc-border);border-radius:12px;
}
.soul-version-history summary{
  font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:var(--sc-text);
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;
}
.soul-version-history summary::-webkit-details-marker{display:none;}
.soul-version-history summary::before{content:'›';font-size:18px;color:var(--sc-muted);transition:transform .2s;}
.soul-version-history[open] summary::before{transform:rotate(90deg);}
.version-timeline{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.version-entry{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:8px 12px;border-radius:8px;background:var(--sc-bg);font-size:13px;
}
.version-entry.current{background:var(--sc-green-bg);border:1px solid var(--sc-green);}
.version-label{font-weight:700;color:var(--sc-text);min-width:36px;}
.version-date{color:var(--sc-muted);flex:1;}
.version-score{font-weight:600;color:var(--sc-text);}
.version-badge-current{
  margin-left:auto;padding:2px 8px;background:var(--sc-green);color:#fff;
  border-radius:10px;font-size:11px;font-weight:700;
}
