*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#app{width:100%;min-height:100vh}.calendar-overlay[data-v-7e2ecc36]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-7e2ecc36 .3s ease}@keyframes fadeIn-7e2ecc36{0%{opacity:0}to{opacity:1}}.calendar-container[data-v-7e2ecc36]{background:#fff;border-radius:20px;width:90%;max-width:400px;max-height:80vh;overflow:hidden;box-shadow:0 10px 40px #0003;animation:slideUp-7e2ecc36 .3s ease}@keyframes slideUp-7e2ecc36{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.calendar-header[data-v-7e2ecc36]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #f0f0f0}.calendar-header h2[data-v-7e2ecc36]{margin:0;font-size:20px;font-weight:600;color:#1f2937}.close-btn[data-v-7e2ecc36]{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s ease}.close-btn[data-v-7e2ecc36]:hover{background:#e5e7eb;color:#374151}.calendar-content[data-v-7e2ecc36]{padding:20px}.calendar-weekdays[data-v-7e2ecc36]{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.weekday[data-v-7e2ecc36]{text-align:center;font-size:14px;font-weight:600;color:#9ca3af;padding:8px 0}.calendar-days[data-v-7e2ecc36]{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day[data-v-7e2ecc36]{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;padding:4px;overflow:visible}.calendar-day[data-v-7e2ecc36]:hover:not(.other-month){background:#f3f4f6}.calendar-day.other-month[data-v-7e2ecc36]{color:#d1d5db}.calendar-day.disabled[data-v-7e2ecc36]{opacity:.3;cursor:not-allowed;pointer-events:none}.calendar-day.disabled[data-v-7e2ecc36]:hover{background:transparent}.calendar-day.today[data-v-7e2ecc36]{background:linear-gradient(135deg,#a5b4fc,#c4b5fd);color:#fff;font-weight:600}.calendar-day.today-pending[data-v-7e2ecc36]{background:#f97316!important;color:#fff!important;font-weight:600}.calendar-day.today-completed[data-v-7e2ecc36]{background:#22c55e!important;color:#fff!important;font-weight:600}.calendar-day.has-task[data-v-7e2ecc36]{font-weight:600}.day-number[data-v-7e2ecc36]{font-size:14px;line-height:1;margin-top:2px}.task-pending-text[data-v-7e2ecc36]{font-size:9px;color:#f97316;font-weight:600;white-space:nowrap;line-height:1}.task-indicator[data-v-7e2ecc36]{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:2px}.task-completed-text[data-v-7e2ecc36]{font-size:9px;color:#22c55e;font-weight:600;white-space:nowrap;line-height:1}.calendar-day.today .task-pending-text[data-v-7e2ecc36],.calendar-day.today .task-completed-text[data-v-7e2ecc36]{color:#fff;font-weight:700}.calendar-day.today-pending .task-pending-text[data-v-7e2ecc36]{color:#fff!important;font-weight:700}.calendar-day.today-pending .day-number[data-v-7e2ecc36],.calendar-day.today-completed .day-number[data-v-7e2ecc36],.calendar-day.today-completed .task-completed-text[data-v-7e2ecc36]{color:#fff!important}.attachment-overlay[data-v-218a2630]{position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn-218a2630 .3s ease}@keyframes fadeIn-218a2630{0%{opacity:0}to{opacity:1}}.attachment-sidebar[data-v-218a2630]{position:fixed;right:0;top:0;bottom:0;width:85%;max-width:400px;background:#fff;box-shadow:-4px 0 20px #0003;display:flex;flex-direction:column;animation:slideInRight-218a2630 .3s ease}@keyframes slideInRight-218a2630{0%{transform:translate(100%)}to{transform:translate(0)}}.attachment-header[data-v-218a2630]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #f0f0f0}.attachment-header h3[data-v-218a2630]{margin:0;font-size:20px;font-weight:600;color:#1f2937}.close-btn[data-v-218a2630]{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s ease}.close-btn[data-v-218a2630]:hover{background:#e5e7eb;color:#374151}.attachment-content[data-v-218a2630]{flex:1;overflow-y:auto;padding:20px}.empty-attachments[data-v-218a2630]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-icon[data-v-218a2630]{font-size:48px;margin-bottom:16px;opacity:.5}.attachment-list[data-v-218a2630]{display:flex;flex-direction:column;gap:12px}.attachment-item[data-v-218a2630]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:#f9fafb;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.attachment-item[data-v-218a2630]:hover{background:#f3f4f6;transform:translate(4px);box-shadow:0 2px 8px #0000001a;border-color:#a5b4fc}.attachment-icon-wrapper[data-v-218a2630]{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a}.attachment-icon[data-v-218a2630]{font-size:24px;color:#6366f1}.attachment-info[data-v-218a2630]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.attachment-name[data-v-218a2630]{font-size:15px;color:#374151;font-weight:500;word-break:break-all;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.preview-overlay[data-v-218a2630]{position:fixed;inset:0;background:#000c;z-index:1001;display:flex;align-items:center;justify-content:center;animation:fadeIn-218a2630 .3s ease}.preview-container[data-v-218a2630]{width:90%;max-width:800px;max-height:90vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;animation:scaleIn-218a2630 .3s ease}.preview-container.preview-pdf-fullscreen[data-v-218a2630]{width:95%;max-width:95%;height:95vh;max-height:95vh;border-radius:8px}@keyframes scaleIn-218a2630{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.preview-header[data-v-218a2630]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.preview-actions[data-v-218a2630]{display:flex;align-items:center;gap:8px}.action-btn[data-v-218a2630]{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s ease}.action-btn[data-v-218a2630]:hover{background:#e5e7eb;color:#374151}.preview-title[data-v-218a2630]{font-size:16px;font-weight:600;color:#1f2937;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:16px}.preview-content[data-v-218a2630]{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px}.preview-content.preview-content-pdf[data-v-218a2630]{padding:0;overflow:hidden}.preview-image-wrapper[data-v-218a2630]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:zoom-in}.preview-image[data-v-218a2630]{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px;cursor:zoom-in;transition:transform .3s ease}.preview-image[data-v-218a2630]:hover{opacity:.9}.preview-pdf[data-v-218a2630]{width:100%;height:100%;flex:1;display:flex;align-items:stretch}.pdf-iframe[data-v-218a2630]{width:100%;height:100%;border:none;flex:1}.preview-audio[data-v-218a2630],.preview-video[data-v-218a2630]{width:100%;max-width:600px}.audio-player[data-v-218a2630],.video-player[data-v-218a2630]{width:100%;border-radius:8px}.preview-other[data-v-218a2630]{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:#6b7280}.preview-file-icon[data-v-218a2630]{font-size:64px;color:#9ca3af;margin-bottom:16px}.download-btn[data-v-218a2630]{margin-top:20px;padding:12px 24px;background:linear-gradient(135deg,#a5b4fc,#c4b5fd);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:all .3s ease}.download-btn[data-v-218a2630]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #a5b4fc66}.nav-bar[data-v-6a997312]{padding:12px 20px;color:#fff;position:relative;min-height:44px;display:flex;align-items:center}.nav-content[data-v-6a997312]{display:flex;align-items:center;justify-content:space-between;position:relative;width:100%}.nav-left[data-v-6a997312]{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-width:48px}.nav-right[data-v-6a997312]{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;min-width:48px}.back-btn[data-v-6a997312]{width:40px;height:40px;border:none;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:18px;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.back-btn[data-v-6a997312]:hover{background:#ffffff4d;transform:scale(1.1)}.back-btn[data-v-6a997312]:active{transform:scale(.95)}.title[data-v-6a997312]{position:absolute;left:50%;transform:translate(-50%);font-size:17px;font-weight:600;margin:0;letter-spacing:.3px;white-space:nowrap;padding:0 12px}.header-actions[data-v-6a997312]{display:flex;align-items:center;gap:12px}.task-list-container[data-v-ba28e522]{min-height:100vh;background:linear-gradient(135deg,#a5b4fc,#c4b5fd);padding-bottom:20px}.today-btn[data-v-ba28e522]{padding:8px 16px;border:none;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.today-btn[data-v-ba28e522]:hover{background:#ffffff4d;transform:translateY(-2px)}.today-btn[data-v-ba28e522]:active{transform:translateY(0)}.calendar-btn[data-v-ba28e522]{width:44px;height:44px;border:none;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:20px;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.calendar-btn[data-v-ba28e522]:hover{background:#ffffff4d;transform:scale(1.1)}.calendar-btn[data-v-ba28e522]:active{transform:scale(.95)}.loading[data-v-ba28e522]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#fff}.spinner[data-v-ba28e522]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-ba28e522 .8s linear infinite;margin-bottom:16px}@keyframes spin-ba28e522{to{transform:rotate(360deg)}}.task-list[data-v-ba28e522]{padding:0 16px;display:flex;flex-direction:column;gap:16px}.task-item[data-v-ba28e522]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 20px #0000001a;display:flex;gap:16px;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.task-item[data-v-ba28e522]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000026}.task-item.task-completed[data-v-ba28e522]{opacity:.8}.task-status-indicator[data-v-ba28e522]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fef3c7}.status-icon[data-v-ba28e522]{font-size:18px}.status-icon-pending[data-v-ba28e522]{color:#f97316;animation:pulse-ba28e522 2s ease-in-out infinite}.status-icon-completed[data-v-ba28e522]{color:#22c55e}.status-completed .task-status-indicator[data-v-ba28e522]{background:#dcfce7}@keyframes pulse-ba28e522{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.task-content[data-v-ba28e522]{flex:1;display:flex;flex-direction:column;gap:12px}.task-header[data-v-ba28e522]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.task-title[data-v-ba28e522]{font-size:17px;font-weight:700;color:#1f2937;margin:0;flex:1;line-height:1.5}.finish-btn[data-v-ba28e522]{padding:8px 16px;background:linear-gradient(135deg,#818cf8,#a78bfa);color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 8px #818cf84d;position:relative;overflow:hidden}.finish-btn[data-v-ba28e522]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #818cf866}.finish-btn[data-v-ba28e522]:active:not(:disabled){transform:translateY(0)}.finish-btn[data-v-ba28e522]:disabled{cursor:not-allowed}.finish-btn.finishing[data-v-ba28e522]{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e4d;animation:finishPulse-ba28e522 .6s ease-in-out}.finish-btn.finishing[data-v-ba28e522]:hover{transform:none;box-shadow:0 2px 8px #22c55e4d}.finish-content[data-v-ba28e522]{display:flex;align-items:center;gap:6px;justify-content:center}.check-icon[data-v-ba28e522]{font-size:16px;animation:checkScale-ba28e522 .4s cubic-bezier(.34,1.56,.64,1)}.finish-text[data-v-ba28e522]{transition:opacity .3s ease}@keyframes finishPulse-ba28e522{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes checkScale-ba28e522{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.completed-badge[data-v-ba28e522]{padding:8px 16px;background:#22c55e;color:#fff;border-radius:20px;font-size:14px;font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:6px}.completed-badge svg[data-v-ba28e522]{font-size:16px}.task-remark[data-v-ba28e522]{font-size:16px;color:#4b5563;margin:0;line-height:1.6;font-weight:400}.task-duration[data-v-ba28e522]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#eff6ff;border-radius:8px;margin-top:8px;width:fit-content}.duration-icon[data-v-ba28e522]{font-size:14px;color:#3b82f6}.duration-text[data-v-ba28e522]{font-size:13px;color:#3b82f6;font-weight:500}.attachment-entry[data-v-ba28e522]{margin-top:12px}.attachment-btn[data-v-ba28e522]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;font-size:13px;cursor:pointer;transition:all .3s ease}.attachment-btn[data-v-ba28e522]:hover{background:#e5e7eb;color:#374151;transform:translateY(-1px)}.attachment-btn svg[data-v-ba28e522]{font-size:14px}.task-meta[data-v-ba28e522]{display:flex;flex-wrap:wrap;gap:16px;margin-top:4px}.meta-item[data-v-ba28e522]{display:flex;align-items:center;gap:6px;font-size:13px;color:#9ca3af}.meta-icon[data-v-ba28e522]{font-size:14px}.meta-text[data-v-ba28e522]{font-size:13px}.attachments[data-v-ba28e522]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f3f4f6;border-radius:8px;font-size:13px;color:#6b7280;width:fit-content}.attachment-icon[data-v-ba28e522]{font-size:14px}.attachment-count[data-v-ba28e522]{font-size:13px}.empty-state[data-v-ba28e522]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#fff}.empty-icon[data-v-ba28e522]{font-size:64px;margin-bottom:20px;opacity:.8}.empty-text[data-v-ba28e522]{font-size:20px;font-weight:600;margin:0 0 8px}.empty-hint[data-v-ba28e522]{font-size:14px;opacity:.8;margin:0}.toast-container[data-v-a31a9574]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;width:auto;max-width:80%;padding:16px 24px;border-radius:12px;box-shadow:0 4px 20px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn-a31a9574 .3s ease-out}.toast-content[data-v-a31a9574]{display:flex;align-items:center;justify-content:center;gap:12px}.toast-icon[data-v-a31a9574]{font-size:20px;flex-shrink:0}.toast-message[data-v-a31a9574]{font-size:14px;font-weight:500;line-height:1.5;text-align:center;word-break:break-word}.toast-info[data-v-a31a9574]{background:#000c;color:#fff}.toast-info .toast-icon[data-v-a31a9574]{color:#fff}.toast-success[data-v-a31a9574]{background:#000c;color:#fff}.toast-success .toast-icon[data-v-a31a9574]{color:#fff}.toast-warning[data-v-a31a9574]{background:#000c;color:#fff}.toast-warning .toast-icon[data-v-a31a9574]{color:#fff}.toast-error[data-v-a31a9574]{background:#000c;color:#fff}.toast-error .toast-icon[data-v-a31a9574]{color:#fff}@keyframes fadeIn-a31a9574{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.toast-enter-active[data-v-a31a9574],.toast-leave-active[data-v-a31a9574]{transition:all .3s ease}.toast-enter-from[data-v-a31a9574],.toast-leave-to[data-v-a31a9574]{opacity:0;transform:translate(-50%,-50%) scale(.9)}.task-detail-container[data-v-e3b5d935]{min-height:100vh;background:linear-gradient(135deg,#a5b4fc,#c4b5fd);padding-bottom:20px}.header-finish-btn[data-v-e3b5d935]{padding:8px 16px;background:linear-gradient(135deg,#818cf8,#a78bfa);border:none;border-radius:20px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 8px #818cf84d;display:flex;align-items:center;gap:6px;position:relative;overflow:hidden}.header-finish-btn[data-v-e3b5d935]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #818cf866}.header-finish-btn[data-v-e3b5d935]:active:not(:disabled){transform:translateY(0)}.header-finish-btn[data-v-e3b5d935]:disabled{opacity:.6;cursor:not-allowed}.header-finish-btn.finishing[data-v-e3b5d935]{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e4d;animation:finishPulse-e3b5d935 .6s ease-in-out}.header-finish-btn.finishing[data-v-e3b5d935]:hover{transform:none;box-shadow:0 2px 8px #22c55e4d}.header-finish-btn .finish-content[data-v-e3b5d935]{display:flex;align-items:center;gap:6px}.header-finish-btn .finish-content svg[data-v-e3b5d935]{font-size:14px}.header-finish-btn .check-icon[data-v-e3b5d935]{animation:checkScale-e3b5d935 .4s cubic-bezier(.34,1.56,.64,1)}.header-completed-badge[data-v-e3b5d935]{padding:8px 16px;background:#22c55e4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;color:#fff;font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;white-space:nowrap;box-shadow:0 2px 10px #0000001a}.header-completed-badge svg[data-v-e3b5d935]{font-size:14px}.loading[data-v-e3b5d935]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#fff}.spinner[data-v-e3b5d935]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-e3b5d935 .8s linear infinite;margin-bottom:16px}@keyframes spin-e3b5d935{to{transform:rotate(360deg)}}.task-detail-content[data-v-e3b5d935]{padding:8px 16px 0;max-width:800px;margin:0 auto}.detail-section[data-v-e3b5d935]{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 2px 12px #00000014}.title-section[data-v-e3b5d935]{margin-bottom:16px}.task-title[data-v-e3b5d935]{font-size:18px;font-weight:600;color:#1f2937;margin:0;line-height:1.4}.section-title[data-v-e3b5d935]{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:#1f2937;margin:0 0 12px}.section-title svg[data-v-e3b5d935]{font-size:16px;color:#818cf8}.task-remark[data-v-e3b5d935]{font-size:14px;color:#4b5563;margin:0;line-height:1.6;white-space:pre-wrap}.task-remark-empty[data-v-e3b5d935]{font-size:13px;color:#9ca3af;margin:0;font-style:italic}.timer-section[data-v-e3b5d935]{background:#fff;border-radius:12px;padding:20px 16px;margin-bottom:12px;box-shadow:0 2px 12px #00000014;text-align:center}.timer-display[data-v-e3b5d935]{margin-bottom:16px}.timer-time[data-v-e3b5d935]{font-size:42px;font-weight:700;color:#3b82f6;font-variant-numeric:tabular-nums;margin-bottom:8px}.timer-display.timer-overtime .timer-time[data-v-e3b5d935]{color:#ef4444;animation:pulse-red-e3b5d935 1.5s ease-in-out infinite}@keyframes pulse-red-e3b5d935{0%,to{opacity:1}50%{opacity:.7}}.timer-info[data-v-e3b5d935]{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.timer-label[data-v-e3b5d935]{font-size:14px;color:#6b7280}.timer-duration-desc[data-v-e3b5d935]{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#9ca3af;font-style:italic}.timer-duration-desc .desc-icon[data-v-e3b5d935]{font-size:12px;color:#9ca3af}.overtime-badge[data-v-e3b5d935]{padding:4px 12px;background:#fee2e2;color:#dc2626;border-radius:12px;font-size:13px;font-weight:600}.timer-controls[data-v-e3b5d935]{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.timer-btn[data-v-e3b5d935]{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;box-shadow:0 2px 6px #0000001a}.timer-btn[data-v-e3b5d935]:disabled{opacity:.5;cursor:not-allowed}.start-btn[data-v-e3b5d935]{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.start-btn[data-v-e3b5d935]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #22c55e4d}.pause-btn[data-v-e3b5d935]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.pause-btn[data-v-e3b5d935]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.reset-btn[data-v-e3b5d935]{background:#f3f4f6;color:#4b5563}.reset-btn[data-v-e3b5d935]:hover:not(:disabled){background:#e5e7eb;transform:translateY(-2px)}.timer-btn svg[data-v-e3b5d935]{font-size:14px}.info-list[data-v-e3b5d935]{display:flex;flex-direction:column;gap:8px}.info-item[data-v-e3b5d935]{display:flex;align-items:center;gap:6px;font-size:14px}.info-icon[data-v-e3b5d935]{font-size:14px;color:#818cf8;width:18px}.info-label[data-v-e3b5d935]{color:#6b7280;font-weight:500}.info-value[data-v-e3b5d935]{color:#1f2937;font-weight:600}.attachment-list[data-v-e3b5d935]{display:flex;flex-direction:column;gap:8px}.attachment-item[data-v-e3b5d935]{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;cursor:pointer;transition:all .3s ease;border:1px solid transparent}.attachment-item[data-v-e3b5d935]:hover{background:#f3f4f6;border-color:#e5e7eb;transform:translate(2px)}.attachment-icon-wrapper[data-v-e3b5d935]{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;box-shadow:0 1px 4px #00000014}.attachment-icon[data-v-e3b5d935]{font-size:18px;color:#6366f1}.attachment-info[data-v-e3b5d935]{flex:1;min-width:0}.attachment-name[data-v-e3b5d935]{font-size:14px;color:#374151;font-weight:500;word-break:break-all;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical}.attachment-arrow[data-v-e3b5d935]{font-size:12px;color:#9ca3af;flex-shrink:0}@keyframes finishPulse-e3b5d935{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes checkScale-e3b5d935{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.confirm-dialog-overlay[data-v-118c8225]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.confirm-dialog[data-v-118c8225]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%;overflow:hidden;animation:slideUp-118c8225 .3s ease-out}@keyframes slideUp-118c8225{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header[data-v-118c8225]{padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.dialog-title[data-v-118c8225]{font-size:20px;font-weight:700;color:#1f2937;margin:0}.dialog-body[data-v-118c8225]{padding:24px}.dialog-message[data-v-118c8225]{font-size:16px;color:#4b5563;margin:0;line-height:1.6}.dialog-footer[data-v-118c8225]{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end}.btn[data-v-118c8225]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.btn-cancel[data-v-118c8225]{background:#f3f4f6;color:#4b5563}.btn-cancel[data-v-118c8225]:hover{background:#e5e7eb;color:#1f2937}.btn-confirm[data-v-118c8225]{background:#ef4444;color:#fff}.btn-confirm[data-v-118c8225]:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn[data-v-118c8225]:active{transform:translateY(0)}.fade-enter-active[data-v-118c8225],.fade-leave-active[data-v-118c8225]{transition:opacity .3s ease}.fade-enter-from[data-v-118c8225],.fade-leave-to[data-v-118c8225]{opacity:0}.date-range-dialog-overlay[data-v-348b8693]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.date-range-dialog[data-v-348b8693]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;overflow:hidden;animation:slideUp-348b8693 .3s ease-out}@keyframes slideUp-348b8693{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header[data-v-348b8693]{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.dialog-title[data-v-348b8693]{font-size:20px;font-weight:700;color:#1f2937;margin:0}.close-btn[data-v-348b8693]{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;transition:all .2s ease}.close-btn[data-v-348b8693]:hover{background:#e5e7eb;color:#1f2937}.dialog-body[data-v-348b8693]{padding:24px;position:relative}.loading-indicator[data-v-348b8693]{position:absolute;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:16px}.loading-indicator p[data-v-348b8693]{margin:0;color:#6b7280;font-size:14px}.calendar-weekdays[data-v-348b8693]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.weekday[data-v-348b8693]{text-align:center;font-size:14px;font-weight:600;color:#6b7280;padding:8px 0}.calendar-days[data-v-348b8693]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day[data-v-348b8693]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;background:#fff}.calendar-day[data-v-348b8693]:hover:not(.disabled):not(.other-month){background:#f3f4f6}.calendar-day.other-month[data-v-348b8693]{color:#d1d5db;cursor:default}.calendar-day.disabled[data-v-348b8693]{color:#d1d5db;cursor:not-allowed;opacity:.5}.calendar-day.today[data-v-348b8693]{background:#eff6ff;color:#2563eb;font-weight:600}.calendar-day.selected[data-v-348b8693]{background:#a5b4fc!important;color:#fff!important;font-weight:700;box-shadow:0 2px 8px #a5b4fc4d}.calendar-day.selected.today[data-v-348b8693]{background:#a5b4fc!important;color:#fff!important}.day-number[data-v-348b8693]{font-size:14px;z-index:1}.check-icon[data-v-348b8693]{position:absolute;bottom:2px;right:2px;font-size:12px;color:#fff;z-index:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.select-all-btn[data-v-348b8693]{background:#f3f4f6;border:2px solid #e5e7eb;font-weight:600;color:#4b5563}.select-all-btn[data-v-348b8693]:hover{background:#e5e7eb;border-color:#6366f1;color:#6366f1;transform:scale(1.05)}.select-all-text[data-v-348b8693]{font-size:13px;z-index:1}.dialog-footer[data-v-348b8693]{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #e5e7eb}.btn[data-v-348b8693]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.btn-cancel[data-v-348b8693]{background:#f3f4f6;color:#4b5563}.btn-cancel[data-v-348b8693]:hover{background:#e5e7eb;color:#1f2937}.btn-confirm[data-v-348b8693]{background:#818cf8;color:#fff}.btn-confirm[data-v-348b8693]:hover:not(:disabled){background:#6366f1;transform:translateY(-1px);box-shadow:0 4px 12px #818cf84d}.btn-confirm[data-v-348b8693]:disabled{opacity:.5;cursor:not-allowed}.btn[data-v-348b8693]:active:not(:disabled){transform:translateY(0)}.fade-enter-active[data-v-348b8693],.fade-leave-active[data-v-348b8693]{transition:opacity .3s ease}.fade-enter-from[data-v-348b8693],.fade-leave-to[data-v-348b8693]{opacity:0}.task-template-list-container[data-v-012ddc08]{min-height:100vh;background:linear-gradient(135deg,#a5b4fc,#c4b5fd);padding-bottom:20px}.add-btn[data-v-012ddc08]{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.add-btn[data-v-012ddc08]:hover{background:#ffffff4d;transform:translateY(-2px)}.add-btn[data-v-012ddc08]:active{transform:translateY(0)}.add-btn svg[data-v-012ddc08]{font-size:16px}.loading[data-v-012ddc08]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#fff}.spinner[data-v-012ddc08]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-012ddc08 .8s linear infinite;margin-bottom:16px}@keyframes spin-012ddc08{to{transform:rotate(360deg)}}.template-list[data-v-012ddc08]{padding:0 16px;display:flex;flex-direction:column;gap:16px}.template-item[data-v-012ddc08]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 20px #0000001a;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.template-item[data-v-012ddc08]:hover{transform:translateY(-2px);box-shadow:0 6px 25px #00000026}.template-content[data-v-012ddc08]{display:flex;flex-direction:column;gap:12px}.template-header[data-v-012ddc08]{display:flex;justify-content:space-between;align-items:center;gap:12px}.template-title[data-v-012ddc08]{font-size:17px;font-weight:700;color:#1f2937;margin:0;flex:1;line-height:1.5}.template-actions[data-v-012ddc08]{display:flex;gap:8px}.action-btn[data-v-012ddc08]{width:36px;height:36px;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:14px}.apply-btn[data-v-012ddc08]{background:#dbeafe;color:#2563eb}.apply-btn[data-v-012ddc08]:hover{background:#bfdbfe;color:#1d4ed8}.edit-btn[data-v-012ddc08]{background:#f3f4f6;color:#4b5563}.edit-btn[data-v-012ddc08]:hover{background:#e5e7eb;color:#1f2937}.delete-btn[data-v-012ddc08]{background:#fee2e2;color:#ef4444}.delete-btn[data-v-012ddc08]:hover{background:#fecaca;color:#dc2626}.template-remark[data-v-012ddc08]{font-size:16px;color:#4b5563;margin:0;line-height:1.6;font-weight:400}.template-meta[data-v-012ddc08]{display:flex;flex-wrap:wrap;gap:16px;margin-top:4px}.meta-item[data-v-012ddc08]{display:flex;align-items:center;gap:6px;font-size:13px;color:#9ca3af}.meta-item svg[data-v-012ddc08]{font-size:14px}.empty-state[data-v-012ddc08]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#fff}.empty-icon[data-v-012ddc08]{font-size:64px;margin-bottom:20px;opacity:.8}.empty-text[data-v-012ddc08]{font-size:20px;font-weight:600;margin:0 0 8px}.empty-hint[data-v-012ddc08]{font-size:14px;opacity:.8;margin:0 0 24px}.empty-action-btn[data-v-012ddc08]{padding:12px 24px;border:none;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.empty-action-btn[data-v-012ddc08]:hover{background:#ffffff4d;transform:translateY(-2px)}.empty-action-btn[data-v-012ddc08]:active{transform:translateY(0)}.task-template-edit-container[data-v-2946a0cd]{min-height:100vh;background:linear-gradient(135deg,#a5b4fc,#c4b5fd);padding-bottom:20px}.save-btn[data-v-2946a0cd]{padding:10px 20px;border:none;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.save-btn[data-v-2946a0cd]:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px)}.save-btn[data-v-2946a0cd]:active:not(:disabled){transform:translateY(0)}.save-btn[data-v-2946a0cd]:disabled{opacity:.6;cursor:not-allowed}.form-container[data-v-2946a0cd]{padding:0 16px;max-width:800px;margin:0 auto}.form-item[data-v-2946a0cd]{background:#fff;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 4px 20px #0000001a}.form-label[data-v-2946a0cd]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1f2937;margin-bottom:12px}.form-label svg[data-v-2946a0cd]{font-size:18px;color:#818cf8}.form-input[data-v-2946a0cd]{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;color:#1f2937;transition:all .3s ease;box-sizing:border-box}.form-input[data-v-2946a0cd]:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px #818cf81a}.form-textarea[data-v-2946a0cd]{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;color:#1f2937;font-family:inherit;resize:vertical;transition:all .3s ease;box-sizing:border-box}.form-textarea[data-v-2946a0cd]:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px #818cf81a}.char-count[data-v-2946a0cd]{text-align:right;font-size:12px;color:#9ca3af;margin-top:4px}.attachment-area[data-v-2946a0cd]{padding:20px;border:2px dashed #e5e7eb;border-radius:8px;text-align:center}.hint-text[data-v-2946a0cd]{color:#9ca3af;font-size:14px;margin:0}.time-input-wrapper[data-v-2946a0cd]{display:flex;flex-direction:column;gap:8px}.time-input[data-v-2946a0cd]{width:100%}.time-hint[data-v-2946a0cd]{display:flex;align-items:center;min-height:20px}.time-display[data-v-2946a0cd]{color:#818cf8;font-size:14px;font-weight:500}
