body{font:16px system-ui;background:#f3f6fb;color:#19283c;margin:0}
header{background:#183b65;color:white;padding:18px 5%}
main{max-width:1100px;margin:28px auto;padding:0 16px}
.card{background:white;border-radius:12px;padding:22px;margin:16px 0;box-shadow:0 2px 10px #0001}
nav a{color:white;margin-right:20px}
label{display:block;margin:12px 0 4px}
input,select,textarea{padding:10px;border:1px solid #bac7d6;border-radius:7px;max-width:100%;box-sizing:border-box}
textarea{width:100%}
button{padding:11px 18px;background:#1767b2;border:0;border-radius:7px;color:white;cursor:pointer}
table{border-collapse:collapse;width:100%}
td,th{padding:9px;border-bottom:1px solid #ddd;text-align:left}
.checks label{display:inline-block;margin:8px 16px 8px 0}
.error{color:#b42318}
.muted{color:#64748b}
.lesson-calendar{width:340px;max-width:100%;margin:12px 0 18px;border:1px solid #bac7d6;border-radius:10px;padding:12px;box-sizing:border-box}
.lesson-calendar__navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.lesson-calendar__navigation button{font-size:22px;padding:4px 14px}
.lesson-calendar__weekdays,.lesson-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.lesson-calendar__weekdays{font-size:13px;color:#64748b;margin-bottom:6px}
.lesson-calendar .lesson-calendar__day{background:transparent;color:#19283c;font:400 16px system-ui;padding:8px 0;border:2px solid transparent;min-height:40px}
.lesson-calendar .lesson-calendar__day.is-present{font-weight:800;background:#e7f3e9;color:#205c34}
.lesson-calendar .lesson-calendar__day[aria-current="date"]{text-decoration:underline;text-underline-offset:4px}
.lesson-calendar .lesson-calendar__day[aria-pressed="true"]{border-color:#1767b2}
.lesson-calendar .lesson-calendar__day:hover{background:#e4edf8}
.lesson-calendar button:focus-visible{outline:3px solid #1767b2;outline-offset:2px}
.lesson-calendar__legend,.lesson-calendar__hint{font-size:13px;line-height:1.5}
.lesson-calendar__legend{margin:12px 0 0}
.lesson-calendar__hint{margin:6px 0}
