.calendar-card{margin-top:20px}.calendar-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-toolbar strong{font-size:18px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-week span{text-align:center;color:var(--muted);font-size:12px;padding:5px}.calendar-day{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;position:relative;font:inherit;color:var(--ink)}.calendar-day.other{opacity:.35}.calendar-day.today{border:2px solid #ef765b}.calendar-day.selected{background:#fff0e2;border-color:#ef765b;color:#c94f3d;font-weight:700}.calendar-dots{position:absolute;bottom:5px;left:0;right:0;display:flex;justify-content:center;gap:3px}.calendar-dots i{width:5px;height:5px;border-radius:50%;display:block}.dot-homework{background:#5ba8e8}.dot-task{background:#edb74c}.dot-training{background:#7ac38d}.day-detail{border-left:1px solid var(--line);padding-left:20px}.agenda-item{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}.agenda-type{font-size:11px;padding:3px 6px;border-radius:5px;white-space:nowrap}.type-homework{background:#e7f3ff;color:#3779ad}.type-task{background:#fff3d9;color:#a36f19}.type-training{background:#e8f7eb;color:#388054}.agenda-title{font-weight:700}.agenda-meta{font-size:12px;color:var(--muted)}.agenda-actions{display:flex;gap:4px;margin-left:auto}.copy-event,.delete-event{border:0;background:transparent;cursor:pointer;white-space:nowrap;padding:4px}.copy-event{color:var(--green)}.delete-event{color:#b95743}.calendar-form{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.calendar-form .form-row{grid-template-columns:.8fr 1.2fr}.calendar-form button{margin-top:8px}@media(max-width:760px){.calendar-layout{grid-template-columns:1fr}.day-detail{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.calendar-day{min-height:38px}.calendar-week,.calendar-grid{gap:3px}.agenda-item{flex-wrap:wrap}.agenda-actions{width:100%;justify-content:flex-end}}
