.schedule-workspace,.all-data{display:grid;gap:20px}.schedule-workspace .panel,.all-data .panel{background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 35px #395e8210}.today-reminder{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:15px 20px;border:1px solid #cce3f6;border-radius:18px;background:linear-gradient(110deg,#edf8ff,#fff)}.reminder-title{min-width:130px;display:grid}.reminder-title span{font-weight:700}.reminder-title small,.reminder-empty{color:var(--muted)}.reminder-item{display:flex;align-items:center;gap:10px;flex:1;min-width:260px}.reminder-item span{flex:1}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.calendar-head h2{font-size:24px;margin:0}.calendar-head p{color:var(--muted);font-size:12px}.calendar-head .secondary{padding:7px 11px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:12px;padding:8px}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-day{min-height:112px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;min-width:0}.calendar-day:hover,.calendar-day.selected{background:var(--soft)}.calendar-day.outside{opacity:.38}.day-number{width:28px;height:28px;display:grid;place-items:center;padding:0;border-radius:50%;font-size:12px}.calendar-day.today .day-number{background:var(--blue);color:white}.day-events{display:grid;gap:3px}.cal-event{display:flex;align-items:center;gap:5px;min-width:0;width:100%;padding:3px 5px;border-radius:6px;background:#edf6ff;text-align:left;font-size:11px}.cal-event:hover{background:#dceeff}.cal-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.planned{background:#e8f5ee}.day-events small{color:var(--muted);font-size:10px}.event-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#a4b7c9}.event-dot.lesson{background:#3c8ccf}.event-dot.culture{background:#d49a4f}.event-dot.todo{background:#806db9}.event-dot.task{background:#71a787}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:12px}.calendar-legend span{display:flex;align-items:center;gap:6px}.selected-day-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.selected-day .item{padding:8px 0}.schedule-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.schedule-boards .panel h2{margin-bottom:10px}.board-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line)}.board-row:last-child{border-bottom:0}.board-row span{min-width:0;flex:1}.board-row strong,.board-row small,.note-row strong,.note-row small{display:block}.board-row small,.note-row small,.class-progress small{font-size:11px;color:var(--muted)}.todo-check{font-size:23px;color:var(--blue)}.board-mark{width:7px;height:7px;border-radius:50%;background:var(--blue)}.note-row{display:block;text-align:left;width:100%;padding:10px 0;border-bottom:1px solid var(--line)}.class-progress{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;text-align:left;border-bottom:1px solid var(--line)}.class-progress span{flex:1}.progress-track{display:block;width:95px;height:7px;background:var(--soft);border-radius:9px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--blue);border-radius:9px}.data-intro{color:var(--muted)}.data-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.data-metric{display:grid;align-content:start;gap:2px;text-align:left;min-height:105px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 8px 25px #395e820b}.data-metric:hover{border-color:#8fbde8;transform:translateY(-2px)}.data-metric strong{font-size:27px;line-height:1.2;color:var(--blue)}.data-metric span{font-weight:600}.data-metric small{color:var(--muted);font-size:11px}.data-view-switch{display:flex;gap:8px}.data-view-switch button{padding:8px 15px;border-radius:9px;background:var(--soft);color:var(--muted)}.data-view-switch button.active{background:var(--blue);color:white}.data-filters{display:grid;grid-template-columns:1fr 1.25fr 1fr 1fr 1fr;gap:8px;margin-bottom:14px}.data-filters input,.data-filters select{min-width:0}.tablewrap{overflow:auto}.detail-panel table{border-collapse:collapse;width:100%;min-width:680px;text-align:left}.detail-panel th,.detail-panel td{padding:11px;border-bottom:1px solid var(--line);font-size:12px}.detail-panel th{color:var(--muted);font-weight:600}.table-link{color:var(--blue);text-align:left;font-weight:600}.clouds{align-items:stretch}.cloud{display:flex;align-items:center;justify-content:center;gap:12px 18px;flex-wrap:wrap;min-height:155px}.cloud span{color:var(--blue);line-height:1.2}.graph-panel select{width:auto}.graph-panel svg{width:100%;min-height:340px;border-radius:12px;background:radial-gradient(circle at center,#f7fbff,#fff)}.graph-node{cursor:pointer}.graph-node text{font:11px -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;fill:var(--ink)}.graph-node:hover circle{stroke:var(--ink);stroke-width:3}body.night .today-reminder{background:#364139}body.night .cal-event{background:#415b5f}body.night .cal-event.planned{background:#3e6150}body.night .graph-panel svg{background:var(--paper)}@media(max-width:950px){.data-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.data-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-boards{grid-template-columns:1fr}}@media(max-width:600px){.calendar-day{min-height:72px;padding:3px}.day-number{width:23px;height:23px}.cal-event{font-size:0;min-height:13px}.cal-event i{width:7px;height:7px}.calendar-grid .day-events small{font-size:9px}.data-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.data-metrics{gap:8px}.data-metric{min-height:90px;padding:11px}.data-metric strong{font-size:22px}}
.schedule-workspace h2,.all-data h2,.schedule-workspace h3,.all-data h3{font-weight:500}.schedule-workspace strong,.schedule-workspace b,.schedule-workspace .board-row strong,.schedule-workspace .note-row strong{font-weight:400}.data-metric strong{font-weight:500}.data-metric span,.table-link{font-weight:400}.schedule-workspace .panel,.all-data .panel{box-shadow:0 12px 32px #395e820c}.course-reminder{padding:26px 30px 18px!important}.course-reminder-head{display:flex;justify-content:space-between;gap:20px}.course-reminder-head h2{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:25px}.reminder-icon{font-size:22px;color:var(--blue)}.reminder-date{font-size:38px;letter-spacing:.05em;line-height:1.1}.course-reminder-head p,.reminder-next span{color:var(--muted)}.course-reminder-head p{margin-top:13px}.reminder-next{display:grid;place-items:center;align-content:center;min-width:130px;min-height:135px;border-radius:22px;background:#f2f8fc}.reminder-next strong{font-size:35px;font-weight:400}.reminder-tabs{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);margin-top:25px}.reminder-tabs button{padding:11px 0;border-bottom:2px solid transparent;color:var(--muted)}.reminder-tabs button.active{border-color:var(--blue);color:var(--ink)}.reminder-tabs .reminder-calendar-link{margin-left:auto}.reminder-content{min-height:150px;padding:12px 0}.reminder-lesson{display:flex;align-items:center;gap:16px;width:100%;padding:15px 5px;text-align:left;border-bottom:1px solid var(--line)}.reminder-lesson-time{font-size:22px;color:var(--blue)}.reminder-lesson span:nth-child(2){flex:1}.reminder-lesson b,.reminder-lesson small{display:block}.reminder-lesson small,.reminder-lesson i{color:var(--muted);font-style:normal}.reminder-empty-state{text-align:center;padding:15px 0}.reminder-empty-state .reminder-empty-icon{display:block;font-size:28px;color:var(--muted)}.reminder-empty-state h3{font-size:18px;margin:5px 0}.reminder-empty-state p{color:var(--muted);margin-bottom:12px}.reminder-foot{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:13px;color:var(--muted)}.reminder-foot>span+span{border-left:1px solid var(--line);padding-left:18px}.reminder-foot strong{font-size:21px;color:var(--ink)}.reminder-foot small{margin-left:auto}.calendar-head h2{font-weight:500}.data-metrics{gap:14px}.data-metric{min-height:115px}.data-metric strong{color:var(--ink)}.teaching-report{display:grid;gap:20px;margin-top:8px}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.report-heading h2{font-size:25px;margin:0}.report-heading p,.teaching-report article>p{color:var(--muted);font-size:12px;margin-top:5px}.report-switch{display:flex;gap:4px;padding:3px;background:#f2f6fa;border-radius:12px}.report-switch button{padding:8px 13px;border-radius:9px;color:var(--muted)}.report-switch button.active{color:white;background:var(--blue)}.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.report-kpi{padding:19px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 32px #395e820c}.report-kpi>span{color:var(--muted)}.report-kpi>div{margin-top:18px}.report-kpi strong{font-size:34px;font-weight:400}.report-kpi small{color:var(--muted);margin-left:5px}.report-main{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:14px}.report-main .panel{min-height:310px}.report-main h3,.report-secondary h3{font-size:17px}.report-donut{width:190px;height:190px;margin:22px auto 5px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--blue) var(--report-progress),#e1ecf7 0)}.report-donut>div{width:154px;height:154px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--paper)}.report-donut strong{font-size:37px;font-weight:400}.report-donut small{color:var(--muted)}.report-caption{text-align:center}.report-bars{height:195px;display:flex;gap:8px;align-items:end;justify-content:space-around;padding-top:15px}.report-bar{min-width:0;flex:1;display:grid;text-align:center;gap:4px}.report-bar>span{font-size:12px}.report-bar-track{height:150px;border-radius:10px;background:#e6eff8;display:flex;align-items:flex-end;overflow:hidden}.report-bar-track>i{display:block;width:100%;border-radius:10px;background:#bdd5ed;position:relative;overflow:hidden}.report-bar-track b{position:absolute;bottom:0;left:0;right:0;background:var(--blue)}.report-bar small{font-size:10px;color:var(--muted);white-space:nowrap}.report-legend{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px;margin-top:12px}.report-legend i{width:7px;height:7px;border-radius:50%;background:var(--blue)}.report-legend i:nth-of-type(2){background:#bdd5ed}.report-resource-row{display:flex;align-items:center;gap:9px;padding:10px 0}.report-resource-row span{min-width:65px;font-size:12px}.report-resource-row i,.report-class i{flex:1;height:7px;background:#e6eff8;border-radius:8px;overflow:hidden}.report-resource-row b,.report-class b{display:block;height:100%;background:var(--blue);border-radius:8px}.report-resource-row strong{font-weight:400;font-size:12px}.report-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-task{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.report-task>span:nth-child(2){flex:1}.report-task small{display:block;color:var(--muted);font-size:11px}.report-checkbox{font-size:22px;color:var(--muted)}.report-class{display:grid;gap:7px;margin:17px 0}.report-class>span{display:flex;justify-content:space-between}.report-class small{color:var(--muted)}.report-class i{width:100%;flex:none}body.night .reminder-next,body.night .report-switch{background:var(--soft)}body.night .report-kpi{background:var(--paper)}body.night .report-bar-track,body.night .report-resource-row i,body.night .report-class i{background:#526457}@media(max-width:950px){.report-main{grid-template-columns:repeat(2,minmax(0,1fr))}.report-resources{grid-column:1/-1}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.course-reminder{padding:18px!important}.reminder-date{font-size:29px}.reminder-next{min-width:90px;min-height:115px}.reminder-foot{flex-wrap:wrap}.reminder-foot small{margin-left:0}.report-heading{align-items:flex-start;flex-direction:column}.report-main,.report-secondary{grid-template-columns:1fr}.report-resources{grid-column:auto}.report-kpi strong{font-size:27px}}
