/* ERW Certification Bootcamps (AZ-900, AI-103) — session pages.
   Copied from CommandAI's sheet (itself from CommandPython and AI-901) so all
   four courses read as one family. ECB additions are at the end.
   Original header: ERW CommandPython — session pages.
   Cloned from the ERW CommandPMO AI-901 week pages so both courses read as one
   family: same navy #021937, same orange #fc2b03, same card system. Additions
   for a coding course are marked NEW. */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI', Arial, Helvetica, sans-serif; background:#f2f4f7; color:#555555; line-height:1.55; }
.wrap { max-width:1000px; margin:0 auto; }
.header { background:#021937; padding:26px 32px 22px; }
.header-top { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.logo-box { background:#ffffff; border-radius:8px; padding:6px 8px; display:inline-flex; align-items:center; }
.logo-box img { height:56px; display:block; }
.header-titles h1 { color:#fc2b03; font-size:20px; letter-spacing:0.5px; font-weight:800; }
.header-titles h2 { color:#ffffff; font-size:16px; font-weight:600; margin-top:3px; }
.header-sub { color:#9fb0c8; font-size:13px; margin-top:10px; }
.header-week { display:inline-block; margin-top:10px; background:rgba(252,43,3,0.14); border:1px solid #fc2b03; color:#fc2b03; font-size:12px; font-weight:700; letter-spacing:1px; padding:4px 12px; border-radius:4px; }
.cert-bar { background:#dbe3ee; padding:10px 32px; font-size:13px; color:#021937; border-bottom:1px solid #c1cddd; }
.cert-bar strong { color:#021937; }
.tabs { position:sticky; top:0; z-index:50; background:#ffffff; display:flex; border-bottom:3px solid #021937; box-shadow:0 2px 6px rgba(0,0,0,0.08); }
.tab-btn { position:relative; flex:1; padding:12px 6px 10px; background:#ffffff; border:none; cursor:pointer; font-family:inherit; text-align:center; border-right:1px solid #e8ecf1; transition:background 0.15s; }
.tab-btn:last-child { border-right:none; }
.tab-btn .d { display:block; font-size:14px; font-weight:700; color:#021937; }
.tab-btn .dt { display:block; font-size:11px; color:#8a97a8; margin-top:2px; }
.tab-btn:hover { background:#f4f7fb; }
.tab-btn.active { background:#021937; }
.tab-btn.active .d { color:#fc2b03; }
.tab-btn.active .dt { color:#ffffff; }
.tab-btn.done .d::after { content:" ✓"; color:#2e7d32; }
.tab-btn.active.done .d::after { color:#7fd08a; }
.panel { display:none; padding:26px 32px 36px; }
.panel.active { display:block; }
.topic-card { background:#ffffff; border-top:5px solid #fc2b03; border-radius:6px; padding:20px 24px; box-shadow:0 1px 4px rgba(0,0,0,0.07); }
.topic-cat { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#fc2b03; }
.topic-title { font-size:21px; font-weight:700; color:#021937; margin-top:4px; }
.topic-meta { font-size:12px; color:#8a97a8; margin-top:6px; }
.weight { display:inline-block; background:#eef2f7; border:1px solid #c1cddd; color:#021937; font-size:10.5px; font-weight:700; letter-spacing:0.5px; padding:2px 8px; border-radius:10px; margin-left:8px; }
.why-box { background:#fff1ed; border-left:5px solid #fc2b03; border-radius:0 6px 6px 0; padding:16px 20px; margin-top:18px; }
.why-box h3 { font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:#b32a08; margin-bottom:6px; }
.why-box p { font-size:14px; color:#59493f; }
.ros-title { font-size:13px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:#021937; margin:26px 0 12px; }
.step { background:#ffffff; border-radius:6px; padding:16px 20px; margin-bottom:12px; box-shadow:0 1px 3px rgba(0,0,0,0.06); }
.step.navy { border-left:5px solid #021937; }
.step.orange { border-left:5px solid #fc2b03; }
.step-time { display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.5px; color:#ffffff; background:#021937; padding:2px 9px; border-radius:3px; }
.step.orange .step-time { background:#fc2b03; }
.step-head { font-size:15px; font-weight:700; color:#021937; margin-top:8px; }
.step ul { margin:8px 0 0 18px; font-size:13.5px; color:#555555; }
.step ul li { margin-bottom:6px; }
.step-tip { font-style:italic; font-size:12.5px; color:#8a97a8; margin-top:10px; }
code { background:#eef2f7; border:1px solid #dbe3ee; border-radius:3px; padding:1px 5px; font-family:Consolas,Monaco,'Cascadia Code',monospace; font-size:12.5px; color:#021937; }
/* Long unbroken names (resource types, endpoints, environment variables) must
   wrap on a phone, or they push the whole page sideways. Found 16 Sep 2026 on
   the AI-103 session pages at 390px. Code blocks keep their own sideways scroll. */
code { overflow-wrap:anywhere; }
.codeblock pre code { overflow-wrap:normal; }
.panel { overflow-wrap:break-word; }   /* the same names in plain text: exam lines, self-check options */
.terms-grid > * { min-width:0; }   /* a grid cell otherwise grows to fit a long URL */

/* NEW — real code blocks. A coding course needs indentation to survive, so
   multi-line code is a <pre>, never a stack of inline <code> lines. Navy to
   match the brand; the orange rule marks it as "type this". */
li.cb { list-style:none; margin-left:-18px; }
.codeblock { margin:8px 0 4px; border-radius:6px; overflow:hidden; border:1px solid #0d2645; }
.codeblock .cb-h { display:flex; align-items:center; gap:10px; background:#0d2645; color:#9fb0c8; font:700 10.5px/1 'Segoe UI',Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; padding:7px 12px; }
.codeblock .cb-h .fn { color:#ffffff; letter-spacing:.02em; text-transform:none; font-family:Consolas,Monaco,monospace; font-size:12px; font-weight:600; }
.codeblock .cb-h .typ { margin-left:auto; color:#fc2b03; }
.codeblock pre { margin:0; background:#021937; color:#e8eef7; padding:12px 14px; overflow-x:auto; font:13px/1.55 Consolas,Monaco,'Cascadia Code',monospace; tab-size:4; border-left:4px solid #fc2b03; }
.codeblock pre code { background:none; border:0; padding:0; color:inherit; font:inherit; border-radius:0; }
.codeblock pre.bash { border-left-color:#5b7699; }
.codeblock .out-h { background:#e9eef4; color:#021937; font:800 10px/1 'Segoe UI',Arial,sans-serif; letter-spacing:.14em; padding:6px 12px; border-top:1px solid #0d2645; }
.codeblock pre.out { background:#f7f9fb; color:#1f2d3d; border-left:4px solid #2e7d32; }
.tk-k { color:#ff8a65; font-weight:600; } .tk-s { color:#a5d6a7; } .tk-c { color:#7f93ad; font-style:italic; }
.tk-n { color:#ffd180; } .tk-b { color:#81d4fa; } .tk-d { color:#ce93d8; }

.terms-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.term { background:#ffffff; border-radius:6px; padding:14px 16px; box-shadow:0 1px 3px rgba(0,0,0,0.06); }
.term.navy { border-top:4px solid #021937; }
.term.orange { border-top:4px solid #fc2b03; }
.term h4 { font-size:13.5px; font-weight:700; color:#021937; margin-bottom:4px; }
.term p { font-size:12.5px; color:#555555; }
@media (max-width:640px){ .tabs{overflow-x:auto;} .tab-btn{flex:1 0 auto;min-width:92px;} .terms-grid { grid-template-columns:1fr; } .panel{padding:20px 16px 30px;} .header{padding:22px 18px 18px;} .cert-bar{padding:10px 18px;} }
.assign { background:#021937; border-radius:6px; padding:22px 26px; margin-top:26px; border-left:6px solid #fc2b03; }
.assign h3 { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#fc2b03; margin-bottom:10px; }
.assign .task { font-size:16px; font-weight:600; color:#ffffff; line-height:1.5; }
.assign ul { margin:10px 0 0 18px; font-size:13.5px; color:#c3d0e0; }
.assign ul li { margin-bottom:5px; }
.assign strong { color:#ffffff; }
.assign .send { margin-top:14px; padding:13px 0 0; background:none; border-left:0; border-radius:0; border-top:1px solid #1b3355; font-size:13px; color:#9fb0c8; }
.assign .send strong { color:#fc2b03; }
.assign code, .assign .send code { background:#0d2645; border:1px solid #1b3355; color:#e8eef7; }
.assign .send .sendact { margin:13px 0 11px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.assign .send .tmpl { color:#9fb0c8; font-size:13px; text-decoration:underline; }
.assign .send .tmpl:hover { color:#ffffff; }
/* NEW — the rubric, published on the page so nobody is marked against a secret. */
.rubric { margin-top:14px; border-top:1px solid #1b3355; padding-top:12px; }
.rubric summary { cursor:pointer; color:#ffffff; font-size:12.5px; font-weight:700; letter-spacing:.04em; }
.rubric table { width:100%; border-collapse:collapse; margin-top:10px; font-size:12.5px; }
.rubric td { padding:7px 10px; border-top:1px solid #1b3355; color:#c3d0e0; }
.rubric td:last-child { text-align:right; font-weight:700; color:#ffffff; white-space:nowrap; }
.rubric tr.tot td { color:#fc2b03; font-weight:800; }
.quiz-title { font-size:13px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:#021937; margin:26px 0 12px; }
.q { background:#ffffff; border-radius:6px; padding:14px 18px; margin-bottom:10px; box-shadow:0 1px 3px rgba(0,0,0,0.06); border-left:4px solid #dbe3ee; }
.q .qq { font-size:14px; font-weight:600; color:#021937; }
.q .codeblock { margin-top:10px; }
.q .opts { margin:8px 0 0 18px; font-size:13.5px; color:#555; }
.q .opts li { margin-bottom:3px; }
.reveal { margin-top:10px; background:#eef2f7; border:1px solid #c1cddd; color:#021937; font-family:inherit; font-size:12px; font-weight:700; padding:5px 12px; border-radius:4px; cursor:pointer; }
.reveal:hover { background:#dbe3ee; }
.ans { display:none; margin-top:10px; background:#f0f7f1; border-left:4px solid #2e7d32; padding:10px 14px; border-radius:0 4px 4px 0; font-size:13px; color:#33503a; }
.ans.show { display:block; }
.ans strong { color:#1b5e20; }
.pills-title { font-size:13px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:#021937; margin:24px 0 10px; }
.pills { display:flex; flex-wrap:wrap; gap:8px; }
.pill { font-size:12px; font-weight:600; color:#021937; background:#ffffff; border:1px solid #c1cddd; padding:5px 13px; border-radius:20px; }
/* NEW — finishing a session is a deliberate act, and it feeds the progress page. */
.donebar { margin-top:22px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:#fff; border:1px solid #dfe4ea; border-radius:6px; padding:12px 16px; }
.donebtn { background:#fff; border:2px solid #021937; color:#021937; font:700 13px 'Segoe UI',Arial,sans-serif; padding:8px 16px; border-radius:6px; cursor:pointer; }
.donebtn.on { background:#2e7d32; border-color:#2e7d32; color:#fff; }
.donebar .nx { margin-left:auto; color:#fc2b03; font-weight:700; font-size:13px; text-decoration:none; }
.donebar .hint { font-size:12.5px; color:#8a97a8; }
.footer { background:#021937; padding:20px 32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-top:10px; }
.footer .fl { font-size:12px; color:#9fb0c8; line-height:1.6; }
.footer .fr { font-size:11px; font-weight:700; letter-spacing:1.5px; color:#fc2b03; }
.navbar { background:#021937; border-bottom:2px solid #fc2b03; padding:9px 0; margin:-1px 0 0; }
.navbar-in { max-width:1180px; margin:0 auto; padding:0 22px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.navbar a { color:#ffffff; font-size:12.5px; text-decoration:none; letter-spacing:.04em; opacity:.82; }
.navbar a:hover { opacity:1; text-decoration:underline; }
.navbar a.home { font-weight:700; opacity:1; }
.navbar .wknav { margin-left:auto; display:flex; gap:6px; flex-wrap:wrap; }
.navbar .wknav a { border:1px solid rgba(255,255,255,.28); border-radius:4px; padding:3px 8px; opacity:.7; }
.navbar .wknav a.cur { background:#fc2b03; border-color:#fc2b03; opacity:1; font-weight:700; }
.navbar a.mygrades { border:1px solid rgba(255,255,255,.34); border-radius:4px; padding:3px 10px; opacity:1; font-weight:600; }
.homelink { margin-left:auto; color:#ffffff; font-size:12.5px; text-decoration:none; border:1px solid rgba(255,255,255,.4); border-radius:5px; padding:6px 14px; white-space:nowrap; }
.homelink:hover { background:rgba(255,255,255,.12); }
.backtop { display:block; text-align:center; margin:26px 0 4px; }
.backtop a { color:#021937; font-size:13px; text-decoration:none; font-weight:600; border:1px solid #dfe4ea; background:#fff; border-radius:6px; padding:9px 22px; }
.backtop a:hover { border-color:#fc2b03; color:#fc2b03; }
.send { background:#021937; border-left:4px solid #fc2b03; border-radius:6px; padding:16px 18px; margin-top:14px; color:#c6d0dc; font-size:14px; line-height:1.6; }
.send .submitbtn { display:inline-block; background:#fc2b03; color:#fff; text-decoration:none; font-weight:700; font-size:15px; padding:11px 26px; border-radius:6px; }
.send .submitbtn:hover { background:#d92503; }
.send .submitbtn.off { background:#3a4757; color:#93a1b2; pointer-events:none; font-style:italic; font-weight:500; }
/* Track badge + per-track blocks (same classes as AI-901's track.js) */
.tsw { background:#0d243f; border-bottom:1px solid #1c3556; padding:10px 0; }
.tsw-in { max-width:1180px; margin:0 auto; padding:0 22px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.tsw-lab { color:#fc2b03; font-size:10.5px; font-weight:800; letter-spacing:.14em; }
.tsw-btn { background:transparent; border:1px solid rgba(255,255,255,.28); color:#c6d0dc; font:inherit; font-size:12.5px; padding:5px 14px; border-radius:5px; }
.tsw-btn.on { background:#fc2b03; border-color:#fc2b03; color:#fff; font-weight:700; }
.tsw-note { color:#7f8fa3; font-size:11.5px; margin-left:auto; }
.tsw-note a { color:#c6d0dc; }
@media(max-width:640px){ .tsw-note{ display:none; } }
li.tp { list-style:none; margin-left:-18px; }
.tpair { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:6px 0; }
@media(max-width:700px){ .tpair{ grid-template-columns:1fr; } }
.tblock { border-radius:6px; padding:12px 14px; border-left:3px solid #021937; background:#f7f9fb; min-width:0; }
.tblock.tb { border-left-color:#fc2b03; background:#fff7f5; }
.tblock .tbadge { display:inline-block; font-size:10px; font-weight:800; letter-spacing:.12em; color:#fff; background:#021937; padding:2px 8px; border-radius:3px; margin-bottom:6px; }
.tblock.tb .tbadge { background:#fc2b03; }
.tblock ul { margin:4px 0 0 16px; }
body.track-a .tblock.tb, body.track-b .tblock.ta { display:none; }
body.track-a .tpair, body.track-b .tpair { grid-template-columns:1fr; }

/* Coach Ritchie read-aloud controls (the AI-901 "Listen" pill) */
.erw-say { float:right; margin:0 0 6px 12px; background:#fff1ed; border:1px solid #fc2b03; border-radius:999px; color:#b32a08; cursor:pointer; font:600 12px/1 'Segoe UI',Arial,sans-serif; padding:4px 12px 4px 4px; display:inline-flex; align-items:center; gap:8px; }
.erw-say:hover { background:#ffe4dc; }
.erw-say.on { background:#021937; border-color:#021937; color:#fff; }
.erw-say img { width:24px; height:24px; border-radius:50%; object-fit:cover; display:block; background:#dfe4ea; }
.erw-say.on img { box-shadow:0 0 0 2px #fc2b03; animation:sayPulse 1.6s ease-in-out infinite; }
.erw-say-all { float:none; margin:0 0 16px; }
.assign .erw-say { background:#0d2645; border-color:#fc2b03; color:#fff; }
@keyframes sayPulse { 0%,100%{opacity:1} 50%{opacity:.55} }
@media print { .erw-say, .donebar, .navbar, .tsw { display:none !important; } .panel { display:block !important; } }

/* Drag-and-drop upload (session assignment boxes and the progress page) */
.cp-drop { margin:12px 0 4px; }
.cp-drop .dz { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center; cursor:pointer; border:2px dashed #b9c2cd; border-radius:8px; padding:20px 16px; background:#f7f9fb; transition:background .15s,border-color .15s; }
.cp-drop .dz input { display:none; }
.cp-drop .dz b { color:#021937; font-size:15px; }
.cp-drop .dz .dz-sub { font-size:12.5px; color:#78828f; }
.cp-drop .dz .dz-ic { font-size:26px; line-height:1; color:#fc2b03; }
.cp-drop .dz:hover, .cp-drop .dz:focus-visible { border-color:#fc2b03; background:#fff6f4; outline:none; }
.cp-drop .dz.over { border-color:#fc2b03; border-style:solid; background:#fff1ed; }
.cp-drop.dark .dz { background:#0d2645; border-color:#3b587d; }
.cp-drop.dark .dz b { color:#fff; } .cp-drop.dark .dz .dz-sub { color:#9fb0c8; }
.cp-drop.dark .dz:hover, .cp-drop.dark .dz:focus-visible, .cp-drop.dark .dz.over { background:#132f55; border-color:#fc2b03; }
.cp-drop.dark .dz code { background:#021937; border-color:#1b3355; color:#e8eef7; }
.cp-drop .dz-file { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:10px; padding:10px 12px; border-radius:6px; background:#fff; border:1px solid #dfe4ea; font-size:13.5px; }
.cp-drop.dark .dz-file { background:#0d2645; border-color:#1b3355; color:#e8eef7; }
.cp-drop .dz-file .fn { font-weight:700; color:#021937; word-break:break-all; } .cp-drop.dark .dz-file .fn { color:#fff; }
.cp-drop .dz-file .sz { color:#78828f; font-size:12px; }
.cp-drop .dz-file .ok { background:#2e7d32; color:#fff; font-size:11.5px; font-weight:700; padding:2px 8px; border-radius:999px; }
.cp-drop .dz-send { margin-left:auto; background:#fc2b03; color:#fff; border:0; border-radius:6px; font:700 14px 'Segoe UI',Arial,sans-serif; padding:9px 18px; cursor:pointer; }
.cp-drop .dz-send:disabled { background:#3a4757; color:#c6d0dc; cursor:wait; }
.cp-drop .dz-x { background:none; border:0; font-size:20px; line-height:1; color:#78828f; cursor:pointer; }
.cp-drop .dz-msg { margin-top:10px; font-size:13.5px; line-height:1.55; padding:10px 12px; border-radius:6px; background:#f2f4f7; color:#555; }
.cp-drop .dz-msg.bad { background:#fff1ed; color:#7a2410; border-left:3px solid #b32a08; }
.cp-drop .dz-msg.good { background:#f0f7f1; color:#1b5e20; border-left:3px solid #2e7d32; }
.cp-drop .dz-msg.wait { background:#fff6f4; color:#59493f; border-left:3px solid #fc2b03; }
.cp-drop .dz-msg a { color:#fc2b03; font-weight:700; }

/* Word / Google Doc switch */
.cp-drop .dz-tabs { display:inline-flex; gap:0; margin-bottom:8px; border:1px solid #c1cddd; border-radius:6px; overflow:hidden; }
.cp-drop .dz-tabs button { background:#fff; border:0; padding:6px 14px; font:700 12.5px 'Segoe UI',Arial,sans-serif; color:#021937; cursor:pointer; }
.cp-drop .dz-tabs button + button { border-left:1px solid #c1cddd; }
.cp-drop .dz-tabs button.on { background:#021937; color:#fff; }
.cp-drop.dark .dz-tabs { border-color:#3b587d; }
.cp-drop.dark .dz-tabs button { background:#0d2645; color:#c6d0dc; }
.cp-drop.dark .dz-tabs button + button { border-left-color:#3b587d; }
.cp-drop.dark .dz-tabs button.on { background:#fc2b03; color:#fff; }
.cp-drop .dz[hidden], .cp-drop .gd[hidden] { display:none; }
.cp-drop .gd { border:2px dashed #b9c2cd; border-radius:8px; padding:14px 16px; background:#f7f9fb; font-size:13.5px; color:#555; }
.cp-drop .gd > b { color:#021937; font-size:14.5px; }
.cp-drop .gd ol { margin:8px 0 10px 20px; } .cp-drop .gd li { margin-bottom:4px; }
.cp-drop .gd-row { display:flex; gap:8px; flex-wrap:wrap; }
.cp-drop .gd-url { flex:1; min-width:220px; font:13.5px Consolas,Monaco,monospace; padding:9px 10px; border:1px solid #c1cddd; border-radius:6px; }
.cp-drop .gd-go { background:#021937; color:#fff; border:0; border-radius:6px; font:700 13.5px 'Segoe UI',Arial,sans-serif; padding:9px 16px; cursor:pointer; }
.cp-drop .gd-note { font-size:12px; color:#78828f; margin-top:8px; }
.cp-drop.dark .gd { background:#0d2645; border-color:#3b587d; color:#c3d0e0; }
.cp-drop.dark .gd > b { color:#fff; } .cp-drop.dark .gd-note { color:#9fb0c8; }
.cp-drop.dark .gd-url { background:#021937; border-color:#3b587d; color:#e8eef7; }
.cp-drop.dark .gd-go { background:#fc2b03; }
.cp-drop.dark .gd code { background:#021937; border-color:#1b3355; color:#e8eef7; }

/* ---------------------------------------------------------- CommandAI
Doctrine lines, small tables inside steps, and the charter callout under
each assignment. Added for the AI Leadership programme; the rest of this
sheet is shared with the other ERW courses. */
li.dl, li.dt, li.tp { list-style:none; margin-left:-16px; }
.doctrine { border-left:4px solid #fc2b03; background:#fff7f5; border-radius:6px; padding:12px 14px 12px 16px; margin:10px 0; }
.doctrine .dbadge { display:inline-block; font-size:9.5px; font-weight:800; letter-spacing:.14em; color:#fff; background:#fc2b03; padding:2px 8px; border-radius:3px; margin-bottom:7px; }
.doctrine p { margin:0; font-size:15.5px; font-weight:600; line-height:1.55; color:#021937; }
.dtab { overflow-x:auto; margin:10px 0; }
.dtab table { border-collapse:collapse; width:100%; font-size:13.5px; background:#fff; }
.dtab th, .dtab td { border:1px solid #dde4ec; padding:7px 10px; text-align:left; vertical-align:top; }
.dtab th { background:#021937; color:#fff; font-size:11px; letter-spacing:.06em; text-transform:uppercase; font-weight:800; }
.dtab tbody tr:nth-child(even) td { background:#f7f9fb; }
.charter { border:1px dashed #021937; background:#f4f7fa; border-radius:6px; padding:11px 13px; margin:14px 0 4px; }
.charter .cbadge { display:inline-block; font-size:9.5px; font-weight:800; letter-spacing:.14em; color:#fff; background:#021937; padding:2px 8px; border-radius:3px; margin-bottom:6px; }
.charter p { margin:0; font-size:14px; font-weight:600; color:#021937; }
/* CommandAI forced both blocks visible here; AZ-900's tracks are real, so
   the per-track hiding above stays in force. */

/* --------------------------------------------- assessment signposting
The paper callout printed inside the session that opens a paper, the
"QUIZ / EXAM / FINAL" flag on that session's tab, and the week-level line
that says where this week's papers fall. */
.paper-bar { background:#fff; border:1px solid #dfe4ea; border-left:4px solid #fc2b03; border-radius:6px; padding:9px 14px; margin:0 0 12px; font-size:13.5px; color:#021937; }
.paper-bar strong { color:#fc2b03; letter-spacing:.02em; }
.tab-btn .tflag { display:block; margin-top:3px; font-size:9px; font-weight:800; letter-spacing:.12em; color:#fff; background:#fc2b03; border-radius:3px; padding:1px 5px; }
.tab-btn .tflag.fin { background:#021937; }
.paper-cta { border:1px solid #fc2b03; background:#fff7f5; border-radius:8px; padding:16px 18px; margin:22px 0 4px; }
.paper-cta.fin { border-color:#021937; background:#f4f7fa; }
.paper-cta .pbadge { display:inline-block; font-size:9.5px; font-weight:800; letter-spacing:.14em; color:#fff; background:#fc2b03; padding:2px 8px; border-radius:3px; margin-bottom:8px; }
.paper-cta.fin .pbadge { background:#021937; }
.paper-cta p { margin:0 0 8px; font-size:15px; line-height:1.6; color:#021937; }
.paper-cta .pmeta { font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#78828f; margin-bottom:12px; }
.paper-cta .pbtn { display:inline-block; background:#fc2b03; color:#fff; font-weight:800; font-size:14px; text-decoration:none; padding:10px 18px; border-radius:5px; }
.paper-cta.fin .pbtn { background:#021937; }
.paper-cta .pbtn:hover { filter:brightness(1.08); }
.paper-cta .pnote { display:block; margin-top:10px; font-size:12.5px; color:#78828f; font-style:italic; }

/* sign-in furniture on the session pages (see gate.js) */
.navbar-in .whoami { margin-left:auto; font-size:12.5px; font-weight:700; color:#c6d0dc; text-decoration:none; white-space:nowrap; padding:0 10px; }
.navbar-in .whoami:hover { color:#fff; }
.guestbar { background:#fff7f5; border:1px solid #fc2b03; border-radius:6px; padding:10px 14px; margin:0 0 12px; font-size:13.5px; color:#021937; }
.guestbar a { color:#fc2b03; font-weight:700; }
.gsi-host { display:inline-block; min-height:44px; }

/* ------------------------------------------------ ERW Certification Bootcamps
   THE EXAM LINE, THE NAMES BOX, THE LAB BOX, THE CHEAT-SHEET LINK.
   .names, .lab and .cheat carry NO read-aloud button and sit OUTSIDE the
   .why-box / .step / .assign sections, so the recorded audio never includes
   them — make-audio.py reads only the sections that have a button. */
li.xl, li.cb { list-style:none; margin-left:-18px; }
.examline { border-left:4px solid #021937; background:#eef2f7; border-radius:6px; padding:11px 14px 11px 16px; margin:10px 0; }
.examline .xbadge { display:inline-block; font-size:9.5px; font-weight:800; letter-spacing:.14em; color:#fff; background:#021937; padding:2px 8px; border-radius:3px; margin-bottom:6px; }
.examline p { margin:0; font-size:15px; font-weight:600; line-height:1.55; color:#021937; }
.tblock.ta .tbadge::after { content:""; }
.lab { background:#fff; border:1px solid #dfe4ea; border-left:5px solid #2e7d32; border-radius:6px; padding:12px 16px; margin-top:14px; font-size:13.5px; color:#33503a; }
.lab .lbadge { display:inline-block; font-size:9.5px; font-weight:800; letter-spacing:.14em; color:#fff; background:#2e7d32; padding:2px 8px; border-radius:3px; margin-bottom:6px; }
.lab dl { display:grid; grid-template-columns:max-content 1fr; gap:4px 14px; margin:2px 0 0; }
.lab dt { font-weight:800; color:#1b5e20; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding-top:2px; }
.lab dd { margin:0; color:#33503a; }
.lab dt, .lab dd { min-width:0; }
@media(max-width:640px){ .lab dl { grid-template-columns:1fr; } }
.names { background:#fff; border:1px solid #c1cddd; border-top:5px solid #021937; border-radius:6px; padding:14px 16px 12px; margin-top:22px; }
.names .nhead { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.names h3 { font-size:13px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; color:#021937; }
.names .nsub { font-size:12px; color:#8a97a8; }
.names table { width:100%; border-collapse:collapse; margin-top:10px; font-size:13px; }
.names td { border-top:1px solid #e3e8ef; padding:7px 8px; vertical-align:top; }
.names td.nm { width:36%; }
.names td.nm code { font-size:12.5px; font-weight:700; white-space:normal; word-break:break-word; }
.names td.nk { width:84px; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#8a97a8; }
.names td.nw { color:#555; }
.names td.ns a { font-size:11.5px; color:#fc2b03; font-weight:700; text-decoration:none; white-space:nowrap; }
.names td.ns a:hover { text-decoration:underline; }
@media(max-width:640px){ .names td.nk { display:none; } .names td.nm { width:auto; } }
.cheat { margin-top:10px; font-size:12.5px; color:#555; background:#f7f9fb; border:1px dashed #c1cddd; border-radius:6px; padding:8px 12px; }
.cheat a { color:#fc2b03; font-weight:700; }
.skills { margin-top:10px; font-size:12.5px; color:#59697d; }
.skills b { color:#021937; letter-spacing:.06em; font-size:10.5px; text-transform:uppercase; }
.skills ul { margin:4px 0 0 18px; }
.assign .evid { margin-top:12px; border-top:1px solid #1b3355; padding-top:10px; }
.assign .evid b, .assign .mustname b, .assign .trackb b { color:#fc2b03; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.assign .mustname { margin-top:10px; font-size:13px; color:#c3d0e0; }
.assign .mustname code { margin:2px 3px 0 0; display:inline-block; }
.assign .trackb { margin-top:10px; font-size:13px; color:#c3d0e0; border-left:3px solid #fc2b03; padding-left:10px; }
body.track-a .assign .trackb { display:none; }
.assign .keys { margin-top:10px; font-size:12.5px; color:#ffb4a3; }
.notenrolled { background:#fff7f5; border:1px solid #fc2b03; border-radius:6px; padding:10px 14px; margin:0 0 12px; font-size:13.5px; color:#021937; }
.notenrolled a { color:#fc2b03; font-weight:700; }
.cp-drop [hidden] { display:none !important; }
