| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 | 
							- // 交互效果样式
 
- // 全局交互动画变量
 
- :root {
 
-   --transition-fast: 0.15s ease-out;
 
-   --transition-normal: 0.25s ease-out;
 
-   --transition-slow: 0.35s ease-out;
 
- }
 
- // 卡片交互效果增强
 
- .core-card {
 
-   transition: all var(--transition-normal);
 
-   
 
-   &:hover {
 
-     transform: translateY(-2px) scale(1.02);
 
-     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
 
-   }
 
-   
 
-   &:active {
 
-     transform: translateY(0) scale(0.98);
 
-     transition: all var(--transition-fast);
 
-   }
 
- }
 
- // 按钮交互效果
 
- .nav-btn, .view-toggle button, .add-shift-btn {
 
-   transition: all var(--transition-normal);
 
-   position: relative;
 
-   overflow: hidden;
 
-   
 
-   &::before {
 
-     content: '';
 
-     position: absolute;
 
-     top: 50%;
 
-     left: 50%;
 
-     width: 0;
 
-     height: 0;
 
-     background: rgba(255, 255, 255, 0.3);
 
-     border-radius: 50%;
 
-     transform: translate(-50%, -50%);
 
-     transition: width var(--transition-normal), height var(--transition-normal);
 
-   }
 
-   
 
-   &:hover::before {
 
-     width: 300px;
 
-     height: 300px;
 
-   }
 
-   
 
-   &:active {
 
-     transform: scale(0.95);
 
-   }
 
- }
 
- // 列表行交互效果
 
- .list-row {
 
-   transition: all var(--transition-normal);
 
-   
 
-   &:hover {
 
-     background: rgba(0, 122, 255, 0.05);
 
-     transform: translateX(4px);
 
-     box-shadow: 0 2px 8px rgba(0, 122, 255, 0.1);
 
-   }
 
- }
 
- // 工作量圆环特殊效果
 
- .workload-ring {
 
-   transition: all var(--transition-normal);
 
-   
 
-   &:hover {
 
-     transform: scale(1.05);
 
-     filter: brightness(1.1);
 
-   }
 
- }
 
- // 紧急任务卡片特殊效果
 
- .urgent-task {
 
-   position: relative;
 
-   
 
-   &::after {
 
-     content: '';
 
-     position: absolute;
 
-     top: 0;
 
-     left: 0;
 
-     right: 0;
 
-     bottom: 0;
 
-     background: linear-gradient(45deg, transparent 30%, rgba(255, 59, 48, 0.1) 50%, transparent 70%);
 
-     opacity: 0;
 
-     transition: opacity var(--transition-normal);
 
-   }
 
-   
 
-   &:hover::after {
 
-     opacity: 1;
 
-   }
 
- }
 
- // 加载状态效果
 
- .loading {
 
-   position: relative;
 
-   
 
-   &::before {
 
-     content: '';
 
-     position: absolute;
 
-     top: 0;
 
-     left: -100%;
 
-     width: 100%;
 
-     height: 100%;
 
-     background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
 
-     animation: shimmer 1.5s infinite;
 
-   }
 
- }
 
- @keyframes shimmer {
 
-   0% { left: -100%; }
 
-   100% { left: 100%; }
 
- }
 
- // 成功状态动画
 
- .success-state {
 
-   animation: successPulse 0.6s ease-out;
 
- }
 
- @keyframes successPulse {
 
-   0% { transform: scale(1); }
 
-   50% { transform: scale(1.05); }
 
-   100% { transform: scale(1); }
 
- }
 
- // 错误状态动画
 
- .error-state {
 
-   animation: errorShake 0.5s ease-out;
 
- }
 
- @keyframes errorShake {
 
-   0%, 100% { transform: translateX(0); }
 
-   25% { transform: translateX(-4px); }
 
-   75% { transform: translateX(4px); }
 
- }
 
- // 微交互反馈
 
- .interactive-element {
 
-   &:focus-visible {
 
-     outline: 2px solid rgba(0, 122, 255, 0.6);
 
-     outline-offset: 2px;
 
-   }
 
- }
 
- // 减少动画偏好设置支持
 
- @media (prefers-reduced-motion: reduce) {
 
-   * {
 
-     animation-duration: 0.01ms !important;
 
-     animation-iteration-count: 1 !important;
 
-     transition-duration: 0.01ms !important;
 
-   }
 
- }
 
 
  |