.month-view-container[data-v-cfb13a82]{height:100%;display:flex;flex-direction:column;background:#f5f7fa;padding:16px 20px;overflow:hidden}.toolbar[data-v-cfb13a82]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);margin-bottom:16px;flex-shrink:0}.toolbar-left[data-v-cfb13a82]{display:flex;align-items:center;gap:24px}.toolbar-title[data-v-cfb13a82]{font-size:20px;font-weight:600;color:#303133;position:relative;padding-left:14px}.toolbar-title[data-v-cfb13a82]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px}.year-picker[data-v-cfb13a82]{display:flex;align-items:center;gap:0;background:#f5f7fa;border-radius:8px;padding:4px}.year-picker-btn[data-v-cfb13a82]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#909399;border-radius:6px;transition:all .2s;font-size:16px}.year-picker-btn[data-v-cfb13a82]:hover{background:#e4e7ed;color:#606266}.year-picker-btn[data-v-cfb13a82]:active{transform:scale(.95)}.year-value[data-v-cfb13a82]{font-size:18px;font-weight:600;color:#303133;min-width:60px;text-align:center;padding:0 12px}.month-picker[data-v-cfb13a82]{width:100px}.month-picker[data-v-cfb13a82] .el-input__inner{border:none;background:#f5f7fa;color:#303133;font-weight:600;font-size:18px;height:44px;border-radius:8px;padding-left:12px}.month-picker[data-v-cfb13a82] .el-input__icon{line-height:44px;color:#909399;font-size:14px}.month-picker[data-v-cfb13a82] .el-input__inner::-moz-placeholder{color:#c0c4cc}.month-picker[data-v-cfb13a82] .el-input__inner::placeholder{color:#c0c4cc}.toolbar-legend[data-v-cfb13a82],.toolbar-right[data-v-cfb13a82]{display:flex;align-items:center;gap:20px}.toolbar-legend[data-v-cfb13a82]{padding:8px 16px;background:#fafbfc;border-radius:10px;border:1px solid #ebeef5}.legend-item[data-v-cfb13a82]{display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s}.legend-item[data-v-cfb13a82]:hover{transform:translateY(-2px)}.legend-color-block[data-v-cfb13a82]{width:18px;height:18px;border-radius:4px;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.15)}.legend-text[data-v-cfb13a82]{font-size:13px;color:#606266;font-weight:500}.calendar-view[data-v-cfb13a82]{flex:1;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);overflow:hidden;display:flex;flex-direction:column;min-height:0}.week-header[data-v-cfb13a82]{display:flex;background:linear-gradient(135deg,#667eea,#764ba2);padding:0;flex-shrink:0}.week-cell[data-v-cfb13a82]{flex:1;height:44px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff;border-right:1px solid hsla(0,0%,100%,.2)}.week-cell[data-v-cfb13a82]:last-child{border-right:none}.week-cell.is-weekend[data-v-cfb13a82]{background:hsla(0,0%,100%,.1)}.calendar-grid[data-v-cfb13a82]{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(80px,1fr);background:#f5f7fa;overflow:auto}.calendar-cell[data-v-cfb13a82]{padding:6px 8px;border-right:1px solid #ebeef5;border-bottom:1px solid #ebeef5;box-sizing:border-box;background:#fff;transition:all .2s ease;display:flex;flex-direction:column;overflow:hidden;min-height:80px}.calendar-cell[data-v-cfb13a82]:nth-child(7n){border-right:none}.calendar-cell.is-empty[data-v-cfb13a82]{background:#fafbfc}.calendar-cell.is-weekend[data-v-cfb13a82]{background:#f8fafc}.calendar-cell.is-today[data-v-cfb13a82]{background:linear-gradient(135deg,#ecf5ff,#e6f2ff);box-shadow:inset 0 0 0 2px #409eff}.calendar-cell.is-other-month[data-v-cfb13a82]{opacity:.4}.calendar-cell[data-v-cfb13a82]:hover:not(.is-empty){background:linear-gradient(135deg,#f0f7ff,#e6f4ff);z-index:1}.cell-content[data-v-cfb13a82]{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cell-content .day-number[data-v-cfb13a82]{flex-shrink:0;margin-bottom:4px}.schedule-tags[data-v-cfb13a82]{flex:1;display:flex;flex-direction:column;gap:3px;overflow-y:auto;overflow-x:hidden;min-height:20px;max-height:100%;padding-right:4px;scrollbar-width:thin;scrollbar-color:#667eea transparent}.schedule-tags[data-v-cfb13a82]::-webkit-scrollbar{width:5px}.schedule-tags[data-v-cfb13a82]::-webkit-scrollbar-track{background:transparent;border-radius:3px}.schedule-tags[data-v-cfb13a82]::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:3px;border:1px solid hsla(0,0%,100%,.3);box-shadow:0 1px 3px rgba(0,0,0,.2);-webkit-transition:all .2s ease;transition:all .2s ease}.schedule-tags[data-v-cfb13a82]::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5a6fd6,#6a4190);box-shadow:0 2px 5px rgba(102,126,234,.4)}.schedule-tags[data-v-cfb13a82]::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#4a5fc6,#5a3680)}.day-number[data-v-cfb13a82]{font-size:16px;font-weight:600;color:#303133;margin-bottom:6px}.is-weekend .day-number[data-v-cfb13a82]{color:#909399}.is-today .day-number[data-v-cfb13a82]{color:#409eff}.schedule-tag[data-v-cfb13a82]{font-size:11px;color:#303133;padding:3px 6px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.1);cursor:pointer;transition:all .2s;background:hsla(0,0%,100%,.95);border:1px solid rgba(0,0,0,.08);flex-shrink:0}.schedule-tag[data-v-cfb13a82]:hover{transform:translateX(2px)}.schedule-dialog[data-v-cfb13a82] .el-dialog{border-radius:12px}.schedule-dialog[data-v-cfb13a82] .el-dialog__header{padding:16px 20px;border-bottom:1px solid #f0f0f0}.schedule-dialog[data-v-cfb13a82] .el-dialog__title{font-size:16px;font-weight:600;color:#303133}.schedule-dialog[data-v-cfb13a82] .el-dialog__body{padding:20px}.schedule-dialog[data-v-cfb13a82] .el-dialog__footer{padding:12px 20px;border-top:1px solid #f0f0f0}.dialog-content[data-v-cfb13a82]{padding:0}.dialog-header-mini[data-v-cfb13a82]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;margin-bottom:16px}.lecturer-avatar-mini[data-v-cfb13a82]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.lecturer-info-mini[data-v-cfb13a82]{display:flex;flex-direction:column;gap:6px}.lecturer-name-mini[data-v-cfb13a82]{font-size:15px;font-weight:600;color:#303133}.schedule-type-tag[data-v-cfb13a82]{display:inline-block;font-size:11px;color:#fff;padding:2px 8px;border-radius:3px;width:-moz-fit-content;width:fit-content}.detail-form[data-v-cfb13a82] .el-form-item{margin-bottom:12px}.detail-form[data-v-cfb13a82] .el-form-item__label{font-size:13px;color:#909399;padding-right:8px}.detail-value[data-v-cfb13a82]{font-size:13px;color:#303133}.type-dot[data-v-cfb13a82]{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.month-view-container[data-v-cfb13a82] .el-loading-mask{background:hsla(0,0%,100%,.9);border-radius:12px}.month-view-container[data-v-cfb13a82] .el-loading-spinner .el-loading-text{color:#667eea;font-weight:500}.month-view-container[data-v-cfb13a82] .el-loading-spinner .path{stroke:#667eea}