:root{--navy:#10253f;--blue:#2267a7;--red:#be2f39;--gold:#d9a83e;--ink:#182331;--muted:#657281;--line:#dbe0e5;--green:#247a55;--shadow:0 18px 50px rgba(16,37,63,.12)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f8f7f3,#edf1f4);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55}.portal-header{display:flex;align-items:center;gap:24px;padding:22px clamp(24px,7vw,110px);background:var(--navy);color:#fff}.portal-header p{margin:0;color:#b8c6d6;font-size:.85rem}.portal-brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.portal-brand>span{display:grid;place-items:center;width:42px;height:42px;background:#fff;color:var(--navy);font-weight:900}.portal-brand strong{font-size:1rem}main{max-width:1180px;min-height:calc(100vh - 150px);margin:auto;padding:70px 30px 90px}.eyebrow{color:var(--red);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900}h1{max-width:760px;margin:10px 0 20px;font:clamp(2.7rem,6vw,5rem)/1.02 Georgia,serif;letter-spacing:-.04em}.intro{max-width:720px;color:var(--muted);font-size:1.12rem}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}.module-card{position:relative;min-height:330px;padding:30px;background:#fff;border-top:7px solid var(--red);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.module-card:not(.pending):hover,.module-card:not(.pending):focus-visible{transform:translateY(-5px);box-shadow:0 25px 60px rgba(16,37,63,.18)}.module-card.blue{border-color:var(--blue)}.module-card.pending{border-color:#aeb7bf;background:#eef0f2;color:#687482;box-shadow:none}.number{display:block;font:3rem Georgia,serif;color:#d5dadd}.status{position:absolute;right:25px;top:31px;padding:5px 9px;background:#e5f4eb;color:var(--green);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.pending .status{background:#dde1e5;color:#687482}.module-card h2{margin:26px 0 14px;font:1.65rem/1.15 Georgia,serif}.module-card p{color:var(--muted)}.module-card>strong{position:absolute;left:30px;bottom:28px;color:var(--navy)}footer{padding:20px clamp(24px,7vw,110px);border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}@media(max-width:850px){.module-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.portal-header{align-items:flex-start;flex-direction:column;gap:7px}main{padding-top:45px}.module-grid{grid-template-columns:1fr}.module-card{min-height:290px}}
.module-card.green{border-color:var(--green)}
.module-grid{grid-template-columns:repeat(2,1fr)}.module-card.gold{border-color:var(--gold)}@media(max-width:580px){.module-grid{grid-template-columns:1fr}}
.progress-summary{margin-top:30px;padding:20px 24px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.progress-summary>div:first-child{display:flex;justify-content:space-between;gap:20px}.progress-summary span{color:var(--muted);font-size:.82rem}.progress-summary strong{font-size:1.35rem}.progress-summary p{margin:8px 0 0;color:var(--muted);font-size:.82rem}.progress-track{height:9px;margin-top:12px;overflow:hidden;background:#dfe6ef;border-radius:999px}.progress-track span{display:block;width:0;height:100%;background:#2c8a67;border-radius:inherit;transition:width .3s ease}.module-card.in-progress .status{background:#e8f1fb;color:#265fa4}.module-card.completed .status{background:#e2f5ec;color:#11704d}.exam-card{margin-top:22px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;border:1px solid var(--line);border-left:7px solid var(--gold);border-radius:12px;box-shadow:var(--shadow)}.exam-card h2{margin:5px 0 8px;font:1.75rem/1.15 Georgia,serif}.exam-card p{margin:0;color:var(--muted)}.exam-card.locked{border-left-color:#aeb7bf;background:#eef0f2;box-shadow:none}.exam-state{min-width:220px;padding:16px 18px;background:var(--navy);color:#fff;border-radius:9px}.exam-state strong,.exam-state span{display:block}.exam-state span{margin-top:4px;color:#c6d2de;font-size:.78rem}.exam-card.ready .exam-state{background:var(--green)}@media(max-width:580px){.exam-card{align-items:flex-start;flex-direction:column}.exam-state{width:100%;min-width:0}}

/* Mobile layout: use the available viewport and prevent sideways scrolling. */
html,body{width:100%;max-width:100%;overflow-x:hidden}img,svg,video,iframe{max-width:100%}.module-grid,.module-card,.progress-summary,.exam-card{min-width:0;width:100%}
@media(max-width:700px){
  .portal-header{width:100%;padding:14px 14px;gap:10px;flex-direction:row;align-items:center;flex-wrap:wrap}
  .portal-header p{font-size:.75rem}.portal-brand{min-width:0}.portal-brand>span{width:36px;height:36px;flex:0 0 36px}.portal-brand strong{font-size:.9rem}
  main{width:100%;max-width:none;min-height:0;margin:0;padding:32px 12px 54px}
  h1{max-width:100%;font-size:clamp(2.15rem,12vw,3.15rem);overflow-wrap:anywhere}
  .intro{max-width:100%;font-size:1rem}
  .module-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:30px}
  .module-card{min-height:0;padding:22px 18px 24px}
  .number{font-size:2.4rem}.status{top:23px;right:18px;max-width:55%;text-align:center;white-space:normal}
  .module-card h2{margin:20px 0 10px;font-size:clamp(1.45rem,7vw,1.8rem);overflow-wrap:anywhere;hyphens:auto}
  .module-card p{margin-bottom:18px;overflow-wrap:anywhere}
  .module-card>strong{position:static;display:block;margin-top:18px}
  .progress-summary{margin-top:22px;padding:16px 15px}.progress-summary>div:first-child{gap:10px}.progress-summary strong{font-size:1.1rem}
  .exam-card{margin-top:16px;padding:20px 16px;gap:18px}.exam-card h2{font-size:1.5rem}.exam-state{width:100%;min-width:0}
  footer{width:100%;padding:18px 14px}
}
