:root{font-family:system-ui,-apple-system,sans-serif;color:#172840;background:#f4f6f9;--navy:#142541;--green:#347454;--red:#bd3438}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:235px;background:var(--navy);color:white;padding:32px 24px}.brand{display:block;background:white;padding:10px;border-radius:8px}.brand img{width:100%;display:block}.brand-note{color:#bac7db;font-size:12px;letter-spacing:3px}nav{margin-top:40px}nav a{display:block;color:#d1dbe8;padding:14px 12px;text-decoration:none;border-radius:7px}nav a:hover{background:#ffffff12}.aside-note{position:absolute;bottom:32px;font-size:13px;line-height:1.8;color:#bac7db}main{margin-left:235px;padding:32px 42px;max-width:1530px}header{display:flex;justify-content:space-between;align-items:center;gap:15px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;color:var(--green)}.preview-badge{background:#f9ecec;color:var(--red);font-size:13px;border-radius:20px;padding:8px 14px}.preview-notice{margin:24px 0 36px;background:#eaf1ed;padding:14px 18px;border-left:3px solid var(--green);font-size:14px;line-height:1.6;color:#345744}.welcome{display:grid;grid-template-columns:1.8fr 1fr;gap:36px;align-items:center}h1{font-size:clamp(32px,3.5vw,50px);line-height:1.15;letter-spacing:-1.8px;margin:15px 0 20px}h2{font-size:25px;margin:8px 0 16px;line-height:1.3}h3{font-size:19px;line-height:1.4;margin:12px 0}p{color:#58687c;line-height:1.7}.lede{font-size:17px;max-width:590px}.primary,.secondary{font:inherit;border-radius:7px;padding:12px 17px;font-weight:650;cursor:pointer;display:inline-block;text-decoration:none}.primary{border:0;color:white;background:var(--green)}.secondary{border:1px solid #cbd5e1;background:white;color:var(--navy)}button:focus,a:focus,textarea:focus{outline:3px solid #34745460;outline-offset:3px}.journey-card{background:var(--navy);color:white;padding:28px;border-radius:14px}.journey-card .eyebrow{color:#a3d1b4}.journey-card strong{display:block;font-size:52px;margin:20px 0}.journey-card p{color:#ced8e6;font-size:14px}.journey-card progress{width:100%;height:8px;accent-color:#58a478}.text-button{background:none;border:0;color:#cce5d6;text-decoration:underline;padding:0;font:inherit;cursor:pointer}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 0;margin-top:28px;border-top:1px solid #dfe6ed;border-bottom:1px solid #dfe6ed}.facts strong{display:block;font-size:21px;margin-bottom:8px}.facts span{font-size:13px;color:#65758a}.schedule{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:28px 0}.schedule h2{font-size:22px}.schedule p{font-size:14px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:36px}.muted{font-size:13px;color:#68788b}.lesson-grid,.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{background:white;border:1px solid #e1e6ed;border-radius:12px;padding:25px}.lesson-card{display:flex;flex-direction:column;align-items:flex-start}.lesson-card p{flex:1;font-size:14px}.week-number{font-size:12px;color:var(--green);font-weight:750;letter-spacing:2px}.lesson-status{display:block;font-size:13px;color:#617387;margin:5px 0 18px}.resource-icon{font-size:25px;color:var(--red);font-weight:750}.resource-grid p{font-size:14px}.next-stage{margin-top:35px;padding:24px;border-left:3px solid var(--red);background:white}.next-stage h2{font-size:20px}.next-stage p{font-size:14px}footer{font-size:12px;color:#718097;padding:28px 0}dialog{width:min(720px,94vw);max-height:90vh;overflow:auto;border:1px solid #d8e0e9;border-radius:14px;padding:28px;color:var(--navy)}dialog::backdrop{background:#14254199}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:15px}dialog p,dialog li{font-size:14px;line-height:1.7}dialog label{font-size:14px;font-weight:650;display:block;margin-top:20px}.exercise{background:#f4f7f9;border-radius:8px;padding:15px 20px}textarea{display:block;width:100%;min-height:110px;resize:vertical;font:inherit;border:1px solid #cbd5e1;border-radius:7px;padding:12px;margin-top:10px}@media(max-width:1100px){aside{width:195px}main{margin-left:195px;padding:28px}.welcome{grid-template-columns:1fr}.journey-card{max-width:520px}}@media(max-width:700px){aside{position:static;width:auto;padding:20px}.brand{max-width:300px}.aside-note{display:none}nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}nav a{padding:8px;font-size:14px}main{margin:0;padding:22px 16px}.facts{grid-template-columns:repeat(2,1fr)}.schedule,.lesson-grid,.resource-grid{grid-template-columns:1fr}.section-heading{flex-wrap:wrap;gap:0}.welcome{gap:24px}h1{letter-spacing:-1px}.card{padding:20px}.dialog-header{flex-wrap:wrap}dialog{padding:20px}}
:root{scroll-behavior:smooth}[hidden]{display:none!important}.access-card{max-width:720px;margin:45px auto}.session-bar{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin:24px 0;font-size:14px}#enrolment-form{max-width:650px}#enrolment-form label{display:block;margin:15px 0 6px;font-size:14px}#enrolment-form input:not([type=checkbox]),#enrolment-form select{font:inherit;width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:7px}.confirm-access{line-height:1.7}.confirm-access input{margin-right:8px}.enrolment-card{margin-bottom:14px}.enrolment-card p{overflow-wrap:anywhere}button:disabled{opacity:.5;cursor:wait}

.session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.session-card h3{color:var(--green)}.session-card p{font-size:14px}#class-form{max-width:650px}#class-form label{display:block;margin:15px 0 6px;font-size:14px}#class-form input:not([type=checkbox]),#class-form select{font:inherit;width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:7px}#class-setup{scroll-margin-top:25px}@media(max-width:700px){.session-grid{grid-template-columns:1fr}}

#learning-nav,#owner-nav{display:contents}

.response-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.response-answer{white-space:pre-wrap;overflow-wrap:anywhere}.response-card{margin-top:16px}.response-actions+.confirm-access{display:block;font-size:14px}#assignment-message{font-size:14px}
