*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f6f8fb;line-height:1.58}.topbar{height:58px;background:#111827;color:white;display:flex;align-items:center;padding:0 22px;position:fixed;top:0;left:0;right:0;z-index:20;box-shadow:0 1px 0 rgba(255,255,255,.08)}.brand{font-weight:800;letter-spacing:.2px}.brand small{font-weight:500;color:#aeb8ca;margin-left:8px}.sidebar{position:fixed;top:58px;left:0;bottom:0;width:292px;background:#fff;border-right:1px solid #dfe4ec;overflow:auto;padding:18px 14px 40px;z-index:10}.sidebar h4{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7b8495;margin:18px 10px 8px}.sidebar a{display:block;padding:8px 10px;margin:2px 0;border-radius:7px;text-decoration:none;color:#364152;font-size:14px}.sidebar a:hover{background:#f1f4f8}.sidebar a.active{background:#e8eefc;color:#173b86;font-weight:700}.side-step{display:flex!important;gap:9px;align-items:center}.num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eef1f6;color:#5c6678;font-size:11px;font-weight:800;flex:none}.active .num{background:#173b86;color:#fff}.content{margin-left:292px;padding:86px 44px 90px;max-width:1220px}.hero{background:linear-gradient(135deg,#13264f,#1d4c8f);color:white;border-radius:14px;padding:34px 36px;margin-bottom:28px}.hero h1{font-size:34px;line-height:1.15;margin:0 0 12px}.hero p{max-width:820px;color:#dae5f8;font-size:17px}.meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;background:rgba(255,255,255,.12);color:#eaf1ff}.card{background:#fff;border:1px solid #dfe4ec;border-radius:12px;padding:24px;margin:18px 0;box-shadow:0 1px 2px rgba(16,24,40,.03)}.card h2,.card h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.step-card{text-decoration:none;color:inherit;display:block;background:white;border:1px solid #dfe4ec;border-radius:12px;padding:18px;transition:.12s}.step-card:hover{transform:translateY(-1px);border-color:#aab8d1;box-shadow:0 5px 18px rgba(16,24,40,.06)}.step-card .kicker{font-size:11px;text-transform:uppercase;color:#718096;font-weight:800;letter-spacing:.08em}.step-card h3{margin:5px 0 6px;font-size:18px}.toc{background:#f8fafc;border:1px solid #e3e8ef;border-radius:10px;padding:16px 18px}.toc a{color:#275ba8;text-decoration:none}.toc li{margin:4px 0}.note,.warn,.stop,.ok{padding:15px 17px;border-radius:9px;margin:18px 0;border-left:5px solid}.note{background:#eef5ff;border-color:#3b82f6}.warn{background:#fff8e6;border-color:#d99b13}.stop{background:#fff0f0;border-color:#d14343}.ok{background:#edf9f0;border-color:#2c9a50}.label{font-weight:800;margin-right:6px}.command{position:relative;background:#101826;color:#e8edf7;border-radius:9px;margin:12px 0 18px;overflow:hidden}.command pre{margin:0;padding:18px 56px 18px 18px;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.55}.copy{position:absolute;right:9px;top:9px;border:1px solid #3b4658;background:#1a2433;color:#dce6f5;padding:5px 9px;border-radius:6px;cursor:pointer;font-size:12px}.copy:hover{background:#28364a}code{background:#eef1f5;padding:2px 5px;border-radius:4px;font-size:.92em}pre code{background:transparent;padding:0}.checklist{list-style:none;padding:0}.checklist li{padding:8px 0;border-bottom:1px solid #edf0f4}.checklist label{display:flex;gap:10px;cursor:pointer}.checklist input{margin-top:5px}.expected{background:#f7f9fb;border:1px dashed #bdc6d4;border-radius:8px;padding:13px 15px;margin:10px 0 18px}.expected strong{display:block;color:#445067;margin-bottom:4px}.navbuttons{display:flex;justify-content:space-between;gap:16px;margin-top:36px}.btn{display:inline-block;text-decoration:none;background:#173b86;color:white;padding:10px 15px;border-radius:8px;font-weight:700}.btn.secondary{background:white;color:#173b86;border:1px solid #aebbd1}.progress-wrap{margin:12px 10px 18px}.progress-bar{height:8px;background:#edf0f5;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:#2d6cdf;width:0}.progress-text{font-size:11px;color:#6b7280;margin-top:6px}.breadcrumbs{font-size:13px;color:#6f7a8b;margin-bottom:12px}.breadcrumbs a{color:#526d9f;text-decoration:none}.section-anchor{scroll-margin-top:78px}.status-table{width:100%;border-collapse:collapse;background:white}.status-table th,.status-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #e7eaf0}.status-table th{background:#f6f8fb;font-size:12px;text-transform:uppercase;color:#657084}.small{font-size:13px;color:#657084}.diagram{background:#101826;color:#e8edf7;border-radius:9px;padding:18px;white-space:pre;overflow:auto}.mobile-menu{display:none}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(15,20,30,.45);z-index:15}
.sidebar-overlay.open{display:block}
.progress-actions{display:flex;gap:8px;margin:8px 10px 4px}
.progress-actions button, .progress-actions label{flex:1;font-size:11px;text-align:center;border:1px solid #d7dce6;background:#fff;color:#364152;padding:6px 4px;border-radius:6px;cursor:pointer}
.progress-actions button:hover, .progress-actions label:hover{background:#f1f4f8}
@media(max-width:900px){
  .sidebar{display:block;transform:translateX(-100%);transition:transform .18s ease;box-shadow:0 0 30px rgba(0,0,0,.2)}
  .sidebar.open{transform:translateX(0)}
  .content{margin-left:0;padding:78px 18px 60px}
  .grid{grid-template-columns:1fr}
  .hero{padding:26px 22px}
  .hero h1{font-size:28px}
  .mobile-menu{display:inline-block;margin-left:auto;color:#fff;font-size:13px;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:6px 10px;cursor:pointer}
  .topbar{padding:0 14px}
}

/* Project portal additions */
:root{--green:#16834a;--amber:#b7791f;--red:#c2413b;--muted:#687386}
.sidebar{width:310px}.content{margin-left:310px;max-width:1280px}
.nav-badge{margin-left:auto;font-size:10px;padding:2px 6px;border-radius:999px;background:#edf0f5;color:#6a7484}
.nav-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7b8495;margin:18px 10px 8px}
.project-progress{margin:10px 10px 18px}
.project-progress strong{font-size:12px;color:#465164}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.stat{background:#fff;border:1px solid #dfe4ec;border-radius:12px;padding:18px}
.stat .value{font-size:30px;font-weight:800;line-height:1.1;color:#173b86}
.stat .caption{font-size:12px;color:#6e7889;margin-top:5px}
.status-chip{display:inline-block;font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px}
.status-notstarted{background:#edf0f5;color:#667085}
.status-inprogress{background:#fff3d6;color:#8b5b00}
.status-done{background:#e9f8ef;color:#126b3b}
.status-blocked{background:#ffeaea;color:#a93732}
.phase-progress{height:7px;background:#e9edf3;border-radius:999px;overflow:hidden;min-width:110px}
.phase-progress > span{display:block;height:100%;background:#2d6cdf;width:0}
.dashboard-table td{vertical-align:middle}
.dashboard-table a{color:#275ba8;text-decoration:none;font-weight:700}
.next-action{border:2px solid #b7c8ec;background:#f5f8ff}
.roadmap{position:relative;margin:20px 0}
.roadmap:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:#dce3ee}
.roadmap-item{position:relative;margin:0 0 18px 50px;background:#fff;border:1px solid #dfe4ec;border-radius:10px;padding:16px 18px}
.roadmap-item:before{content:"";position:absolute;left:-38px;top:20px;width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid #2d6cdf}
.roadmap-item h3{margin:0 0 4px}
.callout-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#61708a;font-weight:800;margin-bottom:5px}
.beginner{background:#fbfcfe;border:1px solid #cfd8e8;border-radius:12px;padding:20px;margin:0 0 22px}
.beginner h2{font-size:19px;margin:0 0 8px}
.beginner-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.beginner-grid > div{background:white;border:1px solid #e4e8ef;border-radius:8px;padding:13px}
.pathway{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pathway a{text-decoration:none;color:inherit;background:#fff;border:1px solid #dfe4ec;border-radius:10px;padding:16px}
.pathway .stage{font-size:11px;font-weight:800;color:#6b7280;text-transform:uppercase}
.pathway h3{font-size:17px;margin:4px 0}
.whitepaper-wrap{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px}
.whitepaper-body{min-width:0}
.whitepaper-body h1,.whitepaper-body h2,.whitepaper-body h3{scroll-margin-top:76px}
.whitepaper-body h1{font-size:30px;border-bottom:1px solid #e1e6ed;padding-bottom:10px;margin-top:38px}
.whitepaper-body h2{font-size:23px;margin-top:32px}
.whitepaper-body h3{font-size:18px;margin-top:26px}
.whitepaper-toc{position:sticky;top:78px;max-height:calc(100vh - 96px);overflow:auto;background:#fff;border:1px solid #dfe4ec;border-radius:10px;padding:14px}
.whitepaper-toc a{display:block;text-decoration:none;color:#465a7d;padding:4px 2px;font-size:12px}
.whitepaper-toc a:hover{color:#173b86}
.whitepaper-body table{width:100%;border-collapse:collapse;margin:16px 0;background:#fff}
.whitepaper-body th,.whitepaper-body td{border:1px solid #dfe4ec;padding:8px 10px;text-align:left}
.whitepaper-body blockquote{margin:16px 0;padding:10px 16px;border-left:4px solid #6284c2;background:#f5f8fd}
.whitepaper-body pre{margin:0}
.glossary-term{border-bottom:1px solid #e5e9ef;padding:14px 0}
.glossary-term dt{font-weight:800;color:#243754}
.glossary-term dd{margin:4px 0 0;color:#556173}
.requirement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.requirement-card{background:#fff;border:1px solid #dfe4ec;border-radius:10px;padding:16px}
.requirement-card h3{margin-top:0;font-size:17px}
.project-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.project-meta div{background:#f8fafc;border:1px solid #e3e8ef;border-radius:8px;padding:12px}
.project-meta b{display:block;font-size:11px;text-transform:uppercase;color:#718096;margin-bottom:4px}
.inline-link{color:#275ba8;text-decoration:none;font-weight:700}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.whitepaper-wrap{grid-template-columns:1fr}.whitepaper-toc{position:static;max-height:none}.requirement-grid{grid-template-columns:1fr 1fr}.pathway{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.content{margin-left:0}.project-meta,.beginner-grid,.requirement-grid,.pathway{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}}
