.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:85vh;background:#f1f5ed}.admin-nav{padding:30px;background:#fff;border-right:1px solid #d8e0d1}.admin-nav img{width:110px;height:110px;object-fit:contain}.admin-nav h2{font-size:22px;margin:20px 0}.admin-nav>a{display:block;margin:16px 0}.admin-nav form{margin-top:35px}.admin-main{padding:40px;min-width:0}.admin-main h1,.admin-login h1{font-size:42px;color:#103c2f;margin:0 0 24px}.admin-main>p{margin-bottom:24px}.admin-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.admin-links a{background:white;border:1px solid #cfdbc3;padding:25px;border-radius:6px}.admin-links h2{font-size:24px;margin:0 0 20px}.admin-workspace{display:grid;grid-template-columns:250px 1fr;gap:30px;margin-top:30px}.admin-list button{display:block;text-align:left;width:100%;border:1px solid #d4dfc9;background:white;padding:15px;margin-bottom:10px;border-radius:5px}.admin-list span{display:block;font-size:12px;color:#59734c;margin-top:5px}.admin-main label,.admin-login label{display:block;font-size:14px;font-weight:500;margin:16px 0}.admin-main input:not([type=checkbox]),.admin-main select,.admin-main textarea,.admin-login input:not([type=checkbox]){display:block;width:100%;font:inherit;padding:12px;border:1px solid #b6c5ab;border-radius:4px;background:white;margin-top:7px}.admin-main textarea{min-height:130px}.admin-main .check,.admin-login .check{display:flex;align-items:center;gap:10px}.admin-preview{max-width:220px;max-height:180px;object-fit:contain;background:#dce9ce}.admin-message{padding:15px;background:#dceace;border-left:3px solid #6f9d3d;margin-top:20px}.admin-login{max-width:520px;margin:50px auto;padding:30px}.admin-main .text-link{margin:20px}.admin-main form .button{margin-top:15px}.validation-message,.validation-errors{color:#9c2935}button:disabled{opacity:.6;cursor:wait}@media(max-width:1050px){.admin-workspace{grid-template-columns:200px 1fr}.admin-links{grid-template-columns:1fr}.admin-main{padding:25px}}@media(max-width:750px){.admin-shell{grid-template-columns:1fr}.admin-nav{padding:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.admin-nav img{width:60px;height:60px}.admin-nav h2{display:none}.admin-nav>a{font-size:13px;margin:5px}.admin-nav form{margin:0}.admin-workspace{grid-template-columns:1fr}.admin-list{max-height:250px;overflow:auto}.admin-main h1{font-size:35px}.admin-login{margin:30px 6vw}}

.enrollment-page{max-width:850px;margin:50px auto;padding:24px}.enrollment-page h1{font-size:clamp(36px,6vw,60px);margin:20px 0}.enrollment-page h2{font-size:28px;margin:15px 0}.enrollment-page label{display:block;margin:20px 0 8px}.enrollment-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.enrollment-page select,.enrollment-page textarea{display:block;width:100%;padding:13px;font:inherit;border:1px solid #b6c5ab;border-radius:5px;margin-top:8px}.enrollment-page .check{display:flex;gap:12px;align-items:flex-start}.preserve-lines{white-space:pre-line}.admin-main dd{margin:0 0 15px}.enrollment-page form{margin-top:30px}

/* Quiz options keep native radio sizing and a full-width clickable label. */
.quiz-page .quiz-question{min-width:0;margin:28px 0;padding:20px;border:1px solid #cfdbc3;border-radius:12px;background:#fff}
.quiz-page .quiz-question legend{max-width:100%;padding:0 8px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.quiz-page .quiz-question legend small{font-weight:400;color:#59734c}
.quiz-page .quiz-option{display:flex;align-items:flex-start;gap:12px;margin:10px 0;padding:14px 16px;border:1px solid #d8e0d1;border-radius:8px;background:#f8faf6;cursor:pointer;line-height:1.5}
.quiz-page .quiz-option input[type=radio]{display:block;flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;padding:0;accent-color:#103c2f;cursor:pointer}
.quiz-page .quiz-option span{flex:1;min-width:0;overflow-wrap:anywhere}
.quiz-page .quiz-option:hover{border-color:#73965c;background:#f0f5e9}
.quiz-page .quiz-option:has(input:checked){border-color:#103c2f;background:#e8f0df}
.quiz-page .quiz-option:focus-within{outline:2px solid #103c2f;outline-offset:3px}
@media(max-width:600px){.quiz-page .quiz-question{padding:14px}.quiz-page .quiz-option{padding:12px;gap:10px}}
