:root{color-scheme:light;--ink:#203831;--green:#176c57;--muted:#62736a;--line:#d8e0d9;--paper:#fffef9}*{box-sizing:border-box}body{margin:0;background:#edf1ec;color:var(--ink);font:16px/1.65 "Segoe UI",sans-serif}a{color:var(--green)}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #cb8b36;outline-offset:4px}.top{max-width:1200px;padding:28px 36px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:600 25px/1.35 Georgia,serif;color:var(--ink)}.brand span{display:block;font:700 10px/2.3 "Segoe UI",sans-serif;letter-spacing:.16em;color:var(--muted)}nav{display:flex;align-items:center;gap:24px;font-size:14px}nav form{margin:0}nav a{text-decoration:none}.quiet{border:0;background:none;color:var(--green);padding:0;cursor:pointer}main{max-width:1200px;margin:auto;padding:44px 36px 72px;min-height:65vh}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--green)}h1{font:500 clamp(30px,4vw,46px)/1.15 Georgia,serif;margin:8px 0 20px}h2{font:500 27px/1.3 Georgia,serif;margin:8px 0 18px}.intro{color:var(--muted);font-size:18px}.card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:30px}.login{max-width:510px;margin:20px auto}.login label{display:block;font-size:14px;font-weight:600;margin:20px 0 7px}.login input:not([type=hidden]){width:100%;border:1px solid #9caea1;border-radius:8px;background:#fff;padding:11px 13px;color:var(--ink)}.primary,.button{display:block;padding:12px 18px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:white;text-decoration:none;font-weight:600;text-align:center;cursor:pointer}.primary{width:100%;margin-top:26px}.small,.helptext{display:block;font-size:13px;color:var(--muted);margin-top:22px}.error,.errorlist{color:#943d26;background:#faeee6;padding:10px 14px;border-radius:7px;font-size:14px}.welcome{margin-bottom:36px}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.course{max-width:550px}.course>p:not(.eyebrow){color:var(--muted)}.button{margin-top:26px}.button span{float:right}.pdf{display:block;text-align:center;font-size:14px;margin-top:17px}.empty{grid-column:1/-1}footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:24px 36px;color:var(--muted);font-size:13px}@media(max-width:650px){.top{align-items:flex-start;flex-direction:column;padding:22px}nav{gap:18px;flex-wrap:wrap}main{padding:24px 18px 48px}.card{padding:24px}.login{margin:8px auto}footer{padding:22px}}
.break{overflow-wrap:anywhere}.login textarea{width:100%;font:inherit;overflow-wrap:anywhere;padding:12px;border:1px solid #9caea1;border-radius:8px}.login input[type=checkbox]{width:auto}.login .quiet{margin-top:20px}

.teacher-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.teacher-welcome .intro{max-width:580px}.teacher-stats{display:flex;gap:26px;flex-shrink:0;color:var(--muted);font-size:13px}.teacher-stats strong{display:block;font:40px/1.2 Georgia,serif;color:var(--green)}.student-index{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 30px;border-bottom:1px solid var(--line);margin-bottom:30px}.student-index a{background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:8px 16px}.student-index a:hover{border-color:var(--green)}.student-index span{margin-left:10px;color:var(--muted)}.students{display:grid;gap:24px}.student-section{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;scroll-margin-top:20px}.student-heading{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.student-heading .eyebrow{margin:0 0 6px}.student-heading h2{margin:0;overflow-wrap:anywhere}.student-meta{display:flex;align-items:flex-end;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.access-status{background:#edf1ec;border-radius:20px;padding:3px 12px}.teacher-courses{padding:0 28px}.teacher-course{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-top:1px solid var(--line)}.course-date{font-size:12px;letter-spacing:.04em;color:var(--muted);margin:0 0 6px}.teacher-course h3{font:500 23px/1.3 Georgia,serif;margin:0}.course-actions{min-width:190px}.course-actions .button{margin:0;font-size:14px;padding:10px 16px}.course-actions .pdf{margin:8px 0 0;font-size:12px}.student-empty{border-top:1px solid var(--line);margin:0 28px;padding:20px 0 24px;color:var(--muted);font-size:14px}@media(max-width:650px){.teacher-welcome{display:block}.teacher-stats{margin-top:22px}.student-heading{padding:20px;align-items:flex-start;flex-direction:column;gap:12px}.student-meta{align-items:flex-start}.teacher-courses{padding:0 20px}.teacher-course{align-items:stretch;flex-direction:column;gap:14px}.student-empty{margin:0 20px}.student-index{gap:8px}.student-index a{padding:6px 12px}}

.login .confirm-address{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#f3f6f1;font-weight:400}.login .confirm-address input[type=checkbox]{appearance:auto;flex:0 0 auto;width:19px;height:19px;padding:0;margin:4px 0 0;accent-color:var(--green)}.mail-status{padding:16px;background:#edf4ed;border:1px solid var(--line);border-radius:10px;margin:20px 0}
