.calendar-view .view-selector[data-v-1b94e27b]{background:linear-gradient(135deg,#f8f9fc,#eef2f9);border-radius:8px;padding:18px;margin-bottom:16px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.04)}.calendar-view .view-selector[data-v-1b94e27b] .ivu-btn-group{box-shadow:0 2px 6px rgba(0,0,0,.08);border-radius:6px;overflow:hidden}.calendar-view .view-selector[data-v-1b94e27b] .ivu-btn-group .ivu-btn{height:38px;padding:0 18px}.calendar-view .view-selector[data-v-1b94e27b] .ivu-btn-group .ivu-btn.ivu-btn-primary{background:linear-gradient(135deg,#409eff,#2d8cf0);border-color:#2d8cf0;font-weight:500}.calendar-view .view-selector .month-selector[data-v-1b94e27b]{display:flex;align-items:center}.calendar-view .view-selector .month-selector .current-month[data-v-1b94e27b]{margin:0 18px;font-size:18px;font-weight:500;color:#17233d;min-width:120px;text-align:center}.calendar-view .view-selector .month-selector .ivu-btn[data-v-1b94e27b]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.08)}.calendar-view .view-selector .month-selector .ivu-btn[data-v-1b94e27b]:hover{background-color:#ecf5ff;color:#2d8cf0}.calendar-view .statistics-info[data-v-1b94e27b]{display:flex;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.calendar-view .statistics-info .stat-card[data-v-1b94e27b]{flex:1;min-width:180px;margin-bottom:10px;transition:all .3s ease;border-radius:8px;box-shadow:0 3px 10px rgba(0,0,0,.05);overflow:hidden;padding:2px}.calendar-view .statistics-info .stat-card[data-v-1b94e27b]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.calendar-view .statistics-info .stat-card[data-v-1b94e27b] .ivu-card-body{padding:16px}.calendar-view .statistics-info .stat-card .stat-title[data-v-1b94e27b]{display:flex;align-items:center;margin-bottom:12px;color:#17233d;font-size:14px}.calendar-view .statistics-info .stat-card .stat-title .ivu-icon[data-v-1b94e27b]{margin-right:8px;font-size:18px}.calendar-view .statistics-info .stat-card .stat-value[data-v-1b94e27b]{font-size:28px;font-weight:600;color:#17233d}.calendar-view .statistics-info .stat-card.highlight-card[data-v-1b94e27b]{border-left:4px solid #2d8cf0;background:linear-gradient(135deg,#f0f7ff,#fff)}.calendar-view .statistics-info .stat-card.status-not-started .stat-value[data-v-1b94e27b]{color:#909399}.calendar-view .statistics-info .stat-card.status-in-service .stat-value[data-v-1b94e27b]{color:#409eff}.calendar-view .statistics-info .stat-card.status-completed .stat-value[data-v-1b94e27b]{color:#67c23a}.calendar-view .statistics-info .stat-card.status-expired .stat-value[data-v-1b94e27b]{color:#f56c6c}.calendar-view .calendar-container[data-v-1b94e27b]{background-color:#fff;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.08);overflow:hidden;margin-top:10px}.calendar-view .calendar-container .calendar-grid[data-v-1b94e27b]{display:flex;flex-direction:column}.calendar-view .calendar-container .calendar-grid .calendar-header-row[data-v-1b94e27b]{display:flex;background:linear-gradient(135deg,#f5f7fa,#e4edf9)}.calendar-view .calendar-container .calendar-grid .calendar-header-row .calendar-header-cell[data-v-1b94e27b]{flex:1;text-align:center;font-weight:600;color:#17233d;padding:16px 0;border-right:1px solid rgba(232,234,236,.8)}.calendar-view .calendar-container .calendar-grid .calendar-header-row .calendar-header-cell[data-v-1b94e27b]:last-child{border-right:none}.calendar-view .calendar-container .calendar-grid .calendar-body[data-v-1b94e27b]{display:flex;flex-direction:column}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row[data-v-1b94e27b]{display:flex;min-height:140px;border-top:1px solid #e8eaec}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row[data-v-1b94e27b]:first-child{border-top:none}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell[data-v-1b94e27b]{flex:1;min-width:0;border-right:1px solid #e8eaec;padding:10px;position:relative;background-color:#fff;transition:all .2s ease}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell[data-v-1b94e27b]:last-child{border-right:none}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell[data-v-1b94e27b]:hover:not(.empty-cell){background-color:#f9fafc;box-shadow:inset 0 0 0 2px #d5e8fc}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell.other-month[data-v-1b94e27b]{background-color:#f8f9fa;color:#c0c4cc}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell.today[data-v-1b94e27b]{background-color:#f0f9ff;box-shadow:inset 0 0 0 2px #a3d0fd}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell.has-events[data-v-1b94e27b]{background-color:#fafcff}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell.empty-cell[data-v-1b94e27b]{border:none;background-color:transparent}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .date-number[data-v-1b94e27b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:500;font-size:15px;color:#17233d}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .date-number .add-event-btn[data-v-1b94e27b]{opacity:0;transition:opacity .3s;padding:0;margin-right:2px;color:#409eff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .date-number .add-event-btn[data-v-1b94e27b]:hover{color:#2d8cf0;background-color:rgba(64,158,255,.1)}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell:hover .add-event-btn[data-v-1b94e27b]{opacity:1}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container[data-v-1b94e27b]{overflow:hidden}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item[data-v-1b94e27b]{margin-bottom:6px;padding:6px 8px;border-radius:4px;font-size:12px;line-height:1.4;color:#606266;background-color:#f3f5f9;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;transition:all .2s ease;border-left:3px solid #e0e0e0;box-shadow:0 1px 3px rgba(0,0,0,.05)}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item[data-v-1b94e27b]:hover{background-color:#edf4ff;transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,.08)}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item .event-icon[data-v-1b94e27b]{margin-right:6px;font-size:14px}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item .event-title[data-v-1b94e27b]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item .event-time[data-v-1b94e27b]{margin-left:6px;color:#909399;font-size:11px}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item .event-service[data-v-1b94e27b]{display:flex;align-items:center;margin-top:4px;padding:2px 6px;background-color:rgba(64,158,255,.1);border-radius:3px;font-size:11px;width:100%}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item .event-service i[data-v-1b94e27b]{margin-right:4px;color:#409eff}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item .event-service span[data-v-1b94e27b]{color:#409eff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item.status-0[data-v-1b94e27b]{border-left:3px solid #909399;border-left-width:4px}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item.status-1[data-v-1b94e27b]{border-left:3px solid #409eff;border-left-width:4px}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item.status-2[data-v-1b94e27b]{border-left:3px solid #67c23a;border-left-width:4px}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .event-item.status-3[data-v-1b94e27b]{border-left:3px solid #f56c6c;border-left-width:4px}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .more-events[data-v-1b94e27b]{text-align:center;color:#fff;cursor:pointer;font-size:12px;padding:4px 0;background-color:#409eff;border-radius:4px;margin-top:6px;transition:all .2s ease;box-shadow:0 2px 4px rgba(64,158,255,.2)}.calendar-view .calendar-container .calendar-grid .calendar-body .calendar-row .calendar-cell .events-container .more-events[data-v-1b94e27b]:hover{background-color:#2d8cf0;box-shadow:0 3px 6px rgba(45,140,240,.3)}.event-details[data-v-1b94e27b]{padding:16px;position:relative}.event-details .status-tag[data-v-1b94e27b]{position:absolute;right:16px;top:16px;padding:4px 12px;border-radius:4px;color:#fff;font-size:12px;font-weight:700}.event-details .detail-section[data-v-1b94e27b]{margin-bottom:20px}.event-details .detail-section .section-title[data-v-1b94e27b]{font-weight:700;font-size:14px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #f0f0f0;color:#303133}.event-details .detail-section .detail-row[data-v-1b94e27b]{display:flex;flex-wrap:wrap;margin-bottom:8px}.event-details .detail-section .detail-row .detail-item[data-v-1b94e27b]{display:flex;width:33.33%;margin-bottom:8px}.event-details .detail-section .detail-row .detail-item.full-width[data-v-1b94e27b]{width:100%}.event-details .detail-section .detail-row .detail-item .label[data-v-1b94e27b]{font-weight:500;margin-right:8px;color:#606266;flex-shrink:0;width:80px}.event-details .detail-section .detail-row.project-info-list[data-v-1b94e27b]{margin-top:12px}.event-details .detail-section .detail-row.project-info-list .detail-item[data-v-1b94e27b]{flex-direction:column}.event-details .detail-section .detail-row.project-info-list .detail-item .label[data-v-1b94e27b]{display:block;width:100%;margin-bottom:8px}.event-details .detail-section .detail-row.project-info-list .detail-item .table-wrapper[data-v-1b94e27b]{width:100%}.event-details .detail-section .detail-row.project-info-list .detail-item .table-wrapper[data-v-1b94e27b] .ivu-table-wrapper{border-radius:4px;overflow:hidden;margin-top:8px}.event-details .detail-section .detail-row.project-info-list .detail-item .table-wrapper[data-v-1b94e27b] .ivu-table th{background-color:#f7f7f7}.add-event-form .ivu-form-item[data-v-1b94e27b],.day-events-list[data-v-1b94e27b]{margin-bottom:16px}.day-events-list .ivu-table-wrapper[data-v-1b94e27b]{border-radius:4px;overflow:hidden}.empty-events[data-v-1b94e27b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0;background-color:#f8f8f9;border-radius:4px}.empty-events .ivu-icon[data-v-1b94e27b]{color:#c5c8ce;margin-bottom:16px}.empty-events p[data-v-1b94e27b]{color:#515a6e;font-size:14px}.auto-complete-item[data-v-1b94e27b]{padding:8px 12px;cursor:pointer;border-bottom:1px solid #eee}.auto-complete-item[data-v-1b94e27b]:hover{background-color:#f0f0f0}.auto-complete-item .item-extra[data-v-1b94e27b]{font-size:12px;color:#999;margin-top:3px}.selected-item[data-v-1b94e27b]{margin-top:8px}.demo-spin-icon-load[data-v-1b94e27b]{animation:ani-demo-spin-1b94e27b 1s linear infinite}@keyframes ani-demo-spin-1b94e27b{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}to{transform:rotate(1turn)}}