/* ── RaiseNova — shared app shell ── */
/* All 8 authenticated pages link this file.                    */
/* Page-specific CSS stays in each page's own <style> block.   */

/* ── Design tokens ─────────────────────────────────────────── */
:root {
  --navy:      #213E65;
  --navy-dark: #192f4d;
  --orange:    #F19A08;
  --amber:     #4F9E2C;
  --bg:        #F7F5F0;
  --surface:   #fff;
  --border:    #DED8CC;
  --text:      #1a1a1a;
  --muted:     #666;
  --dim:       #999;
  --red:       #C0790A;
  --red-bg:    #FDF0DB;
  --green:     #148B82;
  --green-bg:  #E3F6F3;
  --serif:     'Playfair Display', Georgia, serif;
  --sans:      'DM Sans', -apple-system, system-ui, sans-serif;
}

/* ── Reset ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  font-size: 14px;
  padding-top: 60px;
}

/* ── Topbar ─────────────────────────────────────────────────── */
.topbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: var(--navy);
  height: 60px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 32px 0 20px;   /* left 20px so the logo mark (≈+1px inset) lines up with the 21px sidebar icons */
}
.topbar-left  { display: flex; align-items: flex-end; gap: 6px; }
.topbar-logo  {
  color: #fff;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .4px;
  text-decoration: none;
  display: flex;
  align-items: center;
}
.topbar-right { display: flex; align-items: center; gap: 16px; }
.topbar-user  { display: none; }   /* AJ: never show the user's name in the topbar — they know who they are */
.topbar-logout,
.topbar-signout {
  color: var(--orange);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(241,154,8,.35);
  border-radius: 4px;
  padding: 5px 13px;
  background: none;
  cursor: pointer;
  font-family: var(--sans);
  transition: background .2s;
}
.topbar-logout:hover,
.topbar-signout:hover { background: rgba(241,154,8,.1); }

/* ── Sidebar ────────────────────────────────────────────────── */
.sidebar {
  position: fixed; top: 60px; left: 0;
  width: 220px; height: calc(100vh - 60px);
  background: #16233C;
  overflow-y: auto;
  z-index: 90;
  padding: 20px 0 40px;
}
.sidebar-section-label {
  padding: 0 20px 8px;
  margin-top: 28px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--orange);
}
.sidebar-section-label:first-child { margin-top: 0; }
.sidebar a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  font-size: 13px;
  transition: background .15s;
}
.sidebar a:hover { background: rgba(255,255,255,.05); }
.sidebar a.active {
  background: rgba(255,255,255,.09);
  color: #fff;
  border-left: 3px solid var(--orange);
  padding-left: 17px;
}
/* Fixed-width, centered icon column so labels left-align regardless of glyph width
   (narrow text glyphs like ⬡⚖⚙ vs wide color emoji 🏢📈📋 would otherwise shift the label). */
