.schedule-page[data-v-04e7312e]{max-width:980px;margin:0 auto;padding:12px;font-size:14px;color:#333;background:#f5f6fa;min-height:100vh}.page-header[data-v-04e7312e]{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 10px;flex-wrap:wrap;gap:8px}.page-header .header-title[data-v-04e7312e]{display:flex;align-items:center;gap:10px}.page-header .title-text h1[data-v-04e7312e]{font-size:20px;margin:0;color:#222}.page-header .title-text p[data-v-04e7312e]{margin:2px 0 0;font-size:13px;color:#888}.page-header .student-switch[data-v-04e7312e]{display:inline-flex;border:1px solid #dcdfe6;border-radius:4px;overflow:hidden}.page-header .student-switch button[data-v-04e7312e]{padding:0 14px;height:30px;line-height:28px;font-size:14px;border:none;border-right:1px solid #dcdfe6;background:#fff;color:#606266;cursor:pointer;outline:none;transition:all .2s}.page-header .student-switch button[data-v-04e7312e]:last-child{border-right:none}.page-header .student-switch button[data-v-04e7312e]:hover{color:#7000bd}.page-header .student-switch button.active[data-v-04e7312e]{background:#7000bd;color:#fff}.today-card[data-v-04e7312e]{background:linear-gradient(135deg,#8e2de2,#4a00e0);border-radius:10px;color:#fff;padding:14px 16px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.today-card .today-date[data-v-04e7312e]{font-size:20px;font-weight:700}.today-card .today-status[data-v-04e7312e]{font-size:15px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.today-card .today-status .status-dot[data-v-04e7312e]{width:8px;height:8px;border-radius:50%;background:#ffd200;display:inline-block;flex-shrink:0}.today-card .today-status .status-dot.rest[data-v-04e7312e]{background:hsla(0,0%,100%,.7)}.today-card .today-status .current-time[data-v-04e7312e]{font-size:13px;opacity:.85}.today-card .today-extra[data-v-04e7312e]{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;width:100%}.today-card .today-extra .extra-item[data-v-04e7312e]{display:flex;flex-direction:column;align-items:flex-start;padding:8px 16px;border-radius:8px;background:hsla(0,0%,100%,.95);min-width:120px}.today-card .today-extra .extra-item .extra-label[data-v-04e7312e]{font-size:13px;color:#888;margin-bottom:2px}.today-card .today-extra .extra-item .extra-value[data-v-04e7312e]{font-size:24px;font-weight:700;font-family:monospace;line-height:1.2}.today-card .today-extra .extra-dismissal .extra-value[data-v-04e7312e]{color:#e0291a}.today-card .today-extra .extra-class .extra-value[data-v-04e7312e]{color:#7000bd}.today-card .today-reminder[data-v-04e7312e]{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;width:100%}.today-card .today-reminder .reminder-item[data-v-04e7312e]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:16px;font-weight:700;color:#fff;background:rgba(255,210,0,.9);border-radius:8px;white-space:nowrap}.today-card .today-reminder .reminder-item .reminder-icon[data-v-04e7312e]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#e0291a;font-size:14px;font-weight:700;flex-shrink:0}.today-card .tomorrow-reminder[data-v-04e7312e]{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;width:100%}.today-card .tomorrow-reminder .reminder-item[data-v-04e7312e]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:16px;font-weight:700;color:#fff;background:hsla(0,0%,100%,.12);border:2px dashed rgba(255,210,0,.7);border-radius:8px;white-space:nowrap}.today-card .tomorrow-reminder .reminder-item .reminder-icon[data-v-04e7312e]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(255,210,0,.8);color:#fff;font-size:14px;font-weight:700;flex-shrink:0}.remark-card[data-v-04e7312e],.routine-card[data-v-04e7312e],.timetable-card[data-v-04e7312e]{background:#fff;border-radius:10px;padding:14px;margin-bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.timetable-scroll[data-v-04e7312e]{overflow-x:auto;overflow-y:auto;max-height:560px;-webkit-overflow-scrolling:touch}.timetable-scroll .tt-wrap[data-v-04e7312e]{min-width:720px;display:flex;flex-direction:column}.timetable-scroll .tt-header[data-v-04e7312e]{display:flex;position:sticky;top:0;z-index:15}.timetable-scroll .tt-header .tt-corner[data-v-04e7312e]{width:52px;min-width:52px;flex-shrink:0;height:34px;line-height:34px;text-align:center;font-size:13px;color:#888;background:#fafbff;border-bottom:2px solid #e5e7ef;position:sticky;left:0;z-index:16}.timetable-scroll .tt-header .tt-day-heads[data-v-04e7312e]{flex:1;display:flex}.timetable-scroll .tt-header .tt-day-heads .tt-day-head[data-v-04e7312e]{flex:1;height:34px;line-height:34px;text-align:center;font-size:15px;font-weight:600;color:#555;background:#fafbff;border-bottom:2px solid #e5e7ef;min-width:90px}.timetable-scroll .tt-header .tt-day-heads .tt-day-head.today-col[data-v-04e7312e]{color:#7000bd;background:#f3e8ff}.timetable-scroll .tt-body[data-v-04e7312e]{display:flex;position:relative}.timetable-scroll .tt-time-col[data-v-04e7312e]{width:52px;min-width:52px;flex-shrink:0;position:sticky;left:0;z-index:10;background:#fafbff;border-right:1px solid #e5e7ef}.timetable-scroll .tt-time-col .tt-hour[data-v-04e7312e]{display:flex;align-items:flex-start;justify-content:center;font-size:11px;font-family:monospace;color:#999;border-bottom:1px solid #f0f1f5;padding-top:2px}.timetable-scroll .tt-day-area[data-v-04e7312e]{flex:1;display:flex;position:relative}.timetable-scroll .tt-day-area .now-line[data-v-04e7312e]{position:absolute;left:0;right:0;height:1px;background:#e0291a;z-index:20;pointer-events:none}.timetable-scroll .tt-day-area .now-line .now-time[data-v-04e7312e]{position:absolute;left:2px;top:-8px;font-size:10px;font-family:monospace;color:#fff;background:#e0291a;padding:1px 5px;border-radius:8px;white-space:nowrap;line-height:1.4}.timetable-scroll .tt-day-area .tt-day-col[data-v-04e7312e]{flex:1;position:relative;min-width:90px;border-right:1px solid #f0f1f5}.timetable-scroll .tt-day-area .tt-day-col[data-v-04e7312e]:last-child{border-right:none}.timetable-scroll .tt-day-area .tt-day-col.weekend-col[data-v-04e7312e]{background:#fcfcfe}.timetable-scroll .tt-day-area .tt-day-col.today-col[data-v-04e7312e]{background:#fdfbff}.timetable-scroll .tt-day-area .tt-day-col .tt-grid[data-v-04e7312e]{position:absolute;top:0;left:0;right:0}.timetable-scroll .tt-day-area .tt-day-col .tt-grid .tt-grid-line[data-v-04e7312e]{border-bottom:1px solid #f5f5f8}.timetable-scroll .tt-day-area .tt-day-col .course-block[data-v-04e7312e]{position:absolute;left:2px;right:2px;border-radius:4px;padding:1px 3px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;cursor:default}.timetable-scroll .tt-day-area .tt-day-col .course-block .block-name[data-v-04e7312e]{font-weight:700;font-size:14px;white-space:nowrap;line-height:1.3}.timetable-scroll .tt-day-area .tt-day-col .course-block .block-time[data-v-04e7312e]{font-size:13px;opacity:.7;font-family:monospace;line-height:1.2;margin-top:1px}.timetable-scroll .tt-day-area .tt-day-col .course-block.is-now[data-v-04e7312e]{outline:2px solid #7000bd;outline-offset:-2px;box-shadow:0 1px 6px rgba(112,0,189,.2);z-index:5}.timetable-scroll .tt-day-area .tt-day-col .course-block.lang[data-v-04e7312e]{background:#e8f0fe;color:#1a56c4}.timetable-scroll .tt-day-area .tt-day-col .course-block.math[data-v-04e7312e]{background:#fef0e0;color:#c2561a}.timetable-scroll .tt-day-area .tt-day-col .course-block.art[data-v-04e7312e]{background:#f3e8ff;color:#7c3aed}.timetable-scroll .tt-day-area .tt-day-col .course-block.sport[data-v-04e7312e]{background:#e6f7ee;color:#1a9e5c}.timetable-scroll .tt-day-area .tt-day-col .course-block.science[data-v-04e7312e]{background:#e0f2fe;color:#0e7490}.timetable-scroll .tt-day-area .tt-day-col .course-block.moral[data-v-04e7312e]{background:#fff3cd;color:#8a6d1a}.timetable-scroll .tt-day-area .tt-day-col .course-block.labor[data-v-04e7312e]{background:#fde8e0;color:#a0551e}.timetable-scroll .tt-day-area .tt-day-col .course-block.work[data-v-04e7312e]{background:#f5f5f5;color:#666}.timetable-scroll .tt-day-area .tt-day-col .course-block.club[data-v-04e7312e]{background:#e0fbf4;color:#0f766e}.timetable-scroll .tt-day-area .tt-day-col .course-block.flag[data-v-04e7312e]{background:#ffe9ec;color:#c2252e}.timetable-scroll .tt-day-area .tt-day-col .course-block.reflection[data-v-04e7312e]{background:#f0eafd;color:#6d4dbd}.timetable-scroll .tt-day-area .tt-day-col .course-block.practice[data-v-04e7312e]{background:#f0fdfa;color:#0f766e}.timetable-scroll .tt-day-area .tt-day-col .course-block.special[data-v-04e7312e]{background:#e6f7ff;color:#0e7490}.timetable-scroll .tt-day-area .tt-day-col .course-block.extra-write[data-v-04e7312e]{background:#f3e8ff;color:#7c3aed;box-shadow:inset 3px 0 0 #7c3aed}.timetable-scroll .tt-day-area .tt-day-col .course-block.extra-paint[data-v-04e7312e]{background:#fff4e6;color:#c2561a;box-shadow:inset 3px 0 0 #c2561a}.timetable-scroll .tt-day-area .tt-day-col .course-block.extra-dance[data-v-04e7312e]{background:#fce4ec;color:#c2185b;box-shadow:inset 3px 0 0 #c2185b}.timetable-scroll .tt-day-area .tt-day-col .course-block.extra-english[data-v-04e7312e]{background:#e8f5e9;color:#2e7d32;box-shadow:inset 3px 0 0 #2e7d32}.timetable-scroll .tt-day-area .tt-day-col .course-block.extra-lego[data-v-04e7312e]{background:#fff8e1;color:#e65100;box-shadow:inset 3px 0 0 #e65100}.timetable-scroll .tt-day-area .tt-day-col .course-block.extra-basketball[data-v-04e7312e]{background:#e6f7ee;color:#1a9e5c;box-shadow:inset 3px 0 0 #1a9e5c}.legend[data-v-04e7312e]{display:flex;flex-wrap:wrap;gap:10px;padding:12px 4px 4px;border-top:2px solid #e5e7ef;margin-top:10px}.legend .legend-item[data-v-04e7312e]{font-size:12px;color:#888;display:flex;align-items:center;gap:4px}.legend .legend-item .legend-dot[data-v-04e7312e]{width:8px;height:8px;border-radius:50%;display:inline-block}.remark-card[data-v-04e7312e]{font-size:13px;color:#888}.remark-card p[data-v-04e7312e]{margin:4px 0;line-height:1.6}.remark-card p b[data-v-04e7312e]{color:#666}.section-title[data-v-04e7312e]{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:#333;margin-bottom:12px}.section-title .section-line[data-v-04e7312e]{flex:1;height:1px;background:#e5e7ef}.routine-group[data-v-04e7312e]{margin-bottom:8px}.routine-title[data-v-04e7312e]{font-size:14px;font-weight:700;color:#7000bd;margin-bottom:4px;padding-left:8px;border-left:3px solid #7000bd}.routine-row[data-v-04e7312e]{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid #f2f3f7;font-size:14px}.routine-row[data-v-04e7312e]:last-child{border-bottom:none}.routine-row .routine-name[data-v-04e7312e]{color:#555}.routine-row .routine-time[data-v-04e7312e]{color:#999;font-family:monospace;font-size:13px}.routine-note[data-v-04e7312e]{margin-top:10px;padding:10px 12px;background:#faf6ff;border-radius:8px;font-size:13px;color:#666;line-height:1.8}.routine-note p[data-v-04e7312e]{margin:2px 0}.footer[data-v-04e7312e]{text-align:center;padding:16px 0 8px;font-size:12px;color:#aaa}@media screen and (max-width:768px){.schedule-page[data-v-04e7312e]{padding:8px}.page-header[data-v-04e7312e]{padding:2px 2px 8px}.student-switch button[data-v-04e7312e]{height:28px;line-height:26px;padding:0 12px;font-size:13px}.today-card[data-v-04e7312e]{padding:12px 14px;flex-direction:column;align-items:flex-start;gap:6px}.today-card .today-status[data-v-04e7312e]{font-size:14px}.today-card .today-extra .extra-item[data-v-04e7312e]{padding:6px 12px;min-width:100px}.today-card .today-extra .extra-item .extra-label[data-v-04e7312e]{font-size:12px}.today-card .today-extra .extra-item .extra-value[data-v-04e7312e]{font-size:20px}.today-card .today-reminder .reminder-item[data-v-04e7312e],.today-card .tomorrow-reminder .reminder-item[data-v-04e7312e]{font-size:15px;padding:5px 12px}.remark-card[data-v-04e7312e],.routine-card[data-v-04e7312e],.timetable-card[data-v-04e7312e]{padding:10px;border-radius:8px}.tt-wrap[data-v-04e7312e]{min-width:680px}.timetable-scroll[data-v-04e7312e]{max-height:480px}.tt-time-col .tt-hour[data-v-04e7312e]{font-size:10px}}.print-btn[data-v-04e7312e]{background:#fff!important;color:#7000bd!important;border:1px solid #7000bd!important;font-weight:600;margin-left:6px}@media screen and (max-width:1023.98px){.print-btn[data-v-04e7312e]{display:none!important}}@media print{@page{size:A4 landscape;margin:8mm}body.printing-timetable .schedule-page>*{display:none!important}body.printing-timetable .timetable-card{display:block!important;position:absolute!important;top:0;left:0;width:100%!important;box-shadow:none!important;padding:0!important;margin:0!important}body.printing-timetable .timetable-scroll{max-height:none!important;overflow:visible!important;height:auto!important}body.printing-timetable .tt-day-col,body.printing-timetable .tt-wrap{min-width:0!important}body.printing-timetable .tt-day-head{height:28px!important;line-height:28px!important;font-size:13px!important}body.printing-timetable .tt-corner{height:28px!important;line-height:28px!important;display:none!important}body.printing-timetable .tt-day-col{background:#fff!important}body.printing-timetable .tt-day-col,body.printing-timetable .tt-day-col:last-child{border-right:1.5px solid #000!important}body.printing-timetable .tt-day-head{background:#fff!important;color:#000!important;border-right:1.5px solid #000!important;border-bottom:2px solid #000!important}body.printing-timetable .tt-day-col .course-block,body.printing-timetable .tt-day-col .course-block.art,body.printing-timetable .tt-day-col .course-block.club,body.printing-timetable .tt-day-col .course-block.extra-basketball,body.printing-timetable .tt-day-col .course-block.extra-dance,body.printing-timetable .tt-day-col .course-block.extra-english,body.printing-timetable .tt-day-col .course-block.extra-lego,body.printing-timetable .tt-day-col .course-block.extra-paint,body.printing-timetable .tt-day-col .course-block.extra-write,body.printing-timetable .tt-day-col .course-block.flag,body.printing-timetable .tt-day-col .course-block.labor,body.printing-timetable .tt-day-col .course-block.lang,body.printing-timetable .tt-day-col .course-block.math,body.printing-timetable .tt-day-col .course-block.moral,body.printing-timetable .tt-day-col .course-block.practice,body.printing-timetable .tt-day-col .course-block.reflection,body.printing-timetable .tt-day-col .course-block.science,body.printing-timetable .tt-day-col .course-block.special,body.printing-timetable .tt-day-col .course-block.sport,body.printing-timetable .tt-day-col .course-block.work{background:#fff!important;color:#000!important;border:1px solid #000!important;box-shadow:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}