*{box-sizing:border-box;margin:0;padding:0}body{background:#f8fafb;margin:0;font-family:Outfit,sans-serif}.yearly-view[data-v-becaf179]{background:#f8fafb;min-height:100vh;padding:40px 20px;font-family:Outfit,sans-serif;position:relative}.header[data-v-becaf179]{text-align:center;margin-bottom:36px}.year-nav[data-v-becaf179]{justify-content:center;align-items:center;gap:20px;margin-bottom:6px;display:flex}.nav-btn[data-v-becaf179]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000f}.nav-btn[data-v-becaf179]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.year-title[data-v-becaf179]{letter-spacing:-2px;background:linear-gradient(135deg,#0f172a,#334155);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:56px;font-weight:900}.subtitle[data-v-becaf179]{color:#94a3b8;letter-spacing:3px;margin:0;font-family:DM Mono,monospace;font-size:13px}.progress-bar[data-v-becaf179]{justify-content:center;align-items:center;gap:10px;margin-top:16px;display:flex}.bar-track[data-v-becaf179]{background:#e2e8f0;border-radius:3px;width:180px;height:6px;overflow:hidden}.bar-fill[data-v-becaf179]{background:linear-gradient(90deg,#2dd4bf,#38bdf8,#818cf8);border-radius:3px;height:100%;transition:width .6s}.pct-label[data-v-becaf179]{color:#2dd4bf;font-family:DM Mono,monospace;font-size:12px;font-weight:500}.months-grid[data-v-becaf179]{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 20px;max-width:1100px;margin:0 auto;display:grid}.mini-month[data-v-becaf179]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #eef0f4;border-radius:14px;padding:14px 14px 12px;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 1px 2px #0f172a0a}.mini-month[data-v-becaf179]:hover{border-color:#dbe1ea;transform:translateY(-2px);box-shadow:0 8px 22px #0f172a14}.mini-month.has-today[data-v-becaf179]{border-color:#fecaca;box-shadow:0 0 0 1px #fecaca,0 8px 22px #dc262614}.mini-head[data-v-becaf179]{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.mini-title[data-v-becaf179]{letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700}.mini-badge[data-v-becaf179]{color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.weekdays[data-v-becaf179]{color:#94a3b8;text-align:center;letter-spacing:.3px;border-bottom:1px solid #f1f5f9;grid-template-columns:repeat(7,1fr);padding:0 2px 4px;font-size:10px;font-weight:600;display:grid}.dates[data-v-becaf179]{grid-template-columns:repeat(7,1fr);gap:2px;padding-top:4px;display:grid}.date-cell[data-v-becaf179]{aspect-ratio:1;color:#1e293b;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex;position:relative}.date-cell .num[data-v-becaf179]{line-height:1}.date-cell.is-out[data-v-becaf179]{color:#cbd5e1;font-weight:400}.date-cell.is-today[data-v-becaf179]{color:#fff;background:#dc2626;font-weight:700}.date-cell.is-today .num[data-v-becaf179]{color:#fff}.date-cell .dot[data-v-becaf179]{opacity:.85;border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.date-cell.is-today .dot[data-v-becaf179],.mobile-timeline[data-v-becaf179]{display:none}.m-card[data-v-becaf179]{cursor:pointer;background:#fff;border-left:4px solid;border-radius:12px;padding:14px 16px;transition:transform .15s,box-shadow .15s;animation:.3s both fadeIn-becaf179}.m-card[data-v-becaf179]:active{transform:scale(.98)}.m-card-head[data-v-becaf179]{justify-content:space-between;align-items:center;display:flex}.m-card-month[data-v-becaf179]{font-size:16px;font-weight:700}.m-card-badge[data-v-becaf179]{color:#fff;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;display:flex}.m-card-stats[data-v-becaf179]{color:#64748b;margin-top:6px;font-size:12px}.m-card-bar[data-v-becaf179]{background:#f1f5f9;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.m-card-bar-fill[data-v-becaf179]{border-radius:2px;height:100%;transition:width .4s}.m-card-empty[data-v-becaf179]{color:#cbd5e1;margin-top:4px;font-size:12px;font-style:italic}.action-btns[data-v-becaf179]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px;display:flex}.action-btn[data-v-becaf179]{color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:10px;padding:12px 22px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.action-btn[data-v-becaf179]:hover{transform:translateY(-2px)}.dashboard-btn[data-v-becaf179]{background:linear-gradient(135deg,#f97316,#ef4444);box-shadow:0 4px 16px #f973164d}.projects-btn[data-v-becaf179]{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 16px #4f46e54d}.features-btn[data-v-becaf179]{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 4px 16px #2563eb4d}.skills-btn[data-v-becaf179]{background:linear-gradient(135deg,#7c3aed,#a78bfa);box-shadow:0 4px 16px #7c3aed4d}.gantt-btn[data-v-becaf179]{background:linear-gradient(135deg,#0f172a,#334155);box-shadow:0 4px 16px #0f172a33}.kanban-btn[data-v-becaf179]{background:linear-gradient(135deg,#16a34a,#0d9488);box-shadow:0 4px 16px #16a34a4d}.legend[data-v-becaf179]{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:28px;display:flex}.legend-item[data-v-becaf179]{align-items:center;gap:6px;display:flex}.legend-dot[data-v-becaf179]{border-radius:50%;width:10px;height:10px}.legend-item span[data-v-becaf179]{color:#64748b;font-size:12px}.hint[data-v-becaf179]{text-align:center;color:#94a3b8;margin-top:16px;font-size:13px}@media (width<=1100px){.months-grid[data-v-becaf179]{grid-template-columns:repeat(3,minmax(0,1fr));max-width:880px}}@media (width<=820px){.months-grid[data-v-becaf179]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}}@media (width<=768px){.yearly-view[data-v-becaf179]{padding:20px 12px}.header[data-v-becaf179]{margin-bottom:20px}.year-title[data-v-becaf179]{font-size:36px}.subtitle[data-v-becaf179]{letter-spacing:2px;font-size:10px}.months-grid[data-v-becaf179]{display:none}.mobile-timeline[data-v-becaf179]{flex-direction:column;gap:8px;max-width:500px;margin:0 auto;display:flex}.action-btns[data-v-becaf179]{flex-direction:column;align-items:stretch;gap:8px;margin-top:24px}.action-btn[data-v-becaf179]{justify-content:center;padding:12px 20px;font-size:14px}.legend[data-v-becaf179]{gap:12px;margin-top:20px}.legend-item span[data-v-becaf179]{font-size:10px}.hint[data-v-becaf179]{margin-top:16px;font-size:11px}}@media (width<=480px){.year-title[data-v-becaf179]{font-size:28px}}@keyframes fadeIn-becaf179{0%{opacity:0}to{opacity:1}}.overlay[data-v-f6dd6585]{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a80;justify-content:center;align-items:center;animation:.2s fadeIn-f6dd6585;display:flex;position:fixed;inset:0}.picker[data-v-f6dd6585]{background:#fff;border-radius:20px;width:92%;max-width:560px;max-height:80vh;padding:24px 28px;overflow-y:auto;box-shadow:0 24px 80px #00000026}.picker-header[data-v-f6dd6585]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.picker-header h3[data-v-f6dd6585]{color:#1e293b;margin:0;font-size:18px;font-weight:700}.close-btn[data-v-f6dd6585]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.search-input[data-v-f6dd6585]{color:#1e293b;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;margin-bottom:16px;padding:10px 14px;font-family:Outfit,sans-serif;font-size:14px}.empty[data-v-f6dd6585]{text-align:center;color:#cbd5e1;padding:30px;font-size:13px;font-style:italic}.project-group[data-v-f6dd6585]{margin-bottom:16px}.project-label[data-v-f6dd6585]{color:#1e293b;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.proj-dot[data-v-f6dd6585]{border-radius:2px;width:8px;height:8px}.team-group[data-v-f6dd6585]{margin-bottom:10px;margin-left:16px}.team-label[data-v-f6dd6585]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.team-icon[data-v-f6dd6585]{color:#fff;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;font-weight:700;display:flex}.feature-item[data-v-f6dd6585]{cursor:pointer;border:1px solid #f1f5f9;border-radius:10px;margin-bottom:6px;padding:10px 14px;transition:all .15s}.feature-item[data-v-f6dd6585]:hover:not(.scheduled){background:#f8fafc;border-color:#e2e8f0}.feature-item.scheduled[data-v-f6dd6585]{opacity:.5;cursor:not-allowed;background:#f8fafc}.feat-info[data-v-f6dd6585]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feat-title[data-v-f6dd6585]{color:#1e293b;font-size:14px;font-weight:600}.priority-tag[data-v-f6dd6585]{border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.team-chip[data-v-f6dd6585]{color:#059669;background:#d1fae5;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.scheduled-tag[data-v-f6dd6585]{color:#94a3b8;font-size:10px;font-style:italic}.feat-desc[data-v-f6dd6585]{color:#64748b;margin-top:4px;font-size:12px}.feat-meta[data-v-f6dd6585]{color:#94a3b8;margin-top:4px;font-size:11px}@keyframes fadeIn-f6dd6585{0%{opacity:0}to{opacity:1}}.month-detail[data-v-8924669a]{background:#f8fafb;max-width:860px;min-height:100vh;margin:0 auto;padding:32px 20px;font-family:Outfit,sans-serif}.top-bar[data-v-8924669a]{align-items:center;gap:16px;margin-bottom:32px;display:flex}.back-btn[data-v-8924669a]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;box-shadow:0 1px 3px #0000000f}.top-info[data-v-8924669a]{flex:1}.top-info h2[data-v-8924669a]{color:#1e293b;margin:0;font-size:28px;font-weight:800}.top-sub[data-v-8924669a]{color:#94a3b8;letter-spacing:1.5px;margin:2px 0 0;font-family:DM Mono,monospace;font-size:12px}.pct-box[data-v-8924669a]{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 18px;box-shadow:0 1px 3px #0000000a}.pct-val[data-v-8924669a]{font-size:22px;font-weight:800}.pct-count[data-v-8924669a]{color:#94a3b8;font-size:11px}.filter-bar[data-v-8924669a]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filter-select[data-v-8924669a]{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:8px 12px;font-family:Outfit,sans-serif;font-size:13px}.filter-select[data-v-8924669a]:focus{border-color:#94a3b8}.filter-count[data-v-8924669a]{color:#94a3b8;font-family:DM Mono,monospace;font-size:12px}.filter-clear[data-v-8924669a]{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;padding:6px 12px;font-family:Outfit,sans-serif;font-size:12px}.filter-clear[data-v-8924669a]:hover{background:#f1f5f9}.add-feature-row[data-v-8924669a]{margin-bottom:20px}.add-feature-btn[data-v-8924669a]{color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600}.empty-features[data-v-8924669a]{color:#cbd5e1;text-align:center;background:#fff;border:1px dashed #e2e8f0;border-radius:14px;padding:40px 20px;font-size:14px;font-style:italic}.feature-card[data-v-8924669a]{background:#fff;border:1px solid #e2e8f0;border-left:3px solid;border-radius:14px;margin-bottom:12px;padding:18px 20px;animation:.3s both fadeSlideUp-8924669a;box-shadow:0 1px 4px #00000008}.card-header[data-v-8924669a]{align-items:flex-start;gap:12px;display:flex}.status-circle[data-v-8924669a]{cursor:pointer;border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;display:flex}.card-content[data-v-8924669a]{flex:1;min-width:0}.title-row[data-v-8924669a]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;display:flex}.feat-title[data-v-8924669a]{color:#1e293b;font-size:16px;font-weight:700}.feat-title.done[data-v-8924669a]{opacity:.6;text-decoration:line-through}.feat-duration[data-v-8924669a]{color:#94a3b8;margin-bottom:4px;font-family:DM Mono,monospace;font-size:12px}.tag[data-v-8924669a]{border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.project-tag[data-v-8924669a]{color:#4f46e5;background:#e0e7ff}.team-tag[data-v-8924669a]{color:#059669;background:#d1fae5}.task-section[data-v-8924669a]{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.task-progress-row[data-v-8924669a]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.task-progress-track[data-v-8924669a]{background:#f1f5f9;border-radius:2px;flex:1;height:4px;overflow:hidden}.task-progress-fill[data-v-8924669a]{background:linear-gradient(90deg,#2dd4bf,#22c55e);border-radius:2px;height:100%;transition:width .3s}.task-progress-label[data-v-8924669a]{color:#94a3b8;font-family:DM Mono,monospace;font-size:11px}.task-item[data-v-8924669a]{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 0;transition:background .1s;display:flex}.task-item[data-v-8924669a]:hover{background:#f8fafc}.task-checkbox[data-v-8924669a]{border:2px solid #cbd5e1;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:all .15s;display:flex}.task-checkbox.checked[data-v-8924669a]{background:#22c55e;border-color:#22c55e}.task-title[data-v-8924669a]{color:#1e293b;flex:1;font-size:13px}.task-title.task-done[data-v-8924669a]{color:#94a3b8;text-decoration:line-through}.task-del[data-v-8924669a]{color:#cbd5e1;cursor:pointer;opacity:0;background:0 0;border:none;padding:2px 4px;font-size:14px;transition:opacity .15s}.task-item:hover .task-del[data-v-8924669a]{opacity:1}.task-del[data-v-8924669a]:hover{color:#ef4444}.task-target[data-v-8924669a]{color:#94a3b8;background:#f1f5f9;border-radius:4px;flex-shrink:0;padding:1px 6px;font-family:DM Mono,monospace;font-size:10px}.task-team-tag[data-v-8924669a]{color:#059669;background:#d1fae5;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:600}.task-item.task-overdue[data-v-8924669a]{background:#fef2f2;border-radius:6px;margin:0 -6px;padding:4px 6px}.task-item.task-overdue .task-target[data-v-8924669a]{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.task-overdue-badge[data-v-8924669a]{color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:700}.add-task-btn[data-v-8924669a]{color:#94a3b8;cursor:pointer;background:0 0;border:none;margin-top:6px;padding:4px 0;font-family:Outfit,sans-serif;font-size:12px;font-weight:500}.add-task-btn[data-v-8924669a]:hover{color:#64748b}.target-week-options[data-v-8924669a]{flex-wrap:wrap;gap:6px;display:flex}.tw-option[data-v-8924669a]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px;font-family:DM Mono,monospace;font-size:11px;font-weight:500;transition:all .15s}.tw-option[data-v-8924669a]:hover{border-color:#94a3b8}.tw-option.active[data-v-8924669a]{color:#fff;background:#059669;border-color:#059669}.duration-modal[data-v-8924669a]{max-width:440px}.dur-feature-name[data-v-8924669a]{color:#1e293b;margin-bottom:16px;font-size:16px;font-weight:700}.dur-range-box[data-v-8924669a]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;margin-bottom:16px;padding:16px;display:flex}.dur-point[data-v-8924669a]{flex:1}.dur-point-label[data-v-8924669a]{color:#94a3b8;letter-spacing:1px;margin-bottom:6px;font-size:10px;font-weight:700}.dur-point-value[data-v-8924669a]{font-size:15px;font-weight:700}.dur-arrow[data-v-8924669a]{color:#cbd5e1;flex-shrink:0;font-size:20px}.dur-end-selects[data-v-8924669a]{gap:6px;display:flex}.dur-select[data-v-8924669a]{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;flex:1;padding:8px 10px;font-family:Outfit,sans-serif;font-size:13px}.dur-summary-bar[data-v-8924669a]{background:#f1f5f9;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.dur-summary-fill[data-v-8924669a]{border-radius:4px;height:100%;transition:width .3s}.dur-summary-text[data-v-8924669a]{text-align:center;color:#64748b;margin-bottom:4px;font-size:14px}.feat-desc[data-v-8924669a]{color:#64748b;margin:4px 0;font-size:13px;line-height:1.5}.feat-meta[data-v-8924669a]{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.meta-item[data-v-8924669a]{color:#64748b;align-items:center;gap:6px;font-size:12px;display:flex}.needs-item[data-v-8924669a]{color:#94a3b8}.avatar[data-v-8924669a]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;font-weight:700;display:flex}.del-btn[data-v-8924669a]{color:#ef4444;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.overlay[data-v-8924669a]{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-8924669a]{background:#fff;border-radius:20px;width:92%;max-width:480px;max-height:85vh;padding:28px 32px;overflow-y:auto;box-shadow:0 24px 80px #00000026}.modal-header[data-v-8924669a]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3[data-v-8924669a]{color:#1e293b;margin:0;font-size:18px;font-weight:700}.close-btn[data-v-8924669a]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.field[data-v-8924669a]{margin-bottom:16px}.field label[data-v-8924669a]{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.field input[data-v-8924669a],.field textarea[data-v-8924669a],.field select[data-v-8924669a]{color:#1e293b;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-family:Outfit,sans-serif;font-size:14px}.field textarea[data-v-8924669a]{resize:vertical;min-height:60px}.field select[data-v-8924669a]{cursor:pointer}.field-row[data-v-8924669a]{gap:12px;display:flex}.field-row .field[data-v-8924669a]{flex:1}.currency-input[data-v-8924669a]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;display:flex;overflow:hidden}.currency-prefix[data-v-8924669a]{color:#94a3b8;flex-shrink:0;padding:10px 0 10px 14px;font-family:DM Mono,monospace;font-size:14px;font-weight:500}.currency-input input[data-v-8924669a]{color:#1e293b;background:0 0;border:none;outline:none;flex:1;width:100%;padding:10px 14px 10px 6px;font-family:DM Mono,monospace;font-size:14px}.save-btn[data-v-8924669a]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:12px;width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:600}.top-icon-wrap[data-v-8924669a]{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:box-shadow .2s;display:flex;position:relative;box-shadow:0 1px 3px #0000000f}.top-icon-wrap[data-v-8924669a]:hover{box-shadow:0 4px 12px #0000001a}.edit-icon-badge[data-v-8924669a]{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;display:flex;position:absolute;bottom:-4px;right:-4px}.icon-picker-modal[data-v-8924669a]{background:#fff;border-radius:20px;width:92%;max-width:360px;padding:24px 28px;box-shadow:0 24px 80px #00000026}.icon-grid[data-v-8924669a]{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px;display:grid}.icon-option[data-v-8924669a]{aspect-ratio:1;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:100%;transition:all .15s;display:flex}.icon-option[data-v-8924669a]:hover{background:#f8fafc;border-color:#94a3b8}.icon-option.active[data-v-8924669a]{background:#f0fdf4;border-color:currentColor;box-shadow:0 0 0 3px #05966926}@keyframes fadeSlideUp-8924669a{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.gantt-page[data-v-2b520083]{background:#f8fafb;max-width:1200px;min-height:100vh;margin:0 auto;padding:32px 20px;font-family:Outfit,sans-serif}.top-bar[data-v-2b520083]{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.year-nav[data-v-2b520083]{flex:1;align-items:center;gap:12px;min-width:200px;display:flex}.nav-btn[data-v-2b520083]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000f}.nav-btn[data-v-2b520083]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.top-info[data-v-2b520083]{text-align:center;flex:1}.top-info h2[data-v-2b520083]{color:#1e293b;margin:0;font-size:28px;font-weight:800}.top-sub[data-v-2b520083]{color:#94a3b8;letter-spacing:1.5px;margin:2px 0 0;font-family:DM Mono,monospace;font-size:12px}.action-btns[data-v-2b520083]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.action-btn[data-v-2b520083]{color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:10px;padding:12px 22px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.action-btn[data-v-2b520083]:hover{transform:translateY(-2px)}.dashboard-btn[data-v-2b520083]{background:linear-gradient(135deg,#f97316,#ef4444);box-shadow:0 4px 16px #f973164d}.yearly-btn[data-v-2b520083]{background:linear-gradient(135deg,#0ea5e9,#6366f1);box-shadow:0 4px 16px #0ea5e94d}.kanban-btn[data-v-2b520083]{background:linear-gradient(135deg,#16a34a,#0d9488);box-shadow:0 4px 16px #16a34a4d}.projects-btn[data-v-2b520083]{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 16px #4f46e54d}.features-btn[data-v-2b520083]{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 4px 16px #2563eb4d}.skills-btn[data-v-2b520083]{background:linear-gradient(135deg,#7c3aed,#a78bfa);box-shadow:0 4px 16px #7c3aed4d}.settings-btn[data-v-2b520083]{background:linear-gradient(135deg,#475569,#64748b);box-shadow:0 4px 16px #4755694d}.filter-bar[data-v-2b520083]{flex-wrap:wrap;gap:8px;display:flex}.filter-select[data-v-2b520083]{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:8px 12px;font-family:Outfit,sans-serif;font-size:13px}.summary-row[data-v-2b520083]{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.summary-card[data-v-2b520083]{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex:1;min-width:110px;padding:16px 20px;box-shadow:0 1px 3px #0000000a}.summary-val[data-v-2b520083]{color:#1e293b;font-size:28px;font-weight:800}.summary-label[data-v-2b520083]{color:#94a3b8;margin-top:2px;font-size:12px}.gantt-wrapper[data-v-2b520083]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow-x:auto;box-shadow:0 1px 4px #0000000a}.gantt-container[data-v-2b520083]{min-width:1000px}.gantt-header[data-v-2b520083]{z-index:10;background:#fff;border-bottom:2px solid #e2e8f0;display:flex;position:sticky;top:0}.gantt-label-col[data-v-2b520083]{border-right:1px solid #e2e8f0;width:240px;min-width:240px;padding:12px 16px}.header-label[data-v-2b520083]{color:#64748b;font-size:12px;font-weight:600}.gantt-timeline-header[data-v-2b520083]{flex:1;display:flex}.gantt-timeline-cells[data-v-2b520083]{flex:1;min-height:48px;position:relative}.month-header[data-v-2b520083]{text-align:center;border-left:1px solid #f1f5f9;flex:1;padding-top:8px}.month-header-text[data-v-2b520083]{font-size:12px;font-weight:700}.weeks-row[data-v-2b520083]{margin-top:4px;display:flex}.week-header[data-v-2b520083]{color:#cbd5e1;text-align:center;flex:1;padding:3px 0;font-family:DM Mono,monospace;font-size:9px}.group-header-row[data-v-2b520083]{cursor:pointer;background:#f8fafc;border-bottom:1px solid #e2e8f0;transition:background .15s;display:flex}.group-header-row[data-v-2b520083]:hover{background:#f1f5f9}.group-header[data-v-2b520083]{align-items:center;gap:10px;padding:4px 0;display:flex}.group-chevron[data-v-2b520083]{color:#94a3b8;font-size:12px;transition:transform .2s;display:inline-block}.group-chevron.collapsed[data-v-2b520083]{transform:rotate(-90deg)}.group-color-bar[data-v-2b520083]{border-radius:2px;flex-shrink:0;width:4px;height:28px}.group-info[data-v-2b520083]{flex:1;min-width:0}.group-name[data-v-2b520083]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.group-count[data-v-2b520083]{color:#94a3b8;font-size:10px}.group-progress[data-v-2b520083]{flex-shrink:0;align-items:center;gap:6px;display:flex}.group-progress-track[data-v-2b520083]{background:#e2e8f0;border-radius:2px;width:48px;height:4px;overflow:hidden}.group-progress-fill[data-v-2b520083]{border-radius:2px;height:100%;transition:width .4s}.group-pct[data-v-2b520083]{color:#94a3b8;min-width:28px;font-family:DM Mono,monospace;font-size:10px}.group-span-bar[data-v-2b520083]{border:1.5px dashed;border-radius:4px;min-width:4px;height:16px;position:absolute;top:50%;transform:translateY(-50%)}.gantt-row[data-v-2b520083]{border-bottom:1px solid #f1f5f9;animation:.3s both fadeIn-2b520083;display:flex}.gantt-row[data-v-2b520083]:hover{background:#fafbfc}.goal-label[data-v-2b520083]{padding:4px 0 4px 20px}.goal-title-row[data-v-2b520083]{align-items:center;gap:8px;display:flex}.goal-dot[data-v-2b520083]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.goal-name[data-v-2b520083]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:13px;font-weight:600;overflow:hidden}.goal-meta-row[data-v-2b520083]{align-items:center;gap:6px;margin-top:4px;padding-left:16px;display:flex}.priority-tag[data-v-2b520083],.status-tag[data-v-2b520083]{border-radius:4px;padding:1px 6px;font-size:9px;font-weight:600}.pic-text[data-v-2b520083]{color:#94a3b8;font-size:10px}.gantt-cells[data-v-2b520083]{width:100%;height:100%;display:flex;position:absolute;inset:0}.month-cells[data-v-2b520083]{flex:1;display:flex}.week-cell[data-v-2b520083]{border-left:1px solid #f1f5f9;flex:1}.week-cell.is-today[data-v-2b520083]{background:#6366f108}.bar-overlay[data-v-2b520083]{pointer-events:none;align-items:center;display:flex;position:absolute;inset:0}.gantt-bar[data-v-2b520083]{border-radius:6px;justify-content:space-between;align-items:center;min-width:20px;height:26px;padding:0 8px;transition:opacity .3s;display:flex;position:absolute;box-shadow:0 2px 6px #0000001a}.bar-text[data-v-2b520083]{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10px;font-weight:600;overflow:hidden}.bar-status[data-v-2b520083]{color:#fff;flex-shrink:0;margin-left:4px;font-size:10px}.empty-state[data-v-2b520083]{text-align:center;color:#cbd5e1;padding:60px 20px;font-size:14px;font-style:italic}.gantt-legend[data-v-2b520083]{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:20px;display:flex}.legend-item[data-v-2b520083]{color:#64748b;align-items:center;gap:6px;font-size:12px;display:flex}.legend-bar[data-v-2b520083]{border-radius:3px;width:24px;height:10px}@keyframes fadeIn-2b520083{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.gantt-page[data-v-2b520083]{padding:16px 8px}.top-bar[data-v-2b520083]{flex-direction:column;align-items:flex-start;gap:10px}.top-info h2[data-v-2b520083]{font-size:20px}.filter-bar[data-v-2b520083]{width:100%}.filter-select[data-v-2b520083]{flex:1;padding:6px 8px;font-size:12px}.summary-row[data-v-2b520083]{gap:6px}.summary-card[data-v-2b520083]{padding:10px 12px}.summary-val[data-v-2b520083]{font-size:20px}.summary-label[data-v-2b520083]{font-size:10px}.gantt-label-col[data-v-2b520083]{width:140px;min-width:140px;padding:8px}.goal-name[data-v-2b520083]{max-width:100px;font-size:11px}.goal-label[data-v-2b520083]{padding-left:8px}.priority-tag[data-v-2b520083],.status-tag[data-v-2b520083]{font-size:8px}.bar-text[data-v-2b520083]{font-size:9px}.gantt-bar[data-v-2b520083]{height:22px;padding:0 4px}.gantt-legend[data-v-2b520083]{gap:10px;margin-top:12px}}.gantt-tooltip[data-v-2b520083]{z-index:99999;color:#e2e8f0;pointer-events:none;background:#1e293b;border-radius:12px;width:320px;padding:14px 16px;font-size:12px;position:fixed;box-shadow:0 12px 40px #0000004d}.tt-enter-active[data-v-2b520083]{transition:opacity .15s,transform .15s}.tt-leave-active[data-v-2b520083]{transition:opacity .1s}.tt-enter-from[data-v-2b520083]{opacity:0;transform:translateY(-4px)}.tt-leave-to[data-v-2b520083]{opacity:0}.tt-loading[data-v-2b520083]{color:#94a3b8;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.tt-spinner[data-v-2b520083]{border:2px solid #334155;border-top-color:#3b82f6;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-2b520083}@keyframes spin-2b520083{to{transform:rotate(360deg)}}.tt-header[data-v-2b520083]{align-items:center;gap:8px;margin-bottom:6px;display:flex}.tt-dot[data-v-2b520083]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tt-title[data-v-2b520083]{color:#fff;font-size:14px;font-weight:700}.tt-desc[data-v-2b520083]{color:#94a3b8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.tt-grid[data-v-2b520083]{border-top:1px solid #334155;border-bottom:1px solid #334155;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:8px;padding:8px 0;display:grid}.tt-field[data-v-2b520083]{flex-direction:column;gap:1px;display:flex}.tt-label[data-v-2b520083]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.tt-val[data-v-2b520083]{font-size:12px;font-weight:600}.tt-section[data-v-2b520083]{flex-direction:column;gap:4px;margin-top:8px;display:flex}.tt-tags[data-v-2b520083]{flex-wrap:wrap;gap:4px;display:flex}.tt-tag[data-v-2b520083]{color:#cbd5e1;background:#334155;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:500}.tt-tag.dep[data-v-2b520083]{color:#7dd3fc;background:#1e3a5f}.kanban-page[data-v-1a19ad6e]{background:#f8fafb;min-height:100vh;padding:32px 20px;font-family:Outfit,sans-serif}.top-bar[data-v-1a19ad6e]{flex-wrap:wrap;align-items:center;gap:16px;max-width:1400px;margin-bottom:24px;margin-left:auto;margin-right:auto;display:flex}.window-nav[data-v-1a19ad6e]{flex:1;align-items:center;gap:12px;min-width:240px;display:flex}.nav-btn[data-v-1a19ad6e]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000f}.nav-btn[data-v-1a19ad6e]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.today-btn[data-v-1a19ad6e]{color:#4338ca;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s}.today-btn[data-v-1a19ad6e]:hover{background:#eef2ff;transform:translateY(-1px);box-shadow:0 4px 10px #4f46e51f}.top-info[data-v-1a19ad6e]{text-align:center;flex:1}.top-info h2[data-v-1a19ad6e]{color:#1e293b;margin:0;font-size:28px;font-weight:800}.top-sub[data-v-1a19ad6e]{color:#94a3b8;letter-spacing:1.5px;margin:2px 0 0;font-family:DM Mono,monospace;font-size:12px}.filter-bar[data-v-1a19ad6e]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-clear[data-v-1a19ad6e]{color:#ef4444;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:6px 12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600}.filter-clear[data-v-1a19ad6e]:hover{background:#fee2e2}.filter-select[data-v-1a19ad6e]{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:140px;padding:8px 12px;font-family:Outfit,sans-serif;font-size:13px}.filter-select[data-v-1a19ad6e]:focus{outline-offset:1px;outline:2px solid #4f46e5}.board-wrap[data-v-1a19ad6e]{max-width:1400px;margin:0 auto;overflow-x:auto}.board[data-v-1a19ad6e]{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:flex-start;gap:14px;display:grid}.kanban-col[data-v-1a19ad6e]{background:#f1f5f9;border-radius:12px;flex-direction:column;min-height:200px;padding:12px;transition:background .12s,box-shadow .12s;display:flex}.kanban-col.drag-over[data-v-1a19ad6e]{background:#e6efff;box-shadow:inset 0 0 0 2px #93c5fd}.kanban-col.drag-self[data-v-1a19ad6e]{background:#f1f5f9;box-shadow:inset 0 0 0 2px #cbd5e1}.kanban-col.col-other[data-v-1a19ad6e]{background:#fef3c7;box-shadow:inset 0 0 0 1px #fde68a}.col-head[data-v-1a19ad6e]{border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;margin-bottom:10px;padding:4px 4px 12px;display:flex}.col-dot[data-v-1a19ad6e]{background:var(--col-accent,#94a3b8);border-radius:50%;width:8px;height:8px}.col-title[data-v-1a19ad6e]{color:#334155;letter-spacing:.3px;text-transform:uppercase;flex:1;font-size:13px;font-weight:700}.col-count[data-v-1a19ad6e]{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.col-body[data-v-1a19ad6e]{flex-direction:column;gap:8px;min-height:60px;display:flex}.kanban-card[data-v-1a19ad6e]{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border-left:3px solid #94a3b8;border-radius:8px;padding:10px 12px;transition:transform 80ms,box-shadow 80ms;box-shadow:0 1px 2px #0f172a0f}.kanban-card[data-v-1a19ad6e]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a1a}.kanban-card[data-v-1a19ad6e]:active{cursor:grabbing}.kanban-card.drag-source[data-v-1a19ad6e]{opacity:.4;transform:rotate(-1deg)}.card-title[data-v-1a19ad6e]{color:#1e293b;font-size:14px;font-weight:600;line-height:1.35}.card-project[data-v-1a19ad6e]{color:#64748b;margin-top:2px;font-size:11px}.card-meta[data-v-1a19ad6e]{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.chip[data-v-1a19ad6e]{letter-spacing:.2px;border-radius:9px;padding:2px 8px;font-size:10px;font-weight:600}.schedule-chip[data-v-1a19ad6e]{color:#475569;background:#f1f5f9;font-family:DM Mono,monospace;font-weight:500}.card-foot[data-v-1a19ad6e]{color:#64748b;border-top:1px solid #f1f5f9;align-items:center;gap:8px;margin-top:8px;padding-top:8px;font-size:11px;display:flex}.task-progress[data-v-1a19ad6e]{color:#16a34a;font-family:DM Mono,monospace;font-weight:600}.pic-tag[data-v-1a19ad6e]{color:#4338ca;text-overflow:ellipsis;white-space:nowrap;background:#eef2ff;border-radius:8px;max-width:120px;margin-left:auto;padding:2px 8px;font-weight:600;overflow:hidden}.empty-col[data-v-1a19ad6e]{text-align:center;color:#94a3b8;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;padding:24px 12px;font-size:12px;font-style:italic}.action-btns[data-v-1a19ad6e]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.action-btn[data-v-1a19ad6e]{color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:10px;padding:12px 22px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.action-btn[data-v-1a19ad6e]:hover{transform:translateY(-2px)}.dashboard-btn[data-v-1a19ad6e]{background:linear-gradient(135deg,#f97316,#ef4444);box-shadow:0 4px 16px #f973164d}.yearly-btn[data-v-1a19ad6e]{background:linear-gradient(135deg,#0ea5e9,#6366f1);box-shadow:0 4px 16px #0ea5e94d}.gantt-btn[data-v-1a19ad6e]{background:linear-gradient(135deg,#0f172a,#334155);box-shadow:0 4px 16px #0f172a33}.projects-btn[data-v-1a19ad6e]{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 16px #4f46e54d}.features-btn[data-v-1a19ad6e]{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 4px 16px #2563eb4d}.skills-btn[data-v-1a19ad6e]{background:linear-gradient(135deg,#7c3aed,#a78bfa);box-shadow:0 4px 16px #7c3aed4d}@media (width<=768px){.top-bar[data-v-1a19ad6e]{flex-direction:column;align-items:stretch}.window-nav[data-v-1a19ad6e],.filter-bar[data-v-1a19ad6e]{width:100%}.filter-select[data-v-1a19ad6e]{flex:1;min-width:0}.action-btns[data-v-1a19ad6e]{flex-direction:column}.action-btn[data-v-1a19ad6e]{justify-content:center}}.history-overlay[data-v-1a19ad6e]{z-index:9000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.history-panel[data-v-1a19ad6e]{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:480px;max-height:80vh;font-family:Outfit,sans-serif;display:flex;overflow:hidden;box-shadow:0 20px 50px #0f172a4d}.history-head[data-v-1a19ad6e]{border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.history-title-wrap[data-v-1a19ad6e]{flex:1;min-width:0}.history-title[data-v-1a19ad6e]{color:#0f172a;margin:0;font-size:16px;font-weight:700;line-height:1.3}.history-sub[data-v-1a19ad6e]{color:#64748b;margin:2px 0 0;font-size:12px}.history-close[data-v-1a19ad6e]{cursor:pointer;color:#94a3b8;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:22px;line-height:1}.history-close[data-v-1a19ad6e]:hover{color:#1e293b}.history-state[data-v-1a19ad6e]{text-align:center;color:#94a3b8;padding:30px 20px;font-size:13px;font-style:italic}.history-state.error[data-v-1a19ad6e]{color:#dc2626;font-style:normal}.history-list[data-v-1a19ad6e]{margin:0;padding:12px 18px 18px;list-style:none;overflow-y:auto}.history-item[data-v-1a19ad6e]{border-bottom:1px dashed #f1f5f9;gap:10px;padding:10px 0;display:flex}.history-item[data-v-1a19ad6e]:last-child{border-bottom:none}.history-dot[data-v-1a19ad6e]{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:6px}.history-body[data-v-1a19ad6e]{flex:1;min-width:0}.history-row1[data-v-1a19ad6e]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.status-pill[data-v-1a19ad6e]{border-radius:9px;padding:3px 8px;font-size:11px;font-weight:600}.arrow[data-v-1a19ad6e]{color:#cbd5e1;font-size:12px}.history-row2[data-v-1a19ad6e]{color:#64748b;margin-top:4px;font-family:DM Mono,monospace;font-size:11px}.actor[data-v-1a19ad6e]{color:#94a3b8}.history-fade-enter-active[data-v-1a19ad6e],.history-fade-leave-active[data-v-1a19ad6e]{transition:opacity .14s}.history-fade-enter-from[data-v-1a19ad6e],.history-fade-leave-to[data-v-1a19ad6e]{opacity:0}.pm-page[data-v-17d2757d]{background:#f8fafb;max-width:860px;min-height:100vh;margin:0 auto;padding:32px 20px;font-family:Outfit,sans-serif}.top-bar[data-v-17d2757d]{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:32px;display:flex}.back-btn[data-v-17d2757d]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;box-shadow:0 1px 3px #0000000f}.top-info[data-v-17d2757d]{flex:1}.top-info h2[data-v-17d2757d]{color:#1e293b;margin:0;font-size:28px;font-weight:800}.top-sub[data-v-17d2757d]{color:#94a3b8;letter-spacing:1.5px;margin:2px 0 0;font-family:DM Mono,monospace;font-size:12px}.add-project-btn[data-v-17d2757d]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:12px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600}.empty-state[data-v-17d2757d]{text-align:center;color:#cbd5e1;background:#fff;border:1px dashed #e2e8f0;border-radius:16px;padding:60px 20px;font-size:15px;font-style:italic}.project-card[data-v-17d2757d]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:16px;animation:.3s both fadeIn-17d2757d;overflow:hidden;box-shadow:0 1px 4px #0000000a}.project-header[data-v-17d2757d],.team-header[data-v-17d2757d]{cursor:pointer;align-items:center;gap:12px;padding:16px 20px;transition:background .15s;display:flex}.project-header[data-v-17d2757d]:hover,.team-header[data-v-17d2757d]:hover{background:#f8fafc}.chevron[data-v-17d2757d]{color:#94a3b8;font-size:12px;transition:transform .2s;display:inline-block}.chevron.sm[data-v-17d2757d]{font-size:10px}.chevron.collapsed[data-v-17d2757d]{transform:rotate(-90deg)}.color-bar[data-v-17d2757d]{border-radius:2px;flex-shrink:0;width:4px;height:32px}.team-icon[data-v-17d2757d]{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.header-info[data-v-17d2757d]{flex:1;min-width:0}.header-name[data-v-17d2757d]{color:#1e293b;font-size:16px;font-weight:700}.header-name.sm[data-v-17d2757d]{font-size:14px}.header-desc[data-v-17d2757d]{color:#94a3b8;margin-top:2px;font-size:12px}.count-badge[data-v-17d2757d]{color:#94a3b8;white-space:nowrap;font-size:11px}.count-badge.sm[data-v-17d2757d]{font-size:10px}.header-actions[data-v-17d2757d]{gap:4px;display:flex}.icon-btn[data-v-17d2757d]{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.icon-btn.sm[data-v-17d2757d]{width:26px;height:26px;font-size:12px}.icon-btn.edit[data-v-17d2757d]{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.icon-btn.del[data-v-17d2757d]{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.team-members-section[data-v-17d2757d]{padding:0 16px 12px}.member-list[data-v-17d2757d]{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}.member-row[data-v-17d2757d]{align-items:center;gap:8px;padding:3px 0;display:flex}.member-avatar-lg[data-v-17d2757d]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:flex}.member-name[data-v-17d2757d]{color:#475569;font-size:12px;font-weight:500}.member-account-badge[data-v-17d2757d]{color:#64748b;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:4px;max-width:180px;padding:1px 6px;font-size:10px;font-weight:500;overflow:hidden}.member-role[data-v-17d2757d]{color:#4f46e5;background:#e0e7ff;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:500}.member-salary[data-v-17d2757d]{color:#059669;white-space:nowrap;font-family:DM Mono,monospace;font-size:10px;font-weight:500}.member-del[data-v-17d2757d]{color:#cbd5e1;cursor:pointer;opacity:0;background:0 0;border:none;padding:2px 4px;font-size:12px;transition:opacity .15s}.member-row:hover .member-del[data-v-17d2757d]{opacity:1}.member-del[data-v-17d2757d]:hover{color:#ef4444}.member-edit[data-v-17d2757d]{color:#cbd5e1;cursor:pointer;opacity:0;background:0 0;border:none;padding:2px 4px;font-size:11px;transition:opacity .15s}.member-row:hover .member-edit[data-v-17d2757d]{opacity:1}.member-edit[data-v-17d2757d]:hover{color:#4f46e5}.member-cancel-btn[data-v-17d2757d]{color:#ef4444;cursor:pointer;white-space:nowrap;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:5px 8px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700}.member-add-inline[data-v-17d2757d]{flex-wrap:wrap;gap:4px;display:flex}.member-add-inline input[data-v-17d2757d],.member-add-inline select[data-v-17d2757d]{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;outline:none;padding:5px 8px;font-family:Outfit,sans-serif;font-size:11px}.member-add-inline input[data-v-17d2757d]:focus,.member-add-inline select[data-v-17d2757d]:focus{border-color:#94a3b8}.member-add-inline .add-account[data-v-17d2757d]{flex:2.4;min-width:140px}.member-add-inline .add-name[data-v-17d2757d]{flex:2;min-width:110px}.member-add-inline .add-role[data-v-17d2757d]{flex:1.5;min-width:80px}.member-add-inline .add-salary[data-v-17d2757d]{flex:1.2;min-width:90px;font-family:DM Mono,monospace}.member-add-btn-sm[data-v-17d2757d]{color:#059669;cursor:pointer;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:5px 10px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700}.member-add-btn-sm[data-v-17d2757d]:hover:not(:disabled){background:#dcfce7}.member-add-btn-sm[data-v-17d2757d]:disabled{opacity:.5;cursor:not-allowed}.team-skills-section[data-v-17d2757d]{border-top:1px solid #f1f5f9;padding:4px 16px 12px}.skill-list[data-v-17d2757d]{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.skill-tag[data-v-17d2757d]{color:#7c3aed;cursor:pointer;background:#ede9fe;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500;transition:all .15s}.skill-tag[data-v-17d2757d]:hover{color:#ef4444;background:#fecaca}.skill-assign-row[data-v-17d2757d]{gap:4px;display:flex}.skill-select[data-v-17d2757d]{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;outline:none;flex:1;padding:4px 8px;font-family:Outfit,sans-serif;font-size:11px}.skill-add-btn[data-v-17d2757d]{color:#7c3aed;cursor:pointer;background:#ede9fe;border:1px solid #c4b5fd;border-radius:6px;width:24px;height:24px;font-size:14px;font-weight:600}.skill-add-btn[data-v-17d2757d]:hover{background:#ddd6fe}.nested-section[data-v-17d2757d]{border-top:1px solid #f1f5f9;padding:0 20px 16px}.empty-nested[data-v-17d2757d]{text-align:center;color:#cbd5e1;padding:16px;font-size:13px;font-style:italic}.team-card[data-v-17d2757d]{border:1px solid #f1f5f9;border-radius:12px;margin-top:10px;overflow:hidden}.team-header[data-v-17d2757d]{padding:12px 16px}.features-list[data-v-17d2757d]{padding:0 16px 12px}.feature-row[data-v-17d2757d]{border:1px solid #f1f5f9;border-radius:10px;margin-top:8px;padding:10px 14px;position:relative}.feature-info[data-v-17d2757d]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feature-title[data-v-17d2757d]{color:#1e293b;font-size:14px;font-weight:600}.priority-tag[data-v-17d2757d]{border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.feature-desc[data-v-17d2757d]{color:#64748b;margin-top:4px;font-size:12px}.feature-meta[data-v-17d2757d]{gap:12px;margin-top:4px;display:flex}.meta-text[data-v-17d2757d]{color:#94a3b8;font-size:11px}.feature-actions[data-v-17d2757d]{gap:4px;display:flex;position:absolute;top:10px;right:10px}.add-nested-btn[data-v-17d2757d]{cursor:pointer;background:0 0;border:1px dashed;border-radius:10px;width:100%;margin-top:10px;padding:10px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600}.overlay[data-v-17d2757d]{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-17d2757d]{background:#fff;border-radius:20px;width:92%;max-width:480px;max-height:85vh;padding:28px 32px;overflow-y:auto;box-shadow:0 24px 80px #00000026}.modal-header[data-v-17d2757d]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3[data-v-17d2757d]{color:#1e293b;margin:0;font-size:18px;font-weight:700}.close-btn[data-v-17d2757d]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.field[data-v-17d2757d]{margin-bottom:16px}.field label[data-v-17d2757d]{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.field input[data-v-17d2757d],.field textarea[data-v-17d2757d],.field select[data-v-17d2757d]{color:#1e293b;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-family:Outfit,sans-serif;font-size:14px}.field textarea[data-v-17d2757d]{resize:vertical;min-height:60px}.field select[data-v-17d2757d]{cursor:pointer}.save-btn[data-v-17d2757d]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:12px;width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:600}.field-row[data-v-17d2757d]{gap:12px;display:flex}.field-row .field[data-v-17d2757d]{flex:1}.currency-input[data-v-17d2757d]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;display:flex;overflow:hidden}.currency-prefix[data-v-17d2757d]{color:#94a3b8;flex-shrink:0;padding:10px 0 10px 14px;font-family:DM Mono,monospace;font-size:14px;font-weight:500}.currency-input input[data-v-17d2757d]{color:#1e293b;background:0 0;border:none;outline:none;flex:1;width:100%;padding:10px 14px 10px 6px;font-family:DM Mono,monospace;font-size:14px}.project-badges[data-v-17d2757d]{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.badge-item[data-v-17d2757d]{border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.deadline-badge[data-v-17d2757d]{color:#d97706;background:#fef3c7}.budget-badge[data-v-17d2757d]{color:#059669;background:#d1fae5;font-family:DM Mono,monospace}.period-badge[data-v-17d2757d]{color:#64748b;background:#f1f5f9;font-family:DM Mono,monospace}.remaining-badge[data-v-17d2757d]{color:#2563eb;background:#dbeafe;font-family:DM Mono,monospace}.over-badge[data-v-17d2757d]{color:#ef4444;background:#fef2f2;font-family:DM Mono,monospace}.budget-badge.sm[data-v-17d2757d]{font-size:9px}.budget-info[data-v-17d2757d]{color:#059669;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 12px;font-size:12px;display:flex}.budget-info.over-budget[data-v-17d2757d]{color:#ef4444;background:#fef2f2;border-color:#fecaca}.budget-warning[data-v-17d2757d]{font-weight:700}.section-block[data-v-17d2757d]{border-top:1px solid #f1f5f9;margin-top:14px;padding-top:12px}.section-label[data-v-17d2757d]{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:700}.ms-actions[data-v-17d2757d]{gap:4px;display:flex}.resource-row[data-v-17d2757d]{border:1px solid #f1f5f9;border-radius:10px;margin-bottom:6px;padding:10px 14px;position:relative}.res-info[data-v-17d2757d]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.res-title[data-v-17d2757d]{color:#1e293b;font-size:14px;font-weight:600}.res-cat[data-v-17d2757d],.res-type[data-v-17d2757d]{border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.res-type.one_time[data-v-17d2757d]{color:#2563eb;background:#dbeafe}.res-type.recurring[data-v-17d2757d]{color:#d97706;background:#fef3c7}.res-type.pay_as_you_go[data-v-17d2757d]{color:#059669;background:#f0fdf4}.res-type.max_monthly[data-v-17d2757d]{color:#db2777;background:#fce7f3}.amount-hint[data-v-17d2757d]{color:#94a3b8;margin-top:4px;font-size:11px;font-style:italic}.res-details[data-v-17d2757d]{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.res-amount[data-v-17d2757d]{color:#059669;font-family:DM Mono,monospace;font-size:16px;font-weight:800}.res-unit-price[data-v-17d2757d]{color:#1e293b;font-family:DM Mono,monospace;font-size:13px;font-weight:700}.unit-input-wrap[data-v-17d2757d]{flex-direction:column;gap:6px;display:flex}.unit-input-wrap select[data-v-17d2757d]{width:100%}.unit-custom[data-v-17d2757d]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;outline:none;padding:8px 12px;font-size:13px}.currency-suffix[data-v-17d2757d]{color:#94a3b8;flex-shrink:0;padding:10px 14px 10px 0;font-family:DM Mono,monospace;font-size:12px}.res-period[data-v-17d2757d]{color:#94a3b8;font-size:12px}.res-range[data-v-17d2757d]{color:#94a3b8;margin-left:auto;font-family:DM Mono,monospace;font-size:11px}.res-desc[data-v-17d2757d]{color:#64748b;margin-top:4px;font-size:12px}.res-used-by[data-v-17d2757d]{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.used-by-tag[data-v-17d2757d]{border-radius:6px;padding:2px 8px;font-size:9px;font-weight:600}.used-by-tag.all[data-v-17d2757d]{color:#64748b;background:#f1f5f9}.used-by-tag.team[data-v-17d2757d]{color:#059669;background:#d1fae5}.used-by-options[data-v-17d2757d]{gap:16px;margin-bottom:4px;display:flex}.used-by-radio[data-v-17d2757d]{color:#1e293b;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.used-by-radio input[data-v-17d2757d]{accent-color:#059669}.end-date-wrap[data-v-17d2757d]{flex-direction:column;gap:6px;display:flex}.ongoing-check[data-v-17d2757d]{color:#64748b;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.ongoing-check input[data-v-17d2757d]{accent-color:#059669}@keyframes fadeIn-17d2757d{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard-page[data-v-55646305]{background:#f8fafb;max-width:900px;min-height:100vh;margin:0 auto;padding:32px 20px;font-family:Outfit,sans-serif}.top-bar[data-v-55646305]{align-items:center;gap:16px;margin-bottom:28px;display:flex}.back-btn[data-v-55646305]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;box-shadow:0 1px 3px #0000000f}.top-info[data-v-55646305]{flex:1}.top-info h2[data-v-55646305]{color:#1e293b;margin:0;font-size:28px;font-weight:800}.top-sub[data-v-55646305]{color:#94a3b8;letter-spacing:1.5px;margin:2px 0 0;font-family:DM Mono,monospace;font-size:12px}.year-nav[data-v-55646305]{align-items:center;gap:10px;display:flex}.nav-btn[data-v-55646305]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.year-label[data-v-55646305]{color:#1e293b;font-family:DM Mono,monospace;font-size:18px;font-weight:800}.loading[data-v-55646305]{text-align:center;color:#94a3b8;padding:60px}.summary-row[data-v-55646305]{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;display:grid}.summary-card[data-v-55646305]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 1px 3px #0000000a}.summary-card.risk-card[data-v-55646305]{border-color:#fecaca}.summary-icon[data-v-55646305]{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;display:flex}.summary-val[data-v-55646305]{color:#1e293b;font-size:26px;font-weight:800}.summary-val.mono[data-v-55646305]{font-family:DM Mono,monospace;font-size:18px}.summary-label[data-v-55646305]{color:#94a3b8;margin-top:2px;font-size:12px}.summary-sub[data-v-55646305]{color:#64748b;margin-top:4px;font-family:DM Mono,monospace;font-size:11px}.empty-state[data-v-55646305]{text-align:center;color:#cbd5e1;background:#fff;border:1px dashed #e2e8f0;border-radius:16px;padding:60px;font-style:italic}.project-row[data-v-55646305]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:12px;padding:20px 24px;box-shadow:0 1px 4px #0000000a}.project-header-row[data-v-55646305]{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.project-name-section[data-v-55646305]{align-items:flex-start;gap:12px;display:flex}.risk-dot[data-v-55646305]{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:6px}.project-name[data-v-55646305]{color:#1e293b;font-size:18px;font-weight:700}.project-meta[data-v-55646305]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.deadline-badge[data-v-55646305]{color:#64748b;align-items:center;gap:4px;font-family:DM Mono,monospace;font-size:11px;display:flex}.risk-badge[data-v-55646305]{border-radius:6px;padding:2px 10px;font-size:10px;font-weight:600}.project-stats[data-v-55646305]{text-align:right;flex-shrink:0}.stat-pct[data-v-55646305]{color:#1e293b;font-size:24px;font-weight:800;display:block}.stat-detail[data-v-55646305]{color:#94a3b8;font-size:11px}.bar-section[data-v-55646305]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.bar-label[data-v-55646305]{color:#94a3b8;flex-shrink:0;width:55px;font-size:11px}.bar-track[data-v-55646305]{background:#f1f5f9;border-radius:4px;flex:1;height:8px;overflow:hidden}.bar-fill[data-v-55646305]{border-radius:4px;height:100%;transition:width .6s}.progress-fill[data-v-55646305]{background:linear-gradient(90deg,#38bdf8,#818cf8)}.budget-fill[data-v-55646305]{background:linear-gradient(90deg,#2dd4bf,#059669)}.budget-fill.overrun[data-v-55646305]{background:linear-gradient(90deg,#f97316,#ef4444)}.bar-amounts[data-v-55646305]{color:#64748b;white-space:nowrap;margin-left:8px;font-family:DM Mono,monospace;font-size:11px}.bar-total[data-v-55646305]{color:#94a3b8}.risk-details[data-v-55646305]{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.risk-item[data-v-55646305]{border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600}.risk-item.overdue[data-v-55646305]{color:#ef4444;background:#fef2f2}.risk-item.budget[data-v-55646305]{color:#f97316;background:#fff7ed}.risk-item.deadline[data-v-55646305]{color:#ca8a04;background:#fefce8}.teams-section[data-v-55646305]{border-top:1px solid #f1f5f9;margin-top:14px;padding-top:14px}.teams-title[data-v-55646305]{color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:12px;font-weight:700}.teams-grid[data-v-55646305]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.team-card[data-v-55646305]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px}.team-name[data-v-55646305]{color:#1e293b;margin-bottom:2px;font-size:13px;font-weight:700}.team-desc[data-v-55646305]{color:#94a3b8;margin-bottom:8px;font-size:10px}.team-members[data-v-55646305]{flex-direction:column;gap:4px;display:flex}.member-chip[data-v-55646305]{color:#475569;align-items:center;gap:6px;font-size:12px;display:flex}.member-avatar[data-v-55646305]{color:#fff;background:linear-gradient(135deg,#38bdf8,#818cf8);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;font-weight:700;display:flex}.member-empty[data-v-55646305]{color:#cbd5e1;font-size:11px;font-style:italic}.proj-chevron[data-v-55646305]{color:#94a3b8;margin-top:6px;font-size:12px;transition:transform .2s;display:inline-block}.proj-chevron.collapsed[data-v-55646305]{transform:rotate(-90deg)}.drill-down[data-v-55646305]{border-top:1px solid #f1f5f9;margin-top:14px;padding-top:14px}.drill-group[data-v-55646305]{margin-bottom:12px}.drill-group-label[data-v-55646305]{margin-bottom:8px;font-size:12px;font-weight:700}.drill-feat[data-v-55646305]{border:1px solid #f1f5f9;border-radius:10px;margin-bottom:6px;padding:10px 14px}.drill-feat-header[data-v-55646305]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.drill-feat-title[data-v-55646305]{color:#1e293b;font-size:13px;font-weight:600}.drill-feat-priority[data-v-55646305]{border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.drill-team-tag[data-v-55646305]{color:#059669;background:#d1fae5;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.drill-feat-range[data-v-55646305]{color:#94a3b8;margin-left:auto;font-family:DM Mono,monospace;font-size:10px}.drill-tasks[data-v-55646305]{align-items:center;gap:8px;margin-top:6px;display:flex}.drill-task-bar[data-v-55646305]{background:#f1f5f9;border-radius:2px;flex:1;max-width:120px;height:4px;overflow:hidden}.drill-task-fill[data-v-55646305]{background:linear-gradient(90deg,#2dd4bf,#22c55e);border-radius:2px;height:100%}.drill-task-label[data-v-55646305]{color:#94a3b8;font-family:DM Mono,monospace;font-size:10px}.drill-deps[data-v-55646305]{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.drill-dep-label[data-v-55646305]{color:#94a3b8;font-size:10px}.drill-dep-tag[data-v-55646305]{color:#d97706;background:#fef3c7;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}@media (width<=768px){.dashboard-page[data-v-55646305]{padding:16px 10px}.top-bar[data-v-55646305]{flex-direction:column;align-items:flex-start;gap:8px}.top-info h2[data-v-55646305]{font-size:20px}.summary-row[data-v-55646305]{grid-template-columns:repeat(2,1fr);gap:8px}.summary-card[data-v-55646305]{padding:12px}.summary-val[data-v-55646305]{font-size:22px}.project-grid[data-v-55646305]{grid-template-columns:1fr}}@media (width<=480px){.summary-row[data-v-55646305]{grid-template-columns:1fr}}@keyframes fadeIn-55646305{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fm-page[data-v-7698559b]{background:#f8fafb;max-width:860px;min-height:100vh;margin:0 auto;padding:32px 20px;font-family:Outfit,sans-serif}.top-bar[data-v-7698559b]{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.back-btn[data-v-7698559b]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;box-shadow:0 1px 3px #0000000f}.top-info[data-v-7698559b]{flex:1}.top-info h2[data-v-7698559b]{color:#1e293b;margin:0;font-size:28px;font-weight:800}.top-sub[data-v-7698559b]{color:#94a3b8;letter-spacing:1.5px;margin:2px 0 0;font-family:DM Mono,monospace;font-size:12px}.add-btn-primary[data-v-7698559b]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#3b82f6);border:none;border-radius:12px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600}.filter-row[data-v-7698559b]{gap:8px;margin-bottom:20px;display:flex}.filter-select[data-v-7698559b]{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:8px 12px;font-family:Outfit,sans-serif;font-size:13px}.empty-state[data-v-7698559b]{text-align:center;color:#cbd5e1;background:#fff;border:1px dashed #e2e8f0;border-radius:16px;padding:60px 20px;font-size:15px;font-style:italic}.group-header[data-v-7698559b]{text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;padding:10px 0 6px;font-size:12px;font-weight:700;display:flex}.group-project[data-v-7698559b]{color:#4f46e5}.group-sep[data-v-7698559b]{color:#cbd5e1}.group-team[data-v-7698559b]{color:#059669}.group-count[data-v-7698559b]{color:#94a3b8;background:#f1f5f9;border-radius:10px;margin-left:4px;padding:1px 8px;font-size:10px}.feature-card[data-v-7698559b]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:8px;padding:14px 18px;box-shadow:0 1px 3px #00000008}.feat-row[data-v-7698559b]{align-items:flex-start;gap:12px;display:flex}.feat-content[data-v-7698559b]{flex:1;min-width:0}.feat-title-row[data-v-7698559b]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feat-title[data-v-7698559b]{color:#1e293b;font-size:15px;font-weight:600}.priority-tag[data-v-7698559b]{border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.feat-desc[data-v-7698559b]{color:#64748b;margin-top:4px;font-size:12px}.feat-meta[data-v-7698559b]{gap:12px;margin-top:4px;display:flex}.meta-text[data-v-7698559b]{color:#94a3b8;font-size:11px}.team-tag[data-v-7698559b]{color:#059669;background:#d1fae5;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.feat-resources[data-v-7698559b]{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.resource-tag[data-v-7698559b]{color:#7c3aed;background:#ede9fe;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.feat-actions[data-v-7698559b]{flex-shrink:0;gap:4px;display:flex}.resource-checkboxes[data-v-7698559b]{flex-direction:column;gap:6px;display:flex}.resource-check-item[data-v-7698559b]{cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:all .15s;display:flex}.resource-check-item.selected[data-v-7698559b]{background:#ede9fe;border-color:#c4b5fd}.resource-check-item input[data-v-7698559b]{accent-color:#7c3aed}.feat-deps[data-v-7698559b]{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.dep-label[data-v-7698559b]{color:#94a3b8;font-size:10px}.dep-tag[data-v-7698559b]{color:#d97706;background:#fef3c7;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.dep-checkboxes[data-v-7698559b]{flex-direction:column;gap:4px;display:flex}.dep-check-item[data-v-7698559b]{cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;transition:all .15s;display:flex}.dep-check-item.selected[data-v-7698559b]{background:#fef3c7;border-color:#fcd34d}.dep-check-item input[data-v-7698559b]{accent-color:#d97706}.dep-title[data-v-7698559b]{color:#1e293b;font-size:13px;font-weight:500}.rc-info[data-v-7698559b]{align-items:center;gap:6px;display:flex}.rc-title[data-v-7698559b]{color:#1e293b;font-size:13px;font-weight:500}.rc-cat[data-v-7698559b]{color:#64748b;background:#f1f5f9;border-radius:4px;padding:1px 6px;font-size:10px}.icon-btn[data-v-7698559b]{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;display:flex}.icon-btn.edit[data-v-7698559b]{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.icon-btn.del[data-v-7698559b]{color:#ef4444;background:#fef2f2;border:1px solid #fecaca;font-size:14px}.icon-btn.lock[data-v-7698559b]{color:#0284c7;background:#f0f9ff;border:1px solid #bae6fd}.icon-btn.unlock[data-v-7698559b]{color:#ca8a04;background:#fefce8;border:1px solid #fde68a}.icon-btn.locked-readonly[data-v-7698559b]{color:#94a3b8;cursor:not-allowed;background:#f1f5f9;border:1px solid #e2e8f0}.icon-btn[disabled][data-v-7698559b]{opacity:.4;cursor:not-allowed}.overlay[data-v-7698559b]{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-7698559b]{background:#fff;border-radius:20px;width:92%;max-width:520px;max-height:85vh;padding:28px 32px;overflow-y:auto;box-shadow:0 24px 80px #00000026}.modal-header[data-v-7698559b]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3[data-v-7698559b]{color:#1e293b;margin:0;font-size:18px;font-weight:700}.close-btn[data-v-7698559b]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.field[data-v-7698559b]{margin-bottom:16px}.field label[data-v-7698559b]{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.field input[data-v-7698559b],.field textarea[data-v-7698559b],.field select[data-v-7698559b]{color:#1e293b;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-family:Outfit,sans-serif;font-size:14px}.field textarea[data-v-7698559b]{resize:vertical;min-height:60px}.field select[data-v-7698559b]{cursor:pointer}.field-row[data-v-7698559b]{gap:12px;display:flex}.field-row .field[data-v-7698559b]{flex:1}.team-checkboxes[data-v-7698559b]{flex-wrap:wrap;gap:8px;display:flex}.team-check-item[data-v-7698559b]{cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .15s;display:flex}.team-check-item[data-v-7698559b]:has(input:checked){background:#d1fae5;border-color:#6ee7b7}.team-check-item input[data-v-7698559b]{accent-color:#059669}.team-check-name[data-v-7698559b]{color:#1e293b;font-weight:500}.save-btn[data-v-7698559b]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#3b82f6);border:none;border-radius:12px;width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:600}.sm-page[data-v-fe8bb6fb]{background:#f8fafb;max-width:860px;min-height:100vh;margin:0 auto;padding:32px 20px;font-family:Outfit,sans-serif}.top-bar[data-v-fe8bb6fb]{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.back-btn[data-v-fe8bb6fb]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;box-shadow:0 1px 3px #0000000f}.top-info[data-v-fe8bb6fb]{flex:1}.top-info h2[data-v-fe8bb6fb]{color:#1e293b;margin:0;font-size:28px;font-weight:800}.top-sub[data-v-fe8bb6fb]{color:#94a3b8;letter-spacing:1.5px;margin:2px 0 0;font-family:DM Mono,monospace;font-size:12px}.add-row[data-v-fe8bb6fb]{flex-shrink:0;gap:8px;display:flex}.add-input[data-v-fe8bb6fb]{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:200px;padding:8px 14px;font-family:Outfit,sans-serif;font-size:13px}.add-input[data-v-fe8bb6fb]:focus{border-color:#a78bfa}.add-btn[data-v-fe8bb6fb]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#8b5cf6);border:none;border-radius:10px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600}.add-btn[data-v-fe8bb6fb]:disabled{opacity:.5;cursor:not-allowed}.empty-state[data-v-fe8bb6fb]{text-align:center;color:#cbd5e1;background:#fff;border:1px dashed #e2e8f0;border-radius:16px;padding:60px 20px;font-size:15px;font-style:italic}.skill-grid[data-v-fe8bb6fb]{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.skill-card[data-v-fe8bb6fb]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;padding:14px 16px;transition:border-color .15s;display:flex;box-shadow:0 1px 3px #00000008}.skill-card[data-v-fe8bb6fb]:hover{border-color:#c4b5fd}.skill-icon[data-v-fe8bb6fb]{color:#fff;background:linear-gradient(135deg,#7c3aed,#a78bfa);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.skill-name[data-v-fe8bb6fb]{color:#1e293b;flex:1;font-size:14px;font-weight:600}.usage-count[data-v-fe8bb6fb]{color:#94a3b8;cursor:help;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:500}.edit-input[data-v-fe8bb6fb]{color:#1e293b;background:#f8fafc;border:1px solid #c4b5fd;border-radius:8px;outline:none;flex:1;padding:6px 10px;font-family:Outfit,sans-serif;font-size:13px}.card-actions[data-v-fe8bb6fb]{flex-shrink:0;gap:4px;display:flex}.icon-btn[data-v-fe8bb6fb]{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;display:flex}.icon-btn.edit[data-v-fe8bb6fb]{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.icon-btn.del[data-v-fe8bb6fb]{color:#ef4444;background:#fef2f2;border:1px solid #fecaca;font-size:14px}.icon-btn.save[data-v-fe8bb6fb]{color:#16a34a;background:#dcfce7;border:1px solid #86efac}.icon-btn.cancel[data-v-fe8bb6fb]{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;font-size:14px}.settings-page[data-v-209f579d]{background:#f8fafb;max-width:720px;min-height:100vh;margin:0 auto;padding:32px 20px;font-family:Outfit,sans-serif}.top-bar[data-v-209f579d]{align-items:center;gap:16px;margin-bottom:24px;display:flex}.back-btn[data-v-209f579d]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;box-shadow:0 1px 3px #0000000f}.top-info h2[data-v-209f579d]{color:#1e293b;margin:0;font-size:24px;font-weight:800}.top-sub[data-v-209f579d]{color:#94a3b8;letter-spacing:1.5px;margin:2px 0 0;font-family:DM Mono,monospace;font-size:11px}.card[data-v-209f579d]{background:#fff;border:1px solid #eef0f4;border-radius:14px;padding:20px 22px;box-shadow:0 1px 2px #0f172a0a}.card-head[data-v-209f579d]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.card-head-text[data-v-209f579d]{flex:1;min-width:0}.card-head h3[data-v-209f579d]{color:#0f172a;margin:0;font-size:17px;font-weight:700}.card-sub[data-v-209f579d]{color:#64748b;margin:4px 0 0;font-size:13px;line-height:1.4}.status-pill[data-v-209f579d]{letter-spacing:.4px;border-radius:10px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.pill-on[data-v-209f579d]{color:#15803d;background:#dcfce7}.pill-off[data-v-209f579d]{color:#b91c1c;background:#fee2e2}.pill-readonly[data-v-209f579d]{color:#6d28d9;background:#ede9fe}.pill-loading[data-v-209f579d]{color:#94a3b8;background:#f1f5f9}.row[data-v-209f579d]{border-bottom:1px dashed #f1f5f9;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.row-stack[data-v-209f579d]{flex-direction:column;align-items:stretch;gap:12px}.row[data-v-209f579d]:last-child{border-bottom:none;padding-bottom:0}.row-text[data-v-209f579d]{flex:1;min-width:0}.row-label[data-v-209f579d]{color:#1e293b;font-size:13px;font-weight:600}.row-help[data-v-209f579d]{color:#64748b;margin-top:3px;font-size:12px;line-height:1.45}.key-mono[data-v-209f579d]{color:#475569;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-family:DM Mono,monospace;font-size:12px}.key-warn[data-v-209f579d]{color:#b45309}.segmented[data-v-209f579d]{background:#f1f5f9;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segment[data-v-209f579d]{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,color .12s,box-shadow .12s;display:flex}.segment[data-v-209f579d]:hover:not(:disabled):not(.active){color:#334155;background:#fff9}.segment.active[data-v-209f579d]{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a14}.segment[data-v-209f579d]:disabled{opacity:.45;cursor:not-allowed}.segment-icon[data-v-209f579d]{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.segment-label[data-v-209f579d]{white-space:nowrap}.card+.card[data-v-209f579d]{margin-top:14px}.off-banner[data-v-209f579d]{background:#fef3c7;border:1px solid #fde68a;border-radius:10px;align-items:flex-start;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.off-banner-icon[data-v-209f579d]{color:#fff;background:#f59e0b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:14px;font-weight:700;display:flex}.off-banner-title[data-v-209f579d]{color:#92400e;font-size:13px;font-weight:700}.off-banner-msg[data-v-209f579d]{color:#78350f;margin:4px 0 0;font-size:12.5px;line-height:1.5}.off-banner-msg strong[data-v-209f579d]{color:#78350f;font-weight:700}.endpoint-row[data-v-209f579d]{align-items:flex-start}.copy-line[data-v-209f579d]{flex-shrink:0;align-items:stretch;gap:6px;display:flex}.copy-target[data-v-209f579d]{color:#334155;white-space:nowrap;text-overflow:ellipsis;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px 0 0 6px;align-items:center;max-width:280px;padding:6px 10px;font-family:DM Mono,SF Mono,Menlo,monospace;font-size:12px;display:inline-flex;overflow:hidden}.copy-btn[data-v-209f579d]{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:0 6px 6px 0;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .12s}.copy-btn[data-v-209f579d]:hover{background:#4338ca}.tabs[data-v-209f579d]{border-bottom:1px solid #e5e7eb;gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.tab[data-v-209f579d]{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.tab[data-v-209f579d]:hover{color:#334155;background:#f8fafc}.tab.active[data-v-209f579d]{color:#4338ca;border-bottom-color:#4f46e5;font-weight:600}.snippet-wrap[data-v-209f579d]{position:relative}.snippet-copy[data-v-209f579d]{z-index:2;border-radius:6px;position:absolute;top:8px;right:8px}.snippet[data-v-209f579d]{color:#e2e8f0;white-space:pre;background:#0f172a;border-radius:8px;margin:0;padding:14px 80px 14px 16px;font-family:DM Mono,SF Mono,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;overflow-x:auto}.snippet code[data-v-209f579d]{color:inherit;font-family:inherit;font-size:inherit;background:0 0;padding:0}.snippet-note[data-v-209f579d]{color:#64748b;margin:10px 0 0;font-size:12px;line-height:1.5}.snippet-note code[data-v-209f579d]{background:#f1f5f9;border-radius:4px;padding:1px 6px;font-family:DM Mono,monospace;font-size:11.5px}.test-key-row[data-v-209f579d]{gap:8px;width:100%;display:flex}.test-key-input[data-v-209f579d]{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;outline:none;flex:1;min-width:0;padding:8px 12px;font-family:DM Mono,monospace;font-size:13px;transition:border-color .12s,box-shadow .12s}.test-key-input[data-v-209f579d]:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.test-key-input[data-v-209f579d]:disabled{opacity:.6;cursor:not-allowed}.test-key-btn[data-v-209f579d]{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;flex-shrink:0;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s}.test-key-btn[data-v-209f579d]:hover:not(:disabled){background:#4338ca}.test-key-btn[data-v-209f579d]:disabled{opacity:.5;cursor:not-allowed}.test-result[data-v-209f579d]{border-radius:10px;margin-top:10px;padding:12px 14px;font-size:13px}.test-result.test-ok[data-v-209f579d]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.test-result.test-fail[data-v-209f579d]{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.test-result.test-warn[data-v-209f579d]{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.test-loading[data-v-209f579d]{color:#64748b;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;font-size:13px;display:flex}.loading-dot[data-v-209f579d]{background:#94a3b8;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both dot-bounce-209f579d}.loading-dot[data-v-209f579d]:first-child{animation-delay:-.32s}.loading-dot[data-v-209f579d]:nth-child(2){animation-delay:-.16s}.loading-dot[data-v-209f579d]:nth-child(3){animation-delay:0s}@keyframes dot-bounce-209f579d{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loading-text[data-v-209f579d]{margin-left:4px}.test-warn[data-v-209f579d]{background:#fef3c7;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.5}.test-result-title[data-v-209f579d]{margin-bottom:6px;font-weight:700}.test-result-body[data-v-209f579d]{font-size:12.5px;line-height:1.6}.module-row[data-v-209f579d]{align-items:center}.module-row .row-label[data-v-209f579d]{align-items:center;gap:8px;display:flex}.module-icon[data-v-209f579d]{color:#4338ca;background:#eef2ff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.toggle-switch[data-v-209f579d]{cursor:pointer;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:12px;flex-shrink:0;width:42px;height:24px;padding:0;transition:background .16s,border-color .16s;position:relative}.toggle-switch[data-v-209f579d]:hover:not(:disabled){border-color:#94a3b8}.toggle-switch.on[data-v-209f579d]{background:#4f46e5;border-color:#4338ca}.toggle-switch.on[data-v-209f579d]:hover:not(:disabled){background:#4338ca}.toggle-switch[data-v-209f579d]:disabled{opacity:.55;cursor:not-allowed}.toggle-switch.saving[data-v-209f579d]{opacity:.7}.toggle-knob[data-v-209f579d]{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0f172a33}.toggle-switch.on .toggle-knob[data-v-209f579d]{transform:translate(18px)}.sidebar[data-v-4d5544d1]{box-sizing:border-box;z-index:100;background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;gap:14px;width:200px;height:100vh;padding:18px 12px;font-family:Outfit,sans-serif;display:flex;position:sticky;top:0}.brand[data-v-4d5544d1]{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:4px 6px 14px;display:flex}.brand-mark[data-v-4d5544d1]{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:flex}.brand-name[data-v-4d5544d1]{color:#0f172a;font-size:15px;font-weight:700}.nav-list[data-v-4d5544d1]{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.nav-btn[data-v-4d5544d1]{cursor:pointer;color:#475569;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-btn[data-v-4d5544d1]:hover{color:#0f172a;background:#f1f5f9}.nav-btn.active[data-v-4d5544d1]{color:#4338ca;background:#eef2ff;font-weight:600}.nav-btn.active .nav-icon[data-v-4d5544d1]{color:#4338ca}.nav-icon[data-v-4d5544d1]{color:#64748b;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-btn.active .nav-icon[data-v-4d5544d1],.nav-btn:hover .nav-icon[data-v-4d5544d1]{color:inherit}.sidebar.is-mobile[data-v-4d5544d1]{border-top:1px solid #e5e7eb;border-right:none;flex-direction:row;gap:0;width:100%;height:auto;padding:6px 8px;position:fixed;inset:auto 0 0;overflow-x:auto;box-shadow:0 -2px 12px #0f172a14}.sidebar.is-mobile .brand[data-v-4d5544d1]{display:none}.sidebar.is-mobile .nav-list[data-v-4d5544d1]{flex-direction:row;gap:0}.sidebar.is-mobile .nav-btn[data-v-4d5544d1]{text-align:center;border-radius:6px;flex-direction:column;gap:4px;min-width:64px;padding:8px 12px;font-size:11px}.sidebar.is-mobile .nav-label[data-v-4d5544d1]{white-space:nowrap;font-size:10px}.org-picker-overlay[data-v-ec346115]{z-index:1000;background:linear-gradient(135deg,#f0f4ff 0%,#e0e7ff 50%,#f5f3ff 100%);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.org-picker-content[data-v-ec346115]{text-align:center;width:100%;max-width:720px}.org-picker-header[data-v-ec346115]{margin-bottom:40px}.org-picker-title[data-v-ec346115]{color:#1e1b4b;margin:0 0 8px;font-size:32px;font-weight:800}.org-picker-subtitle[data-v-ec346115]{color:#64748b;margin:0;font-size:16px}.org-grid[data-v-ec346115]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.org-card[data-v-ec346115]{cursor:pointer;text-align:left;background:#fff;border:2px solid #0000;border-radius:16px;align-items:flex-start;gap:16px;padding:24px;transition:all .2s;display:flex;box-shadow:0 1px 3px #00000014}.org-card[data-v-ec346115]:hover{border-color:#c7d2fe;transform:translateY(-2px);box-shadow:0 8px 25px #4f46e51f}.org-card.active[data-v-ec346115]{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526,0 8px 25px #4f46e51f}.org-card-icon[data-v-ec346115]{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.org-initial[data-v-ec346115]{color:#fff;font-size:22px;font-weight:700}.org-card-body[data-v-ec346115]{flex:1;min-width:0}.org-name[data-v-ec346115]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-size:17px;font-weight:700;overflow:hidden}.org-role[data-v-ec346115]{align-items:center;gap:8px;margin:0 0 4px;display:flex}.role-badge[data-v-ec346115]{text-transform:lowercase;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.role-badge.owner[data-v-ec346115]{color:#92400e;background:#fef3c7}.role-badge.admin[data-v-ec346115]{color:#1e40af;background:#dbeafe}.role-badge.member[data-v-ec346115]{color:#475569;background:#f1f5f9}.perm-badge[data-v-ec346115]{color:#15803d;background:#dcfce7;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.org-slug[data-v-ec346115]{color:#94a3b8;margin:0;font-family:DM Mono,monospace;font-size:12px}.org-card-check[data-v-ec346115]{color:#4f46e5;flex-shrink:0;margin-top:4px}.org-picker-loading[data-v-ec346115]{color:#64748b;flex-direction:column;align-items:center;gap:16px;padding:60px 0;display:flex}.spinner[data-v-ec346115]{border:3px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin-ec346115}@keyframes spin-ec346115{to{transform:rotate(360deg)}}.org-picker-error[data-v-ec346115]{color:#991b1b;padding:40px 0}.retry-btn[data-v-ec346115]{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:10px;margin-top:16px;padding:10px 24px;font-weight:600}.org-picker-empty[data-v-ec346115]{text-align:center;padding:60px 0}.empty-icon[data-v-ec346115]{color:#cbd5e1;margin-bottom:20px}.org-picker-empty h3[data-v-ec346115]{color:#1e293b;margin:0 0 8px;font-size:20px;font-weight:700}.org-picker-empty p[data-v-ec346115]{color:#64748b;max-width:360px;margin:0 auto 24px;font-size:14px}.create-org-btn[data-v-ec346115]{color:#fff;background:#4f46e5;border-radius:10px;padding:12px 28px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.create-org-btn[data-v-ec346115]:hover{background:#4338ca}.roadmap-container[data-v-74a932c8]{align-items:stretch;min-height:100vh;display:flex;position:relative}.content-area[data-v-74a932c8]{flex:1;min-width:0;overflow-x:auto}@media (width<=768px){.roadmap-container[data-v-74a932c8]{flex-direction:column}.content-area[data-v-74a932c8]{padding-bottom:60px}}.top-progress[data-v-74a932c8]{z-index:9998;pointer-events:none;background:#38bdf826;height:2px;position:fixed;top:0;left:0;right:0;overflow:hidden}.top-progress-bar[data-v-74a932c8]{background:linear-gradient(90deg,#0000,#38bdf8 35%,#6366f1 65%,#0000);width:30%;animation:1.1s ease-in-out infinite topProgressSlide-74a932c8;position:absolute;top:0;bottom:0}@keyframes topProgressSlide-74a932c8{0%{left:-30%}to{left:100%}}.view-fade-enter-active[data-v-74a932c8],.view-fade-leave-active[data-v-74a932c8]{transition:opacity .14s}.view-fade-enter-from[data-v-74a932c8],.view-fade-leave-to[data-v-74a932c8]{opacity:0}.floating-notes[data-v-9d7906a8]{z-index:999999;font-family:Outfit,sans-serif;position:fixed;bottom:24px;right:24px}@media (width<=768px){.floating-notes[data-v-9d7906a8]{bottom:80px;right:16px}}.fab[data-v-9d7906a8]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f172a,#334155);border:none;border-radius:24px;justify-content:center;align-items:center;gap:8px;min-width:48px;height:48px;padding:0 18px 0 14px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 20px #0f172a4d}.fab[data-v-9d7906a8]:hover{transform:scale(1.05);box-shadow:0 8px 28px #0f172a66}.notes-popup[data-v-9d7906a8]{background:#fff;border-radius:16px;flex-direction:column;width:320px;max-height:420px;display:flex;position:absolute;bottom:62px;right:0;overflow:hidden;box-shadow:0 12px 40px #00000026}.popup-header[data-v-9d7906a8]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.popup-title[data-v-9d7906a8]{color:#1e293b;font-size:15px;font-weight:700}.add-row[data-v-9d7906a8]{gap:6px;padding:10px 12px;display:flex}.add-input[data-v-9d7906a8]{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:Outfit,sans-serif;font-size:13px}.add-input[data-v-9d7906a8]:focus{border-color:#94a3b8}.add-btn[data-v-9d7906a8]{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex}.add-btn[data-v-9d7906a8]:disabled{opacity:.3;cursor:not-allowed}.notes-list[data-v-9d7906a8]{flex:1;padding:4px 12px 12px;overflow-y:auto}.empty[data-v-9d7906a8]{text-align:center;color:#cbd5e1;padding:20px;font-size:13px;font-style:italic}.note-item[data-v-9d7906a8]{border-bottom:1px solid #f8fafc;align-items:flex-start;gap:8px;padding:8px 0;display:flex}.note-content[data-v-9d7906a8]{color:#1e293b;word-break:break-word;flex:1;font-size:13px;line-height:1.5}.note-actions[data-v-9d7906a8]{flex-shrink:0;gap:2px;display:flex}.note-btn[data-v-9d7906a8]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;display:flex}.note-btn.del[data-v-9d7906a8]{color:#cbd5e1;background:0 0}.note-btn.del[data-v-9d7906a8]:hover{color:#ef4444}.toast-stack[data-v-c5871756]{z-index:99999;pointer-events:none;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);font-family:Outfit,Inter,system-ui,sans-serif;display:flex;position:fixed;top:16px;right:16px}.toast[data-v-c5871756]{pointer-events:auto;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;display:flex;box-shadow:0 6px 20px #0f172a2e}.toast-icon[data-v-c5871756]{background:#ffffff38;border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:inline-flex}.toast-msg[data-v-c5871756]{word-break:break-word;flex:1;line-height:1.35}.toast-success[data-v-c5871756]{background:#16a34af2}.toast-error[data-v-c5871756]{background:#dc2626f2}.toast-info[data-v-c5871756]{background:#1e40aff2}.toast-enter-active[data-v-c5871756],.toast-leave-active[data-v-c5871756]{transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .22s}.toast-enter-from[data-v-c5871756],.toast-leave-to[data-v-c5871756]{opacity:0;transform:translate(40px)}.confirm-overlay[data-v-8ac1d9fc]{z-index:99000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;font-family:Outfit,Inter,system-ui,sans-serif;display:flex;position:fixed;inset:0}.confirm-panel[data-v-8ac1d9fc]{background:#fff;border-radius:14px;width:100%;max-width:420px;padding:22px 24px 18px;box-shadow:0 20px 50px #0f172a4d}.confirm-title[data-v-8ac1d9fc]{color:#0f172a;margin:0;font-size:17px;font-weight:700;line-height:1.3}.confirm-msg[data-v-8ac1d9fc]{color:#475569;margin:8px 0 22px;font-size:14px;line-height:1.5}.confirm-actions[data-v-8ac1d9fc]{justify-content:flex-end;gap:8px;display:flex}.btn[data-v-8ac1d9fc]{cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s}.btn[data-v-8ac1d9fc]:hover{transform:translateY(-1px)}.btn.cancel[data-v-8ac1d9fc]{color:#475569;background:#fff;border:1px solid #e2e8f0}.btn.cancel[data-v-8ac1d9fc]:hover{background:#f8fafc}.btn.primary[data-v-8ac1d9fc]{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 14px #4f46e54d}.btn.danger[data-v-8ac1d9fc]{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 14px #ef44444d}.btn[data-v-8ac1d9fc]:focus-visible{outline-offset:2px;outline:2px solid #4f46e5}.confirm-fade-enter-active[data-v-8ac1d9fc],.confirm-fade-leave-active[data-v-8ac1d9fc]{transition:opacity .14s}.confirm-fade-enter-from[data-v-8ac1d9fc],.confirm-fade-leave-to[data-v-8ac1d9fc]{opacity:0}.confirm-fade-enter-active .confirm-panel[data-v-8ac1d9fc],.confirm-fade-leave-active .confirm-panel[data-v-8ac1d9fc]{transition:transform .18s cubic-bezier(.16,1,.3,1)}.confirm-fade-enter-from .confirm-panel[data-v-8ac1d9fc]{transform:translateY(8px)scale(.98)}.profile-menu-container[data-v-e6cd590f]{z-index:9999;position:fixed;top:.5rem;right:.5rem}.profile-avatar[data-v-e6cd590f]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 1px 4px #00000026}.profile-avatar[data-v-e6cd590f]:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003}.profile-dropdown[data-v-e6cd590f]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:280px;padding:16px;animation:.15s dropdownIn-e6cd590f;position:absolute;top:44px;right:0;box-shadow:0 4px 20px #00000026}@keyframes dropdownIn-e6cd590f{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-header[data-v-e6cd590f]{align-items:center;gap:12px;display:flex}.profile-avatar-large[data-v-e6cd590f]{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex}.profile-info[data-v-e6cd590f]{min-width:0}.profile-name[data-v-e6cd590f]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.profile-email[data-v-e6cd590f]{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.profile-divider[data-v-e6cd590f]{background:#f1f5f9;height:1px;margin:12px 0}.profile-logout[data-v-e6cd590f]{cursor:pointer;color:#475569;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;transition:background .12s;display:flex}.profile-logout[data-v-e6cd590f]:hover{background:#f8fafc}.profile-logout svg[data-v-e6cd590f]{color:#94a3b8}.profile-org-row[data-v-e6cd590f]{justify-content:space-between;align-items:center;gap:10px;display:flex}.profile-org-info[data-v-e6cd590f]{min-width:0}.profile-org-label[data-v-e6cd590f]{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:11px}.profile-org-name[data-v-e6cd590f]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.profile-org-switch[data-v-e6cd590f]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:600;transition:background .12s}.profile-org-switch[data-v-e6cd590f]:hover{background:#f8fafc;border-color:#cbd5e1}.redirecting[data-v-e6cd590f]{color:#5f6368;background:#f8f9fa;justify-content:center;align-items:center;font-family:Google Sans,Inter,system-ui,sans-serif;font-size:.9rem;display:flex;position:fixed;inset:0}
