.calendar-page[data-v-b739461e]{max-width:1080px;margin:0 auto}.calendar-card[data-v-b739461e]{border-radius:16px}.calendar-head[data-v-b739461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:18px;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:16px 20px;background:linear-gradient(135deg,#f7fbf8,#f0f8f3 60%,#eaf5ee);border:1px solid #e2efe6;border-radius:14px}.calendar-head-left[data-v-b739461e]{min-width:0}.calendar-month-row[data-v-b739461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:10px;-ms-flex-wrap:wrap;flex-wrap:wrap}.calendar-month[data-v-b739461e]{font-size:32px;font-weight:800;color:#172e23;letter-spacing:-1.2px;line-height:1.1}.calendar-year[data-v-b739461e]{font-size:15px;font-weight:600;color:#6b7f74}.calendar-today-chip[data-v-b739461e]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:#fff;border:1px solid #d9e8de;color:#1f9d63;font-size:12px;font-weight:600}.calendar-subtitle[data-v-b739461e]{margin-top:5px;color:#7b8a81;font-size:13px}.calendar-head-right[data-v-b739461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap}.calendar-nav[data-v-b739461e]{gap:6px;padding:4px;background:#fff;border:1px solid #e2eae4;border-radius:10px}.calendar-nav[data-v-b739461e],.nav-btn[data-v-b739461e]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.nav-btn[data-v-b739461e]{width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:#55655c;font-size:13px;cursor:pointer;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .15s;transition:all .15s}.nav-btn[data-v-b739461e]:hover{background:#e9f6ee;color:#1f9d63}.nav-btn[data-v-b739461e]:active{background:#dff1e6}.nav-today[data-v-b739461e]{height:30px;padding:0 12px;border:none;border-radius:8px;background:transparent;color:#37453d;font-size:13px;font-weight:600;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.nav-today[data-v-b739461e]:hover{background:#e9f6ee;color:#1f9d63}.nav-today[data-v-b739461e]:active{background:#dff1e6}.calendar-legend[data-v-b739461e]{margin:14px 0 10px;display:-webkit-box;display:-ms-flexbox;display:flex;gap:18px;-ms-flex-wrap:wrap;flex-wrap:wrap}.legend-item[data-v-b739461e]{color:#4b5563;font-size:12px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px}.legend-dot[data-v-b739461e]{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.lesson[data-v-b739461e]{background:#10b981}.legend-dot.exam[data-v-b739461e]{background:#3b82f6}.legend-dot.contest[data-v-b739461e]{background:#f59e0b}.legend-dot.custom[data-v-b739461e]{background:#8b5cf6}.calendar-week-row[data-v-b739461e]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.calendar-week-cell[data-v-b739461e]{text-align:center;color:#6b7280;font-size:12px;font-weight:600;padding:6px 0}.calendar-grid[data-v-b739461e]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-cell[data-v-b739461e]{min-height:96px;border:1px solid #eef1ee;border-radius:10px;background:#fff;padding:6px 6px 8px;cursor:pointer;-webkit-transition:border-color .15s,background .15s,-webkit-box-shadow .15s;transition:border-color .15s,background .15s,-webkit-box-shadow .15s;transition:border-color .15s,box-shadow .15s,background .15s;transition:border-color .15s,box-shadow .15s,background .15s,-webkit-box-shadow .15s}.calendar-cell[data-v-b739461e]:hover{border-color:#d3e8dc;-webkit-box-shadow:0 4px 14px rgba(16,48,32,.06);box-shadow:0 4px 14px rgba(16,48,32,.06)}.calendar-cell.is-out[data-v-b739461e]{background:#fafbfa}.calendar-cell.is-out .calendar-cell-day[data-v-b739461e]{color:#c3cac5}.calendar-cell.is-today[data-v-b739461e]{border-color:#1f9d63;background:#f4fbf7}.calendar-cell.is-selected[data-v-b739461e]{-webkit-box-shadow:0 0 0 2px rgba(31,157,99,.35) inset;box-shadow:inset 0 0 0 2px rgba(31,157,99,.35)}.calendar-cell-head[data-v-b739461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:4px}.calendar-cell-day[data-v-b739461e]{font-size:13px;font-weight:700;color:#374151}.today-badge[data-v-b739461e]{font-size:10px;color:#1f9d63;background:#e3f6ec;border-radius:6px;padding:1px 5px}.calendar-cell-events[data-v-b739461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:3px}.event-chip[data-v-b739461e]{font-size:11px;line-height:18px;border-radius:5px;padding:0 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#374151}.event-chip.lesson[data-v-b739461e]{background:#e5f7ef;color:#0b7a52}.event-chip.exam[data-v-b739461e]{background:#e7f0fe;color:#1d4ed8}.event-chip.contest[data-v-b739461e]{background:#fef3e2;color:#b45309}.event-chip.custom[data-v-b739461e]{background:#f1ebfe;color:#6d28d9}.event-more[data-v-b739461e]{font-size:11px;color:#6b7280;padding-left:6px}.day-panel[data-v-b739461e]{margin-top:16px;border-radius:14px}.day-panel-header[data-v-b739461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:10px}.day-panel-title[data-v-b739461e]{font-size:16px;font-weight:700;color:#17241d}.day-panel-count[data-v-b739461e]{color:#9ca3af;font-size:12px}.day-events[data-v-b739461e]{min-height:60px}.day-event-item[data-v-b739461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;padding:10px 8px;border-radius:10px;cursor:pointer}.day-event-item[data-v-b739461e]:hover{background:#f7faf8}.day-event-item+.day-event-item[data-v-b739461e]{border-top:1px solid #f1f4f2}.day-event-type[data-v-b739461e]{margin-top:4px;width:8px;height:8px;border-radius:50%;-webkit-box-flex:0;-ms-flex:none;flex:none}.day-event-type.lesson[data-v-b739461e]{background:#10b981}.day-event-type.exam[data-v-b739461e]{background:#3b82f6}.day-event-type.contest[data-v-b739461e]{background:#f59e0b}.day-event-type.custom[data-v-b739461e]{background:#8b5cf6}.day-event-main[data-v-b739461e]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.day-event-title[data-v-b739461e]{font-size:14px;font-weight:600;color:#1f2937;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;-ms-flex-wrap:wrap;flex-wrap:wrap}.day-event-tag[data-v-b739461e]{font-weight:500}.day-event-time[data-v-b739461e]{margin-top:3px;color:#6b7280;font-size:12px}.day-event-meta[data-v-b739461e]{margin-top:3px;color:#9ca3af;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.day-event-actions[data-v-b739461e]{-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.danger-text[data-v-b739461e]{color:#ef4444}.empty-tip[data-v-b739461e]{text-align:center;color:#9ca3af;padding:20px 0;font-size:13px}.event-detail-row[data-v-b739461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;padding:8px 0;color:#374151;font-size:13px;border-bottom:1px solid #f3f4f6}.event-detail-label[data-v-b739461e]{width:42px;-webkit-box-flex:0;-ms-flex:none;flex:none;color:#9ca3af}@media (max-width:768px){.calendar-cell[data-v-b739461e]{min-height:68px;padding:4px 3px 6px}.calendar-cell-events[data-v-b739461e]{gap:2px}.event-chip[data-v-b739461e]{font-size:10px;line-height:15px;padding:0 4px}.event-more[data-v-b739461e]{font-size:10px;padding-left:3px}.calendar-head-right[data-v-b739461e]{width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.calendar-month[data-v-b739461e]{font-size:26px}.calendar-today-chip[data-v-b739461e]{height:20px;padding:0 8px;font-size:11px}}