
:root{--navy:#0b2943;--blue:#176b9b;--teal:#18a59f;--orange:#ef8c42;--bg:#f5f7f8;--line:#dce5ea;--ink:#263642}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.68 Arial,Helvetica,sans-serif}
header{position:sticky;top:0;z-index:20;min-height:64px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 20px;gap:12px}
header strong{font-size:19px}.menubtn{display:none;background:none;color:#fff;border:1px solid #ffffff55;border-radius:8px;padding:7px 10px}
.progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:#ffffff22}.progress i{display:block;height:100%;background:#55d9d1;width:0}
.shell{max-width:1500px;margin:auto;display:grid;grid-template-columns:315px 1fr}nav{height:calc(100vh - 64px);position:sticky;top:64px;overflow:auto;background:#fff;border-right:1px solid var(--line);padding:18px}
nav input{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;margin-bottom:12px}details{border-bottom:1px solid var(--line);padding:6px 0}summary{font-weight:700;color:var(--navy);cursor:pointer;padding:7px}
nav a{display:block;text-decoration:none;color:#53616d;font-size:13px;padding:5px 8px 5px 17px;border-radius:6px}nav a:hover{background:#edf7f6}
main{max-width:920px;width:100%;margin:auto;padding:32px 34px 100px}.hero{background:linear-gradient(135deg,#0b2943,#176b9b);color:#fff;border-radius:22px;padding:44px;margin-bottom:30px}
.hero h1{font-size:45px;line-height:1.05;margin:7px 0}.hero p{font-size:18px}.eyebrow,.modulekicker{font-size:11px;letter-spacing:.17em;font-weight:bold}.eyebrow{color:#8ce4df}.modulekicker{color:var(--teal)}
.status{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:20px}.statusbar{height:9px;background:#ffffff25;border-radius:999px;overflow:hidden}.statusbar i{display:block;height:100%;width:0;background:#8ce4df}.status span{font-size:13px}
.tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tools button{border:1px solid #ffffff44;background:#ffffff13;color:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.tools button:hover{background:#ffffff25}
.modulehead{border-top:4px solid var(--teal);padding-top:13px;margin:45px 0 16px}.modulehead h2{color:var(--navy);font-size:29px;margin:2px 0}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:27px;margin:16px 0;box-shadow:0 3px 12px #0b294309}.meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#7a8994}.badge{padding:3px 8px;border-radius:999px;background:#edf4f7;color:#35586c}
.card h2{font-size:28px;color:var(--navy);line-height:1.2}.card h3{font-size:21px;color:var(--blue)}.card p{margin:.72em 0}.card img{max-width:100%;max-height:520px;object-fit:contain;display:block;margin:18px auto 6px;border-radius:11px}figcaption{text-align:center;color:#7a8994;font-size:12px}
.callout{display:flex;flex-direction:column;gap:4px;padding:15px 17px;border-radius:9px;margin:16px 0}.actionbox{background:#e9f8f6;border-left:5px solid var(--teal)}.outcomebox{background:#fff3e8;border-left:5px solid var(--orange)}.question{background:#f2f6fa;border-left:4px solid var(--blue);padding:12px 14px;margin:12px 0;font-weight:700}
.complete{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:16px;margin-top:22px;color:#4e6676;font-size:14px}.complete input{width:18px;height:18px}
.pager{position:sticky;bottom:12px;display:flex;justify-content:space-between;gap:10px;margin:28px 0 0}.pager button{border:0;background:var(--navy);color:#fff;border-radius:10px;padding:11px 15px;cursor:pointer;box-shadow:0 3px 12px #0002}.hidden{display:none!important}
footer{font-size:13px;color:#71808b;padding-top:25px}
@media(max-width:820px){.menubtn{display:block}.shell{display:block}nav{display:none;position:fixed;left:0;top:64px;width:88%;height:calc(100vh - 64px);z-index:30;box-shadow:8px 0 30px #0004}nav.open{display:block}main{padding:18px 13px 85px}.hero{padding:29px 22px}.hero h1{font-size:35px}.card{padding:21px}.modulehead h2{font-size:25px}.pager{bottom:8px}}