.nav-icon { font-size: 15px; width: 20px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.sidebar-disabled {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  color: rgba(255,255,255,.25);
  font-size: 13px;
  cursor: not-allowed;
}
.after-raise-note {
  font-size: 11px;
  color: rgba(255,255,255,.2);
  padding: 4px 20px 12px;
  letter-spacing: .3px;
}

/* ── Mobile nav (canonical bottom bar — was per-page; now global so the injected
   nav is styled on EVERY page, not just the few that defined .mob-tab) ──────── */
.mob-nav {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0;
  background: var(--navy);
  border-top: 1px solid rgba(255,255,255,.12);
  z-index: 200;
  height: 58px;
}
.mob-tab {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: rgba(255,255,255,.45); text-decoration: none; font-size: 10px; font-weight: 600;
  letter-spacing: .3px; gap: 2px; transition: color .15s;
  padding-bottom: env(safe-area-inset-bottom, 0);
}
.mob-tab.active, .mob-tab:hover { color: var(--orange); }
.mob-icon { font-size: 17px; line-height: 1; }

/* ── Mobile nav drawer (hamburger opens the full sidebar) ─────── */
.nav-toggle {
  display: none;  /* shown ≤1024 */
  position: fixed; top: 11px; left: 14px; z-index: 310;
  width: 38px; height: 38px; padding: 10px 8px;
  border: none; border-radius: 8px; background: transparent; cursor: pointer;
  flex-direction: column; justify-content: space-between;
  -webkit-tap-highlight-color: transparent;
}
.nav-toggle span { display: block; width: 100%; height: 2px; border-radius: 2px; background: #fff; transition: transform .25s ease, opacity .2s ease; }
.nav-backdrop { display: none; position: fixed; inset: 0; background: rgba(11,20,40,.55); z-index: 290; opacity: 0; transition: opacity .25s; }
body.nav-open .nav-backdrop { display: block; opacity: 1; }
body.nav-open .nav-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
body.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
body.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* ── Page shell ─────────────────────────────────────────────── */
.page {
  padding: 36px 28px 40px;
}

/* ── Canonical page header (one size + spacing everywhere; the `body ` prefix
   raises specificity so this wins over each page's own drifted h1 rule) ──── */
body .page-header { margin-bottom: 24px; }   /* on-grid title→content gap (was 28px, off-grid) */
body .page-header h1, body .welcome h1 { font-size: clamp(24px, 6vw, 30px); line-height: 1.2; }

/* Breadcrumbs hidden platform-wide (redundant with the page title + nav; AJ: reclaim the space) */
body .breadcrumb { display: none; }

/* Points chip — rides INSIDE the title row (Title · +N pts · ?), never its own line.
   See feedback_raisenova_vertical_space. */
.pts-chip { display: inline-block; vertical-align: middle; position: relative; top: -2px; margin-left: 8px; padding: 2px 9px; border-radius: 20px; background: rgba(241,154,8,.12); border: 1px solid rgba(241,154,8,.35); color: var(--orange); font: 700 11px/1.5 var(--sans); letter-spacing: .3px; white-space: nowrap; }
/* Neutral chip variant for non-points value markers (e.g. "Strengthens profile") — reads as a benefit, not points. */
.pts-chip.chip-soft { background: rgba(33,62,101,.08); border-color: rgba(33,62,101,.22); color: var(--navy); }

/* ── Info lightbox: a "?" next to a title opens a dismissible help box. Reusable —
   any heading gets a `<button class="info-btn">` + a sibling `.info-content` (or a
   button `data-info-target="id"`); the modal + logic are injected once by worker.js. ── */
.info-btn { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; margin-left:9px; padding:0; border:1.5px solid var(--orange); border-radius:50%; background:transparent; color:var(--orange); font:700 12px/1 var(--sans); cursor:pointer; vertical-align:middle; flex-shrink:0; transition:background .15s,color .15s; }
.info-btn::before { content:"?"; }
.info-btn:hover { background:var(--orange); color:#fff; }
/* Smaller ? inside card titles (17px) vs the page h1 (30px). */
.ct-acc-title .info-btn, .section-title .info-btn, .category-name .info-btn, .lesson-title .info-btn { width:17px; height:17px; font-size:10px; top:-1px; margin-left:7px; }
.info-content { display:none; }
.info-modal-backdrop { position:fixed; inset:0; z-index:400; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(11,20,40,.55); opacity:0; transition:opacity .2s; }
.info-modal-backdrop.open { display:flex; opacity:1; }
.info-modal { position:relative; width:100%; max-width:440px; max-height:80vh; overflow-y:auto; padding:26px 24px; background:#fff; border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.25); transform:translateY(8px); transition:transform .2s; }
.info-modal-backdrop.open .info-modal { transform:none; }
.info-modal-title { margin:0 30px 12px 0; font:700 20px/1.25 var(--serif); color:var(--navy); }
.info-modal-body { font-size:14px; line-height:1.7; color:var(--muted); }
.info-modal-body p { margin:0 0 10px; }
.info-modal-body p:last-child { margin-bottom:0; }
.info-modal-close { position:absolute; top:12px; right:12px; width:30px; height:30px; padding:0; border:none; background:none; color:var(--dim); font-size:22px; line-height:1; cursor:pointer; border-radius:6px; }
.info-modal-close:hover { background:var(--bg); color:var(--text); }

/* Discreet legal footer (injected on authenticated app pages via worker html()). */
.rn-legal-footer { padding: 22px 20px 28px; text-align: center; font-size: 11.5px; line-height: 1.9;
  color: var(--dim,#8a94a6); border-top: 1px solid var(--border,#e6e1d6); }
.rn-legal-footer a { color: var(--dim,#8a94a6); text-decoration: none; margin: 0 5px; white-space: nowrap; }
.rn-legal-footer a:hover { color: var(--navy,#213E65); }

/* ── Responsive ─────────────────────────────────────────────── */
@media (min-width: 1025px) {
  .page { margin-left: 220px; }
  .rn-legal-footer { margin-left: 220px; }
}
@media (max-width: 1024px) {
  .nav-toggle { display: flex; }
  .sidebar {
    display: flex; flex-direction: column;
    top: 0; height: 100vh; padding-top: 70px;
    transform: translateX(-100%);
    transition: transform .28s cubic-bezier(.4,0,.2,1);
    z-index: 300;
  }
  body.nav-open .sidebar { transform: none; }
  body.nav-open { overflow: hidden; }
  .page     { padding-bottom: 40px; }
  .topbar-left { padding-left: 40px; }   /* clear the fixed hamburger */
}
@media (max-width: 768px) {
  .topbar { padding: 0 20px; }
  .page   { padding: 28px 20px 40px; }
}
@media (max-width: 640px) {
  .topbar { padding: 0 16px; }
  .page   { padding: 24px 16px 40px; }
}
@media (max-width: 480px) {
  .topbar { padding: 0 16px; }
}

/* ── Custom gradient icon system (CSS masks; one background fills them all) ──── */
.rn-ic{display:inline-block;flex-shrink:0;width:18px;height:18px;background:var(--orange);
  -webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
/* Dark surfaces (sidebar, mobile nav) → brand gradient. White cards keep the solid-orange default. */
.sidebar a .rn-ic{background:rgba(255,255,255,.7)}
.sidebar a.active .rn-ic{background:var(--orange)}
.sidebar-disabled .rn-ic{background:rgba(255,255,255,.25)}
.mob-nav .rn-ic{background:var(--orange)}
.mob-nav .rn-ic{width:20px;height:20px}
.rn-ic-score{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCAxNS41YTggOCAwIDEgMSAxNiAwIi8+PHBhdGggZD0iTTEyIDE1LjVsMy42LTQuMiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTUuNSIgcj0iMS4xNSIgZmlsbD0iIzAwMCIgc3Ryb2tlPSJub25lIi8+PC9zdmc+");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCAxNS41YTggOCAwIDEgMSAxNiAwIi8+PHBhdGggZD0iTTEyIDE1LjVsMy42LTQuMiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTUuNSIgcj0iMS4xNSIgZmlsbD0iIzAwMCIgc3Ryb2tlPSJub25lIi8+PC9zdmc+")}
.rn-ic-profile{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMy41IDIwLjVoMTciLz48cGF0aCBkPSJNNiAyMC41VjUuNmExIDEgMCAwIDEgMS0xaDZhMSAxIDAgMCAxIDEgMXYxNC45Ii8+PHBhdGggZD0iTTE0IDIwLjV2LTloMy41YTEgMSAwIDAgMSAxIDF2OCIvPjxwYXRoIGQ9Ik05IDhoMk05IDExLjVoMk05IDE1aDIiLz48L3N2Zz4=");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMy41IDIwLjVoMTciLz48cGF0aCBkPSJNNiAyMC41VjUuNmExIDEgMCAwIDEgMS0xaDZhMSAxIDAgMCAxIDEgMXYxNC45Ii8+PHBhdGggZD0iTTE0IDIwLjV2LTloMy41YTEgMSAwIDAgMSAxIDF2OCIvPjxwYXRoIGQ9Ik05IDhoMk05IDExLjVoMk05IDE1aDIiLz48L3N2Zz4=")}
.rn-ic-captable{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4Ii8+PHBhdGggZD0iTTEyIDR2OGg4Ii8+PC9zdmc+");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4Ii8+PHBhdGggZD0iTTEyIDR2OGg4Ii8+PC9zdmc+")}
.rn-ic-financial{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCAxNS41bDQuNi00LjYgMyAzTDIwIDYuMyIvPjxwYXRoIGQ9Ik0xNSA2aDV2NSIvPjwvc3ZnPg==");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCAxNS41bDQuNi00LjYgMyAzTDIwIDYuMyIvPjxwYXRoIGQ9Ik0xNSA2aDV2NSIvPjwvc3ZnPg==")}
.rn-ic-legal{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgNXYxNC41Ii8+PHBhdGggZD0iTTcgMTkuNWgxMCIvPjxwYXRoIGQ9Ik00LjUgOC4yaDE1Ii8+PHBhdGggZD0iTTQuNSA4LjJsLTIuMSA0LjZhMi42IDIuNiAwIDAgMCA0LjIgMHoiLz48cGF0aCBkPSJNMTkuNSA4LjJsLTIuMSA0LjZhMi42IDIuNiAwIDAgMCA0LjIgMHoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjEuMSIgZmlsbD0iIzAwMCIgc3Ryb2tlPSJub25lIi8+PC9zdmc+");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgNXYxNC41Ii8+PHBhdGggZD0iTTcgMTkuNWgxMCIvPjxwYXRoIGQ9Ik00LjUgOC4yaDE1Ii8+PHBhdGggZD0iTTQuNSA4LjJsLTIuMSA0LjZhMi42IDIuNiAwIDAgMCA0LjIgMHoiLz48cGF0aCBkPSJNMTkuNSA4LjJsLTIuMSA0LjZhMi42IDIuNiAwIDAgMCA0LjIgMHoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjEuMSIgZmlsbD0iIzAwMCIgc3Ryb2tlPSJub25lIi8+PC9zdmc+")}
.rn-ic-qa{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjAgMTEuNWE3LjUgNy41IDAgMCAxLTEwLjkgNi43TDQuNSAyMGwxLjQtNC4yQTcuNSA3LjUgMCAxIDEgMjAgMTEuNXoiLz48cGF0aCBkPSJNMTAuMyA5LjZhMS44IDEuOCAwIDEgMSAyLjUgMS43Yy0uNy4zLS44LjgtLjggMS40Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNC43IiByPSIwLjU1IiBmaWxsPSIjMDAwIiBzdHJva2U9Im5vbmUiLz48L3N2Zz4=");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjAgMTEuNWE3LjUgNy41IDAgMCAxLTEwLjkgNi43TDQuNSAyMGwxLjQtNC4yQTcuNSA3LjUgMCAxIDEgMjAgMTEuNXoiLz48cGF0aCBkPSJNMTAuMyA5LjZhMS44IDEuOCAwIDEgMSAyLjUgMS43Yy0uNy4zLS44LjgtLjggMS40Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNC43IiByPSIwLjU1IiBmaWxsPSIjMDAwIiBzdHJva2U9Im5vbmUiLz48L3N2Zz4=")}
.rn-ic-docvault{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNyAzLjVoNmw0LjUgNC41VjIwLjVIN3oiLz48cGF0aCBkPSJNMTMgMy41VjhoNC41Ii8+PHBhdGggZD0iTTkuNSAxMi41aDVNOS41IDE1LjVoNSIvPjwvc3ZnPg==");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNyAzLjVoNmw0LjUgNC41VjIwLjVIN3oiLz48cGF0aCBkPSJNMTMgMy41VjhoNC41Ii8+PHBhdGggZD0iTTkuNSAxMi41aDVNOS41IDE1LjVoNSIvPjwvc3ZnPg==")}
.rn-ic-lessons{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgN2MwLTEuNC0yLTIuNi01LTIuNlMzIDUuNSAzIDd2MTFjMC0xLjQgMi0yLjYgNS0yLjZzNCAxLjIgNCAyLjYiLz48cGF0aCBkPSJNMTIgN2MwLTEuNCAyLTIuNiA1LTIuNlMyMSA1LjUgMjEgN3YxMWMwLTEuNC0yLTIuNi01LTIuNnMtNCAxLjItNCAyLjYiLz48cGF0aCBkPSJNMTIgN3YxMSIvPjwvc3ZnPg==");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgN2MwLTEuNC0yLTIuNi01LTIuNlMzIDUuNSAzIDd2MTFjMC0xLjQgMi0yLjYgNS0yLjZzNCAxLjIgNCAyLjYiLz48cGF0aCBkPSJNMTIgN2MwLTEuNCAyLTIuNiA1LTIuNlMyMSA1LjUgMjEgN3YxMWMwLTEuNC0yLTIuNi01LTIuNnMtNCAxLjItNCAyLjYiLz48cGF0aCBkPSJNMTIgN3YxMSIvPjwvc3ZnPg==")}
.rn-ic-crm{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSI5IiBjeT0iOC41IiByPSIzIi8+PHBhdGggZD0iTTMuNSAxOWE1LjUgNS41IDAgMCAxIDExIDAiLz48cGF0aCBkPSJNMTUuNSA2YTMgMyAwIDAgMSAwIDUuNSIvPjxwYXRoIGQ9Ik0xNyAxNC40YTUuNSA1LjUgMCAwIDEgMy41IDQuNiIvPjwvc3ZnPg==");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSI5IiBjeT0iOC41IiByPSIzIi8+PHBhdGggZD0iTTMuNSAxOWE1LjUgNS41IDAgMCAxIDExIDAiLz48cGF0aCBkPSJNMTUuNSA2YTMgMyAwIDAgMSAwIDUuNSIvPjxwYXRoIGQ9Ik0xNyAxNC40YTUuNSA1LjUgMCAwIDEgMy41IDQuNiIvPjwvc3ZnPg==")}
.rn-ic-dataroom{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48ZWxsaXBzZSBjeD0iMTIiIGN5PSI2IiByeD0iNyIgcnk9IjMiLz48cGF0aCBkPSJNNSA2djEyYzAgMS42IDMuMSAzIDcgM3M3LTEuNCA3LTNWNiIvPjxwYXRoIGQ9Ik01IDEyYzAgMS42IDMuMSAzIDcgM3M3LTEuNCA3LTMiLz48L3N2Zz4=");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48ZWxsaXBzZSBjeD0iMTIiIGN5PSI2IiByeD0iNyIgcnk9IjMiLz48cGF0aCBkPSJNNSA2djEyYzAgMS42IDMuMSAzIDcgM3M3LTEuNCA3LTNWNiIvPjxwYXRoIGQ9Ik01IDEyYzAgMS42IDMuMSAzIDcgM3M3LTEuNCA3LTMiLz48L3N2Zz4=")}
.rn-ic-board{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMy41IDIwLjVoMTciLz48cGF0aCBkPSJNNCA5LjVsOC01IDggNSIvPjxwYXRoIGQ9Ik02IDkuOHY4LjdNMTAgOS44djguN00xNCA5Ljh2OC43TTE4IDkuOHY4LjciLz48L3N2Zz4=");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMy41IDIwLjVoMTciLz48cGF0aCBkPSJNNCA5LjVsOC01IDggNSIvPjxwYXRoIGQ9Ik02IDkuOHY4LjdNMTAgOS44djguN00xNCA5Ljh2OC43TTE4IDkuOHY4LjciLz48L3N2Zz4=")}
.rn-ic-updates{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzLjUiIHk9IjYiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxMiIgcng9IjIiLz48cGF0aCBkPSJNNCA3LjVsOCA1LjUgOC01LjUiLz48L3N2Zz4=");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzLjUiIHk9IjYiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxMiIgcng9IjIiLz48cGF0aCBkPSJNNCA3LjVsOCA1LjUgOC01LjUiLz48L3N2Zz4=")}
.rn-ic-billing{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzIiB5PSI2IiB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHJ4PSIyLjUiLz48cGF0aCBkPSJNMyAxMGgxOCIvPjxwYXRoIGQ9Ik02LjUgMTQuNWg0Ii8+PC9zdmc+");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzIiB5PSI2IiB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHJ4PSIyLjUiLz48cGF0aCBkPSJNMyAxMGgxOCIvPjxwYXRoIGQ9Ik02LjUgMTQuNWg0Ii8+PC9zdmc+")}
.rn-ic-settings{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCA3LjVoOU0xNyA3LjVoMyIvPjxwYXRoIGQ9Ik00IDE2LjVoM00xMSAxNi41aDkiLz48Y2lyY2xlIGN4PSIxNSIgY3k9IjcuNSIgcj0iMi4zIi8+PGNpcmNsZSBjeD0iOSIgY3k9IjE2LjUiIHI9IjIuMyIvPjwvc3ZnPg==");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCA3LjVoOU0xNyA3LjVoMyIvPjxwYXRoIGQ9Ik00IDE2LjVoM00xMSAxNi41aDkiLz48Y2lyY2xlIGN4PSIxNSIgY3k9IjcuNSIgcj0iMi4zIi8+PGNpcmNsZSBjeD0iOSIgY3k9IjE2LjUiIHI9IjIuMyIvPjwvc3ZnPg==")}

