:root{--blue:#075bdf;--ink:#153650;--line:#dce5ef}*{box-sizing:border-box}body{margin:0;background:#f5f8fc;color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}header{background:linear-gradient(110deg,#0a4197,#2872f2);display:flex;justify-content:space-between;align-items:center;padding:15px max(20px,calc((100% - 1120px)/2));gap:25px}header img{width:72px;height:95px;object-fit:contain}nav{display:flex;gap:22px}nav a{color:white;font-weight:650;text-decoration:none}main{max-width:1120px;margin:40px auto;padding:0 20px}h1{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:10px 0 20px}h2{font-size:25px}h3{margin-top:0}.card{border:1px solid var(--line);border-radius:18px;padding:30px;background:white;box-shadow:0 5px 18px #13376108;margin:20px 0}.signin{max-width:570px;margin:45px auto}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:750;color:var(--blue)}label{display:block;font-weight:650;margin:22px 0 12px}input[type=email],input[name=code]{display:block;width:100%;font:inherit;padding:14px;border:1px solid #aebfd3;border-radius:9px;margin-top:8px;min-height:50px}input[name=code]{letter-spacing:.35em;font-size:25px}button,.button{display:inline-block;font:650 16px system-ui;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:9px;padding:14px 20px;min-height:50px;cursor:pointer;text-decoration:none;margin:6px 0}.signin button{width:100%}.secondary{background:white;color:var(--blue)}.text-button{background:transparent;border:0;color:var(--blue)}.admin-access{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;text-align:center}.admin-access a{color:var(--blue);font-weight:650}small{display:block;font-size:13px;font-weight:400;color:#566d84}.muted{font-size:14px;color:#566d84}.notice{background:#e8f3ff;border:1px solid #bad5f5;border-radius:10px;padding:18px}.error{color:#902e1b;background:#fff0ec;border-color:#e9b8aa}.profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.profile{display:flex;align-items:center;gap:15px;border:2px solid var(--line);border-radius:12px;padding:22px;margin:0;cursor:pointer}.profile:has(input:checked){border-color:var(--blue);background:#eef5ff}input[type=radio],input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;accent-color:var(--blue)}.check{display:flex;gap:12px;align-items:center}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.class-grid .card{margin:0}.class-grid form button{width:100%}.document{display:block;padding:18px 0;border-bottom:1px solid var(--line);color:var(--blue);overflow-wrap:anywhere}.welcome{background:linear-gradient(120deg,#e6f2ff,#fff);padding:30px;border-radius:18px}.signout{margin-top:20px}footer{text-align:center;padding:25px;color:#61758b;font-size:13px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #e8ad39;outline-offset:3px}@media(max-width:600px){main{margin-top:24px}.card{padding:22px}.signin{margin:20px auto}header{padding:12px 18px}header img{height:72px;width:55px}nav{gap:13px;font-size:13px}.profiles{grid-template-columns:1fr}.class-grid{grid-template-columns:1fr}}

.card{min-width:0;overflow-wrap:anywhere}.card select,.card input[type=date],.card input[type=text],.card input[type=tel],.card textarea{display:block;width:100%;max-width:100%;min-width:0;font:inherit;padding:12px;border:1px solid #aebfd3;border-radius:9px;margin-top:8px}.card button{max-width:100%;white-space:normal;overflow-wrap:anywhere}header .classes-menu{color:white}nav{align-items:center}

.course-group{margin:42px 0 12px}.course-progress{margin:24px 0}.course-progress summary,details>summary{font-weight:700;cursor:pointer;color:#075bdf}.course-actions{display:flex;gap:12px;flex-wrap:wrap}.next-course{border-top:1px solid #dce5ef;padding-top:22px;margin-top:22px}fieldset{border:1px solid #ccdbea;border-radius:12px;padding:18px;margin:22px 0;min-width:0}legend{font-weight:700}header nav{flex-wrap:wrap}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}textarea{width:100%;min-height:100px}input{max-width:100%}

.class-session{border-left:3px solid #087c9b;padding:14px;margin:12px 0;background:#f0f7fb}.class-session h4{margin:0 0 8px}.class-session-details{min-width:0;overflow-wrap:anywhere}
