/* Roadmap PDF stylesheet — shared by role.html (print view) and api/roadmap.php
   (the paid, server-rendered document). Edit here only; both read this file.
   Generated from role.html by extract-print-css.py. */
@page { margin: 11mm 11mm 13mm; }

/* Browsers drop background colour when printing unless told not to. */
#rm-print, #rm-print * { -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important; }



body { background: #fff !important; color: #16181d !important; }

.rmp-doc { font-size: 10pt; line-height: 1.55; color: #24272e;
  font-family: "Inter", "Segoe UI", system-ui, sans-serif; }

/* ---- header band ---- */
.rmp-top { background: #12151c; color: #fff; border-radius: 10px;
  padding: 18px 22px 20px; margin-bottom: 16px; }
.rmp-brand { font-size: 8pt; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 800; color: #8fb3f5; margin-bottom: 7px; }
.rmp-brand b { color: #ff8a4c; }
.rmp-doc h1 { font-size: 21pt; margin: 0 0 8px; color: #fff;
  letter-spacing: -0.02em; line-height: 1.15; }
.rmp-sub { margin: 0; font-size: 9.5pt; color: #c3cad6; line-height: 1.6; }

/* ---- fact cards ---- */
.rmp-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
  margin: 0 0 4px; }
.rmp-fact { border-radius: 8px; padding: 9px 12px; border: 1px solid; }
.rmp-fact span { display: block; font-size: 7.5pt; text-transform: uppercase;
  letter-spacing: 0.07em; font-weight: 800; margin-bottom: 3px; }
.rmp-fact b { font-size: 10.5pt; font-weight: 700; color: #16181d; line-height: 1.25; }
.rmp-f1 { background: #eef4ff; border-color: #b9d0f7; } .rmp-f1 span { color: #1f56b5; }
.rmp-f2 { background: #eefaf4; border-color: #b2e4cd; } .rmp-f2 span { color: #17795a; }
.rmp-f3 { background: #fff6e8; border-color: #f0d7a8; } .rmp-f3 span { color: #92640f; }
.rmp-f4 { background: #f4f1ff; border-color: #d3c9f8; } .rmp-f4 span { color: #5a45c4; }

/* ---- section headings ---- */
.rmp-doc h2 { font-size: 12.5pt; margin: 20px 0 8px; color: #12151c;
  padding: 0 0 5px 11px; border-left: 4px solid #2f6fe0;
  border-bottom: 1px solid #dfe3ea; line-height: 1.3;
  break-after: avoid; page-break-after: avoid; }
.rmp-note { font-size: 9pt; color: #5c6270; margin: 0 0 10px; font-style: italic; }

/* ---- roadmap phases ---- */
.rmp-phase { border: 1px solid #dfe3ea; border-left: 4px solid #2f6fe0;
  border-radius: 8px; padding: 11px 14px; margin-bottom: 8px;
  background: #fbfcfe; break-inside: avoid; page-break-inside: avoid; }
.rmp-phase.rmp-c2 { border-left-color: #17795a; }
.rmp-phase.rmp-c3 { border-left-color: #c0761a; }
.rmp-phase.rmp-c4 { border-left-color: #5a45c4; }
.rmp-phase.rmp-c5 { border-left-color: #c0522a; }
.rmp-phase-h { display: flex; align-items: center; gap: 9px; margin-bottom: 6px; }
.rmp-num { width: 21px; height: 21px; border-radius: 50%; background: #2f6fe0;
  color: #fff !important; font-size: 9pt; font-weight: 800; display: inline-flex;
  align-items: center; justify-content: center; flex-shrink: 0; }
.rmp-phase.rmp-c2 .rmp-num { background: #17795a; }
.rmp-phase.rmp-c3 .rmp-num { background: #c0761a; }
.rmp-phase.rmp-c4 .rmp-num { background: #5a45c4; }
.rmp-phase.rmp-c5 .rmp-num { background: #c0522a; }
.rmp-phase h3 { margin: 0; font-size: 11pt; color: #12151c; letter-spacing: -0.01em; }
.rmp-weeks { margin-left: auto; font-size: 8pt; font-weight: 800; color: #fff !important;
  background: #6b7280; border-radius: 20px; padding: 2px 9px; white-space: nowrap; }
.rmp-phase p { margin: 0 0 6px; font-size: 9.5pt; color: #3a3f4a; }
.rmp-kv { font-size: 9pt; color: #3a3f4a; margin: 0 0 4px; }
.rmp-kv b { color: #12151c; }
.rmp-check { font-size: 8.5pt; color: #8a8f9a; text-align: right;
  margin: 7px 0 0 !important; letter-spacing: 0.03em; }

/* ---- projects table ---- */
.rmp-tbl { width: 100%; border-collapse: collapse; font-size: 9pt;
  border-radius: 8px; overflow: hidden; }
.rmp-tbl th { text-align: left; background: #12151c; color: #fff !important;
  padding: 7px 9px; font-size: 8pt; text-transform: uppercase; letter-spacing: 0.06em;
  font-weight: 800; border: none; }
.rmp-tbl td { border-bottom: 1px solid #e4e7ec; padding: 7px 9px;
  vertical-align: top; color: #3a3f4a; }
.rmp-tbl tr:nth-child(even) td { background: #f7f9fc; }
.rmp-tbl tr { break-inside: avoid; page-break-inside: avoid; }
.rmp-lvl { display: inline-block; border-radius: 20px; padding: 1px 8px;
  font-size: 7.5pt; font-weight: 800; white-space: nowrap; }
.rmp-lvl-beginner     { background: #eefaf4; color: #17795a; }
.rmp-lvl-intermediate { background: #fff6e8; color: #92640f; }
.rmp-lvl-advanced     { background: #fdeeea; color: #b1431f; }

/* ---- lists & links ---- */
.rmp-list { margin: 0; padding-left: 17px; }
.rmp-list li { font-size: 9pt; color: #3a3f4a; margin-bottom: 6px;
  break-inside: avoid; page-break-inside: avoid; }
.rmp-url { color: #7b8190; font-size: 7.5pt; word-break: break-all; }
.rmp-free { background: #e53e3e; color: #fff; font-size: 6.5pt; font-weight: 800;
  letter-spacing: 0.06em; border-radius: 10px; padding: 1px 6px; white-space: nowrap; }
.rmp-a { color: #1f56b5 !important; text-decoration: underline !important; font-weight: 600; }
.rmp-stars { font-size: 8pt; color: #92640f; font-weight: 800; white-space: nowrap; }
.rmp-links li { margin-bottom: 7px; }
.rmp-co { line-height: 2; }

/* ---- footer band ---- */
.rmp-foot { margin-top: 18px; background: #12151c; color: #c3cad6 !important;
  border-radius: 8px; padding: 11px 16px; font-size: 8.5pt; line-height: 1.5; }
.rmp-foot b { color: #ff8a4c; }

/* ── EnginPath document template (v1.2) ──────────────────────────────────────
   Cover band, contents, call-to-action cards and a branded sign-off, so the
   downloaded file reads as a real EnginPath document rather than a page dump. */

/* Cover band */
.rmp-top { position: relative; }
.rmp-logo { display: flex; align-items: center; gap: 9px; margin-bottom: 9px; }
.rmp-logo img { width: 26px; height: 26px; }
.rmp-logo span { font-size: 11pt; font-weight: 800; letter-spacing: -0.01em; color: #fff; }
.rmp-logo span i { font-style: normal; color: #ff8a4c; }
.rmp-meta { margin: 11px 0 0; font-size: 8pt; color: #97a1b2; letter-spacing: 0.02em; }
.rmp-meta b { color: #c3cad6; font-weight: 700; }

/* Contents */
.rmp-toc { border: 1px solid #dfe3ea; border-radius: 8px; padding: 11px 15px;
  margin: 0 0 6px; background: #fbfcfe; break-inside: avoid; page-break-inside: avoid; }
.rmp-toc h4 { margin: 0 0 7px; font-size: 8pt; text-transform: uppercase;
  letter-spacing: 0.09em; color: #5c6270; font-weight: 800; }
.rmp-toc ol { margin: 0; padding-left: 18px; column-count: 2; column-gap: 24px; }
.rmp-toc li { font-size: 8.7pt; color: #24272e; margin-bottom: 3px; break-inside: avoid; }

/* Call-to-action cards (mentor booking, keep-going) */
.rmp-cta { display: flex; gap: 12px; align-items: flex-start;
  border: 1px solid #b9d0f7; background: #eef4ff; border-radius: 9px;
  padding: 12px 15px; margin: 10px 0 4px; break-inside: avoid; page-break-inside: avoid; }
.rmp-cta-ic { font-size: 15pt; line-height: 1.1; flex-shrink: 0; }
.rmp-cta h3 { margin: 0 0 3px; font-size: 10.5pt; color: #12151c; }
.rmp-cta p { margin: 0 0 5px; font-size: 9pt; color: #3a3f4a; line-height: 1.5; }
.rmp-cta .rmp-url { display: block; }
.rmp-cta-green { border-color: #b2e4cd; background: #eefaf4; }
.rmp-cta-amber { border-color: #f0d7a8; background: #fff6e8; }

/* Sign-off */
.rmp-foot { display: flex; gap: 14px; align-items: center; }
.rmp-foot-txt { flex: 1; }
.rmp-foot a { color: #8fb3f5 !important; text-decoration: underline !important; }
