.ant-card[data-v-1c7f1464],.ant-card[data-v-4fa53679],.ant-card[data-v-56c2e9b7],.ant-card[data-v-240a135b],.ant-card[data-v-a5d069b4],.ant-card[data-v-fb6f6944]{margin-left:-20px;margin-right:-20px}.calendar-container[data-v-8f2bbfc0]{background:#f0f2f5}.calendar-container[data-v-8f2bbfc0] .ant-card-body{padding:0}.statistics-wrapper[data-v-8f2bbfc0]{background:#fff;padding:16px 24px;border-radius:8px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.03);box-shadow:0 1px 2px rgba(0,0,0,.03)}@media (max-width:768px){.statistics-wrapper[data-v-8f2bbfc0]{padding:16px}}.statistics-header[data-v-8f2bbfc0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}@media (max-width:768px){.statistics-header[data-v-8f2bbfc0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px}}.header-left .header-title[data-v-8f2bbfc0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}@media (max-width:480px){.header-left .header-title[data-v-8f2bbfc0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:4px}}.header-left .header-title .anticon[data-v-8f2bbfc0]{font-size:20px;color:#1890ff}.header-left .header-title span[data-v-8f2bbfc0]:first-of-type{font-size:16px;font-weight:600;color:#262626}.header-left .header-title .header-subtitle[data-v-8f2bbfc0]{font-size:14px;color:#8c8c8c;font-weight:400;margin-left:8px}@media (max-width:480px){.header-left .header-title .header-subtitle[data-v-8f2bbfc0]{margin-left:0}}.header-right[data-v-8f2bbfc0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}@media (max-width:768px){.header-right[data-v-8f2bbfc0]{width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media (max-width:480px){.header-right[data-v-8f2bbfc0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:8px}}.header-right .update-info[data-v-8f2bbfc0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:13px;color:#8c8c8c}.header-right .update-info .anticon[data-v-8f2bbfc0]{font-size:14px}.header-right .refresh-btn[data-v-8f2bbfc0]{color:#1890ff;padding:4px 8px;height:auto}.header-right .refresh-btn[data-v-8f2bbfc0]:hover{background:rgba(24,144,255,.1)}.statistics-grid[data-v-8f2bbfc0]{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}@media (max-width:1200px){.statistics-grid[data-v-8f2bbfc0]{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.statistics-grid[data-v-8f2bbfc0]{grid-template-columns:repeat(2,1fr);gap:8px}}@media (max-width:480px){.statistics-grid[data-v-8f2bbfc0]{grid-template-columns:1fr}}.stat-card[data-v-8f2bbfc0]{background:#fafafa;border-radius:6px;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-webkit-transition:all .3s ease;transition:all .3s ease;border:1px solid transparent;cursor:default}.stat-card.hovered[data-v-8f2bbfc0]{background:#fff;border-color:#e8e8e8;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px rgba(0,0,0,.08);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.stat-icon[data-v-8f2bbfc0]{width:48px;height:48px;border-radius:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.stat-icon .anticon[data-v-8f2bbfc0]{font-size:24px;color:#fff}.stat-content[data-v-8f2bbfc0]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.stat-value[data-v-8f2bbfc0]{font-size:28px;font-weight:700;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:-.5px;margin-bottom:2px}.stat-label[data-v-8f2bbfc0]{font-size:14px;color:#666;margin-bottom:4px;font-weight:500}.stat-desc[data-v-8f2bbfc0]{font-size:12px;color:#999}.attendance-rate[data-v-8f2bbfc0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.attendance-rate .rate-progress[data-v-8f2bbfc0]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden}.attendance-rate .rate-progress .rate-fill[data-v-8f2bbfc0]{height:100%;border-radius:2px;-webkit-transition:width .3s ease;transition:width .3s ease}.calendar-card[data-v-8f2bbfc0]{margin-top:16px}.calendar-card[data-v-8f2bbfc0] .ant-card-body{padding:16px}@media (max-width:768px){.calendar-card[data-v-8f2bbfc0] .ant-card-body{padding:12px}}[data-v-8f2bbfc0] .fc{font-family:inherit}@media (max-width:768px){[data-v-8f2bbfc0] .fc .fc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}[data-v-8f2bbfc0] .fc .fc-toolbar .fc-toolbar-chunk{width:100%;text-align:center}}[data-v-8f2bbfc0] .fc .fc-event{cursor:pointer;border-radius:3px;font-size:12px;padding:1px 4px}[data-v-8f2bbfc0] .fc .fc-daygrid-event{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-8f2bbfc0] .fc .custom-event-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;width:100%}[data-v-8f2bbfc0] .fc .custom-event-wrapper .event-time{-ms-flex-negative:0;flex-shrink:0;min-width:40px;font-weight:700;font-size:11px}[data-v-8f2bbfc0] .fc .custom-event-wrapper .event-title{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}