.lesson-picker{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.lesson-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:60px;padding:10px 15px;border:1px solid #d6ded3;border-radius:13px;background:#fffefa;color:#223b37;font:inherit;font-size:.92rem;line-height:1.35;text-decoration:none;cursor:pointer}.lesson-link[aria-current=page],.lesson-link[aria-pressed=true]{background:#e0eddf;border-color:#285d4b;box-shadow:0 0 0 1px #285d4b}.lesson-link:focus-visible{outline:3px solid #477dad;outline-offset:3px}.lesson-teacher{font-size:.8rem;color:#60726c}.lesson-due{font-size:.75rem;font-weight:700;color:#285d4b}.lesson-link:disabled{cursor:wait;opacity:.6}@media(max-width:420px){.lesson-picker{gap:7px}.lesson-link{padding:9px 10px;flex:1;font-size:.81rem}}
.finished-lessons{margin:0 0 24px}.finished-lessons>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}.finished-lessons .lesson-picker{margin-top:10px}.lesson-finished{opacity:.65;cursor:default;background:#eceee7}.lesson-finished .icon{width:19px;height:19px}.lesson-locked{cursor:default;background:#f0f1eb}.finished-card{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:28px;background:#e0eddf;border-radius:20px}.finished-card p{width:100%;color:#60726c}
.lesson-calendar{margin:0 0 28px;min-width:0}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-heading h2{font-size:1.3rem;letter-spacing:-.025em;text-align:center}.calendar-step{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #d6ded3;border-radius:12px;background:#fffefa;color:#285d4b}.calendar-step:hover{background:#e0eddf}.calendar-table{table-layout:fixed;border-collapse:collapse;width:100%}.calendar-table th{padding:8px 1px;font-size:.75rem;font-weight:650;color:#60726c}.calendar-table td{width:14.285%;vertical-align:top;border:1px solid #d6ded3}.calendar-day{height:90px;padding:5px;background:#fffefa}.calendar-day time{display:grid;place-items:center;width:28px;height:28px;margin-bottom:4px;border-radius:50%;font-size:.85rem;color:#60726c}.calendar-empty{background:#eceee750}.calendar-today time{background:#285d4b;color:#fff;font-weight:750}.calendar-selected{background:#edf4e8}.calendar-entries{display:grid;gap:5px}.calendar-lesson{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;min-width:0;min-height:44px;padding:5px 3px;border:1px solid #d6ded3;border-radius:8px;background:#f4f6f0;color:#223b37;text-align:center;text-decoration:none;font-size:.8rem;line-height:1.2;overflow-wrap:anywhere}.calendar-lesson span{min-width:0}.calendar-lesson .icon{width:15px;height:15px}.calendar-lesson[aria-current=page]{border-color:#285d4b;background:#e0eddf;box-shadow:inset 0 0 0 1px #285d4b}.calendar-lesson:focus-visible,.calendar-step:focus-visible{outline:3px solid #477dad;outline-offset:2px}.calendar-lesson:hover{background:#e0eddf}.calendar-finished{opacity:.6;background:#eceee7}.calendar-locked{color:#7a857f;background:#f0f1eb;border-style:dashed}.calendar-finished:hover,.calendar-locked:hover{background:#eceee7}
@media(max-width:650px){.calendar-day{padding:3px;height:80px}.calendar-lesson{font-size:.72rem;padding:5px 2px}.calendar-heading h2{font-size:1.15rem}}
@media(max-width:420px){.calendar-day{padding:2px}.calendar-day time{width:24px;height:24px;font-size:.78rem}.calendar-table th{font-size:.66rem}.calendar-lesson{font-size:.66rem}.calendar-lesson .icon{width:13px;height:13px}}
.calendar-available,.calendar-available[aria-current=page]{background:#285d4b;border-color:#285d4b;color:#fff;font-weight:750;gap:7px;padding:7px 5px}
.calendar-available[aria-current=page]{outline:2px solid #223b37;outline-offset:2px;box-shadow:none}
.calendar-available:hover{background:#1d4c3d}
.calendar-available:focus-visible{outline:3px solid #477dad;outline-offset:3px}
.calendar-available .icon{width:17px;height:17px;fill:currentColor;stroke-width:1.4}
@media(max-width:420px){.calendar-available{gap:3px;padding:7px 2px}.calendar-available[aria-current=page]{gap:3px;padding:7px 2px;outline-offset:0}}
