.tf-avatar-wrapper[data-v-21bb69e0]{display:inline-flex;align-items:center;gap:8px}.tf-avatar[data-v-21bb69e0]{border-radius:var(--radius-pill);color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;flex-shrink:0;box-shadow:0 0 0 2px var(--surface-main)}.tf-avatar--sm[data-v-21bb69e0]{width:24px;height:24px;font-size:.7rem}.tf-avatar--md[data-v-21bb69e0]{width:32px;height:32px;font-size:.8rem}.tf-avatar--lg[data-v-21bb69e0]{width:40px;height:40px;font-size:.95rem}.tf-avatar--unassigned[data-v-21bb69e0]{background-color:var(--border-light);color:var(--text-secondary)}.tf-avatar-name[data-v-21bb69e0]{font-size:.88rem;font-weight:500;color:var(--text-primary)}.tf-sidebar[data-v-d98df4f7]{width:var(--sidebar-width);height:100vh;position:sticky;top:0;background:var(--surface-main);border-right:1px solid var(--border-light);display:flex;flex-direction:column;z-index:100;flex-shrink:0}.tf-sidebar-inner[data-v-d98df4f7]{display:flex;flex-direction:column;height:100%;padding:20px 16px;overflow-y:auto}.tf-sidebar-brand[data-v-d98df4f7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:0 4px}.tf-logo-group[data-v-d98df4f7]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.tf-brand-mark[data-v-d98df4f7]{width:32px;height:32px;background:var(--surface-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.tf-brand-text[data-v-d98df4f7]{display:flex;flex-direction:column}.tf-brand-title[data-v-d98df4f7]{font-family:var(--font-family-display);font-size:1.05rem;font-weight:800;letter-spacing:.04em;color:var(--text-primary);line-height:1.1}.tf-brand-tagline[data-v-d98df4f7]{font-size:.7rem;color:var(--violet-deep);font-weight:600;letter-spacing:.02em}.tf-sidebar-mobile-close[data-v-d98df4f7]{display:none;color:var(--text-secondary)}.tf-sidebar-cta[data-v-d98df4f7]{margin-bottom:22px}.tf-create-task-btn[data-v-d98df4f7]{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--violet-deep);color:var(--text-inverse);font-weight:600;font-size:.9rem;border-radius:var(--radius-md);transition:all var(--transition-fast);box-shadow:0 2px 8px #6958e840}.tf-create-task-btn[data-v-d98df4f7]:hover{background:#5746d9;transform:translateY(-1px);box-shadow:0 4px 12px #6958e859}.tf-nav-section-label[data-v-d98df4f7]{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-muted);margin-bottom:8px;padding-left:10px}.tf-sidebar-nav[data-v-d98df4f7]{margin-bottom:24px}.tf-nav-list[data-v-d98df4f7]{list-style:none;display:flex;flex-direction:column;gap:4px}.tf-nav-link[data-v-d98df4f7]{width:100%;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;font-size:.9rem;transition:all var(--transition-fast)}.tf-nav-link[data-v-d98df4f7]:hover{background:var(--surface-subtle);color:var(--text-primary)}.tf-nav-link.is-active[data-v-d98df4f7]{background:var(--violet-surface);color:var(--violet-deep);font-weight:600}.tf-nav-icon[data-v-d98df4f7]{flex-shrink:0}.tf-nav-label[data-v-d98df4f7]{flex:1;text-align:left}.tf-nav-badge[data-v-d98df4f7]{padding:2px 7px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;background:var(--violet-deep);color:#fff}.tf-sidebar-projects[data-v-d98df4f7]{flex:1;margin-bottom:20px}.tf-projects-header[data-v-d98df4f7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tf-add-proj-btn[data-v-d98df4f7]{width:22px;height:22px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.tf-add-proj-btn[data-v-d98df4f7]:hover{background:var(--surface-subtle);color:var(--violet-deep)}.tf-proj-list[data-v-d98df4f7]{list-style:none;display:flex;flex-direction:column;gap:2px}.tf-proj-link[data-v-d98df4f7]{width:100%;display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.88rem;transition:all var(--transition-fast)}.tf-proj-link[data-v-d98df4f7]:hover{background:var(--surface-subtle);color:var(--text-primary)}.tf-proj-link.is-active[data-v-d98df4f7]{background:var(--violet-surface);color:var(--violet-deep);font-weight:600}.tf-proj-dot[data-v-d98df4f7]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tf-proj-name[data-v-d98df4f7]{flex:1;text-align:left}.tf-proj-arrow[data-v-d98df4f7]{opacity:0;transition:opacity var(--transition-fast)}.tf-proj-link:hover .tf-proj-arrow[data-v-d98df4f7],.tf-proj-link.is-active .tf-proj-arrow[data-v-d98df4f7]{opacity:1}.tf-sidebar-footer[data-v-d98df4f7]{margin-top:auto;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border-light);padding-top:14px}.tf-settings-link[data-v-d98df4f7]{margin-bottom:2px}.tf-user-profile-card[data-v-d98df4f7]{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-subtle);border-radius:var(--radius-md);border:1px solid var(--border-light)}.tf-user-info[data-v-d98df4f7]{display:flex;flex-direction:column}.tf-user-name[data-v-d98df4f7]{font-size:.85rem;font-weight:600;color:var(--text-primary)}.tf-user-role[data-v-d98df4f7]{font-size:.72rem;color:var(--text-secondary)}@media (max-width: 1024px){.tf-sidebar[data-v-d98df4f7]{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);transition:transform var(--transition-normal);box-shadow:var(--shadow-overlay);z-index:1000}.tf-sidebar.is-mobile-open[data-v-d98df4f7]{transform:translate(0)}.tf-sidebar-mobile-close[data-v-d98df4f7]{display:flex}.tf-sidebar-overlay[data-v-d98df4f7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#24223873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999}}.tf-search-wrapper[data-v-f5247bc0]{position:relative;display:flex;align-items:center;width:100%}.tf-search-icon[data-v-f5247bc0]{position:absolute;left:12px;color:var(--text-secondary);pointer-events:none}.tf-search-field[data-v-f5247bc0]{width:100%;height:38px;padding:0 34px 0 38px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;transition:all var(--transition-fast)}.tf-search-field[data-v-f5247bc0]:focus{border-color:var(--violet-deep);box-shadow:0 0 0 3px #6958e81f}.tf-search-field[data-v-f5247bc0]::placeholder{color:var(--text-muted)}.tf-search-clear[data-v-f5247bc0]{position:absolute;right:10px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-pill);color:var(--text-secondary);background:var(--surface-subtle);transition:all var(--transition-fast)}.tf-search-clear[data-v-f5247bc0]:hover{background:var(--border-light);color:var(--text-primary)}.tf-btn[data-v-beab41a4]{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;border:1px solid transparent}.tf-btn--sm[data-v-beab41a4]{height:32px;padding:0 12px;font-size:.82rem}.tf-btn--md[data-v-beab41a4]{height:40px;padding:0 16px;font-size:.9rem}.tf-btn--lg[data-v-beab41a4]{height:46px;padding:0 22px;font-size:.98rem}.tf-btn--primary[data-v-beab41a4]{background:var(--violet-deep);color:var(--text-inverse)}.tf-btn--primary[data-v-beab41a4]:hover:not(:disabled){background:#5746d9;box-shadow:0 4px 12px #6958e847}.tf-btn--coral[data-v-beab41a4]{background:var(--coral-accent);color:var(--text-inverse)}.tf-btn--coral[data-v-beab41a4]:hover:not(:disabled){background:#f8645a;box-shadow:0 4px 12px #ff786f47}.tf-btn--secondary[data-v-beab41a4]{background:var(--surface-main);color:var(--text-primary);border-color:var(--border-light)}.tf-btn--secondary[data-v-beab41a4]:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--border-hover)}.tf-btn--ghost[data-v-beab41a4]{background:transparent;color:var(--text-secondary)}.tf-btn--ghost[data-v-beab41a4]:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-primary)}.tf-btn--danger[data-v-beab41a4]{background:var(--danger-surface);color:var(--danger);border-color:var(--danger-border)}.tf-btn--danger[data-v-beab41a4]:hover:not(:disabled){background:var(--danger);color:var(--text-inverse)}.tf-btn-spinner[data-v-beab41a4]{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-beab41a4 .6s linear infinite}@keyframes spin-beab41a4{to{transform:rotate(360deg)}}.tf-icon-btn[data-v-0fe85f9e]{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast);border:1px solid transparent;flex-shrink:0}.tf-icon-btn--sm[data-v-0fe85f9e]{width:32px;height:32px}.tf-icon-btn--md[data-v-0fe85f9e]{width:40px;height:40px}.tf-icon-btn--lg[data-v-0fe85f9e]{width:46px;height:46px}.tf-icon-btn--ghost[data-v-0fe85f9e]{background:transparent;color:var(--text-secondary)}.tf-icon-btn--ghost[data-v-0fe85f9e]:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-primary)}.tf-icon-btn--secondary[data-v-0fe85f9e]{background:var(--surface-main);color:var(--text-secondary);border-color:var(--border-light)}.tf-icon-btn--secondary[data-v-0fe85f9e]:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-primary);border-color:var(--border-hover)}.tf-icon-btn--primary[data-v-0fe85f9e]{background:var(--violet-surface);color:var(--violet-deep)}.tf-icon-btn--primary[data-v-0fe85f9e]:hover:not(:disabled){background:var(--violet-deep);color:var(--text-inverse)}.tf-icon-btn--danger[data-v-0fe85f9e]{background:transparent;color:var(--danger)}.tf-icon-btn--danger[data-v-0fe85f9e]:hover:not(:disabled){background:var(--danger-surface)}.tf-header[data-v-574b3d6f]{height:var(--header-height);background:var(--surface-main);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:90}.tf-header-left[data-v-574b3d6f]{display:flex;align-items:center;gap:12px;min-width:0}.tf-header-hamburger[data-v-574b3d6f]{display:none}.tf-breadcrumbs[data-v-574b3d6f]{display:flex;align-items:center;gap:8px;font-size:.9rem;min-width:0}.tf-crumb-root[data-v-574b3d6f],.tf-crumb-parent[data-v-574b3d6f]{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);white-space:nowrap}.tf-crumb-root[data-v-574b3d6f]:hover,.tf-crumb-parent[data-v-574b3d6f]:hover{color:var(--violet-deep)}.tf-crumb-sep[data-v-574b3d6f]{color:var(--text-muted);flex-shrink:0}.tf-crumb-current[data-v-574b3d6f]{font-weight:700;color:var(--text-primary)}.tf-header-right[data-v-574b3d6f]{display:flex;align-items:center;gap:14px;flex-shrink:0}.tf-header-search-box[data-v-574b3d6f]{position:relative;width:260px}.tf-search-dropdown[data-v-574b3d6f]{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;z-index:1000;display:flex;flex-direction:column}.tf-search-dropdown-label[data-v-574b3d6f]{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:6px 8px;letter-spacing:.05em}.tf-search-result-item[data-v-574b3d6f]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);text-align:left;transition:background var(--transition-fast)}.tf-search-result-item[data-v-574b3d6f]:hover{background:var(--surface-subtle)}.tf-result-dot[data-v-574b3d6f]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tf-result-dot.is-todo[data-v-574b3d6f]{background:var(--text-muted)}.tf-result-dot.is-in_progress[data-v-574b3d6f]{background:var(--violet-deep)}.tf-result-dot.is-done[data-v-574b3d6f]{background:var(--success)}.tf-result-title[data-v-574b3d6f]{flex:1;font-size:.88rem;font-weight:500;color:var(--text-primary)}.tf-result-priority[data-v-574b3d6f]{font-size:.72rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}@media (max-width: 1024px){.tf-header-hamburger[data-v-574b3d6f]{display:flex}}@media (max-width: 768px){.tf-header[data-v-574b3d6f]{padding:0 16px}.tf-header-search-box[data-v-574b3d6f]{display:none}}@media (max-width: 480px){.tf-header[data-v-574b3d6f]{padding:0 12px}.tf-crumb-root[data-v-574b3d6f],.tf-crumb-sep[data-v-574b3d6f]{display:none}}.tf-toast-region[data-v-225b6e29]{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:380px;width:calc(100% - 48px);pointer-events:none}.tf-toast[data-v-225b6e29]{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transition:all var(--transition-normal)}.tf-toast--success[data-v-225b6e29]{border-left:4px solid var(--success)}.tf-toast--success .tf-toast-icon[data-v-225b6e29]{color:var(--success)}.tf-toast--error[data-v-225b6e29]{border-left:4px solid var(--danger)}.tf-toast--error .tf-toast-icon[data-v-225b6e29]{color:var(--danger)}.tf-toast--warning[data-v-225b6e29]{border-left:4px solid var(--warning)}.tf-toast--warning .tf-toast-icon[data-v-225b6e29]{color:var(--warning)}.tf-toast--info[data-v-225b6e29]{border-left:4px solid var(--violet-deep)}.tf-toast--info .tf-toast-icon[data-v-225b6e29]{color:var(--violet-deep)}.tf-toast-icon[data-v-225b6e29]{flex-shrink:0;margin-top:2px}.tf-toast-content[data-v-225b6e29]{flex:1}.tf-toast-title[data-v-225b6e29]{font-size:.9rem;font-weight:600;color:var(--text-primary);line-height:1.3}.tf-toast-msg[data-v-225b6e29]{font-size:.82rem;color:var(--text-secondary);margin-top:2px;line-height:1.4}.tf-toast-close[data-v-225b6e29]{color:var(--text-muted);padding:2px;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.tf-toast-close[data-v-225b6e29]:hover{color:var(--text-primary)}.toast-enter-active[data-v-225b6e29],.toast-leave-active[data-v-225b6e29]{transition:all .25s ease}.toast-enter-from[data-v-225b6e29]{opacity:0;transform:translateY(16px) scale(.95)}.toast-leave-to[data-v-225b6e29]{opacity:0;transform:translate(30px)}.tf-modal-backdrop[data-v-df5115dd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#24223873;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.tf-modal-container[data-v-df5115dd]{width:100%;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay);display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;animation:modalPop-df5115dd .2s cubic-bezier(.16,1,.3,1)}.tf-modal-header[data-v-df5115dd]{padding:20px 24px 16px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border-subtle);background:#fff}.tf-modal-title[data-v-df5115dd]{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.tf-modal-desc[data-v-df5115dd]{font-size:.88rem;color:var(--text-secondary);margin-top:4px}.tf-modal-body[data-v-df5115dd]{padding:20px 24px;overflow-y:auto;flex:1}.tf-modal-footer[data-v-df5115dd]{padding:16px 24px;background:var(--surface-subtle);border-top:1px solid var(--border-light);display:flex;align-items:center;justify-content:flex-end;gap:12px}@keyframes modalPop-df5115dd{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.fade-enter-active[data-v-df5115dd],.fade-leave-active[data-v-df5115dd]{transition:opacity .18s ease}.fade-enter-from[data-v-df5115dd],.fade-leave-to[data-v-df5115dd]{opacity:0}.tf-confirm-body[data-v-f0c51373]{display:flex;gap:16px;align-items:flex-start;padding:8px 0}.tf-confirm-icon-wrap[data-v-f0c51373]{width:44px;height:44px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tf-confirm-icon-wrap.is-danger[data-v-f0c51373]{background:var(--danger-surface);color:var(--danger)}.tf-confirm-icon-wrap.is-warning[data-v-f0c51373]{background:var(--warning-surface);color:var(--warning)}.tf-confirm-icon-wrap.is-primary[data-v-f0c51373]{background:var(--violet-surface);color:var(--violet-deep)}.tf-confirm-msg[data-v-f0c51373]{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin-top:4px}.tf-task-form[data-v-4a9e47f1]{display:flex;flex-direction:column;gap:16px}.tf-form-group[data-v-4a9e47f1]{display:flex;flex-direction:column;gap:6px}.tf-form-row[data-v-4a9e47f1]{display:flex;gap:14px}.flex-1[data-v-4a9e47f1]{flex:1}.tf-form-label[data-v-4a9e47f1]{font-size:.84rem;font-weight:600;color:var(--text-primary)}.tf-req[data-v-4a9e47f1]{color:var(--danger)}.tf-input[data-v-4a9e47f1],.tf-textarea[data-v-4a9e47f1],.tf-select[data-v-4a9e47f1]{width:100%;padding:8px 12px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-primary);transition:all var(--transition-fast)}.tf-input[data-v-4a9e47f1]:focus,.tf-textarea[data-v-4a9e47f1]:focus,.tf-select[data-v-4a9e47f1]:focus{border-color:var(--violet-deep);box-shadow:0 0 0 3px #6958e81f}.tf-input.has-error[data-v-4a9e47f1]{border-color:var(--danger);background:var(--danger-surface)}.tf-field-error[data-v-4a9e47f1]{font-size:.78rem;color:var(--danger);font-weight:500}.tf-textarea[data-v-4a9e47f1]{resize:vertical;min-height:70px}.tf-labels-chips[data-v-4a9e47f1]{display:flex;flex-wrap:wrap;gap:8px}.tf-lbl-btn[data-v-4a9e47f1]{padding:4px 10px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;transition:all var(--transition-fast)}.tf-lbl-btn[data-v-4a9e47f1]:hover{transform:translateY(-1px)}.tf-detail-drawer[data-v-bde2ebd4]{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100vw;background:var(--surface-main);border-left:1px solid var(--border-light);box-shadow:var(--shadow-overlay);z-index:1000;display:flex;flex-direction:column}.tf-drawer-header[data-v-bde2ebd4]{height:var(--header-height);padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);background:#fff}.tf-drawer-project[data-v-bde2ebd4]{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.tf-drawer-header-actions[data-v-bde2ebd4]{display:flex;align-items:center;gap:8px}.tf-drawer-body[data-v-bde2ebd4]{flex:1;overflow-y:auto;padding:24px 24px 32px;display:flex;flex-direction:column;gap:24px}.tf-drawer-title[data-v-bde2ebd4]{font-size:1.35rem;font-weight:700;color:var(--text-primary);line-height:1.35}.tf-drawer-status-strip[data-v-bde2ebd4]{display:flex;flex-direction:column;gap:8px;background:var(--surface-subtle);padding:12px 14px;border-radius:var(--radius-md)}.tf-status-strip-label[data-v-bde2ebd4]{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.tf-status-pill-group[data-v-bde2ebd4]{display:flex;gap:8px}.tf-status-pill[data-v-bde2ebd4]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;color:var(--text-secondary);background:var(--surface-main);border:1px solid var(--border-light);transition:all var(--transition-fast)}.tf-status-pill[data-v-bde2ebd4]:hover{border-color:var(--violet-primary)}.tf-status-pill.is-active[data-v-bde2ebd4]{background:var(--violet-deep);color:#fff;border-color:var(--violet-deep)}.tf-drawer-meta-grid[data-v-bde2ebd4]{display:flex;flex-direction:column;gap:14px;padding:16px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.tf-meta-item[data-v-bde2ebd4]{display:flex;align-items:center}.tf-meta-label[data-v-bde2ebd4]{width:90px;font-size:.82rem;color:var(--text-muted);font-weight:500}.tf-meta-val[data-v-bde2ebd4]{flex:1;font-size:.88rem;color:var(--text-primary)}.tf-labels-wrap[data-v-bde2ebd4]{display:flex;flex-wrap:wrap;gap:6px}.tf-label-chip[data-v-bde2ebd4]{padding:2px 8px;border-radius:var(--radius-pill);font-size:.74rem;font-weight:600}.tf-due-tag[data-v-bde2ebd4]{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.84rem}.tf-due-tag.is-overdue[data-v-bde2ebd4]{color:var(--danger)}.tf-due-tag.is-today[data-v-bde2ebd4]{color:var(--coral-accent)}.tf-no-val[data-v-bde2ebd4]{color:var(--text-muted);font-size:.82rem}.tf-section-title[data-v-bde2ebd4]{font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.tf-drawer-desc[data-v-bde2ebd4]{font-size:.92rem;line-height:1.6;color:var(--text-primary);white-space:pre-wrap}.tf-empty-desc[data-v-bde2ebd4]{font-size:.85rem;color:var(--text-muted);font-style:italic}.tf-drawer-audit[data-v-bde2ebd4]{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:16px;border-top:1px dashed var(--border-light)}.tf-audit-line[data-v-bde2ebd4]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.tf-drawer-footer[data-v-bde2ebd4]{padding:16px 24px;background:var(--surface-subtle);border-top:1px solid var(--border-light);display:flex;justify-content:flex-end}.drawer-enter-active[data-v-bde2ebd4],.drawer-leave-active[data-v-bde2ebd4]{transition:transform .25s cubic-bezier(.16,1,.3,1)}.drawer-enter-from[data-v-bde2ebd4],.drawer-leave-to[data-v-bde2ebd4]{transform:translate(100%)}.tf-project-form[data-v-f2d7c2d7]{display:flex;flex-direction:column;gap:16px}.tf-form-group[data-v-f2d7c2d7]{display:flex;flex-direction:column;gap:6px}.tf-form-label[data-v-f2d7c2d7]{font-size:.84rem;font-weight:600;color:var(--text-primary)}.tf-req[data-v-f2d7c2d7]{color:var(--danger)}.tf-input[data-v-f2d7c2d7],.tf-textarea[data-v-f2d7c2d7]{width:100%;padding:8px 12px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-primary);transition:all var(--transition-fast)}.tf-input[data-v-f2d7c2d7]:focus,.tf-textarea[data-v-f2d7c2d7]:focus{border-color:var(--violet-deep);box-shadow:0 0 0 3px #6958e81f}.tf-input.has-error[data-v-f2d7c2d7]{border-color:var(--danger);background:var(--danger-surface)}.tf-field-error[data-v-f2d7c2d7]{font-size:.78rem;color:var(--danger)}.tf-textarea[data-v-f2d7c2d7]{resize:vertical}.tf-color-picker[data-v-f2d7c2d7]{display:flex;gap:12px}.tf-color-swatch[data-v-f2d7c2d7]{width:28px;height:28px;border-radius:50%;border:2px solid transparent;transition:all var(--transition-fast)}.tf-color-swatch[data-v-f2d7c2d7]:hover{transform:scale(1.15)}.tf-color-swatch.is-selected[data-v-f2d7c2d7]{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--surface-main)}.tf-app-layout[data-v-c1404272]{display:flex;width:100%;min-height:100vh;background-color:var(--bg-app)}.tf-main-canvas[data-v-c1404272]{flex:1;display:flex;flex-direction:column;min-width:0}.tf-view-viewport[data-v-c1404272]{flex:1;display:flex;flex-direction:column}.tf-metric-card[data-v-5863f5de]{padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;transition:all var(--transition-fast)}.tf-metric-top[data-v-5863f5de]{display:flex;align-items:center;justify-content:space-between}.tf-metric-label[data-v-5863f5de]{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.tf-metric-icon-wrap[data-v-5863f5de]{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--surface-subtle);color:var(--text-secondary);flex-shrink:0}.tf-metric-card.is-violet .tf-metric-icon-wrap[data-v-5863f5de]{background:var(--violet-surface);color:var(--violet-deep)}.tf-metric-card.is-coral .tf-metric-icon-wrap[data-v-5863f5de]{background:var(--coral-surface);color:var(--coral-accent)}.tf-metric-card.is-success .tf-metric-icon-wrap[data-v-5863f5de]{background:var(--success-surface);color:var(--success)}.tf-metric-card.is-warning .tf-metric-icon-wrap[data-v-5863f5de]{background:var(--warning-surface);color:var(--warning)}.tf-metric-value[data-v-5863f5de]{font-family:var(--font-family-display);font-size:2.1rem;font-weight:800;line-height:1.1;color:var(--text-primary);font-feature-settings:"tnum"}.tf-metric-card.is-coral .tf-metric-value[data-v-5863f5de]{color:var(--coral-accent)}.tf-metric-subtext[data-v-5863f5de]{font-size:.8rem;color:var(--text-muted)}@media (max-width: 640px){.tf-metric-card[data-v-5863f5de]{padding:14px;gap:6px;border-radius:var(--radius-md)}.tf-metric-value[data-v-5863f5de]{font-size:1.55rem}.tf-metric-label[data-v-5863f5de]{font-size:.72rem}.tf-metric-subtext[data-v-5863f5de]{font-size:.72rem;line-height:1.25}.tf-metric-icon-wrap[data-v-5863f5de]{width:28px;height:28px}}.tf-focus-card[data-v-2f21d373]{padding:22px 24px;display:flex;flex-direction:column;gap:16px;width:100%}.tf-focus-header[data-v-2f21d373]{display:flex;flex-direction:column;gap:4px}.tf-focus-title-group[data-v-2f21d373]{display:flex;align-items:center;gap:8px}.tf-focus-icon[data-v-2f21d373]{color:var(--violet-deep)}.tf-focus-title[data-v-2f21d373]{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.tf-focus-badge[data-v-2f21d373]{font-size:.75rem;font-weight:700;padding:2px 7px;background:var(--coral-surface);color:var(--coral-accent);border:1px solid var(--coral-border);border-radius:var(--radius-pill)}.tf-focus-subtitle[data-v-2f21d373]{font-size:.85rem;color:var(--text-secondary)}.tf-focus-list[data-v-2f21d373]{display:flex;flex-direction:column;gap:8px}.tf-focus-item[data-v-2f21d373]{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--surface-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.tf-focus-item[data-v-2f21d373]:hover{background:var(--surface-hover);border-color:var(--violet-border);transform:translateY(-1px)}.tf-focus-row-top[data-v-2f21d373]{display:flex;align-items:center;gap:12px;width:100%}.tf-focus-check[data-v-2f21d373]{display:flex;align-items:center;color:var(--text-muted);transition:color var(--transition-fast);flex-shrink:0}.tf-focus-check[data-v-2f21d373]:hover{color:var(--violet-deep)}.status-done-icon[data-v-2f21d373]{color:var(--success)}.tf-focus-main[data-v-2f21d373]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tf-focus-item-title[data-v-2f21d373]{font-size:.9rem;font-weight:600;color:var(--text-primary);line-height:1.35;word-break:break-word}.tf-focus-project[data-v-2f21d373]{font-size:.75rem;color:var(--text-muted)}.tf-focus-meta[data-v-2f21d373]{display:flex;align-items:center;gap:8px;flex-shrink:0}.tf-meta-desktop[data-v-2f21d373]{display:flex}.tf-focus-meta-mobile[data-v-2f21d373]{display:none;align-items:center;gap:8px;padding-left:30px}.tf-focus-due[data-v-2f21d373]{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.tf-focus-due.is-overdue[data-v-2f21d373]{color:var(--danger)}.tf-focus-due.is-today[data-v-2f21d373]{color:var(--coral-accent)}.tf-focus-empty[data-v-2f21d373]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;background:var(--surface-subtle);border-radius:var(--radius-md);border:1px dashed var(--border-light)}.tf-focus-empty-dot[data-v-2f21d373]{width:10px;height:10px;border-radius:50%;background:var(--success);margin-bottom:8px}.tf-focus-empty h4[data-v-2f21d373]{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.tf-focus-empty p[data-v-2f21d373]{font-size:.82rem;color:var(--text-secondary);max-width:320px}@media (max-width: 640px){.tf-focus-card[data-v-2f21d373]{padding:16px}.tf-meta-desktop[data-v-2f21d373]{display:none}.tf-focus-meta-mobile[data-v-2f21d373]{display:flex}}.tf-activity-card[data-v-197a51e0]{padding:20px 22px;display:flex;flex-direction:column;gap:16px;width:100%}.tf-activity-header[data-v-197a51e0]{display:flex;align-items:center;justify-content:space-between;gap:8px}.tf-activity-title-group[data-v-197a51e0]{display:flex;align-items:center;gap:8px}.tf-header-icon[data-v-197a51e0]{color:var(--violet-deep);flex-shrink:0}.tf-activity-title[data-v-197a51e0]{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.tf-activity-count[data-v-197a51e0]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;background:var(--surface-subtle);border-radius:var(--radius-pill);color:var(--text-muted);white-space:nowrap}.tf-activity-tabs[data-v-197a51e0]{display:flex;gap:6px;background:var(--surface-subtle);padding:3px;border-radius:var(--radius-md)}.tf-tab-chip[data-v-197a51e0]{flex:1;text-align:center;padding:5px 8px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition-fast)}.tf-tab-chip[data-v-197a51e0]:hover{color:var(--text-primary)}.tf-tab-chip.is-active[data-v-197a51e0]{background:var(--surface-main);color:var(--violet-deep);box-shadow:var(--shadow-sm)}.tf-activity-list[data-v-197a51e0]{display:flex;flex-direction:column;gap:12px}.tf-activity-item[data-v-197a51e0]{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--surface-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast)}.tf-activity-item[data-v-197a51e0]:hover{background:var(--surface-hover);border-color:var(--border-hover)}.tf-activity-icon-wrap[data-v-197a51e0]{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--surface-main);color:var(--text-secondary);flex-shrink:0;margin-top:1px;box-shadow:var(--shadow-sm)}.tf-activity-icon-wrap.is-task_completed[data-v-197a51e0]{background:var(--success-surface);color:var(--success)}.tf-activity-icon-wrap.is-task_created[data-v-197a51e0],.tf-activity-icon-wrap.is-project_created[data-v-197a51e0]{background:var(--violet-surface);color:var(--violet-deep)}.tf-activity-icon-wrap.is-task_deleted[data-v-197a51e0],.tf-activity-icon-wrap.is-project_deleted[data-v-197a51e0]{background:var(--danger-surface);color:var(--danger)}.tf-activity-content[data-v-197a51e0]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tf-activity-top-row[data-v-197a51e0]{display:flex;align-items:center;justify-content:space-between;gap:8px}.tf-action-badge[data-v-197a51e0]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:var(--radius-sm);background:var(--surface-main);color:var(--text-secondary)}.tf-action-badge.is-task_completed[data-v-197a51e0]{background:var(--success-surface);color:var(--success)}.tf-action-badge.is-task_created[data-v-197a51e0],.tf-action-badge.is-project_created[data-v-197a51e0]{background:var(--violet-surface);color:var(--violet-deep)}.tf-action-badge.is-task_deleted[data-v-197a51e0],.tf-action-badge.is-project_deleted[data-v-197a51e0]{background:var(--danger-surface);color:var(--danger)}.tf-activity-time[data-v-197a51e0]{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.tf-activity-text[data-v-197a51e0]{font-size:.84rem;color:var(--text-primary);line-height:1.45;word-break:break-word}.tf-activity-entity-title[data-v-197a51e0]{font-weight:600;color:var(--text-primary)}.tf-activity-details[data-v-197a51e0]{color:var(--text-secondary);font-size:.8rem}.tf-activity-empty[data-v-197a51e0]{padding:28px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:var(--text-muted);font-size:.85rem}.tf-empty-clock[data-v-197a51e0]{color:var(--text-muted);opacity:.5}@media (max-width: 480px){.tf-activity-card[data-v-197a51e0]{padding:16px}.tf-activity-item[data-v-197a51e0]{gap:8px;padding:8px 10px}.tf-activity-top-row[data-v-197a51e0]{flex-wrap:wrap;gap:4px}}.tf-project-card[data-v-bfd2375e]{padding:20px 22px;display:flex;flex-direction:column;gap:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.tf-project-card.is-archived[data-v-bfd2375e]{opacity:.65;background:var(--surface-subtle)}.tf-proj-card-top[data-v-bfd2375e]{display:flex;align-items:center;gap:12px}.tf-proj-card-badge[data-v-bfd2375e]{width:12px;height:12px;border-radius:4px;flex-shrink:0}.tf-proj-card-title-group[data-v-bfd2375e]{flex:1;display:flex;align-items:center;gap:8px}.tf-proj-card-title[data-v-bfd2375e]{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.tf-proj-archived-tag[data-v-bfd2375e]{font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:var(--radius-sm);background:var(--border-light);color:var(--text-secondary);text-transform:uppercase}.tf-proj-card-actions[data-v-bfd2375e]{display:flex;align-items:center;gap:4px}.tf-proj-act-btn[data-v-bfd2375e]{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition-fast)}.tf-proj-act-btn[data-v-bfd2375e]:hover{background:var(--surface-subtle);color:var(--text-primary)}.tf-proj-act-danger[data-v-bfd2375e]:hover{background:var(--danger-surface);color:var(--danger)}.tf-proj-card-desc[data-v-bfd2375e]{font-size:.88rem;color:var(--text-secondary);line-height:1.5;min-height:38px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tf-proj-progress-section[data-v-bfd2375e]{display:flex;flex-direction:column;gap:6px}.tf-progress-header[data-v-bfd2375e]{display:flex;justify-content:space-between;font-size:.78rem;font-weight:600}.tf-progress-label[data-v-bfd2375e]{color:var(--text-muted)}.tf-progress-pct[data-v-bfd2375e]{color:var(--text-primary)}.tf-progress-bar-track[data-v-bfd2375e]{width:100%;height:7px;background:var(--surface-subtle);border-radius:var(--radius-pill);overflow:hidden}.tf-progress-bar-fill[data-v-bfd2375e]{height:100%;border-radius:var(--radius-pill);transition:width .3s ease}.tf-proj-card-footer[data-v-bfd2375e]{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border-subtle);gap:8px}.tf-proj-stat-chip[data-v-bfd2375e],.tf-proj-deadline-chip[data-v-bfd2375e]{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.tf-stat-icon[data-v-bfd2375e]{color:var(--success)}.tf-proj-open-btn[data-v-bfd2375e]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--violet-deep);background:var(--violet-surface);transition:all var(--transition-fast)}.tf-proj-open-btn[data-v-bfd2375e]:hover{background:var(--violet-deep);color:#fff}.tf-list-row[data-v-b53bb23b]{display:flex;align-items:center;padding:12px 18px;background:var(--surface-main);border-bottom:1px solid var(--border-subtle);transition:all var(--transition-fast);cursor:pointer;-webkit-user-select:none;user-select:none;gap:16px}.tf-list-row[data-v-b53bb23b]:hover{background:var(--surface-subtle)}.tf-list-row.is-done[data-v-b53bb23b]{opacity:.7}.tf-list-row.is-done .tf-row-title[data-v-b53bb23b]{text-decoration:line-through;color:var(--text-muted)}.tf-col-check[data-v-b53bb23b]{display:flex;align-items:center;flex-shrink:0}.tf-row-check-btn[data-v-b53bb23b]{display:flex;align-items:center;color:var(--text-muted);transition:color var(--transition-fast)}.tf-row-check-btn[data-v-b53bb23b]:hover{color:var(--violet-deep)}.status-done-icon[data-v-b53bb23b]{color:var(--success)}.tf-col-title[data-v-b53bb23b]{flex:3;min-width:140px;display:flex;flex-direction:column}.tf-row-title[data-v-b53bb23b]{font-weight:600;font-size:.92rem;color:var(--text-primary)}.tf-row-desc[data-v-b53bb23b]{font-size:.78rem;color:var(--text-muted);margin-top:2px}.tf-col-project[data-v-b53bb23b]{flex:1.5;min-width:120px}.tf-project-pill[data-v-b53bb23b]{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:var(--text-secondary);background:var(--surface-subtle);padding:3px 8px;border-radius:var(--radius-sm);max-width:100%}.tf-proj-dot[data-v-b53bb23b]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.tf-col-status[data-v-b53bb23b]{flex:1.2;min-width:110px}.tf-col-priority[data-v-b53bb23b]{flex:1;min-width:90px}.tf-col-due[data-v-b53bb23b]{flex:1.2;min-width:95px}.tf-due-text[data-v-b53bb23b]{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.tf-due-text.is-overdue[data-v-b53bb23b]{color:var(--danger)}.tf-due-text.is-today[data-v-b53bb23b]{color:var(--coral-accent)}.tf-no-due[data-v-b53bb23b]{color:var(--text-muted)}.tf-col-assignee[data-v-b53bb23b]{width:36px;display:flex;justify-content:flex-end;flex-shrink:0}@media (max-width: 768px){.tf-col-project[data-v-b53bb23b],.tf-col-status[data-v-b53bb23b]{display:none}}@media (max-width: 640px){.tf-list-row[data-v-b53bb23b]{padding:10px 12px;gap:10px}.tf-col-due[data-v-b53bb23b]{display:none}.tf-col-title[data-v-b53bb23b]{min-width:0;flex:1}}@media (max-width: 420px){.tf-col-priority[data-v-b53bb23b],.tf-col-assignee[data-v-b53bb23b]{display:none}}.tf-empty-state[data-v-1462c9c2]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;background:var(--surface-main);border:1px dashed var(--border-light);border-radius:var(--radius-lg);margin:12px 0}.tf-empty-icon-wrap[data-v-1462c9c2]{width:56px;height:56px;border-radius:var(--radius-pill);background:var(--surface-subtle);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.tf-empty-icon[data-v-1462c9c2]{color:var(--violet-deep)}.tf-empty-dot[data-v-1462c9c2]{width:14px;height:14px;border-radius:50%;background:var(--violet-primary)}.tf-empty-title[data-v-1462c9c2]{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.tf-empty-message[data-v-1462c9c2]{font-size:.9rem;color:var(--text-secondary);max-width:380px;line-height:1.5;margin-bottom:18px}.tf-empty-action[data-v-1462c9c2]{margin-top:4px}.tf-page-container[data-v-71a5a368]{padding:32px 36px 64px;max-width:1560px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:32px}.tf-dashboard-hero[data-v-71a5a368]{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.tf-hero-left[data-v-71a5a368]{display:flex;flex-direction:column;gap:6px}.tf-hero-title[data-v-71a5a368]{font-size:1.85rem;font-weight:800;color:var(--text-primary)}.tf-hero-date[data-v-71a5a368]{font-size:.95rem;color:var(--text-secondary)}.tf-hero-actions[data-v-71a5a368]{display:flex;align-items:center;gap:12px}.tf-metrics-grid[data-v-71a5a368]{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tf-dashboard-split[data-v-71a5a368]{display:grid;grid-template-columns:1fr 350px;gap:28px;align-items:start}.tf-split-main[data-v-71a5a368]{display:flex;flex-direction:column;gap:32px;min-width:0}.tf-split-side[data-v-71a5a368]{position:sticky;top:calc(var(--header-height) + 20px);min-width:0;width:100%}.tf-dash-section[data-v-71a5a368]{display:flex;flex-direction:column;gap:16px}.tf-section-header[data-v-71a5a368]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.tf-section-title[data-v-71a5a368]{font-size:1.25rem;font-weight:700}.tf-section-desc[data-v-71a5a368]{font-size:.88rem;color:var(--text-secondary);margin-top:2px}.tf-projects-grid[data-v-71a5a368]{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.tf-upcoming-card[data-v-71a5a368]{overflow:hidden}@media (max-width: 1280px){.tf-dashboard-split[data-v-71a5a368]{grid-template-columns:1fr}.tf-split-side[data-v-71a5a368]{position:static}}@media (max-width: 1024px){.tf-metrics-grid[data-v-71a5a368]{grid-template-columns:repeat(2,1fr);gap:14px}}@media (max-width: 768px){.tf-page-container[data-v-71a5a368]{padding:18px 14px 48px;gap:24px}.tf-hero-title[data-v-71a5a368]{font-size:1.5rem}.tf-hero-date[data-v-71a5a368]{font-size:.86rem}.tf-hero-actions[data-v-71a5a368]{width:100%}.tf-hero-btn[data-v-71a5a368]{flex:1}.tf-metrics-grid[data-v-71a5a368]{grid-template-columns:repeat(2,1fr);gap:10px}.tf-projects-grid[data-v-71a5a368]{grid-template-columns:1fr}}@media (max-width: 480px){.tf-page-container[data-v-71a5a368]{padding:14px 12px 40px;gap:20px}.tf-metrics-grid[data-v-71a5a368]{grid-template-columns:repeat(2,1fr);gap:8px}}.tf-page-container[data-v-c886ea09]{padding:32px 36px 64px;max-width:1560px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:28px}.tf-page-header[data-v-c886ea09]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tf-page-header-text[data-v-c886ea09]{display:flex;flex-direction:column;gap:4px}.tf-page-title[data-v-c886ea09]{font-size:1.75rem;font-weight:800;color:var(--text-primary)}.tf-page-desc[data-v-c886ea09]{font-size:.92rem;color:var(--text-secondary)}.tf-toolbar[data-v-c886ea09]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tf-toolbar-search[data-v-c886ea09]{width:340px}.tf-filter-tabs[data-v-c886ea09]{display:flex;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:3px;gap:4px}.tf-tab-btn[data-v-c886ea09]{padding:6px 14px;border-radius:var(--radius-sm);font-size:.84rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition-fast)}.tf-tab-btn[data-v-c886ea09]:hover{color:var(--text-primary)}.tf-tab-btn.is-active[data-v-c886ea09]{background:var(--violet-surface);color:var(--violet-deep)}.tf-projects-full-grid[data-v-c886ea09]{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media (max-width: 1200px){.tf-projects-full-grid[data-v-c886ea09]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.tf-page-container[data-v-c886ea09]{padding:20px 16px 48px}.tf-projects-full-grid[data-v-c886ea09]{grid-template-columns:1fr}.tf-toolbar-search[data-v-c886ea09]{width:100%}}.tf-task-card[data-v-eae9d153]{background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;cursor:grab;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast);position:relative}.tf-task-card[data-v-eae9d153]:hover{border-color:var(--violet-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tf-task-card[data-v-eae9d153]:active{cursor:grabbing}.tf-task-card.is-done[data-v-eae9d153]{opacity:.72;background:#fcfaff}.tf-task-card.is-done .tf-task-title[data-v-eae9d153]{text-decoration:line-through;color:var(--text-muted)}.tf-task-header[data-v-eae9d153]{display:flex;align-items:center;gap:10px}.tf-task-status-btn[data-v-eae9d153]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color var(--transition-fast)}.tf-task-status-btn[data-v-eae9d153]:hover{color:var(--violet-deep)}.status-done-icon[data-v-eae9d153]{color:var(--success)}.tf-task-title[data-v-eae9d153]{flex:1;font-weight:600;font-size:.92rem;color:var(--text-primary);text-align:left}.tf-card-menu-wrap[data-v-eae9d153]{position:relative}.tf-card-menu-btn[data-v-eae9d153]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-fast)}.tf-card-menu-btn[data-v-eae9d153]:hover{background:var(--surface-subtle);color:var(--text-primary)}.tf-card-dropdown[data-v-eae9d153]{position:absolute;top:calc(100% + 4px);right:0;width:170px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;z-index:50;display:flex;flex-direction:column}.tf-menu-header[data-v-eae9d153]{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:4px 8px}.tf-menu-item[data-v-eae9d153]{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:.82rem;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);text-align:left}.tf-menu-item[data-v-eae9d153]:hover{background:var(--surface-subtle);color:var(--text-primary)}.tf-menu-divider[data-v-eae9d153]{height:1px;background:var(--border-light);margin:4px 0}.tf-menu-danger[data-v-eae9d153]{color:var(--danger)}.tf-menu-danger[data-v-eae9d153]:hover{background:var(--danger-surface);color:var(--danger)}.tf-task-labels[data-v-eae9d153]{display:flex;flex-wrap:wrap;gap:6px}.tf-label-chip[data-v-eae9d153]{padding:2px 7px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600}.tf-task-footer[data-v-eae9d153]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.tf-task-footer-left[data-v-eae9d153]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tf-due-chip[data-v-eae9d153]{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.tf-due-chip.is-overdue[data-v-eae9d153]{color:var(--danger)}.tf-due-chip.is-today[data-v-eae9d153]{color:var(--coral-accent)}.tf-due-chip.is-soon[data-v-eae9d153]{color:var(--warning)}.tf-kanban-col[data-v-44b61c8b]{flex:1;min-width:300px;background:var(--surface-subtle);border:1px solid var(--border-light);border-radius:var(--radius-xl);display:flex;flex-direction:column;max-height:calc(100vh - 160px);transition:all var(--transition-fast)}.tf-kanban-col.is-drag-over[data-v-44b61c8b]{border-color:var(--violet-deep);background:var(--violet-surface);box-shadow:0 0 0 2px var(--violet-primary)}.tf-col-header[data-v-44b61c8b]{padding:16px 18px 12px;display:flex;align-items:center;justify-content:space-between}.tf-col-title-wrap[data-v-44b61c8b]{display:flex;align-items:center;gap:8px}.tf-col-icon[data-v-44b61c8b]{color:var(--text-muted)}.tf-kanban-col.is-in_progress .tf-col-icon[data-v-44b61c8b]{color:var(--violet-deep)}.tf-kanban-col.is-done .tf-col-icon[data-v-44b61c8b]{color:var(--success)}.tf-col-title[data-v-44b61c8b]{font-size:.95rem;font-weight:700;color:var(--text-primary)}.tf-col-count[data-v-44b61c8b]{font-size:.75rem;font-weight:700;background:var(--surface-main);border:1px solid var(--border-light);color:var(--text-secondary);padding:2px 8px;border-radius:var(--radius-pill)}.tf-col-add-btn[data-v-44b61c8b]{width:26px;height:26px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--surface-main);border:1px solid var(--border-light);transition:all var(--transition-fast)}.tf-col-add-btn[data-v-44b61c8b]:hover{background:var(--violet-deep);color:#fff;border-color:var(--violet-deep)}.tf-col-cards[data-v-44b61c8b]{padding:8px 14px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1}.tf-col-empty[data-v-44b61c8b]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:36px 16px;border:1px dashed var(--border-light);border-radius:var(--radius-lg);background:#fff6}.tf-col-empty-msg[data-v-44b61c8b]{font-size:.82rem;color:var(--text-muted)}.tf-col-empty-btn[data-v-44b61c8b]{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--violet-deep);padding:4px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.tf-col-empty-btn[data-v-44b61c8b]:hover{background:var(--surface-main)}.tf-workspace-container[data-v-969f96c3]{padding:24px 32px 48px;width:100%;display:flex;flex-direction:column;gap:20px}.tf-workspace-header[data-v-969f96c3]{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.tf-header-meta[data-v-969f96c3]{display:flex;flex-direction:column;gap:4px}.tf-project-title-row[data-v-969f96c3]{display:flex;align-items:center;gap:10px}.tf-proj-color-pill[data-v-969f96c3]{width:14px;height:14px;border-radius:4px}.tf-proj-name[data-v-969f96c3]{font-size:1.6rem;font-weight:800;color:var(--text-primary)}.tf-proj-desc[data-v-969f96c3]{font-size:.9rem;color:var(--text-secondary)}.tf-header-stats-wrap[data-v-969f96c3]{display:flex;align-items:center;gap:16px}.tf-proj-progress-pill[data-v-969f96c3]{display:flex;align-items:center;gap:10px;background:var(--surface-main);border:1px solid var(--border-light);padding:6px 12px;border-radius:var(--radius-pill)}.tf-pill-track[data-v-969f96c3]{width:70px;height:6px;background:var(--surface-subtle);border-radius:var(--radius-pill);overflow:hidden}.tf-pill-fill[data-v-969f96c3]{height:100%;border-radius:var(--radius-pill);transition:width .3s ease}.tf-pill-text[data-v-969f96c3]{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.tf-workspace-toolbar[data-v-969f96c3]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tf-toolbar-left[data-v-969f96c3]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tf-view-switcher[data-v-969f96c3]{display:flex;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:3px}.tf-switch-btn[data-v-969f96c3]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);font-size:.84rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition-fast)}.tf-switch-btn.is-active[data-v-969f96c3]{background:var(--violet-surface);color:var(--violet-deep)}.tf-filter-search[data-v-969f96c3]{width:240px}.tf-filter-toggle-btn[data-v-969f96c3]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;height:38px;border-radius:var(--radius-md);background:var(--surface-main);border:1px solid var(--border-light);font-size:.85rem;font-weight:600;color:var(--text-secondary);position:relative;transition:all var(--transition-fast)}.tf-filter-toggle-btn[data-v-969f96c3]:hover,.tf-filter-toggle-btn.is-active[data-v-969f96c3]{background:var(--surface-subtle);color:var(--text-primary);border-color:var(--border-hover)}.tf-filter-dot[data-v-969f96c3]{width:6px;height:6px;border-radius:50%;background:var(--coral-accent)}.tf-clear-filter-btn[data-v-969f96c3]{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--danger);padding:6px 10px;border-radius:var(--radius-sm);background:var(--danger-surface)}.tf-sort-group[data-v-969f96c3]{display:flex;align-items:center;gap:8px}.tf-sort-label[data-v-969f96c3]{font-size:.84rem;color:var(--text-secondary);font-weight:500}.tf-sort-select[data-v-969f96c3]{padding:6px 10px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.84rem;color:var(--text-primary)}.tf-filter-tray[data-v-969f96c3]{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-wrap:wrap}.tf-tray-item[data-v-969f96c3]{display:flex;align-items:center;gap:8px}.tf-tray-label[data-v-969f96c3]{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.tf-tray-select[data-v-969f96c3]{padding:6px 10px;background:var(--surface-subtle);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:.82rem;color:var(--text-primary)}.tf-mobile-col-switcher[data-v-969f96c3]{display:none;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:4px;gap:4px;width:100%}.tf-col-tab-btn[data-v-969f96c3]{flex:1;padding:8px;text-align:center;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition-fast)}.tf-col-tab-btn.is-active[data-v-969f96c3]{background:var(--violet-surface);color:var(--violet-deep)}.tf-kanban-board[data-v-969f96c3]{display:flex;gap:20px;overflow-x:auto;padding-bottom:16px}.tf-kanban-col-item[data-v-969f96c3]{min-width:300px}.tf-list-view[data-v-969f96c3]{overflow:hidden}.tf-list-table-header[data-v-969f96c3]{display:flex;align-items:center;padding:10px 18px;background:var(--surface-subtle);border-bottom:1px solid var(--border-light);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);gap:16px}.tf-th-check[data-v-969f96c3]{width:20px;flex-shrink:0}.tf-th-title[data-v-969f96c3]{flex:3;min-width:180px}.tf-th-status[data-v-969f96c3]{flex:1.2;min-width:110px}.tf-th-priority[data-v-969f96c3]{flex:1;min-width:90px}.tf-th-due[data-v-969f96c3]{flex:1.2;min-width:100px}.tf-th-assignee[data-v-969f96c3]{width:40px;text-align:right}@media (max-width: 768px){.tf-workspace-container[data-v-969f96c3]{padding:16px 14px 40px}.tf-filter-search[data-v-969f96c3]{width:100%}.tf-mobile-col-switcher[data-v-969f96c3]{display:flex}.tf-kanban-board[data-v-969f96c3]{flex-direction:column;overflow-x:visible}.tf-kanban-col-item[data-v-969f96c3]{min-width:100%}.tf-kanban-col-item.is-mobile-hidden[data-v-969f96c3]{display:none!important}.tf-header-stats-wrap[data-v-969f96c3]{width:100%;justify-content:space-between}.tf-proj-progress-pill[data-v-969f96c3]{flex:1}}.tf-page-container[data-v-9d6cb840]{padding:32px 36px 64px;max-width:1560px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:28px}.tf-page-header[data-v-9d6cb840]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tf-page-header-text[data-v-9d6cb840]{display:flex;flex-direction:column;gap:4px}.tf-page-title[data-v-9d6cb840]{font-size:1.75rem;font-weight:800;color:var(--text-primary)}.tf-page-desc[data-v-9d6cb840]{font-size:.92rem;color:var(--text-secondary)}.tf-toolbar[data-v-9d6cb840]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tf-toolbar-left[data-v-9d6cb840]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tf-search-box[data-v-9d6cb840]{width:260px}.tf-filter-select[data-v-9d6cb840]{padding:7px 12px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.84rem;color:var(--text-primary)}.tf-clear-filter-btn[data-v-9d6cb840]{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--danger);padding:6px 10px;border-radius:var(--radius-sm);background:var(--danger-surface)}.tf-sort-group[data-v-9d6cb840]{display:flex;align-items:center;gap:8px}.tf-sort-label[data-v-9d6cb840]{font-size:.84rem;color:var(--text-secondary);font-weight:500}.tf-tasks-table[data-v-9d6cb840]{overflow:hidden}.tf-table-header[data-v-9d6cb840]{display:flex;align-items:center;padding:10px 18px;background:var(--surface-subtle);border-bottom:1px solid var(--border-light);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);gap:16px}.tf-th-check[data-v-9d6cb840]{width:20px;flex-shrink:0}.tf-th-title[data-v-9d6cb840]{flex:3;min-width:180px}.tf-th-project[data-v-9d6cb840]{flex:1.5;min-width:130px}.tf-th-status[data-v-9d6cb840]{flex:1.2;min-width:110px}.tf-th-priority[data-v-9d6cb840]{flex:1;min-width:90px}.tf-th-due[data-v-9d6cb840]{flex:1.2;min-width:100px}.tf-th-assignee[data-v-9d6cb840]{width:40px;text-align:right}@media (max-width: 768px){.tf-page-container[data-v-9d6cb840]{padding:20px 16px 48px}.tf-search-box[data-v-9d6cb840]{width:100%}}.tf-planner-header[data-v-d8d9e9b2]{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px;flex-wrap:wrap}.tf-planner-header-left[data-v-d8d9e9b2]{display:flex;align-items:center;gap:18px}.tf-planner-nav-btns[data-v-d8d9e9b2]{display:flex;align-items:center;gap:6px}.tf-planner-date-title[data-v-d8d9e9b2]{display:flex;align-items:center;gap:10px}.tf-planner-range[data-v-d8d9e9b2]{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.tf-planner-badge[data-v-d8d9e9b2]{font-size:.75rem;font-weight:700;padding:3px 8px;background:var(--violet-surface);color:var(--violet-deep);border-radius:var(--radius-pill)}.tf-toggle-completed-btn[data-v-d8d9e9b2]{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;padding:6px 12px;border-radius:var(--radius-md);color:var(--text-secondary);background:var(--surface-main);border:1px solid var(--border-light);transition:all var(--transition-fast)}.tf-toggle-completed-btn[data-v-d8d9e9b2]:hover{background:var(--surface-subtle);color:var(--text-primary)}.tf-toggle-completed-btn.is-active[data-v-d8d9e9b2]{background:var(--violet-surface);color:var(--violet-deep);border-color:var(--violet-border)}.tf-planner-col[data-v-0b8a03dd]{flex:1;min-width:130px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:480px;scroll-snap-align:start;transition:all var(--transition-fast)}.tf-planner-col.is-today[data-v-0b8a03dd]{border-color:var(--violet-primary);box-shadow:0 0 0 1px var(--violet-primary);background:#fdfaff}.tf-day-header[data-v-0b8a03dd]{padding:12px 14px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.tf-day-date-group[data-v-0b8a03dd]{display:flex;align-items:center;gap:8px}.tf-day-name[data-v-0b8a03dd]{font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary)}.tf-day-number[data-v-0b8a03dd]{font-family:var(--font-family-display);font-size:1.05rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%}.tf-day-number.is-today-pill[data-v-0b8a03dd]{background:var(--violet-deep);color:#fff}.tf-day-add-btn[data-v-0b8a03dd]{width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition-fast)}.tf-day-add-btn[data-v-0b8a03dd]:hover{background:var(--surface-subtle);color:var(--violet-deep)}.tf-day-tasks[data-v-0b8a03dd]{padding:10px 8px;display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto}.tf-planner-task[data-v-0b8a03dd]{padding:10px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:all var(--transition-fast)}.tf-planner-task[data-v-0b8a03dd]:hover{transform:translateY(-1px);border-color:var(--violet-border)}.tf-planner-task.is-done[data-v-0b8a03dd]{opacity:.65;background:var(--surface-subtle)}.tf-planner-task.is-done .tf-planner-task-title[data-v-0b8a03dd]{text-decoration:line-through;color:var(--text-muted)}.tf-planner-task-top[data-v-0b8a03dd]{display:flex;align-items:center;gap:6px}.tf-task-check[data-v-0b8a03dd]{display:flex;align-items:center;color:var(--text-muted);transition:color var(--transition-fast);flex-shrink:0}.tf-task-check[data-v-0b8a03dd]:hover{color:var(--violet-deep)}.status-done-icon[data-v-0b8a03dd]{color:var(--success)}.tf-planner-task-title[data-v-0b8a03dd]{font-size:.84rem;font-weight:600;color:var(--text-primary);flex:1}.tf-planner-task-bottom[data-v-0b8a03dd]{display:flex;align-items:center;justify-content:space-between;gap:4px}.tf-planner-proj[data-v-0b8a03dd]{font-size:.72rem;font-weight:600;max-width:75px}.tf-day-empty[data-v-0b8a03dd]{display:flex;align-items:center;justify-content:center;padding:24px 0}.tf-day-empty-text[data-v-0b8a03dd]{font-size:.75rem;color:var(--text-muted)}@media (max-width: 768px){.tf-planner-col[data-v-0b8a03dd]{min-width:200px;min-height:380px}}.tf-planner-container[data-v-4dd31030]{padding:28px 36px 64px;width:100%;max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.tf-planner-top[data-v-4dd31030]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tf-planner-title[data-v-4dd31030]{font-size:1.75rem;font-weight:800;color:var(--text-primary)}.tf-planner-desc[data-v-4dd31030]{font-size:.92rem;color:var(--text-secondary);margin-top:2px}.tf-planner-strip[data-v-4dd31030]{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}.tf-unscheduled-section[data-v-4dd31030]{padding:20px 24px;display:flex;flex-direction:column;gap:14px;margin-top:12px}.tf-unscheduled-header[data-v-4dd31030]{display:flex;flex-direction:column;gap:2px}.tf-unscheduled-title-row[data-v-4dd31030]{display:flex;align-items:center;gap:8px}.tf-unscheduled-icon[data-v-4dd31030]{color:var(--violet-deep)}.tf-unscheduled-title[data-v-4dd31030]{font-size:1.05rem;font-weight:700}.tf-unscheduled-count[data-v-4dd31030]{font-size:.75rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-pill);background:var(--surface-subtle);color:var(--text-secondary)}.tf-unscheduled-desc[data-v-4dd31030]{font-size:.82rem;color:var(--text-muted)}.tf-unscheduled-grid[data-v-4dd31030]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tf-unscheduled-card[data-v-4dd31030]{padding:10px 14px;background:var(--surface-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:all var(--transition-fast)}.tf-unscheduled-card[data-v-4dd31030]:hover{background:var(--surface-hover);border-color:var(--violet-border);transform:translateY(-1px)}.tf-unscheduled-task-title[data-v-4dd31030]{font-size:.88rem;font-weight:600;color:var(--text-primary)}.tf-unscheduled-proj[data-v-4dd31030]{font-size:.75rem;font-weight:600}@media (max-width: 1200px){.tf-planner-strip[data-v-4dd31030]{display:flex;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.tf-unscheduled-grid[data-v-4dd31030]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.tf-planner-container[data-v-4dd31030]{padding:18px 14px 48px}.tf-planner-title[data-v-4dd31030]{font-size:1.5rem}.tf-unscheduled-grid[data-v-4dd31030]{grid-template-columns:1fr}.tf-unscheduled-section[data-v-4dd31030]{padding:16px}}.tf-settings-container[data-v-7b3c5bd6]{padding:32px 36px 64px;max-width:1200px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:28px}.tf-settings-header[data-v-7b3c5bd6]{display:flex;flex-direction:column;gap:4px}.tf-settings-title[data-v-7b3c5bd6]{font-size:1.75rem;font-weight:800;color:var(--text-primary)}.tf-settings-desc[data-v-7b3c5bd6]{font-size:.92rem;color:var(--text-secondary)}.tf-settings-grid[data-v-7b3c5bd6]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.tf-settings-card[data-v-7b3c5bd6]{padding:24px 28px;display:flex;flex-direction:column;gap:16px}.tf-card-full[data-v-7b3c5bd6]{grid-column:1 / -1}.tf-card-heading[data-v-7b3c5bd6]{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.tf-card-sub[data-v-7b3c5bd6]{font-size:.88rem;color:var(--text-secondary);line-height:1.5}.tf-settings-form[data-v-7b3c5bd6]{display:flex;flex-direction:column;gap:16px}.tf-form-group[data-v-7b3c5bd6]{display:flex;flex-direction:column;gap:6px}.tf-form-row[data-v-7b3c5bd6]{display:flex;gap:14px}.flex-1[data-v-7b3c5bd6]{flex:1}.tf-label[data-v-7b3c5bd6]{font-size:.84rem;font-weight:600;color:var(--text-primary)}.tf-input[data-v-7b3c5bd6],.tf-select[data-v-7b3c5bd6]{padding:8px 12px;background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-primary);transition:all var(--transition-fast)}.tf-input[data-v-7b3c5bd6]:focus,.tf-select[data-v-7b3c5bd6]:focus{border-color:var(--violet-deep);box-shadow:0 0 0 3px #6958e81f}.tf-form-actions[data-v-7b3c5bd6]{display:flex;justify-content:flex-end;margin-top:8px}.tf-backup-actions[data-v-7b3c5bd6]{display:flex;flex-direction:column;gap:16px;margin-top:8px}.tf-action-row[data-v-7b3c5bd6]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md)}.tf-action-info[data-v-7b3c5bd6]{display:flex;flex-direction:column;gap:2px}.tf-action-title[data-v-7b3c5bd6]{font-size:.9rem;font-weight:600;color:var(--text-primary)}.tf-action-desc[data-v-7b3c5bd6]{font-size:.8rem;color:var(--text-secondary)}.tf-action-row.is-danger-row[data-v-7b3c5bd6]{border-color:var(--danger-border);background:var(--danger-surface)}@media (max-width: 900px){.tf-settings-grid[data-v-7b3c5bd6]{grid-template-columns:1fr}}@media (max-width: 768px){.tf-settings-container[data-v-7b3c5bd6]{padding:20px 16px 48px}.tf-action-row[data-v-7b3c5bd6]{flex-direction:column;align-items:flex-start}}.tf-not-found-page[data-v-f81a8b35]{display:flex;align-items:center;justify-content:center;width:100%;min-height:calc(100vh - 120px);padding:32px 16px}:root{--bg-app: #F6F3FF;--surface-main: #FFFFFF;--surface-subtle: #F0ECFA;--surface-hover: #ECE7F7;--surface-active: #E4DEF3;--text-primary: #242238;--text-secondary: #77748B;--text-muted: #9F9CB2;--text-inverse: #FFFFFF;--violet-primary: #8C80F8;--violet-deep: #6958E8;--violet-surface: #EEECFD;--violet-border: #DCD6FA;--coral-accent: #FF786F;--coral-surface: #FFF0EE;--coral-border: #FFD4D0;--success: #27856D;--success-surface: #E8F5F1;--success-border: #BFE5DA;--warning: #C7822C;--warning-surface: #FCF4E8;--warning-border: #F3DCBC;--danger: #D94F59;--danger-surface: #FDF0F1;--danger-border: #F8CCD0;--border-light: #E8E3F1;--border-subtle: #F0ECF6;--border-hover: #D8D1E6;--focus-ring: #6958E8;--font-family-display: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 9999px;--shadow-sm: 0 1px 3px rgba(36, 34, 56, .05);--shadow-md: 0 4px 14px rgba(36, 34, 56, .06);--shadow-lg: 0 10px 30px rgba(36, 34, 56, .08);--shadow-overlay: 0 20px 48px rgba(36, 34, 56, .16);--sidebar-width: 270px;--header-height: 68px;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .22s cubic-bezier(.16, 1, .3, 1)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-family-body);font-size:15px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);color:var(--text-primary);font-weight:700;line-height:1.25;letter-spacing:-.02em}h1{font-size:1.75rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1rem}p{color:var(--text-secondary);font-size:.93rem;line-height:1.55}a{color:var(--violet-deep);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--violet-primary)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;border:none;outline:none;background:transparent}button{cursor:pointer;-webkit-user-select:none;user-select:none}button:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6958e833;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:#6958e859}.card{background:var(--surface-main);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;line-height:1.2;white-space:nowrap}.badge-priority-urgent{background:var(--danger-surface);color:var(--danger);border:1px solid var(--danger-border)}.badge-priority-high{background:var(--coral-surface);color:var(--coral-accent);border:1px solid var(--coral-border)}.badge-priority-medium{background:var(--warning-surface);color:var(--warning);border:1px solid var(--warning-border)}.badge-priority-low,.badge-status-todo{background:var(--surface-subtle);color:var(--text-secondary);border:1px solid var(--border-light)}.badge-status-in_progress{background:var(--violet-surface);color:var(--violet-deep);border:1px solid var(--violet-border)}.badge-status-done{background:var(--success-surface);color:var(--success);border:1px solid var(--success-border)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
