@import"https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap";.dashboard-page[data-v-24c53b9c]{animation:pageIn-24c53b9c .4s ease}@keyframes pageIn-24c53b9c{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-section[data-v-24c53b9c]{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.hero-text h1[data-v-24c53b9c]{font-size:28px;font-weight:800;color:var(--text-primary);margin:0 0 6px;letter-spacing:-.5px}.hero-wave[data-v-24c53b9c]{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-text p[data-v-24c53b9c]{font-size:15px;color:var(--text-muted);margin:0}.hero-date[data-v-24c53b9c]{text-align:right}.today-label[data-v-24c53b9c]{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:4px}.today-date[data-v-24c53b9c]{font-size:14px;font-weight:600;color:var(--text-secondary)}.stat-cards[data-v-24c53b9c]{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:28px}.stat-card[data-v-24c53b9c]{position:relative;display:flex;align-items:center;gap:14px;padding:22px 20px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border-color);overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:default}.stat-card[data-v-24c53b9c]:hover{transform:translateY(-3px);box-shadow:0 8px 24px var(--shadow-color);border-color:var(--card-accent)}.stat-card-glow[data-v-24c53b9c]{position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;filter:blur(40px);opacity:.08;pointer-events:none}.stat-card-icon[data-v-24c53b9c]{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s}.stat-card:hover .stat-card-icon[data-v-24c53b9c]{transform:scale(1.1)}.stat-card-body[data-v-24c53b9c]{display:flex;flex-direction:column}.stat-number[data-v-24c53b9c]{font-size:26px;font-weight:800;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.stat-title[data-v-24c53b9c]{font-size:13px;color:var(--text-muted);margin-top:4px;font-weight:500}.dashboard-grid[data-v-24c53b9c]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.widget[data-v-24c53b9c]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:20px;transition:all .25s}.widget[data-v-24c53b9c]:hover{box-shadow:0 4px 20px var(--shadow-color)}.widget-wide[data-v-24c53b9c]{grid-column:1 / -1}.widget-header[data-v-24c53b9c]{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:20px;color:var(--text-muted)}.widget-header h3[data-v-24c53b9c]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.menu-summary-content[data-v-24c53b9c]{display:flex;align-items:center;justify-content:flex-start;gap:32px;padding:10px 0}.donut-chart-container[data-v-24c53b9c]{flex-shrink:0;position:relative}.donut-chart[data-v-24c53b9c]{width:120px;height:120px}.donut-total[data-v-24c53b9c]{font-size:24px;font-weight:800;fill:var(--text-primary)}.donut-label[data-v-24c53b9c]{font-size:10px;font-weight:700;fill:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.category-legend[data-v-24c53b9c]{flex:1;display:flex;flex-direction:column;gap:12px}.legend-item[data-v-24c53b9c]{display:flex;align-items:center;gap:10px;transition:opacity .2s}.legend-item[data-v-24c53b9c]:hover{opacity:.8}.legend-color[data-v-24c53b9c]{width:12px;height:12px;border-radius:4px;flex-shrink:0}.legend-name[data-v-24c53b9c]{flex:1;font-size:14px;color:var(--text-secondary);font-weight:500}.legend-count[data-v-24c53b9c]{font-size:15px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right}.no-data[data-v-24c53b9c]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center}.no-data.small[data-v-24c53b9c]{padding:20px}.no-data p[data-v-24c53b9c]{margin:0;font-size:14px}.chart-content[data-v-24c53b9c]{height:160px}.chart-bars[data-v-24c53b9c]{display:flex;align-items:flex-end;justify-content:space-between;height:100%;gap:8px;padding-top:10px}.chart-bar-wrapper[data-v-24c53b9c]{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.bar-value[data-v-24c53b9c]{font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;font-variant-numeric:tabular-nums}.chart-bar[data-v-24c53b9c]{width:100%;max-width:40px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-radius:6px 6px 0 0;min-height:4px;transition:height .3s ease}.chart-label[data-v-24c53b9c]{font-size:11px;color:var(--text-secondary);margin-top:8px;text-transform:capitalize}.project-list[data-v-24c53b9c]{display:flex;flex-direction:column;gap:14px;max-height:260px;overflow-y:auto}.project-row[data-v-24c53b9c]{cursor:pointer;border-radius:12px;padding:12px 14px;transition:background .15s}.project-row[data-v-24c53b9c]:hover{background:var(--bg-tertiary)}.project-row-head[data-v-24c53b9c]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.pr-dot[data-v-24c53b9c]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pr-name[data-v-24c53b9c]{font-size:14px;font-weight:600;color:var(--text-primary);flex:1}.pr-ratio[data-v-24c53b9c]{font-size:12px;color:var(--text-muted);font-weight:500}.pr-pct[data-v-24c53b9c]{font-size:12px;font-weight:700;color:var(--text-secondary);min-width:32px;text-align:right}.pr-bar[data-v-24c53b9c]{height:6px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.pr-bar-fill[data-v-24c53b9c]{height:100%;border-radius:10px;transition:width .6s cubic-bezier(.4,0,.2,1)}.deadline-list[data-v-24c53b9c]{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.deadline-row[data-v-24c53b9c]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;transition:background .15s}.deadline-row[data-v-24c53b9c]:hover{background:var(--bg-tertiary)}.dl-indicator[data-v-24c53b9c]{width:4px;height:36px;border-radius:4px;flex-shrink:0}.dl-info[data-v-24c53b9c]{flex:1;min-width:0}.dl-title[data-v-24c53b9c]{display:block;font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dl-project[data-v-24c53b9c]{font-size:12px;font-weight:600}.dl-date[data-v-24c53b9c]{font-size:13px;font-weight:700;flex-shrink:0}.activity-feed[data-v-24c53b9c]{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto}.activity-row[data-v-24c53b9c]{display:flex;gap:12px;padding:8px 0}.act-avatar[data-v-24c53b9c]{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.act-content[data-v-24c53b9c]{flex:1}.act-content p[data-v-24c53b9c]{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.act-content p strong[data-v-24c53b9c]{color:var(--text-primary);font-weight:600}.act-content p em[data-v-24c53b9c]{color:var(--text-primary);font-style:normal;font-weight:600}.act-time[data-v-24c53b9c]{font-size:11px;color:var(--text-muted);font-weight:500}.empty-widget[data-v-24c53b9c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;gap:8px}.empty-widget span[data-v-24c53b9c]{font-size:13px;color:var(--text-muted);font-weight:500}@media (max-width: 1100px){.stat-cards[data-v-24c53b9c]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.stat-cards[data-v-24c53b9c]{grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-grid[data-v-24c53b9c]{grid-template-columns:1fr}.donut-layout[data-v-24c53b9c]{flex-direction:column}.hero-section[data-v-24c53b9c]{flex-direction:column;gap:4px;align-items:flex-start}.hero-text h1[data-v-24c53b9c]{font-size:24px}.hero-date[data-v-24c53b9c]{text-align:left;margin-top:4px}}@media (max-width: 480px){.stat-cards[data-v-24c53b9c]{grid-template-columns:1fr;gap:12px}.hero-section[data-v-24c53b9c]{border-radius:12px;padding:16px}}.modal-overlay[data-v-1b533269]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn-1b533269 .2s ease}.modal-card[data-v-1b533269]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;width:580px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 4px 30px var(--shadow-color);animation:scaleIn-1b533269 .25s ease;transition:background .3s,border-color .3s}.modal-header[data-v-1b533269]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-1b533269]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.close-btn[data-v-1b533269]{width:36px;height:36px;border-radius:10px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn[data-v-1b533269]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body[data-v-1b533269]{padding:24px}.template-btn[data-v-1b533269]{display:flex;align-items:center;gap:4px;border:1px dashed var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.type-chips[data-v-1b533269]{display:flex;flex-wrap:wrap;gap:8px}.type-chip[data-v-1b533269]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s}.type-chip[data-v-1b533269]:hover{border-color:var(--text-muted)}.chip-svg[data-v-1b533269]{display:flex;align-items:center;justify-content:center}.type-chip.active.chip-todo[data-v-1b533269]{background:var(--bg-tertiary);border-color:var(--text-muted);color:var(--text-primary);font-weight:600}.type-chip.active.chip-bug[data-v-1b533269]{background:#ef44441a;border-color:#ef444466;color:#ef4444;font-weight:600}.type-chip.active.chip-idea[data-v-1b533269]{background:#eab3081a;border-color:#eab30866;color:#ca8a04;font-weight:600}.type-chip.active.chip-eval[data-v-1b533269]{background:#f973161a;border-color:#f9731666;color:#ea580c;font-weight:600}.type-chip.active.chip-feat[data-v-1b533269]{background:#16a3621a;border-color:#16a36266;color:#16a34a;font-weight:600}.type-chip.active.chip-imp[data-v-1b533269]{background:#667eea1a;border-color:#667eea66;color:#667eea;font-weight:600}.tags-input[data-v-1b533269]{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;min-height:42px;transition:all .2s}.tags-input[data-v-1b533269]:focus-within{border-color:var(--accent-solid, #667eea);box-shadow:0 0 0 3px #667eea26}.tag-item[data-v-1b533269]{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#667eea1a;color:#667eea;border-radius:20px;font-size:12px;font-weight:600}.tag-remove[data-v-1b533269]{background:none;border:none;color:#667eea;cursor:pointer;font-size:16px;padding:0;margin-left:2px;line-height:1}.tag-remove[data-v-1b533269]:hover{color:#ef4444}.tag-input-field[data-v-1b533269]{border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;flex:1;min-width:100px;padding:0}.tag-input-field[data-v-1b533269]::placeholder{color:var(--text-muted)}.modal-footer[data-v-1b533269]{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--border-color);margin-top:8px}.template-btn[data-v-1b533269]{border:1px dashed var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.template-btn[data-v-1b533269]:hover{background:var(--bg-hover);color:var(--text-primary);border-style:solid;border-color:#667eea}@keyframes fadeIn-1b533269{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-1b533269{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 600px){.modal-card[data-v-1b533269]{margin:16px}.type-chips[data-v-1b533269]{gap:6px}.type-chip[data-v-1b533269]{padding:6px 10px;font-size:12px}}.td-overlay[data-v-e1e328a2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn-e1e328a2 .2s}.td-modal[data-v-e1e328a2]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;width:960px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px #0000004d;animation:scaleIn-e1e328a2 .3s cubic-bezier(.4,0,.2,1)}.td-header[data-v-e1e328a2]{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--border-color)}.td-badges[data-v-e1e328a2]{display:flex;gap:8px;flex-wrap:wrap}.td-status-badge[data-v-e1e328a2]{font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px}.st-pending[data-v-e1e328a2]{background:var(--bg-tertiary);color:var(--text-secondary)}.st-progress[data-v-e1e328a2]{background:#3b82f61a;color:#3b82f6}.st-done[data-v-e1e328a2]{background:#10b9811a;color:#10b981}.close-btn[data-v-e1e328a2]{width:36px;height:36px;border-radius:10px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn[data-v-e1e328a2]:hover{background:var(--bg-hover);color:var(--text-primary)}.td-body[data-v-e1e328a2]{display:flex;gap:0}.td-main[data-v-e1e328a2]{flex:1;padding:28px;border-right:1px solid var(--border-color);min-width:0}.td-sidebar[data-v-e1e328a2]{width:280px;padding:24px;flex-shrink:0}.td-title[data-v-e1e328a2]{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 12px;letter-spacing:-.3px}.td-title.done[data-v-e1e328a2]{text-decoration:line-through;color:var(--text-muted)}.td-desc[data-v-e1e328a2]{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}.td-desc code[data-v-e1e328a2]{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:13px}.td-no-desc[data-v-e1e328a2]{font-size:14px;color:var(--text-muted);font-style:italic;margin-bottom:16px}.td-labels[data-v-e1e328a2]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.label-chip[data-v-e1e328a2]{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;border:1px solid;display:flex;align-items:center;gap:6px}.label-remove[data-v-e1e328a2]{background:none;border:none;cursor:pointer;color:inherit;padding:0;display:flex;opacity:.7}.label-remove[data-v-e1e328a2]:hover{opacity:1}.td-section[data-v-e1e328a2]{margin-top:28px}.td-section-header[data-v-e1e328a2]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-icon[data-v-e1e328a2]{color:var(--text-muted);display:flex}.td-section-header h3[data-v-e1e328a2]{font-size:14px;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.td-count[data-v-e1e328a2]{font-size:12px;color:var(--text-muted);font-weight:500;background:var(--bg-tertiary);padding:2px 8px;border-radius:10px}.subtask-progress[data-v-e1e328a2]{margin-bottom:12px}.progress-track[data-v-e1e328a2]{height:5px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.progress-fill[data-v-e1e328a2]{height:100%;border-radius:10px;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .5s}.subtask-list[data-v-e1e328a2]{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.subtask-row[data-v-e1e328a2]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;transition:background .15s;cursor:grab}.subtask-row[data-v-e1e328a2]:hover{background:var(--bg-tertiary)}.st-handle[data-v-e1e328a2]{color:var(--text-muted);opacity:0;cursor:grab;-webkit-user-select:none;user-select:none;display:flex}.subtask-row:hover .st-handle[data-v-e1e328a2]{opacity:.5}.st-check[data-v-e1e328a2]{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-color);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.st-check[data-v-e1e328a2]:hover{border-color:#10b981}.st-check.checked[data-v-e1e328a2]{background:#10b981;border-color:#10b981}.st-title[data-v-e1e328a2]{flex:1;font-size:13px;color:var(--text-primary)}.st-title.done[data-v-e1e328a2]{text-decoration:line-through;color:var(--text-muted)}.st-delete[data-v-e1e328a2]{background:none;border:none;cursor:pointer;color:var(--text-muted);opacity:0;transition:all .2s;padding:4px;display:flex}.subtask-row:hover .st-delete[data-v-e1e328a2]{opacity:1}.st-delete[data-v-e1e328a2]:hover{color:#ef4444}.st-add[data-v-e1e328a2]{display:flex;gap:8px}.input.sm[data-v-e1e328a2]{padding:8px 12px;font-size:13px;border-radius:8px}.attachment-list[data-v-e1e328a2]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.attachment-item[data-v-e1e328a2]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bg-tertiary);transition:all .15s}.attachment-item[data-v-e1e328a2]:hover{background:var(--bg-hover)}.att-icon-wrap[data-v-e1e328a2]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.att-info[data-v-e1e328a2]{flex:1;min-width:0}.att-name[data-v-e1e328a2]{display:block;font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-meta[data-v-e1e328a2]{font-size:11px;color:var(--text-muted)}.att-action[data-v-e1e328a2]{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s}.att-action[data-v-e1e328a2]:hover{background:var(--bg-hover);color:var(--text-primary)}.att-action.danger[data-v-e1e328a2]:hover{color:#ef4444;background:#ef444414}.upload-btn[data-v-e1e328a2]{display:flex;align-items:center;gap:8px;background:transparent;border:1px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600;transition:all .2s;font-family:inherit}.upload-btn[data-v-e1e328a2]:hover{border-color:#667eea;color:#667eea}.comment-list[data-v-e1e328a2]{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.comment-item[data-v-e1e328a2]{display:flex;gap:10px}.comment-avatar[data-v-e1e328a2]{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.comment-body[data-v-e1e328a2]{flex:1;background:var(--bg-tertiary);border-radius:12px;padding:10px 14px}.comment-meta[data-v-e1e328a2]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author[data-v-e1e328a2]{font-size:13px;font-weight:600;color:var(--text-primary)}.comment-date[data-v-e1e328a2]{font-size:11px;color:var(--text-muted)}.comment-actions[data-v-e1e328a2]{display:flex;gap:2px;margin-left:auto}.cm-action[data-v-e1e328a2]{background:none;border:none;cursor:pointer;padding:3px;border-radius:4px;opacity:0;transition:all .2s;color:var(--text-muted);display:flex}.comment-item:hover .cm-action[data-v-e1e328a2]{opacity:.7}.cm-action[data-v-e1e328a2]:hover{opacity:1!important;background:var(--bg-hover);color:var(--text-primary)}.cm-action.danger[data-v-e1e328a2]:hover{color:#ef4444}.comment-text[data-v-e1e328a2]{font-size:13px;color:var(--text-secondary);line-height:1.5}.comment-text code[data-v-e1e328a2]{background:var(--bg-hover);padding:1px 4px;border-radius:3px;font-size:12px}.empty-text[data-v-e1e328a2]{font-size:13px;color:var(--text-muted);text-align:center;padding:20px}.comment-add[data-v-e1e328a2]{display:flex;flex-direction:column;gap:8px}.comment-add .btn[data-v-e1e328a2]{align-self:flex-end}.comment-edit-form[data-v-e1e328a2]{display:flex;flex-direction:column;gap:6px;margin-top:6px}.comment-edit-actions[data-v-e1e328a2]{display:flex;gap:6px}.textarea.sm[data-v-e1e328a2]{padding:10px 14px;font-size:13px;border-radius:10px;min-height:60px}.td-meta-group[data-v-e1e328a2]{margin-bottom:18px}.td-meta-group label[data-v-e1e328a2]{display:block;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.select.sm[data-v-e1e328a2]{padding:7px 12px;font-size:13px;border-radius:8px}.td-date[data-v-e1e328a2]{font-size:14px;color:var(--text-primary);font-weight:500}.td-date.overdue[data-v-e1e328a2]{color:#ef4444;font-weight:700}.td-project[data-v-e1e328a2]{font-size:14px;font-weight:600}.td-milestone[data-v-e1e328a2]{font-size:14px;color:var(--text-primary);font-weight:500}.td-tags[data-v-e1e328a2]{display:flex;gap:4px;flex-wrap:wrap}.inline-tag[data-v-e1e328a2]{font-size:12px;color:#667eea;font-weight:600}.label-add-list[data-v-e1e328a2]{display:flex;gap:4px;flex-wrap:wrap}.label-add-btn[data-v-e1e328a2]{font-size:11px;font-weight:600;padding:4px 10px;border-radius:14px;border:1px solid;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.label-add-btn[data-v-e1e328a2]:hover{opacity:.8;transform:scale(1.03)}@keyframes fadeIn-e1e328a2{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-e1e328a2{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.td-body[data-v-e1e328a2]{flex-direction:column}.td-sidebar[data-v-e1e328a2]{width:100%;border-right:none;border-top:1px solid var(--border-color);padding:16px}.td-main[data-v-e1e328a2]{border-right:none;padding:16px;min-width:0}.td-header[data-v-e1e328a2]{padding:16px}}.tasks-page[data-v-106e789a]{animation:pageIn-106e789a .4s ease}@keyframes pageIn-106e789a{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.header-btns[data-v-106e789a]{display:flex;gap:10px;align-items:center}.btn-ghost-sm[data-v-106e789a]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-ghost-sm[data-v-106e789a]:hover{border-color:#667eea;color:#667eea}.filter-bar[data-v-106e789a]{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-box[data-v-106e789a]{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:0 14px;flex:1;min-width:200px;transition:all .2s}.search-box[data-v-106e789a]:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.search-box svg[data-v-106e789a]{color:var(--text-muted);flex-shrink:0}.search-box input[data-v-106e789a]{border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 0;width:100%;outline:none}.search-box input[data-v-106e789a]::placeholder{color:var(--text-muted)}.filter-sel[data-v-106e789a]{width:auto;min-width:140px}.bulk-bar[data-v-106e789a]{display:flex;align-items:center;gap:14px;padding:12px 18px;background:var(--bg-card);border:1px solid rgba(102,126,234,.25);border-radius:14px;margin-bottom:16px;flex-wrap:wrap}.bulk-count[data-v-106e789a]{font-size:14px;font-weight:700;color:#667eea}.bulk-actions[data-v-106e789a]{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:1}.bulk-btn[data-v-106e789a]{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.bulk-btn.done[data-v-106e789a]{border-color:#10b9814d;color:#10b981}.bulk-btn.done[data-v-106e789a]:hover{background:#10b98114}.bulk-btn.pending[data-v-106e789a]{border-color:#94a3b84d}.bulk-btn.prog[data-v-106e789a]{border-color:#3b82f64d;color:#3b82f6}.bulk-btn.prog[data-v-106e789a]:hover{background:#3b82f614}.bulk-btn.danger[data-v-106e789a]{border-color:#ef44444d;color:#ef4444}.bulk-btn.danger[data-v-106e789a]:hover{background:#ef444414}.bulk-select[data-v-106e789a]{font-size:12px;padding:6px 10px}.bulk-clear[data-v-106e789a]{background:none;border:none;color:var(--text-muted);cursor:pointer;margin-left:auto;display:flex;padding:6px;border-radius:6px;transition:all .2s}.bulk-clear[data-v-106e789a]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.slide-down-enter-active[data-v-106e789a],.slide-down-leave-active[data-v-106e789a]{transition:all .25s}.slide-down-enter-from[data-v-106e789a],.slide-down-leave-to[data-v-106e789a]{opacity:0;transform:translateY(-8px)}.task-list[data-v-106e789a]{display:flex;flex-direction:column;gap:8px}.task-row[data-v-106e789a]{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;transition:all .2s ease;cursor:default}.task-row[data-v-106e789a]:hover{box-shadow:0 4px 20px var(--shadow-color);border-color:#667eea4d}.task-row.completed[data-v-106e789a]{opacity:.6}.task-row.selected[data-v-106e789a]{border-color:#667eea;background:#667eea0a}.drag-handle[data-v-106e789a]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;padding:4px;opacity:.2;transition:opacity .2s;flex-shrink:0}.task-row:hover .drag-handle[data-v-106e789a]{opacity:.6}.drag-handle[data-v-106e789a]:active{cursor:grabbing}.task-row.selected .drag-handle[data-v-106e789a]{color:#667eea;opacity:1}.check-btn[data-v-106e789a]{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-color);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;color:#fff}.check-btn[data-v-106e789a]:hover{border-color:#10b981;background:#10b98114}.check-btn.checked[data-v-106e789a]{background:#10b981;border-color:#10b981}.task-body[data-v-106e789a]{flex:1;cursor:pointer;overflow:hidden}.task-top-row[data-v-106e789a]{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.badge-progress[data-v-106e789a]{background:#3b82f61a;color:#3b82f6}.badge-subtask[data-v-106e789a]{background:#10b9811a;color:#10b981;display:flex;align-items:center;gap:3px}.badge-comment[data-v-106e789a]{background:#f59e0b1a;color:#f59e0b;display:flex;align-items:center;gap:3px}.task-title[data-v-106e789a]{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.2px}.task-title.done[data-v-106e789a]{text-decoration:line-through;color:var(--text-muted)}.task-desc[data-v-106e789a]{font-size:13px;color:var(--text-secondary);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.task-meta-row[data-v-106e789a]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.task-author[data-v-106e789a]{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-secondary)}.author-avatar[data-v-106e789a]{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.task-date[data-v-106e789a]{font-size:12px;color:var(--text-muted)}.task-project[data-v-106e789a]{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);font-weight:600}.project-dot[data-v-106e789a]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.task-due[data-v-106e789a]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.task-due.overdue[data-v-106e789a]{color:#ef4444;font-weight:600}.task-actions[data-v-106e789a]{display:flex;gap:4px;opacity:0;transition:opacity .2s}.task-row:hover .task-actions[data-v-106e789a]{opacity:1}.delete-btn[data-v-106e789a]:hover{color:#ef4444!important;background:#ef444414!important}.empty-state[data-v-106e789a]{text-align:center;padding:60px 20px}.empty-icon[data-v-106e789a]{color:var(--text-muted);opacity:.3;margin-bottom:16px}@media (max-width: 768px){.filter-bar[data-v-106e789a]{flex-direction:column}.filter-sel[data-v-106e789a]{width:100%}.task-actions[data-v-106e789a]{opacity:1;width:100%;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border-color);margin-top:8px}.bulk-bar[data-v-106e789a]{flex-direction:column;text-align:center}.task-row[data-v-106e789a]{flex-wrap:wrap;padding:14px}.task-body[data-v-106e789a]{min-width:100%}.check-btn[data-v-106e789a]{position:absolute}.task-row[data-v-106e789a]{position:relative;padding-left:48px}}.projects-page[data-v-b8d128cc]{animation:slideUp .3s ease}.projects-grid[data-v-b8d128cc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.project-card[data-v-b8d128cc]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;cursor:pointer;transition:all .2s ease}.project-card[data-v-b8d128cc]:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow-color)}.card-top[data-v-b8d128cc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-top-right[data-v-b8d128cc]{display:flex;align-items:center;gap:6px}.card-action-btn[data-v-b8d128cc]{width:28px;height:28px;border-radius:8px;border:none;background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:0}.project-card:hover .card-action-btn[data-v-b8d128cc]{opacity:1}.card-action-btn[data-v-b8d128cc]:hover{background:var(--bg-hover);color:var(--text-primary)}.card-action-btn.danger[data-v-b8d128cc]:hover{color:#ef4444;background:#ef44441a}.fav-btn[data-v-b8d128cc]{background:none;border:none;cursor:pointer;padding:4px;transition:transform .2s;opacity:0}.project-card:hover .fav-btn[data-v-b8d128cc],.fav-btn.active[data-v-b8d128cc]{opacity:1}.fav-btn[data-v-b8d128cc]:hover{transform:scale(1.2)}.card-icon[data-v-b8d128cc]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.card-status[data-v-b8d128cc]{font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px}.status-plan[data-v-b8d128cc]{background:var(--bg-tertiary);color:var(--text-secondary)}.status-dev[data-v-b8d128cc]{background:#667eea1a;color:#667eea}.status-test[data-v-b8d128cc]{background:#f973161a;color:#f97316}.status-live[data-v-b8d128cc]{background:#16a3621a;color:#16a34a}.status-archive[data-v-b8d128cc]{background:var(--bg-tertiary);color:var(--text-muted)}.project-card h3[data-v-b8d128cc]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.card-desc[data-v-b8d128cc]{font-size:13px;color:var(--text-secondary);margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.card-progress[data-v-b8d128cc]{margin-bottom:16px}.progress-info[data-v-b8d128cc]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-bottom:6px}.progress-track[data-v-b8d128cc]{height:6px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.progress-fill[data-v-b8d128cc]{height:100%;border-radius:10px;transition:width .6s ease}.no-tasks[data-v-b8d128cc]{font-size:13px;color:var(--text-muted)}.card-footer[data-v-b8d128cc]{display:flex;align-items:center;justify-content:space-between}.card-dates[data-v-b8d128cc]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.card-members[data-v-b8d128cc]{display:flex;align-items:center;gap:8px}.member-avatars[data-v-b8d128cc]{display:flex;align-items:center}.member-avatar-stack[data-v-b8d128cc]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;border:2px solid var(--bg-card);position:relative;transition:transform .2s}.member-avatar-stack[data-v-b8d128cc]:hover{transform:scale(1.1);z-index:10!important}.member-count-badge[data-v-b8d128cc]{font-size:11px;color:var(--text-muted);margin-left:4px;font-weight:600}.member-count-text[data-v-b8d128cc]{font-size:12px;color:var(--text-muted)}.modal-overlay[data-v-b8d128cc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn-b8d128cc .2s ease}.modal-card[data-v-b8d128cc]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;width:600px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 4px 30px var(--shadow-color);animation:scaleIn-b8d128cc .25s ease}.modal-header[data-v-b8d128cc]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-b8d128cc]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.close-btn[data-v-b8d128cc]{width:36px;height:36px;border-radius:10px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn[data-v-b8d128cc]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body[data-v-b8d128cc]{padding:24px}.modal-footer[data-v-b8d128cc]{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--border-color);margin-top:8px}.form-hint[data-v-b8d128cc]{font-size:12px;color:var(--text-muted);margin-bottom:12px;margin-top:-4px}.color-picker[data-v-b8d128cc]{display:flex;gap:8px;flex-wrap:wrap}.color-dot[data-v-b8d128cc]{width:28px;height:28px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s}.color-dot[data-v-b8d128cc]:hover{transform:scale(1.1)}.color-dot.selected[data-v-b8d128cc]{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-card)}.member-selector[data-v-b8d128cc]{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;border:1px solid var(--border-color);border-radius:12px;padding:8px}.member-option[data-v-b8d128cc]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:all .15s}.member-option[data-v-b8d128cc]:hover{background:var(--bg-tertiary)}.member-option.selected[data-v-b8d128cc]{background:#667eea14}.member-option.disabled[data-v-b8d128cc]{cursor:default;opacity:.8}.member-check[data-v-b8d128cc]{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.member-check.checked[data-v-b8d128cc]{background:#667eea;border-color:#667eea}.member-avatar-sm[data-v-b8d128cc]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.member-info[data-v-b8d128cc]{flex:1;overflow:hidden}.member-name[data-v-b8d128cc]{display:block;font-size:14px;font-weight:600;color:var(--text-primary)}.member-username[data-v-b8d128cc]{font-size:12px;color:var(--text-muted)}.member-role-tag[data-v-b8d128cc]{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px}.member-role-tag.owner[data-v-b8d128cc]{background:#667eea1a;color:#667eea}@keyframes fadeIn-b8d128cc{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-b8d128cc{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.projects-grid[data-v-b8d128cc]{grid-template-columns:1fr}.card-action-btn[data-v-b8d128cc],.fav-btn[data-v-b8d128cc]{opacity:1}.project-card[data-v-b8d128cc]{padding:16px}.card-top[data-v-b8d128cc]{margin-bottom:12px}}.archived-section[data-v-b8d128cc]{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color)}.archived-toggle[data-v-b8d128cc]{display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;padding:8px 0;font-family:inherit;transition:color .2s}.archived-toggle[data-v-b8d128cc]:hover{color:var(--text-primary)}.chevron[data-v-b8d128cc]{transition:transform .3s}.chevron.open[data-v-b8d128cc]{transform:rotate(180deg)}.projects-grid.archived[data-v-b8d128cc]{margin-top:16px}.project-card.archived[data-v-b8d128cc]{opacity:.55}.project-card.archived[data-v-b8d128cc]:hover{opacity:.75}.archive-tag[data-v-b8d128cc]{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:#94a3b81f;color:#94a3b8}.expand-enter-active[data-v-b8d128cc],.expand-leave-active[data-v-b8d128cc]{transition:all .3s ease;overflow:hidden}.expand-enter-from[data-v-b8d128cc],.expand-leave-to[data-v-b8d128cc]{opacity:0;max-height:0}.expand-enter-to[data-v-b8d128cc],.expand-leave-from[data-v-b8d128cc]{opacity:1;max-height:2000px}.kanban-board[data-v-e251f151]{display:flex;gap:16px;min-height:400px;overflow-x:auto;padding-bottom:8px}.kanban-col[data-v-e251f151]{flex:1;min-width:280px;background:var(--bg-tertiary);border-radius:14px;display:flex;flex-direction:column;transition:all .2s}.kanban-col.drag-over[data-v-e251f151]{box-shadow:0 0 0 2px #667eea;background:#667eea0d}.col-header[data-v-e251f151]{display:flex;align-items:center;gap:10px;padding:16px 18px 12px}.col-dot[data-v-e251f151]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.col-header h3[data-v-e251f151]{font-size:14px;font-weight:700;color:var(--text-primary);margin:0;flex:1}.col-count[data-v-e251f151]{font-size:12px;font-weight:700;color:var(--text-muted);background:var(--bg-hover);padding:2px 8px;border-radius:12px}.col-body[data-v-e251f151]{flex:1;padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}.col-empty[data-v-e251f151]{text-align:center;font-size:13px;color:var(--text-muted);padding:24px 8px}.kanban-card[data-v-e251f151]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:14px;cursor:grab;transition:all .2s}.kanban-card[data-v-e251f151]:hover{box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-1px)}.kanban-card[data-v-e251f151]:active{cursor:grabbing;opacity:.8}.kc-top[data-v-e251f151]{display:flex;gap:6px;margin-bottom:8px}.kc-type[data-v-e251f151],.kc-priority[data-v-e251f151]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.kt-todo[data-v-e251f151]{background:var(--bg-tertiary)}.kt-bug[data-v-e251f151]{background:#ef44441a;color:#ef4444}.kt-idea[data-v-e251f151]{background:#eab3081a;color:#ca8a04}.kt-eval[data-v-e251f151]{background:#f973161a;color:#ea580c}.kt-feat[data-v-e251f151]{background:#16a3621a;color:#16a34a}.kt-imp[data-v-e251f151]{background:#667eea1a;color:#667eea}.kp-low[data-v-e251f151]{background:#16a3621a;color:#16a34a}.kp-normal[data-v-e251f151]{background:#667eea1a;color:#667eea}.kp-high[data-v-e251f151]{background:#f973161a;color:#ea580c}.kp-urgent[data-v-e251f151]{background:#ef44441a;color:#ef4444}.kanban-card h4[data-v-e251f151]{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.kc-meta[data-v-e251f151]{display:flex;gap:10px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}.kc-due[data-v-e251f151]{display:flex;align-items:center;gap:3px}.kc-due.overdue[data-v-e251f151]{color:#ef4444;font-weight:600}.kc-bottom[data-v-e251f151]{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-color)}.kc-avatar[data-v-e251f151]{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.kc-ms[data-v-e251f151]{font-size:11px;color:var(--text-muted)}@media (max-width: 768px){.kanban-board[data-v-e251f151]{scroll-snap-type:x mandatory;scroll-padding-left:16px;padding-bottom:16px}.kanban-col[data-v-e251f151]{scroll-snap-align:start;flex:0 0 calc(100vw - 32px);max-width:320px;min-width:unset}}.project-detail[data-v-bb23808f]{animation:slideUp .3s ease;min-height:400px}.loading-state[data-v-bb23808f]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-muted);gap:16px}.spinner[data-v-bb23808f]{width:40px;height:40px;border:3px solid rgba(102,126,234,.1);border-top-color:#667eea;border-radius:50%;animation:spin-bb23808f .8s linear infinite}@keyframes spin-bb23808f{to{transform:rotate(360deg)}}.error-state[data-v-bb23808f]{gap:12px}.error-title[data-v-bb23808f]{font-size:18px;font-weight:700;color:#ef4444;margin:0}.error-detail[data-v-bb23808f]{font-size:14px;color:var(--text-secondary);margin:0;text-align:center;max-width:400px}.archive-banner[data-v-bb23808f]{background:#eab3081a;border:1px solid rgba(234,179,8,.2);color:#eab308;padding:12px 20px;border-radius:12px;margin-bottom:20px;display:flex;align-items:center;gap:12px;font-weight:500;font-size:14px}.project-header[data-v-bb23808f]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:0;transition:all .3s}.header-top[data-v-bb23808f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-actions-right[data-v-bb23808f]{display:flex;gap:10px}.project-info[data-v-bb23808f]{display:flex;align-items:center;gap:20px;margin-bottom:20px}.project-icon[data-v-bb23808f]{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.project-info h1[data-v-bb23808f]{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 4px;line-height:1.3}.project-info p[data-v-bb23808f]{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.project-stats-row[data-v-bb23808f]{display:flex;gap:32px}.mini-stat[data-v-bb23808f]{text-align:center}.mini-val[data-v-bb23808f]{display:block;font-size:22px;font-weight:700;color:var(--text-primary)}.mini-label[data-v-bb23808f]{font-size:12px;color:var(--text-muted)}.tab-bar[data-v-bb23808f]{display:flex;gap:4px;margin:16px 0;padding:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;transition:all .3s}.tab-btn[data-v-bb23808f]{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.tab-btn[data-v-bb23808f]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab-btn.active[data-v-bb23808f]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #667eea4d}.tab-count[data-v-bb23808f]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;background:#fff3}.tab-btn:not(.active) .tab-count[data-v-bb23808f]{background:var(--bg-tertiary);color:var(--text-muted)}.tab-panel[data-v-bb23808f]{padding-top:8px}.section-header[data-v-bb23808f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h2[data-v-bb23808f]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.filter-bar[data-v-bb23808f]{display:flex;gap:8px}.select.sm[data-v-bb23808f]{padding:6px 12px;font-size:13px;border-radius:8px}.empty-mini[data-v-bb23808f]{text-align:center;padding:32px;font-size:14px;color:var(--text-muted)}.task-list[data-v-bb23808f]{display:flex;flex-direction:column;gap:6px}.task-row[data-v-bb23808f]{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:10px 16px;transition:all .2s ease;cursor:default}.task-row[data-v-bb23808f]:hover{box-shadow:0 4px 16px var(--shadow-color);border-color:#667eea4d}.task-row.completed[data-v-bb23808f]{opacity:.6}.drag-handle[data-v-bb23808f]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;padding:4px;opacity:.15;transition:opacity .2s;flex-shrink:0}.task-row:hover .drag-handle[data-v-bb23808f]{opacity:.5}.check-btn[data-v-bb23808f]{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-color);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;color:#fff}.check-btn[data-v-bb23808f]:hover{border-color:#10b981}.check-btn.checked[data-v-bb23808f]{background:#10b981;border-color:#10b981}.task-body[data-v-bb23808f]{flex:1;cursor:pointer;overflow:hidden}.task-top-row[data-v-bb23808f]{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.badge-ms[data-v-bb23808f]{background:#667eea1a;color:#667eea}.task-title[data-v-bb23808f]{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.task-title.done[data-v-bb23808f]{text-decoration:line-through;color:var(--text-muted)}.task-meta-row[data-v-bb23808f]{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.due-tag[data-v-bb23808f],.assigned-tag[data-v-bb23808f],.subtask-tag[data-v-bb23808f],.comment-tag[data-v-bb23808f]{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.due-tag.overdue[data-v-bb23808f]{color:#ef4444;font-weight:600}.assigned-tag[data-v-bb23808f]{display:flex;align-items:center;gap:4px}.assigned-avatar[data-v-bb23808f]{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.tags-inline[data-v-bb23808f]{display:flex;gap:4px}.inline-tag[data-v-bb23808f]{font-size:11px;color:#667eea;font-weight:600}.milestones-list[data-v-bb23808f]{display:flex;flex-direction:column;gap:8px}.milestone-item[data-v-bb23808f]{display:flex;align-items:flex-start;gap:14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 18px;transition:all .2s}.milestone-item[data-v-bb23808f]:hover{box-shadow:0 2px 8px var(--shadow-color)}.ms-dot[data-v-bb23808f]{width:12px;height:12px;border-radius:50%;background:var(--border-color);margin-top:4px;flex-shrink:0}.ms-dot.active[data-v-bb23808f]{background:#667eea;box-shadow:0 0 0 4px #667eea33}.ms-dot.done[data-v-bb23808f]{background:#16a34a}.ms-content[data-v-bb23808f]{flex:1}.ms-top[data-v-bb23808f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.ms-top h4[data-v-bb23808f]{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.ms-date[data-v-bb23808f]{font-size:12px;color:var(--text-muted)}.ms-content p[data-v-bb23808f]{font-size:13px;color:var(--text-secondary);margin:0 0 8px}.ms-progress[data-v-bb23808f]{display:flex;align-items:center;gap:10px}.progress-track[data-v-bb23808f]{flex:1;height:6px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.progress-track.sm[data-v-bb23808f]{max-width:200px}.progress-fill[data-v-bb23808f]{height:100%;border-radius:10px;transition:width .6s}.ms-count[data-v-bb23808f]{font-size:12px;color:var(--text-muted);font-weight:600}.members-list[data-v-bb23808f]{display:flex;flex-direction:column;gap:6px}.member-row[data-v-bb23808f]{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:14px 18px;transition:all .2s}.member-row[data-v-bb23808f]:hover{box-shadow:0 2px 8px var(--shadow-color)}.member-avatar[data-v-bb23808f]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.member-avatar.sm[data-v-bb23808f]{width:32px;height:32px;font-size:13px;border-radius:8px}.member-details[data-v-bb23808f]{flex:1}.member-name[data-v-bb23808f]{display:block;font-size:14px;font-weight:600;color:var(--text-primary)}.member-username[data-v-bb23808f]{font-size:12px;color:var(--text-muted)}.member-role-badge[data-v-bb23808f]{font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px}.member-role-badge.owner[data-v-bb23808f]{background:#667eea1a;color:#667eea}.member-role-badge.admin[data-v-bb23808f]{background:#f973161a;color:#f97316}.member-role-badge.member[data-v-bb23808f]{background:var(--bg-tertiary);color:var(--text-secondary)}.member-joined[data-v-bb23808f]{font-size:12px;color:var(--text-muted);min-width:60px;text-align:right}.owner-lock[data-v-bb23808f]{font-size:14px}.member-add-list[data-v-bb23808f]{display:flex;flex-direction:column;gap:4px}.member-add-row[data-v-bb23808f]{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;transition:background .2s}.member-add-row[data-v-bb23808f]:hover{background:var(--bg-tertiary)}.btn-icon.sm[data-v-bb23808f]{width:30px;height:30px;padding:0;border-radius:8px;background:var(--bg-tertiary);border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-icon.sm[data-v-bb23808f]:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.sm.danger-hover[data-v-bb23808f]:hover{color:#ef4444;background:#ef44441a}.modal-overlay[data-v-bb23808f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn-bb23808f .2s}.modal-card[data-v-bb23808f]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 4px 30px var(--shadow-color);animation:scaleIn-bb23808f .25s}.modal-header[data-v-bb23808f]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-bb23808f]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.close-btn[data-v-bb23808f]{width:36px;height:36px;border-radius:10px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn[data-v-bb23808f]:hover{background:var(--bg-hover)}.modal-body[data-v-bb23808f]{padding:24px}.modal-footer[data-v-bb23808f]{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--border-color);margin-top:8px}.color-picker[data-v-bb23808f]{display:flex;gap:8px;flex-wrap:wrap}.color-dot[data-v-bb23808f]{width:28px;height:28px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s}.color-dot[data-v-bb23808f]:hover{transform:scale(1.1)}.color-dot.selected[data-v-bb23808f]{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-card)}.form-row[data-v-bb23808f]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.view-toggle[data-v-bb23808f]{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.view-toggle[data-v-bb23808f]:hover{color:var(--text-primary);border-color:#667eea}.view-toggle.active[data-v-bb23808f]{background:#667eea;color:#fff;border-color:#667eea}.activity-list[data-v-bb23808f]{display:flex;flex-direction:column;gap:8px}.activity-row[data-v-bb23808f]{display:flex;gap:12px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px}.activity-avatar[data-v-bb23808f]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.activity-content[data-v-bb23808f]{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:13px}.activity-user[data-v-bb23808f]{font-weight:600;color:var(--text-primary)}.activity-action[data-v-bb23808f]{color:var(--text-secondary)}.activity-entity[data-v-bb23808f]{color:#667eea;font-weight:500}.activity-time[data-v-bb23808f]{color:var(--text-muted);font-size:12px;margin-left:auto}.btn-danger[data-v-bb23808f]{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-danger[data-v-bb23808f]:hover{background:#ef4444;color:#fff}.credentials-list[data-v-bb23808f]{display:flex;flex-direction:column;gap:12px}.cred-item[data-v-bb23808f]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .2s}.cred-item[data-v-bb23808f]:hover{box-shadow:0 4px 12px var(--shadow-color)}.cred-top[data-v-bb23808f]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.cred-top h4[data-v-bb23808f]{margin:0;font-size:15px;color:var(--text-primary);font-weight:700}.cred-author[data-v-bb23808f]{font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:10px;display:inline-flex;align-items:center}.cred-value-box[data-v-bb23808f]{background:var(--bg-primary);padding:12px;border-radius:8px;border:1px dashed var(--border-color);overflow-x:auto}.cred-value-box code[data-v-bb23808f]{font-family:monospace;font-size:13px;color:var(--text-primary);white-space:pre-wrap;word-break:break-all}@keyframes fadeIn-bb23808f{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-bb23808f{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.project-header[data-v-bb23808f]{display:flex;flex-direction:column;padding:16px}.header-top[data-v-bb23808f]{display:contents}.project-back-btn[data-v-bb23808f]{order:1;align-self:flex-start;margin-bottom:16px;padding:4px 6px}.project-info[data-v-bb23808f]{order:2;flex-direction:column;align-items:flex-start;gap:12px}.project-stats-row[data-v-bb23808f]{order:3;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:16px;border-bottom:1px dashed var(--border-color)}.header-actions-right[data-v-bb23808f]{order:4;flex-direction:row;flex-wrap:wrap;gap:8px;width:100%;align-items:stretch;justify-content:space-between}.header-actions-right .btn[data-v-bb23808f]{flex:1;min-width:45%;justify-content:center;font-size:13px;padding:8px 12px}.tab-bar[data-v-bb23808f]{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;justify-content:flex-start;scrollbar-width:none}.tab-bar[data-v-bb23808f]::-webkit-scrollbar{display:none}.tab-btn[data-v-bb23808f]{font-size:13px;padding:8px 14px;flex:0 0 auto;justify-content:center;white-space:nowrap}.task-row[data-v-bb23808f]{flex-wrap:nowrap;position:relative;padding:12px 42px;justify-content:flex-start}.task-body[data-v-bb23808f]{min-width:0;flex:1;overflow:hidden}.check-btn[data-v-bb23808f]{position:absolute;left:10px;top:12px}.task-row>.btn-icon.sm[data-v-bb23808f]{position:absolute;right:8px;top:10px}.drag-handle[data-v-bb23808f]{display:none}}.stats-grid[data-v-bb23808f]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.stats-grid .stat-cards[data-v-bb23808f]{grid-column:1 / -1;display:flex;gap:14px;flex-wrap:wrap}.stats-grid .stat-card[data-v-bb23808f]{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border-color);flex:1;min-width:120px}.stats-grid .stat-icon[data-v-bb23808f]{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stats-grid .stat-body[data-v-bb23808f]{display:flex;flex-direction:column}.stats-grid .stat-num[data-v-bb23808f]{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1}.stats-grid .stat-label[data-v-bb23808f]{font-size:12px;color:var(--text-muted);margin-top:3px}.stats-widget[data-v-bb23808f]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:20px}.stats-widget h4[data-v-bb23808f]{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 14px}.stats-bar-list[data-v-bb23808f]{display:flex;flex-direction:column;gap:10px}.stats-bar-row[data-v-bb23808f]{display:flex;align-items:center;gap:10px}.stats-bar-label[data-v-bb23808f]{font-size:13px;color:var(--text-secondary);min-width:80px}.stats-bar-track[data-v-bb23808f]{flex:1;height:8px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.stats-bar-fill[data-v-bb23808f]{height:100%;border-radius:10px;transition:width .5s}.stats-bar-val[data-v-bb23808f]{font-size:13px;font-weight:700;color:var(--text-primary);min-width:24px;text-align:right}.mini-bar-chart[data-v-bb23808f]{display:flex;align-items:flex-end;gap:8px;height:100px;padding-top:10px}.mini-bar-col[data-v-bb23808f]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.mini-bar-fill[data-v-bb23808f]{width:100%;max-width:28px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:6px;min-height:3px;transition:height .4s}.mini-bar-label[data-v-bb23808f]{font-size:11px;color:var(--text-muted);margin-top:4px;font-weight:700}@media (max-width: 768px){.stats-grid[data-v-bb23808f]{grid-template-columns:1fr}}.roadmap-page[data-v-002ca7fe]{animation:slideUp .3s ease}.roadmap-header[data-v-002ca7fe]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px}.roadmap-header h1[data-v-002ca7fe]{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.roadmap-timeline[data-v-002ca7fe]{position:relative;padding-left:40px}.timeline-line[data-v-002ca7fe]{position:absolute;left:19px;top:0;bottom:0;width:3px;border-radius:10px;opacity:.3}.timeline-node[data-v-002ca7fe]{position:relative;margin-bottom:24px}.timeline-node[data-v-002ca7fe]:last-child{margin-bottom:0}.node-dot[data-v-002ca7fe]{position:absolute;left:-40px;top:20px;width:38px;height:38px;border-radius:50%;background:var(--bg-tertiary);border:3px solid var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:2;font-size:14px;font-weight:700;color:var(--text-muted);transition:all .3s}.timeline-node.active .node-dot[data-v-002ca7fe]{box-shadow:0 0 0 6px #667eea33}.timeline-node.done .node-dot[data-v-002ca7fe]{box-shadow:0 0 0 6px #16a36233}.dot-number[data-v-002ca7fe]{font-size:13px}.node-card[data-v-002ca7fe]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:all .2s}.node-card[data-v-002ca7fe]:hover{box-shadow:0 4px 16px var(--shadow-color)}.timeline-node.done .node-card[data-v-002ca7fe]{opacity:.7}.timeline-node.done .node-card[data-v-002ca7fe]:hover{opacity:1}.node-card-header[data-v-002ca7fe]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.node-card-header h3[data-v-002ca7fe]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0;transition:color .3s}.node-actions[data-v-002ca7fe]{display:flex;align-items:center;gap:10px}.node-status[data-v-002ca7fe]{font-size:12px;font-weight:600;color:var(--text-muted)}.done-status[data-v-002ca7fe]{color:#16a34a}.active-status[data-v-002ca7fe]{color:#667eea}.node-desc[data-v-002ca7fe]{font-size:14px;color:var(--text-secondary);margin:0 0 12px;line-height:1.6}.node-date[data-v-002ca7fe]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin-bottom:12px}.node-date .overdue[data-v-002ca7fe]{color:#ef4444;font-weight:600}.node-progress[data-v-002ca7fe]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.progress-track[data-v-002ca7fe]{flex:1;height:6px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.progress-fill[data-v-002ca7fe]{height:100%;border-radius:10px;transition:width .6s}.progress-label[data-v-002ca7fe]{font-size:12px;color:var(--text-muted);font-weight:600;white-space:nowrap}.node-tasks[data-v-002ca7fe]{border-top:1px solid var(--border-color);padding-top:12px}.node-task[data-v-002ca7fe]{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px}.node-task.done[data-v-002ca7fe]{opacity:.5}.mini-check[data-v-002ca7fe]{width:18px;height:18px;border-radius:5px;border:2px solid var(--border-color);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;color:#fff}.mini-check[data-v-002ca7fe]:hover{border-color:#667eea}.mini-check.checked[data-v-002ca7fe]{background:#16a34a;border-color:#16a34a}.node-task-title[data-v-002ca7fe]{flex:1;color:var(--text-primary);transition:color .3s}.node-task.done .node-task-title[data-v-002ca7fe]{text-decoration:line-through;color:var(--text-muted)}.mini-badge[data-v-002ca7fe]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px}.btn-icon.sm[data-v-002ca7fe]{width:30px;height:30px;padding:0;border-radius:8px;background:var(--bg-tertiary);border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon.sm[data-v-002ca7fe]:hover{background:var(--bg-hover);color:var(--text-primary)}.empty-roadmap[data-v-002ca7fe]{text-align:center;padding:64px 20px}.empty-roadmap h3[data-v-002ca7fe]{font-size:18px;color:var(--text-secondary);margin:16px 0 4px}.empty-roadmap p[data-v-002ca7fe]{font-size:14px;color:var(--text-muted)}.modal-overlay[data-v-002ca7fe]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn-002ca7fe .2s}.modal-card[data-v-002ca7fe]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 4px 30px var(--shadow-color);animation:scaleIn-002ca7fe .25s}.modal-header[data-v-002ca7fe]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-002ca7fe]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.close-btn[data-v-002ca7fe]{width:36px;height:36px;border-radius:10px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn[data-v-002ca7fe]:hover{background:var(--bg-hover)}.modal-body[data-v-002ca7fe]{padding:24px}.modal-footer[data-v-002ca7fe]{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--border-color);margin-top:8px}@keyframes fadeIn-002ca7fe{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-002ca7fe{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 600px){.roadmap-header[data-v-002ca7fe]{flex-direction:column;gap:16px}.node-card-header[data-v-002ca7fe]{flex-direction:column;align-items:flex-start;gap:8px}.node-actions[data-v-002ca7fe]{width:100%;justify-content:space-between}}.cal-nav-wrapper[data-v-e66272e3]{display:flex;align-items:center}.cal-nav[data-v-e66272e3]{background:var(--bg-card);padding:6px 8px;border-radius:14px;border:1px solid var(--border-color);display:flex;align-items:center;gap:10px;box-shadow:0 4px 15px var(--shadow-color)}.cal-month[data-v-e66272e3]{font-size:16px;font-weight:700;color:var(--text-primary);min-width:150px;text-align:center;text-transform:capitalize}.btn-icon-only[data-v-e66272e3]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);border-radius:10px;cursor:pointer;transition:all .2s}.btn-icon-only[data-v-e66272e3]:hover{background:var(--bg-hover);color:var(--text-primary)}.cal-grid[data-v-e66272e3]{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-top:16px;background:var(--border-color);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.cal-day-name[data-v-e66272e3]{background:var(--bg-tertiary);text-align:center;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;padding:10px 0}.cal-cell[data-v-e66272e3]{background:var(--bg-card);padding:8px;min-height:90px;cursor:pointer;transition:background .2s;display:flex;flex-direction:column;gap:4px}.cal-cell[data-v-e66272e3]:hover{background:var(--bg-tertiary)}.cal-cell.other[data-v-e66272e3]{opacity:.5;background:var(--bg-primary)}.cal-cell.today[data-v-e66272e3]{background:#667eea0f}.cal-cell.today .cal-num[data-v-e66272e3]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;width:24px;height:24px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #667eea66;margin-bottom:2px}.cal-num[data-v-e66272e3]{font-size:14px;font-weight:700;color:var(--text-primary);transition:color .2s;display:inline-block;margin-bottom:2px}.cal-cell:hover:not(.today) .cal-num[data-v-e66272e3]{color:#667eea}.cal-tasks[data-v-e66272e3]{display:flex;flex-direction:column;gap:4px;flex:1}.cal-task-chip[data-v-e66272e3]{font-size:11px;color:var(--text-primary);padding:4px 6px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;background:var(--bg-primary);border-left:3px solid;transition:filter .2s;display:flex;align-items:center;gap:6px}.cal-task-chip[data-v-e66272e3]:before{content:"";width:6px;height:6px;border-radius:50%;opacity:.9;background-color:var(--chip-color);flex-shrink:0}.cal-task-chip[data-v-e66272e3]:hover{filter:brightness(.95)}.cal-task-chip.done[data-v-e66272e3]{opacity:.5;text-decoration:line-through}.cal-more[data-v-e66272e3]{font-size:11px;color:#667eea;font-weight:700;background:#667eea1a;padding:2px;border-radius:6px;text-align:center}.modal-overlay[data-v-e66272e3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-card[data-v-e66272e3]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;width:500px;max-width:95vw;max-height:80vh;overflow-y:auto;box-shadow:0 4px 30px var(--shadow-color)}.modal-header[data-v-e66272e3]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-e66272e3]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0;text-transform:capitalize}.close-btn[data-v-e66272e3]{width:36px;height:36px;border-radius:10px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-body[data-v-e66272e3]{padding:20px 24px}.day-task-row[data-v-e66272e3]{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-color)}.day-task-row[data-v-e66272e3]:last-child{border-bottom:none}.day-task-dot[data-v-e66272e3]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.day-task-title[data-v-e66272e3]{font-size:14px;font-weight:600;color:var(--text-primary);display:block}.day-task-title.done[data-v-e66272e3]{text-decoration:line-through;color:var(--text-muted)}.day-task-project[data-v-e66272e3]{font-size:12px;color:var(--text-muted)}.cal-type-label[data-v-e66272e3]{font-size:9px;opacity:.7;font-weight:700;text-transform:uppercase;margin-right:2px}@media (max-width: 768px){.cal-nav-wrapper[data-v-e66272e3]{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:8px;width:100%;padding-top:8px}.cal-today-btn[data-v-e66272e3]{min-width:70px;margin-left:0;font-size:13px;padding:6px 12px;flex-shrink:0}.cal-nav[data-v-e66272e3]{flex:1;min-width:0;justify-content:space-between;padding:6px 10px}.btn-icon-only[data-v-e66272e3]{width:30px;height:30px}.cal-month[data-v-e66272e3]{font-size:14px;min-width:auto}.modal-overlay[data-v-e66272e3]{align-items:center;padding:16px;justify-content:center}.modal-card[data-v-e66272e3]{width:100%;max-width:380px;border-radius:16px;margin:0;max-height:80dvh;display:flex;flex-direction:column}.modal-header[data-v-e66272e3]{padding:16px;flex-shrink:0}.modal-body[data-v-e66272e3]{padding:16px;overflow-y:auto}.cal-cell[data-v-e66272e3]{min-height:70px;padding:4px}.cal-day-name[data-v-e66272e3]{font-size:11px;padding:4px 0}.cal-tasks[data-v-e66272e3]{flex-direction:row;flex-wrap:wrap;gap:3px;justify-content:center}.cal-task-chip[data-v-e66272e3]{width:8px;height:8px;padding:0;border:none;background:var(--chip-color);border-radius:50%;color:transparent;overflow:hidden}.cal-task-chip[data-v-e66272e3]:before{display:none}.cal-num[data-v-e66272e3]{font-size:12px}.cal-cell.today .cal-num[data-v-e66272e3]{width:22px;height:22px;font-size:11px}.cal-more[data-v-e66272e3]{display:none}}.sidebar[data-v-d3dc1f00]{width:260px;background:linear-gradient(180deg,#1a1a2e,#16213e);color:#fff;display:flex;flex-direction:column;transition:width .3s ease;height:100vh;flex-shrink:0}.sidebar.collapsed[data-v-d3dc1f00]{width:70px}.sidebar-header[data-v-d3dc1f00]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);height:64px;box-sizing:border-box}.sidebar.collapsed .sidebar-header[data-v-d3dc1f00]{flex-direction:column;justify-content:center;gap:8px;padding:12px;height:auto;min-height:80px}.sidebar.collapsed .sidebar-header .logo[data-v-d3dc1f00]{justify-content:center}.sidebar.collapsed .sidebar-header .toggle-btn[data-v-d3dc1f00]{width:32px;height:32px;padding:6px}.logo[data-v-d3dc1f00]{display:flex;align-items:center;gap:12px}.logo-icon[data-v-d3dc1f00]{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.logo-text[data-v-d3dc1f00]{font-size:18px;font-weight:700;letter-spacing:-.5px;white-space:nowrap}.toggle-btn[data-v-d3dc1f00]{background:#ffffff1a;border:none;color:#fff;padding:8px;border-radius:8px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toggle-btn[data-v-d3dc1f00]:hover{background:#fff3}.sidebar-nav[data-v-d3dc1f00]{flex:1;padding:12px;overflow-y:auto}.nav-section-label[data-v-d3dc1f00]{font-size:10px;font-weight:700;letter-spacing:1px;color:#fff6;padding:16px 16px 8px}.nav-item[data-v-d3dc1f00]{display:flex;align-items:center;gap:12px;padding:11px 16px;color:#ffffffb3;text-decoration:none;border-radius:10px;margin-bottom:2px;transition:all .2s;cursor:pointer;font-size:14px;font-weight:500}.nav-item[data-v-d3dc1f00]:hover{background:#ffffff1a;color:#fff}.nav-item.active[data-v-d3dc1f00]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.nav-icon[data-v-d3dc1f00]{display:flex;align-items:center;justify-content:center;width:24px;text-align:center;flex-shrink:0}.nav-text[data-v-d3dc1f00]{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .nav-item[data-v-d3dc1f00]{justify-content:center;padding:14px}.sidebar.collapsed .nav-text[data-v-d3dc1f00],.sidebar.collapsed .nav-section-label[data-v-d3dc1f00]{display:none}.nav-project[data-v-d3dc1f00]{padding:9px 16px}.project-dot[data-v-d3dc1f00]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.project-count[data-v-d3dc1f00]{margin-left:auto;font-size:11px;font-weight:600;background:#ffffff26;padding:2px 8px;border-radius:10px;color:#ffffffb3}.nav-project.active .project-count[data-v-d3dc1f00]{background:#ffffff40;color:#fff}.sidebar-footer[data-v-d3dc1f00]{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.user-info[data-v-d3dc1f00]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.user-avatar[data-v-d3dc1f00]{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.user-details[data-v-d3dc1f00]{display:flex;flex-direction:column;overflow:hidden}.user-name[data-v-d3dc1f00]{font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-role[data-v-d3dc1f00]{font-size:12px;color:#ffffff80}.logout-btn[data-v-d3dc1f00]{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#dc354533;border:1px solid rgba(220,53,69,.3);color:#ff6b6b;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s}.logout-btn[data-v-d3dc1f00]:hover{background:#dc35454d}.sidebar.collapsed .logout-btn span[data-v-d3dc1f00]{display:none}@media (max-width: 768px){.sidebar[data-v-d3dc1f00]{position:fixed;top:0;left:0;bottom:0;z-index:100;transform:translate(-100%);box-shadow:4px 0 24px #00000080;width:260px!important}.sidebar.mobile-open[data-v-d3dc1f00]{transform:translate(0)}.sidebar-header .toggle-btn[data-v-d3dc1f00]{display:none}.sidebar.collapsed .nav-text[data-v-d3dc1f00],.sidebar.collapsed .nav-section-label[data-v-d3dc1f00],.sidebar.collapsed .logout-btn span[data-v-d3dc1f00]{display:block}.sidebar.collapsed .sidebar-header[data-v-d3dc1f00]{flex-direction:row;justify-content:space-between;padding:16px 20px;height:64px}.sidebar.collapsed .nav-item[data-v-d3dc1f00]{justify-content:flex-start;padding:11px 16px}}.login-page[data-v-8c4d26ae]{font-family:Manrope,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary, #0f172a);background-image:radial-gradient(circle at top right,rgba(102,126,234,.08),transparent 500px),radial-gradient(circle at bottom left,rgba(118,75,162,.08),transparent 500px);padding:20px}.login-card[data-v-8c4d26ae]{background:linear-gradient(145deg,#1e293be6,#0f172af2);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-top-color:#ffffff26;border-left-color:#ffffff1f;border-radius:24px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 24px 48px #0009,inset 0 1px #ffffff0d;animation:cardIn-8c4d26ae .6s cubic-bezier(.16,1,.3,1)}@keyframes cardIn-8c4d26ae{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo[data-v-8c4d26ae]{display:flex;justify-content:center;margin-bottom:24px;color:var(--text-primary, #fff)}.login-form-content[data-v-8c4d26ae]{width:100%}.login-form-content h2[data-v-8c4d26ae]{font-size:26px;text-align:center;margin-bottom:8px;color:var(--text-primary, #fff);font-weight:700}.login-form-content p[data-v-8c4d26ae]{color:var(--text-secondary, #94a3b8);margin-bottom:30px;text-align:center;font-size:14px}.login-form-content form[data-v-8c4d26ae]{display:flex;flex-direction:column}.login-form-content label[data-v-8c4d26ae]{display:block;font-size:13px;font-weight:600;color:var(--text-secondary, #cbd5e1);margin-bottom:8px}.login-form-content input[type=text][data-v-8c4d26ae],.login-form-content input[type=password][data-v-8c4d26ae]{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;height:48px;width:100%;margin-bottom:20px;padding:0 16px;font-family:inherit;font-size:14px;color:var(--text-primary, #fff);outline:none;transition:all .3s ease;box-shadow:inset 0 2px 4px #0000001a}.login-form-content input[data-v-8c4d26ae]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26,inset 0 2px 4px #0000001a;background:#ffffff0f}.login-form-content input[data-v-8c4d26ae]::placeholder{color:var(--text-muted, #64748b)}.login-form-content button[data-v-8c4d26ae]{background:linear-gradient(135deg,#667eea,#764ba2);width:100%;border:none;border-radius:12px;height:48px;color:#fff;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 15px #667eea40;margin-top:10px}.login-form-content button[data-v-8c4d26ae]:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.login-form-content button[data-v-8c4d26ae]:disabled{opacity:.7;cursor:not-allowed}.login-error[data-v-8c4d26ae]{color:#ef4444;font-size:13px;margin-bottom:12px;padding:12px 16px;background:#ef44441a;border-radius:12px;border:1px solid rgba(239,68,68,.2);display:flex;align-items:center}.btn-loader[data-v-8c4d26ae]{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-8c4d26ae .6s linear infinite}@keyframes spin-8c4d26ae{to{transform:rotate(360deg)}}@media (max-width: 480px){.login-card[data-v-8c4d26ae]{padding:30px 20px}.login-form-content h2[data-v-8c4d26ae]{font-size:24px}}.main-content[data-v-e66fab2d]{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;transition:margin-left .3s ease}.top-header[data-v-e66fab2d]{background:var(--bg-secondary, #fff);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px var(--shadow-color, rgba(0, 0, 0, .1));z-index:50;transition:background .3s ease;height:64px;flex-shrink:0;box-sizing:border-box}.header-left[data-v-e66fab2d]{display:flex;align-items:center;gap:16px}.mobile-menu-btn[data-v-e66fab2d]{display:none;background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:4px;border-radius:8px;transition:background .2s}.mobile-menu-btn[data-v-e66fab2d]:hover{background:var(--bg-tertiary)}.page-title[data-v-e66fab2d]{font-size:20px;font-weight:600;color:var(--text-primary, #1a1a2e);transition:color .3s ease;margin:0}.header-right[data-v-e66fab2d]{display:flex;align-items:center}.header-actions[data-v-e66fab2d]{display:flex;gap:12px;align-items:center}.global-search[data-v-e66fab2d]{position:relative;display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;padding:6px 12px;transition:all .2s}.global-search.focused[data-v-e66fab2d]{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.global-search svg[data-v-e66fab2d]{color:var(--text-muted);flex-shrink:0}.search-input[data-v-e66fab2d]{background:transparent;border:none;outline:none;font-size:13px;color:var(--text-primary);width:180px}.search-input[data-v-e66fab2d]::placeholder{color:var(--text-muted)}.search-dropdown[data-v-e66fab2d]{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px var(--shadow-color);z-index:999;overflow:hidden;min-width:280px}.search-group[data-v-e66fab2d]{padding:8px}.search-group h5[data-v-e66fab2d]{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:6px 10px 4px;margin:0}.search-item[data-v-e66fab2d]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .15s}.search-item[data-v-e66fab2d]:hover{background:var(--bg-tertiary)}.search-dot[data-v-e66fab2d]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.notif-wrapper[data-v-e66fab2d]{position:relative}.notif-btn[data-v-e66fab2d]{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.notif-btn[data-v-e66fab2d]:hover{color:var(--text-primary);border-color:#667eea}.notif-badge[data-v-e66fab2d]{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notif-dropdown[data-v-e66fab2d]{position:absolute;top:calc(100% + 8px);right:0;width:340px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 8px 30px var(--shadow-color);z-index:999;overflow:hidden}.notif-header[data-v-e66fab2d]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color)}.notif-header h4[data-v-e66fab2d]{font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.notif-read-all[data-v-e66fab2d]{background:none;border:none;color:#667eea;font-size:12px;font-weight:600;cursor:pointer}.notif-list[data-v-e66fab2d]{max-height:320px;overflow-y:auto}.notif-item[data-v-e66fab2d]{display:flex;gap:10px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-color)}.notif-item[data-v-e66fab2d]:hover{background:var(--bg-tertiary)}.notif-item.unread[data-v-e66fab2d]{background:#667eea0d}.notif-dot[data-v-e66fab2d]{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.notif-body[data-v-e66fab2d]{flex:1}.notif-title[data-v-e66fab2d]{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.notif-msg[data-v-e66fab2d]{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:3px}.notif-time[data-v-e66fab2d]{font-size:11px;color:var(--text-muted)}.notif-empty[data-v-e66fab2d]{text-align:center;font-size:13px;color:var(--text-muted);padding:24px;margin:0}.content-wrapper[data-v-e66fab2d]{flex:1;padding:24px;background:var(--bg-primary, #f5f7fa);transition:background .3s ease;overflow-y:auto;height:100%}.toast-container[data-v-e66fab2d]{position:fixed;top:24px;right:24px;z-index:99999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-item[data-v-e66fab2d]{display:flex;align-items:center;gap:12px;padding:14px 18px;min-width:320px;max-width:440px;border-radius:14px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;pointer-events:all;position:relative;overflow:hidden}.toast-success[data-v-e66fab2d]{background:linear-gradient(135deg,#16a362f2,#10b981eb);color:#fff}.toast-error[data-v-e66fab2d]{background:linear-gradient(135deg,#ef4444f2,#dc2626eb);color:#fff}.toast-warning[data-v-e66fab2d]{background:linear-gradient(135deg,#f59e0bf2,#eab308eb);color:#fff}.toast-info[data-v-e66fab2d]{background:linear-gradient(135deg,#667eeaf2,#764ba2eb);color:#fff}.toast-icon[data-v-e66fab2d]{width:36px;height:36px;border-radius:10px;background:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-content[data-v-e66fab2d]{flex:1}.toast-message[data-v-e66fab2d]{font-size:14px;font-weight:600;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.1)}.toast-close[data-v-e66fab2d]{width:28px;height:28px;border-radius:8px;border:none;background:#ffffff26;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}.toast-close[data-v-e66fab2d]:hover{background:#ffffff4d}.toast-progress[data-v-e66fab2d]{position:absolute;bottom:0;left:0;height:3px;background:#fff6;border-radius:0 0 14px 14px;animation:toast-timer-e66fab2d linear forwards;width:100%}@keyframes toast-timer-e66fab2d{0%{width:100%}to{width:0%}}.toast-anim-enter-active[data-v-e66fab2d]{animation:toastSlideIn-e66fab2d .4s cubic-bezier(.21,1.02,.73,1)}.toast-anim-leave-active[data-v-e66fab2d]{animation:toastSlideOut-e66fab2d .3s cubic-bezier(.06,.71,.55,1) forwards}@keyframes toastSlideIn-e66fab2d{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut-e66fab2d{0%{transform:translate(0);opacity:1;max-height:80px;margin-bottom:10px}to{transform:translate(120%);opacity:0;max-height:0;margin-bottom:0;padding:0}}.theme-switch[data-v-e66fab2d]{--toggle-size: 12px;--container-width: 5.625em;--container-height: 2.5em;--container-radius: 6.25em;--container-light-bg: #3D7EAE;--container-night-bg: #1D1F2C;--circle-container-diameter: 3.375em;--sun-moon-diameter: 2.125em;--sun-bg: #ECCA2F;--moon-bg: #C4C9D1;--spot-color: #959DB1;--circle-container-offset: calc((var(--circle-container-diameter) - var(--container-height)) / 2 * -1);--stars-color: #fff;--clouds-color: #F3FDFF;--back-clouds-color: #AACADF;--transition: .5s cubic-bezier(0, -.02, .4, 1.25);--circle-transition: .3s cubic-bezier(0, -.02, .35, 1.17)}.theme-switch[data-v-e66fab2d],.theme-switch[data-v-e66fab2d] *,.theme-switch[data-v-e66fab2d] *:before,.theme-switch[data-v-e66fab2d] *:after{box-sizing:border-box;margin:0;padding:0;font-size:var(--toggle-size)}.theme-switch__container[data-v-e66fab2d]{width:var(--container-width);height:var(--container-height);background-color:var(--container-light-bg);border-radius:var(--container-radius);overflow:hidden;cursor:pointer;box-shadow:0 -.062em .062em #00000040,0 .062em .125em #fffffff0;transition:var(--transition);position:relative}.theme-switch__container[data-v-e66fab2d]:before{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;box-shadow:0 .05em .187em #00000040 inset;border-radius:var(--container-radius)}.theme-switch__checkbox[data-v-e66fab2d]{display:none}.theme-switch__circle-container[data-v-e66fab2d]{width:var(--circle-container-diameter);height:var(--circle-container-diameter);background-color:#ffffff1a;position:absolute;left:var(--circle-container-offset);top:var(--circle-container-offset);border-radius:var(--container-radius);box-shadow:inset 0 0 0 3.375em #ffffff1a,0 0 0 .625em #ffffff1a,0 0 0 1.25em #ffffff1a;display:flex;transition:var(--circle-transition);pointer-events:none}.theme-switch__sun-moon-container[data-v-e66fab2d]{pointer-events:auto;position:relative;z-index:2;width:var(--sun-moon-diameter);height:var(--sun-moon-diameter);margin:auto;border-radius:var(--container-radius);background-color:var(--sun-bg);box-shadow:.062em .062em .062em #feffef9c inset,0 -.062em .062em #a1872a inset;filter:drop-shadow(.062em .125em .125em rgba(0,0,0,.25));overflow:hidden;transition:var(--transition)}.theme-switch__moon[data-v-e66fab2d]{transform:translate(100%);width:100%;height:100%;background-color:var(--moon-bg);border-radius:inherit;box-shadow:.062em .062em .062em #feffef9c inset,0 -.062em .062em #969696 inset;transition:var(--transition);position:relative}.theme-switch__spot[data-v-e66fab2d]{position:absolute;top:.75em;left:.312em;width:.75em;height:.75em;border-radius:var(--container-radius);background-color:var(--spot-color);box-shadow:0 .0312em .062em #00000040 inset}.theme-switch__spot[data-v-e66fab2d]:nth-of-type(2){width:.375em;height:.375em;top:.937em;left:1.375em}.theme-switch__spot[data-v-e66fab2d]:nth-last-of-type(3){width:.25em;height:.25em;top:.312em;left:.812em}.theme-switch__clouds[data-v-e66fab2d]{width:1.25em;height:1.25em;background-color:var(--clouds-color);border-radius:var(--container-radius);position:absolute;bottom:-.625em;left:.312em;box-shadow:.937em .312em var(--clouds-color),-.312em -.312em var(--back-clouds-color),1.437em .375em var(--clouds-color),.5em -.125em var(--back-clouds-color),2.187em 0 var(--clouds-color),1.25em -.062em var(--back-clouds-color),2.937em .312em var(--clouds-color),2em -.312em var(--back-clouds-color),3.625em -.062em var(--clouds-color),2.625em 0 var(--back-clouds-color),4.5em -.312em var(--clouds-color),3.375em -.437em var(--back-clouds-color),4.625em -1.75em 0 .437em var(--clouds-color),4em -.625em var(--back-clouds-color),4.125em -2.125em 0 .437em var(--back-clouds-color);transition:.5s cubic-bezier(0,-.02,.4,1.25)}.theme-switch__stars-container[data-v-e66fab2d]{position:absolute;color:var(--stars-color);top:-100%;left:.312em;width:2.75em;height:auto;transition:var(--transition)}.theme-switch__checkbox:checked+.theme-switch__container[data-v-e66fab2d]{background-color:var(--container-night-bg)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container[data-v-e66fab2d]{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter))}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container[data-v-e66fab2d]:hover{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter) - .187em)}.theme-switch__circle-container[data-v-e66fab2d]:hover{left:calc(var(--circle-container-offset) + .187em)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__moon[data-v-e66fab2d]{transform:translate(0)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__clouds[data-v-e66fab2d]{bottom:-4.062em}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__stars-container[data-v-e66fab2d]{top:50%;transform:translateY(-50%)}.mobile-overlay[data-v-e66fab2d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 768px){.mobile-menu-btn[data-v-e66fab2d]{display:flex}.top-header[data-v-e66fab2d]{padding:12px;gap:8px}.header-left[data-v-e66fab2d]{gap:8px}.page-title[data-v-e66fab2d]{font-size:16px}.content-wrapper[data-v-e66fab2d]{padding:16px}.search-input[data-v-e66fab2d]{width:70px;font-size:12px}.global-search[data-v-e66fab2d]{padding:6px 8px;gap:4px}.global-search.focused .search-input[data-v-e66fab2d]{width:120px}.header-actions[data-v-e66fab2d]{gap:6px}.notif-btn[data-v-e66fab2d]{width:32px;height:32px}.theme-switch[data-v-e66fab2d]{--toggle-size: 9px}}@media (max-width: 400px){.page-title[data-v-e66fab2d]{display:none}.search-input[data-v-e66fab2d]{width:100px}}:root{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #f5f7fa;--bg-hover: #e2e8f0;--bg-card: #ffffff;--bg-overlay: rgba(255, 255, 255, .9);--text-primary: #1a1a2e;--text-secondary: #64748b;--text-muted: #9ca3af;--border-color: #e5e7eb;--shadow-color: rgba(0, 0, 0, .1);--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-solid: #667eea;--accent-hover: #5a72d6}:root.dark-theme{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--bg-card: #1e293b;--bg-overlay: rgba(15, 23, 42, .9);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--shadow-color: rgba(0, 0, 0, .3)}*,*:after,*:before{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{margin:0;padding:0;font-family:Manrope,sans-serif;font-weight:500;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}a{text-decoration:none}a,label,span,div{-webkit-tap-highlight-color:transparent}ul,li{list-style:none}img{max-width:100%}::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}.app-root{width:100%;height:100vh;overflow:hidden}.app-layout{display:flex;min-height:100vh;background:var(--bg-primary);transition:background .3s ease}.app-main{flex:1;overflow-y:auto;overflow-x:hidden;padding:28px 32px;background:var(--bg-primary);transition:background .3s ease}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.page-header h1{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;transition:color .3s ease}.page-header-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px;transition:color .3s ease}.form-group{margin-bottom:18px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.input,.select,.textarea{width:100%;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-family:inherit;font-size:14px;transition:all .2s ease;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-solid);box-shadow:0 0 0 3px #667eea26}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}.select option{background:var(--bg-card);color:var(--text-primary)}.textarea{resize:vertical;min-height:80px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;outline:none;white-space:nowrap}.btn:hover{opacity:.9}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-1px);opacity:1}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);opacity:1}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 14px}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary);opacity:1}.btn-danger{background:#dc35451a;color:#ef4444;border:1px solid rgba(220,53,69,.2)}.btn-danger:hover{background:#dc354533;opacity:1}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:13px 30px;font-size:15px}.btn-icon{width:36px;height:36px;padding:0;border-radius:10px;background:var(--bg-tertiary);border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-todo{background:var(--bg-tertiary);color:var(--text-secondary)}.badge-bugfix{background:#ef44441a;color:#ef4444}.badge-idea{background:#eab3081a;color:#ca8a04}.badge-evaluate{background:#f973161a;color:#ea580c}.badge-feature{background:#16a3621a;color:#16a34a}.badge-improvement{background:#667eea1a;color:#667eea}.badge-priority-low{background:#16a3621a;color:#16a34a}.badge-priority-normal{background:#667eea1a;color:#667eea}.badge-priority-high{background:#f973161a;color:#ea580c}.badge-priority-urgent{background:#ef44441a;color:#ef4444}.card{background:var(--bg-card);border-radius:16px;box-shadow:0 1px 3px var(--shadow-color);transition:all .3s ease}.card:hover{box-shadow:0 4px 12px var(--shadow-color)}.toast{position:fixed;top:24px;right:24px;padding:14px 22px;border-radius:12px;font-size:14px;font-weight:600;z-index:10000;animation:toastSlide .4s ease;box-shadow:0 4px 20px var(--shadow-color)}.toast-success{background:#16a36226;color:#16a34a;border:1px solid rgba(22,163,98,.3)}.toast-error{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}@keyframes toastSlide{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.loading-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--bg-primary)}.loader{display:flex;gap:8px}.loader-dot{width:10px;height:10px;border-radius:50%;background:#667eea;animation:loaderPulse 1.2s infinite ease-in-out}.loader-dot:nth-child(2){animation-delay:.2s;background:#764ba2}.loader-dot:nth-child(3){animation-delay:.4s;background:#667eea}@keyframes loaderPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}.loading-text{font-size:20px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center}.empty-state svg{margin-bottom:16px;color:var(--text-muted)}.empty-state h3{font-size:16px;color:var(--text-secondary);margin-bottom:4px}.empty-state p{font-size:14px;color:var(--text-muted)}@media (max-width: 768px){.app-main{padding:16px}.form-row{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}}@media (max-width: 1023px){.app-main{padding:16px}}