.rn-ic-pitchdeck{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI0IiB5PSIzIiB3aWR0aD0iMTYiIGhlaWdodD0iMTMiIHJ4PSIxLjUiLz48cGF0aCBkPSJNMTIgMTZ2NSIvPjxwYXRoIGQ9Ik05IDIxaDYiLz48bGluZSB4MT0iNyIgeTE9IjgiIHgyPSIxNyIgeTI9IjgiLz48bGluZSB4MT0iNyIgeTE9IjExLjUiIHgyPSIxMyIgeTI9IjExLjUiLz48L3N2Zz4=");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI0IiB5PSIzIiB3aWR0aD0iMTYiIGhlaWdodD0iMTMiIHJ4PSIxLjUiLz48cGF0aCBkPSJNMTIgMTZ2NSIvPjxwYXRoIGQ9Ik05IDIxaDYiLz48bGluZSB4MT0iNyIgeTE9IjgiIHgyPSIxNyIgeTI9IjgiLz48bGluZSB4MT0iNyIgeTE9IjExLjUiIHgyPSIxMyIgeTI9IjExLjUiLz48L3N2Zz4=")}
.rn-ic-modules{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI0IiB5PSI0IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMS42Ii8+PHJlY3QgeD0iMTMiIHk9IjQiIHdpZHRoPSI3IiBoZWlnaHQ9IjciIHJ4PSIxLjYiLz48cmVjdCB4PSI0IiB5PSIxMyIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEuNiIvPjxyZWN0IHg9IjEzIiB5PSIxMyIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEuNiIvPjwvc3ZnPg==");mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI0IiB5PSI0IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMS42Ii8+PHJlY3QgeD0iMTMiIHk9IjQiIHdpZHRoPSI3IiBoZWlnaHQ9IjciIHJ4PSIxLjYiLz48cmVjdCB4PSI0IiB5PSIxMyIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEuNiIvPjxyZWN0IHg9IjEzIiB5PSIxMyIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEuNiIvPjwvc3ZnPg==")}
.mod-icon .rn-ic{width:26px;height:26px}


/* ── Collapsible-card controls pinned to top-right corner ─────────────────────
   Parent-scoped so these outrank each page's local header rules regardless of
   source order. Chevron + "Mark as N/A" sit in the card's top-right corner. */
.category .category-header,
.section .section-header,
.ct-acc  .ct-acc-header,
.lesson-card .lesson-header { position: relative; padding-right: 156px; }
.category .cat-chevron,
.section .section-chevron,
.ct-acc  .ct-acc-chevron,
.lesson-card .lesson-chevron { position: absolute; top: 17px; right: 22px; margin: 0; }
.category .na-link,
.section .na-link,
.ct-acc  .na-link { position: absolute; top: 14px; right: 42px; margin: 0; }
@media (max-width: 480px) {
  .category .category-header,
  .section .section-header,
  .ct-acc  .ct-acc-header,
  .lesson-card .lesson-header { padding-right: 130px; }
}

/* --- Readiness cards (3-card module header; shared, was duplicated in all 7 module pages) --- */
.rb-advanced-note{font-size:11px;color:#8a6d3b;background:#FEF3E2;border:1px solid rgba(232,152,29,.28);border-radius:6px;padding:6px 12px;margin-bottom:16px}
.rb-advanced-note a{color:#213E65;font-weight:700;text-decoration:none;white-space:nowrap}
.rb-advanced-note a:hover{text-decoration:underline}
.rb-cards{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch;margin-bottom:16px}
.rb-cards>.rb-wrap{flex:1 1 calc(33.333% - 11px);min-width:0;margin-bottom:0}
.rb-cards>#pv-wrap{order:1}.rb-cards>#rb-wrap{order:2}
.rb-cards>#rr-wrap{order:3}
.rb-cards>.rb-advanced-note{order:4;flex-basis:100%;margin-bottom:0}
@media(max-width:820px){.rb-cards>.rb-wrap{flex-basis:100%}}
.rb-sect-label{font-size:11px;color:rgba(255,255,255,.55);display:block;margin-top:2px;font-weight:400}
.rb-wrap{background:#16233C;border:1px solid #22344e;border-radius:12px;padding:14px 20px;display:flex;align-items:center;gap:16px;margin-bottom:16px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.rb-ring-wrap{position:relative;width:44px;height:44px;flex-shrink:0}
.rb-ring-wrap svg{width:44px;height:44px;transform:rotate(-90deg)}
.rb-ring-bg{stroke:rgba(255,255,255,.14)}
.rb-ring-fill{stroke:#F19A08;transition:stroke-dasharray .6s cubic-bezier(.4,0,.2,1),stroke .4s}#rb-wrap .rb-ring-fill{stroke:#8BD46A}#rb-wrap .rb-pct,#rb-wrap .rb-tier,#rb-wrap .rb-detail strong{color:#8BD46A}#rr-wrap .rb-ring-fill{stroke:#25CCC0}#rr-wrap .rb-pct,#rr-wrap .rb-tier,#rr-wrap .rb-detail strong{color:#25CCC0}
.rb-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#F19A08;letter-spacing:-.3px;transition:color .4s}
.rb-main{flex:1;min-width:0}
.rb-tier{font-size:11px;font-weight:700;color:#F19A08;letter-spacing:.6px;text-transform:uppercase;margin-bottom:5px;transition:color .4s}
.rb-milestones{display:flex;align-items:center;height:6px;border-radius:99px;overflow:hidden;background:linear-gradient(90deg,#F19A08 0%,#8BD46A 55%,#25CCC0 100%)}
.rb-milestone-fill{height:100%;border-radius:0;margin-left:auto;background:#0e1a2e;transition:width .6s cubic-bezier(.4,0,.2,1);width:100%}
.rb-detail{font-size:12px;color:rgba(255,255,255,.6);white-space:nowrap;flex-shrink:0;text-align:right}
.rb-detail strong{color:#F19A08;display:block;font-size:18px;font-weight:700;line-height:1;margin-bottom:1px}
@media(max-width:600px){.rb-detail{display:none}}

/* Score cards (provisional / module progress / verified) — shared by dashboard + all module pages */
.score-section{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;align-items:stretch}
.sc-slot{min-width:0;display:flex;flex-direction:column}
.sc-slot .sc-card{position:relative;margin-bottom:0;flex:1 1 auto}
.sc-chev{position:absolute;top:13px;right:13px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:7px;color:rgba(255,255,255,.55);cursor:pointer;z-index:2;transition:background .15s,color .15s}
.sc-chev:hover{background:rgba(255,255,255,.13);color:#fff}
.sc-slot .rb-wrap{display:none;margin-bottom:0;cursor:pointer}
.sc-slot.collapsed .sc-card{display:none}
.sc-slot.collapsed .rb-wrap{display:flex}
.rb-chev{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);pointer-events:none;margin-left:2px}
.sc-slot .rb-wrap:hover .rb-chev{color:rgba(255,255,255,.75)}
.sc-card{background:#16233c;border:1px solid #22344e;border-radius:12px;padding:24px 22px;display:flex;flex-direction:column}
.sc-prov{border-top-color:#F19A08}
.sc-verified{border-top-color:#25CCC0}
.sc-progress{border-top-color:#8BD46A}
.sc-prov,.sc-verified{justify-content:flex-start}
.sc-modules{display:flex;flex-direction:column;gap:11px;margin-bottom:14px}
.scm-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
.scm-name{font-size:12px;font-weight:600;color:#1a1a1a}
.scm-pts{font-size:11px;font-weight:700;color:#999}
.scm-track{height:6px;background:#EDE8DD;border-radius:3px;overflow:hidden}
.scm-fill{height:100%;border-radius:3px;transition:width .6s}
.mp-card{background:#16233c;border:1px solid #22344e}
.mp-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:10px}
.mp-score{font-family:'Playfair Display',serif;line-height:1;margin-bottom:14px}
#mp-num{font-size:62px;font-weight:700;color:#8BD46A}
.mp-denom{font-size:20px;color:rgba(255,255,255,.4);font-weight:500}
.mp-badge{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:5px 11px;border-radius:5px;white-space:nowrap;flex-shrink:0}
.mp-badge:empty{display:none}
.mp-badge-amber{background:rgba(241,154,8,.13);border:1px solid rgba(241,154,8,.4);color:#F5A623}
.mp-score-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}
.mp-score-row .mp-score{margin-bottom:0}
.mp-card .sc-modules{gap:14px;margin-bottom:0}
.mp-card .scm-name{color:rgba(255,255,255,.82);font-size:12.5px;font-weight:500}
.mp-card .scm-pts{color:rgba(255,255,255,.42);font-weight:600}
.mp-card .scm-track{position:relative;height:5px;background:#0e1a2e;border-radius:3px;overflow:hidden}
.scm-grad{position:absolute;inset:0;background:linear-gradient(90deg,#F19A08 0%,#8BD46A 55%,#25CCC0 100%)}
.scm-mask{position:absolute;top:0;right:0;bottom:0;background:#0e1a2e;transition:width .6s}
.mp-explain{font-size:12px;color:rgba(255,255,255,.52);line-height:1.65;margin-top:14px}
.mp-explain-2{margin-top:11px;color:rgba(255,255,255,.38)}
.mp-score-lg{margin-bottom:16px}
#sc-prov-num{font-size:62px;color:#F19A08}
#sc-ver-num{font-size:62px;color:#25CCC0}
.mp-badge-green{background:rgba(139,212,106,.14);border:1px solid rgba(139,212,106,.45);color:#9BDE7D}
.mp-badge-teal{background:rgba(37,204,192,.13);border:1px solid rgba(37,204,192,.45);color:#35D6C8}
.sc-prov .sc-modules,.sc-verified .sc-modules{gap:14px;margin-bottom:0}
.sc-prov .scm-name,.sc-verified .scm-name{color:rgba(255,255,255,.82);font-size:12.5px;font-weight:500}
.sc-prov .scm-track,.sc-verified .scm-track{position:relative;height:5px;background:#0e1a2e;border-radius:3px;overflow:hidden}
.sc-prov .scm-grad{background:#F19A08}
.sc-verified .scm-grad{background:#25CCC0}
.sc-meter-ceiling{position:absolute;top:0;bottom:0;left:0;width:2px;background:#F19A08;opacity:0;transition:left .6s}
.sc-meter-note{font-size:12.5px;font-weight:500;color:rgba(255,255,255,.82);margin-top:12px;min-height:16px}
@media(max-width:820px){.score-section{grid-template-columns:1fr}.mp-score-row{flex-direction:column;align-items:flex-start;gap:12px}}
