.avatar[data-v-a7f47a48]{border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;overflow:hidden;-webkit-user-select:none;user-select:none}.avatar img[data-v-a7f47a48]{width:100%;height:100%;object-fit:cover}.avatar-xs[data-v-a7f47a48]{width:22px;height:22px;font-size:9px}.avatar-sm[data-v-a7f47a48]{width:28px;height:28px;font-size:11px}.avatar-md[data-v-a7f47a48]{width:34px;height:34px;font-size:13px}.avatar-lg[data-v-a7f47a48]{width:44px;height:44px;font-size:15px}.avatar-xl[data-v-a7f47a48]{width:88px;height:88px;font-size:26px}.sidebar[data-v-fe1f9861]{width:220px;background:var(--sidebar-bg);display:flex;flex-direction:column;flex-shrink:0;transition:transform .25s ease}.sidebar-logo[data-v-fe1f9861]{display:flex;align-items:center;gap:10px;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.logo-icon[data-v-fe1f9861]{width:32px;height:32px;background:var(--primary);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.logo-text[data-v-fe1f9861]{color:#f1f5f9;font-weight:600;font-size:15px}.sidebar-nav[data-v-fe1f9861]{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-section-label[data-v-fe1f9861]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;padding:14px 12px 4px}.nav-item[data-v-fe1f9861]{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:var(--sidebar-text);font-weight:500;font-size:13px;transition:background .15s,color .15s}.nav-item[data-v-fe1f9861]:hover{background:rgba(255,255,255,.06);color:#f1f5f9}.nav-item.active[data-v-fe1f9861]{background:var(--primary);color:#fff}.theme-toggle[data-v-fe1f9861]{width:100%;background:none;text-align:left;margin-top:6px;border-top:1px solid rgba(255,255,255,.08);border-radius:0;padding-top:14px}.sidebar-user[data-v-fe1f9861]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}.user-avatar-link[data-v-fe1f9861]{flex-shrink:0;line-height:0}.user-info[data-v-fe1f9861]{flex:1;min-width:0}.user-name[data-v-fe1f9861]{color:#f1f5f9;font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-fe1f9861]{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;margin-top:2px;display:inline-block;text-transform:capitalize}.role-sysadmin[data-v-fe1f9861]{background:#ede9fe;color:#6d28d9}.role-exec[data-v-fe1f9861]{background:#334155;color:#f1f5f9}.role-dgm[data-v-fe1f9861]{background:#312e81;color:#e0e7ff}.role-head[data-v-fe1f9861]{background:#1e3a5f;color:#bfdbfe}.role-manager[data-v-fe1f9861]{background:#134e4a;color:#99f6e4}.role-member[data-v-fe1f9861]{background:rgba(255,255,255,.1);color:#94a3b8}.logout-btn[data-v-fe1f9861]{background:none;color:var(--sidebar-text);padding:4px;border-radius:4px}.logout-btn[data-v-fe1f9861]:hover{color:#f1f5f9}@media (max-width: 768px){.sidebar[data-v-fe1f9861]{position:fixed;top:0;bottom:0;left:0;z-index:200;transform:translate(-100%)}.sidebar.open[data-v-fe1f9861]{transform:translate(0)}}.topbar[data-v-9d828191]{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.topbar-left[data-v-9d828191]{display:flex;align-items:center;gap:12px}.topbar-title[data-v-9d828191]{font-weight:600;font-size:16px}.topbar-date[data-v-9d828191]{color:var(--text-muted);font-size:13px}.hamburger[data-v-9d828191]{display:none;background:none;color:var(--text-muted);padding:4px;border-radius:6px}.hamburger[data-v-9d828191]:hover{background:var(--border);color:var(--text)}@media (max-width: 768px){.hamburger[data-v-9d828191]{display:flex;align-items:center;justify-content:center}.topbar-date[data-v-9d828191]{display:none}}.shell[data-v-473c0df4]{display:flex;height:100vh;overflow:hidden}.shell-main[data-v-473c0df4]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.shell-content[data-v-473c0df4]{flex:1;overflow-y:auto;padding:24px}.sidebar-overlay[data-v-473c0df4]{display:none}@media (max-width: 768px){.shell-content[data-v-473c0df4]{padding:16px}.sidebar-overlay[data-v-473c0df4]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);z-index:199}}.login-page[data-v-e85a25bd]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 100%);padding:16px}.login-card[data-v-e85a25bd]{width:100%;max-width:400px;padding:40px 32px}.login-brand[data-v-e85a25bd]{text-align:center;margin-bottom:32px}.brand-icon[data-v-e85a25bd]{width:52px;height:52px;background:var(--primary);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin:0 auto 12px}.login-brand h1[data-v-e85a25bd]{font-size:20px;font-weight:700;margin-bottom:4px}.login-brand p[data-v-e85a25bd]{color:var(--text-muted)}.submit-btn[data-v-e85a25bd]{width:100%;justify-content:center;padding:10px;font-size:15px;margin-top:4px}.submit-btn[data-v-e85a25bd]:disabled{opacity:.6;cursor:not-allowed}.error-msg[data-v-e85a25bd]{color:var(--danger);font-size:13px;margin-bottom:12px}.toggle-mode[data-v-e85a25bd]{text-align:center;margin-top:20px;color:var(--text-muted);font-size:13px}.toggle-mode button[data-v-e85a25bd]{background:none;color:var(--primary);font-weight:600;margin-left:4px}.bar-chart[data-v-128903c0]{width:100%}.chart-empty[data-v-128903c0]{color:var(--text-muted);font-size:13px;padding:12px 0}.bar-rows[data-v-128903c0]{display:flex;flex-direction:column;gap:10px}.bar-row[data-v-128903c0]{display:grid;grid-template-columns:90px 1fr 28px;align-items:center;gap:10px}.bar-label[data-v-128903c0]{font-size:12px;color:var(--text-muted);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track[data-v-128903c0]{height:10px;background:var(--border);border-radius:999px;overflow:hidden}.bar-fill[data-v-128903c0]{height:100%;border-radius:999px;transition:width .4s ease}.bar-value[data-v-128903c0]{font-size:12px;font-weight:600;color:var(--text);text-align:right}.donut-chart[data-v-98c95153]{display:flex;align-items:center;gap:20px}.chart-empty[data-v-98c95153]{color:var(--text-muted);font-size:13px;padding:12px 0}.donut-svg[data-v-98c95153]{width:120px;height:120px;flex-shrink:0}.donut-svg circle[data-v-98c95153]{transition:stroke-dasharray .4s ease}.donut-total[data-v-98c95153]{font-size:20px;font-weight:700;fill:var(--text)}.donut-total-label[data-v-98c95153]{font-size:8px;fill:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.donut-legend[data-v-98c95153]{display:flex;flex-direction:column;gap:6px}.legend-item[data-v-98c95153]{display:flex;align-items:center;gap:6px;font-size:12px}.legend-dot[data-v-98c95153]{width:9px;height:9px;border-radius:50%;flex-shrink:0}.legend-label[data-v-98c95153]{color:var(--text-muted);text-transform:capitalize}.legend-value[data-v-98c95153]{font-weight:600;margin-left:auto;padding-left:12px}.dashboard[data-v-ed94e8f3]{max-width:1000px}.stats-grid[data-v-ed94e8f3]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card[data-v-ed94e8f3]{padding:20px}.stat-label[data-v-ed94e8f3]{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.stat-value[data-v-ed94e8f3]{font-size:32px;font-weight:700;margin-top:6px}.stat-value.done[data-v-ed94e8f3]{color:var(--success)}.charts-grid[data-v-ed94e8f3]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.chart-card[data-v-ed94e8f3]{padding:20px}.chart-title[data-v-ed94e8f3]{font-size:13px;font-weight:600;margin-bottom:16px;color:var(--text-muted)}.section-title[data-v-ed94e8f3]{font-size:15px;font-weight:600;margin-bottom:12px}.recent-projects[data-v-ed94e8f3]{display:flex;flex-direction:column;gap:8px}.recent-card[data-v-ed94e8f3]{display:flex;align-items:center;gap:12px;padding:14px 16px;transition:box-shadow .15s;position:relative;overflow:hidden}.recent-card[data-v-ed94e8f3]:hover{box-shadow:0 4px 12px #0000001a}.recent-dot[data-v-ed94e8f3]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.recent-info[data-v-ed94e8f3]{flex:1}.recent-name[data-v-ed94e8f3]{font-weight:600}.recent-meta[data-v-ed94e8f3]{font-size:12px;color:var(--text-muted);margin-top:2px}.progress-bar-wrap[data-v-ed94e8f3]{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border)}.progress-bar[data-v-ed94e8f3]{height:100%;transition:width .3s}.muted[data-v-ed94e8f3]{color:var(--text-muted)}.muted a[data-v-ed94e8f3]{color:var(--primary);font-weight:500}@media (max-width: 700px){.stats-grid[data-v-ed94e8f3]{grid-template-columns:repeat(2,1fr)}.charts-grid[data-v-ed94e8f3]{grid-template-columns:1fr}}.tasks-view[data-v-c7f02d04]{max-width:1000px}.view-header[data-v-c7f02d04]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.view-header h2[data-v-c7f02d04]{font-size:20px;font-weight:700}.subtitle[data-v-c7f02d04]{color:var(--text-muted);font-size:13px;margin-top:2px}.muted[data-v-c7f02d04]{color:var(--text-muted)}.empty-state[data-v-c7f02d04]{text-align:center;padding:60px 24px}.empty-icon[data-v-c7f02d04]{font-size:40px;margin-bottom:12px}.empty-state h3[data-v-c7f02d04]{font-size:18px;font-weight:600;margin-bottom:6px}.empty-state p[data-v-c7f02d04]{color:var(--text-muted)}.task-list[data-v-c7f02d04]{padding:0;overflow:hidden}.task-row[data-v-c7f02d04]{display:grid;grid-template-columns:2fr 1.2fr .9fr .8fr .8fr;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer;transition:background .15s}.task-row[data-v-c7f02d04]:last-child{border-bottom:none}.task-row[data-v-c7f02d04]:hover:not(.task-row-head){background:var(--bg)}.task-row-head[data-v-c7f02d04]{cursor:default;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-muted);background:var(--bg)}.col-title[data-v-c7f02d04]{display:flex;align-items:center;gap:8px;min-width:0}.task-title-text[data-v-c7f02d04]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtask-hint[data-v-c7f02d04]{font-size:11px;color:var(--text-muted);flex-shrink:0}.col-project[data-v-c7f02d04]{display:flex;align-items:center;gap:6px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-dot[data-v-c7f02d04]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-badge[data-v-c7f02d04]{background:#f1f5f9;color:#475569;text-transform:none}.col-priority[data-v-c7f02d04]{text-transform:capitalize;font-weight:600;font-size:12px}.col-due[data-v-c7f02d04]{color:var(--text-muted)}.col-due.overdue[data-v-c7f02d04]{color:var(--danger);font-weight:600}@media (max-width: 700px){.task-row[data-v-c7f02d04]{grid-template-columns:2fr 1fr 1fr}.col-status[data-v-c7f02d04],.col-priority[data-v-c7f02d04]{display:none}}.project-card[data-v-7a2c5667]{padding:20px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s,transform .15s;cursor:pointer}.project-card[data-v-7a2c5667]:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.card-observer[data-v-7a2c5667]{opacity:.82;border-style:dashed}.card-top[data-v-7a2c5667]{display:flex;align-items:center;justify-content:space-between}.card-top-right[data-v-7a2c5667]{display:flex;align-items:center;gap:6px}.project-color[data-v-7a2c5667]{width:12px;height:12px;border-radius:50%}.project-name[data-v-7a2c5667]{font-weight:600;font-size:15px}.project-desc[data-v-7a2c5667]{font-size:13px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-meta[data-v-7a2c5667]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-top:4px}.progress-wrap[data-v-7a2c5667]{height:4px;background:var(--border);border-radius:999px;overflow:hidden}.progress-fill[data-v-7a2c5667]{height:100%;border-radius:999px;transition:width .3s}.progress-label[data-v-7a2c5667]{font-size:11px;color:var(--text-muted)}.status-active[data-v-7a2c5667]{background:#dcfce7;color:#15803d}.status-completed[data-v-7a2c5667]{background:#ede9fe;color:#6d28d9}.status-archived[data-v-7a2c5667]{background:#f1f5f9;color:#475569}.role-badge[data-v-7a2c5667]{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;text-transform:capitalize}.role-lead[data-v-7a2c5667]{background:#ede9fe;color:#6d28d9}.role-manager[data-v-7a2c5667]{background:#e0f2fe;color:#0369a1}.role-member[data-v-7a2c5667]{background:#f1f5f9;color:#475569}.role-readonly[data-v-7a2c5667]{background:#fef9c3;color:#a16207}.role-observer[data-v-7a2c5667]{background:#f1f5f9;color:#94a3b8;font-style:italic}.form-row[data-v-8c88f590]{display:grid;grid-template-columns:80px 1fr 1fr;gap:12px}.form-group input[type=color][data-v-8c88f590]{height:38px;padding:2px;cursor:pointer}.error-msg[data-v-8c88f590]{color:var(--danger);font-size:13px;margin-top:-8px}.view-header[data-v-64596ce0]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.view-header h2[data-v-64596ce0]{font-size:20px;font-weight:700}.subtitle[data-v-64596ce0]{color:var(--text-muted);font-size:13px;margin-top:2px}.projects-grid[data-v-64596ce0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.empty-state[data-v-64596ce0]{text-align:center;padding:60px 24px}.empty-icon[data-v-64596ce0]{font-size:40px;margin-bottom:12px}.empty-state h3[data-v-64596ce0]{font-size:18px;font-weight:600;margin-bottom:6px}.empty-state p[data-v-64596ce0]{color:var(--text-muted);margin-bottom:20px}.muted[data-v-64596ce0]{color:var(--text-muted)}.task-card[data-v-fccfbd3e]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;cursor:pointer;transition:box-shadow .15s,transform .1s;-webkit-user-select:none;user-select:none}.task-card[data-v-fccfbd3e]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.task-card.card-drag-over[data-v-fccfbd3e]{border-color:var(--primary);box-shadow:0 0 0 2px #6366f140}.task-priority[data-v-fccfbd3e]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.task-title[data-v-fccfbd3e]{font-weight:500;font-size:13px;line-height:1.4}.task-desc[data-v-fccfbd3e]{font-size:12px;color:var(--text-muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-subtasks[data-v-fccfbd3e]{display:flex;align-items:center;gap:8px;margin-top:8px}.subtask-bar[data-v-fccfbd3e]{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.subtask-bar-fill[data-v-fccfbd3e]{height:100%;background:var(--primary);border-radius:2px;transition:width .2s}.subtask-count[data-v-fccfbd3e]{font-size:11px;color:var(--text-muted);white-space:nowrap}.task-footer[data-v-fccfbd3e]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.task-due[data-v-fccfbd3e]{font-size:11px;color:var(--text-muted)}.task-due.overdue[data-v-fccfbd3e]{color:var(--danger)}.assignee-stack[data-v-fccfbd3e]{display:flex;align-items:center}.assignee-stack[data-v-fccfbd3e] .stacked-avatar{border:2px solid var(--surface)}.assignee-stack[data-v-fccfbd3e] .stacked-avatar+.stacked-avatar{margin-left:-8px}.overflow-chip[data-v-fccfbd3e]{width:28px;height:28px;background:var(--border);color:var(--text-muted);font-size:10px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--surface);margin-left:-8px}.column[data-v-5b2c79b2]{width:270px;flex-shrink:0;display:flex;flex-direction:column;background:#f8fafc;border-radius:var(--radius);border:2px solid transparent;transition:border-color .15s;max-height:calc(100vh - 180px)}.column.drag-over[data-v-5b2c79b2]{border-color:var(--primary)}.column-header[data-v-5b2c79b2]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;gap:8px;border-radius:var(--radius) var(--radius) 0 0}.column-label[data-v-5b2c79b2]{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;min-width:0;flex:1}.drag-handle[data-v-5b2c79b2]{color:var(--text-muted);cursor:grab;display:flex;align-items:center;flex-shrink:0;opacity:.5;transition:opacity .15s}.drag-handle[data-v-5b2c79b2]:hover{opacity:1}.drag-handle[data-v-5b2c79b2]:active{cursor:grabbing}.col-title[data-v-5b2c79b2]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rename-input[data-v-5b2c79b2]{font-size:13px;font-weight:600;border:1px solid var(--primary);border-radius:4px;padding:2px 6px;outline:none;width:100%;background:var(--surface);min-width:0}.rename-color[data-v-5b2c79b2]{width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:4px;cursor:pointer;flex-shrink:0;background:none}.column-header-right[data-v-5b2c79b2]{display:flex;align-items:center;gap:6px;flex-shrink:0}.column-count[data-v-5b2c79b2]{background:rgba(255,255,255,.6);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;color:var(--text-muted)}.col-actions[data-v-5b2c79b2]{display:flex;gap:2px;opacity:0;transition:opacity .15s}.column-header:hover .col-actions[data-v-5b2c79b2],.col-actions.force-visible[data-v-5b2c79b2]{opacity:1}.col-action-btn[data-v-5b2c79b2]{background:none;border:none;color:var(--text-muted);padding:2px 5px;border-radius:4px;font-size:12px;cursor:pointer}.col-action-btn[data-v-5b2c79b2]:hover{background:rgba(255,255,255,.7);color:var(--text)}.col-action-btn.danger[data-v-5b2c79b2]:hover{color:var(--danger)}.col-action-btn.confirm[data-v-5b2c79b2]{color:var(--success);font-weight:700}.column-body[data-v-5b2c79b2]{flex:1;overflow-y:auto;padding:4px 10px;display:flex;flex-direction:column;gap:8px}.empty-col[data-v-5b2c79b2]{color:var(--text-muted);font-size:12px;text-align:center;padding:20px 0;border:2px dashed var(--border);border-radius:var(--radius)}.add-task-btn[data-v-5b2c79b2]{margin:8px 10px 10px;padding:7px;border-radius:var(--radius);background:none;color:var(--text-muted);font-size:12px;font-weight:500;text-align:left;transition:background .15s,color .15s}.add-task-btn[data-v-5b2c79b2]:hover{background:var(--border);color:var(--text)}.lightbox-overlay[data-v-80091311]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:300;padding:40px}.lightbox-content[data-v-80091311]{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:90vw;max-height:90vh}.lightbox-img[data-v-80091311]{max-width:90vw;max-height:78vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px #00000080}.lightbox-caption[data-v-80091311]{color:#e2e8f0;font-size:13px;display:flex;align-items:center;gap:12px}.lightbox-counter[data-v-80091311]{color:#94a3b8;font-size:12px}.lightbox-close[data-v-80091311]{position:absolute;top:20px;right:24px;background:rgba(255,255,255,.1);color:#fff;width:36px;height:36px;border-radius:50%;font-size:16px;display:flex;align-items:center;justify-content:center}.lightbox-close[data-v-80091311]:hover{background:rgba(255,255,255,.2)}.lightbox-nav[data-v-80091311]{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);color:#fff;width:48px;height:48px;border-radius:50%;font-size:28px;display:flex;align-items:center;justify-content:center;line-height:1}.lightbox-nav[data-v-80091311]:hover{background:rgba(255,255,255,.2)}.lightbox-prev[data-v-80091311]{left:20px}.lightbox-next[data-v-80091311]{right:20px}@media (max-width: 640px){.lightbox-overlay[data-v-80091311]{padding:12px}.lightbox-nav[data-v-80091311]{width:38px;height:38px;font-size:22px}.lightbox-prev[data-v-80091311]{left:6px}.lightbox-next[data-v-80091311]{right:6px}}.task-modal[data-v-bf63d1e7]{max-width:680px}.modal-header[data-v-bf63d1e7]{display:flex;justify-content:space-between;align-items:center}.header-left[data-v-bf63d1e7],.header-right[data-v-bf63d1e7]{display:flex;align-items:center;gap:8px}.task-number[data-v-bf63d1e7]{font-size:12px;color:var(--text-muted);font-weight:600}.follow-btn[data-v-bf63d1e7]{font-size:12px}.follow-btn.following[data-v-bf63d1e7]{color:var(--primary);font-weight:600}.task-status-badge[data-v-bf63d1e7]{font-size:12px;text-transform:capitalize;background:#f1f5f9;color:#475569}.task-title[data-v-bf63d1e7]{font-size:18px;font-weight:700;cursor:text;margin-bottom:12px}.task-title[data-v-bf63d1e7]:hover{text-decoration:underline dotted}.task-title-input[data-v-bf63d1e7]{font-size:18px;font-weight:700;width:100%;border:none;border-bottom:2px solid var(--primary);outline:none;background:transparent;margin-bottom:12px;color:var(--text)}.tab-bar[data-v-bf63d1e7]{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.tab[data-v-bf63d1e7]{background:none;border:none;padding:8px 12px;font-size:13px;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:5px}.tab[data-v-bf63d1e7]:hover{color:var(--text)}.tab.active[data-v-bf63d1e7]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-count[data-v-bf63d1e7]{background:var(--border);border-radius:10px;font-size:10px;padding:1px 6px;color:var(--text-muted);font-weight:600}.tab-panel[data-v-bf63d1e7]{min-height:220px}.task-meta-grid[data-v-bf63d1e7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-bottom:16px}.meta-item[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:4px}.meta-label[data-v-bf63d1e7]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-muted)}.meta-value[data-v-bf63d1e7]{font-size:13px;padding:6px 0}.meta-item select[data-v-bf63d1e7],.meta-item input[data-v-bf63d1e7]{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px}.followers-row[data-v-bf63d1e7]{margin-bottom:16px}.followers-chips[data-v-bf63d1e7]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.follower-chip[data-v-bf63d1e7]{display:inline-flex;align-items:center;gap:2px;background:var(--primary);color:#fff;border-radius:12px;font-size:10px;font-weight:700;padding:4px 6px 4px 8px}.chip-remove[data-v-bf63d1e7]{background:none;border:none;color:#fff;cursor:pointer;font-size:12px;padding:0 2px;opacity:.7}.chip-remove[data-v-bf63d1e7]:hover{opacity:1}.add-follower[data-v-bf63d1e7]{padding:4px 6px;border:1px dashed var(--border);border-radius:12px;font-size:11px;background:none;color:var(--text-muted);cursor:pointer}.time-total[data-v-bf63d1e7]{font-size:13px;color:var(--text-muted);margin-top:8px}.comments-list[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;max-height:260px;overflow-y:auto}.comment[data-v-bf63d1e7]{display:flex;gap:8px}.comment-body[data-v-bf63d1e7]{flex:1}.comment-author[data-v-bf63d1e7]{font-weight:600;font-size:12px;margin-bottom:2px}.comment-time[data-v-bf63d1e7]{font-weight:400;color:var(--text-muted);font-size:11px;margin-left:6px}.comment-content[data-v-bf63d1e7]{font-size:13px;color:var(--text);line-height:1.5}.comment-content[data-v-bf63d1e7] .mention{color:var(--primary);font-weight:600}.comment-content[data-v-bf63d1e7] .comment-image-card{display:inline-block;margin-top:6px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;max-width:260px;text-decoration:none;background:var(--surface);cursor:pointer}.comment-content[data-v-bf63d1e7] .comment-image-card img{display:block;width:100%;max-height:180px;object-fit:cover;background:#1e1e2e}.comment-content[data-v-bf63d1e7] .comment-image-name{display:block;padding:6px 10px;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comment-content[data-v-bf63d1e7] .comment-file-card{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;color:var(--text);text-decoration:none;background:var(--surface)}.comment-content[data-v-bf63d1e7] .comment-file-card:hover{border-color:var(--primary)}.comment-content[data-v-bf63d1e7] .comment-code{margin-top:6px;padding:10px 12px;background:#1e1e2e;color:#cdd6f4;border-radius:6px;font-family:monospace;font-size:12px;overflow-x:auto;white-space:pre}.comment-uploading[data-v-bf63d1e7]{font-size:12px;margin-top:-2px}.comment-form[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:6px}.comment-input-wrap[data-v-bf63d1e7]{position:relative}.comment-input-wrap textarea[data-v-bf63d1e7]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);min-height:72px;resize:none;line-height:1.5;font-family:inherit;font-size:13px;box-sizing:border-box}.comment-input-wrap textarea[data-v-bf63d1e7]:focus{outline:none;border-color:var(--primary)}.comment-toolbar[data-v-bf63d1e7]{display:flex;align-items:center;justify-content:space-between}.comment-toolbar-left[data-v-bf63d1e7]{display:flex;gap:4px}.toolbar-btn[data-v-bf63d1e7]{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:13px;color:var(--text-muted);display:inline-flex;align-items:center}.toolbar-btn[data-v-bf63d1e7]:hover{background:var(--bg);color:var(--text)}.snippet-panel[data-v-bf63d1e7]{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.snippet-header[data-v-bf63d1e7]{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg);border-bottom:1px solid var(--border)}.snippet-lang[data-v-bf63d1e7]{padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;flex:1}.snippet-code[data-v-bf63d1e7]{width:100%;padding:8px;border:none;font-family:monospace;font-size:12px;resize:none;background:#1e1e2e;color:#cdd6f4;box-sizing:border-box}.btn-sm[data-v-bf63d1e7]{padding:3px 10px;font-size:12px}.back-btn[data-v-bf63d1e7]{font-size:13px;padding:4px 8px}.mention-dropdown[data-v-bf63d1e7]{position:absolute;bottom:100%;left:0;margin-bottom:4px;width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;z-index:10;overflow:hidden}.mention-option[data-v-bf63d1e7]{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px;cursor:pointer}.mention-option[data-v-bf63d1e7]:hover,.mention-option.highlighted[data-v-bf63d1e7]{background:rgba(99,102,241,.1)}.subtask-progress[data-v-bf63d1e7]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.subtask-bar[data-v-bf63d1e7]{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.subtask-bar-fill[data-v-bf63d1e7]{height:100%;background:var(--primary);border-radius:3px;transition:width .2s}.subtask-progress-label[data-v-bf63d1e7]{font-size:12px;color:var(--text-muted);font-weight:600;white-space:nowrap}.subtask-list[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;max-height:240px;overflow-y:auto}.subtask-row[data-v-bf63d1e7]{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;cursor:pointer}.subtask-row[data-v-bf63d1e7]:hover{background:var(--bg);border-color:var(--primary)}.subtask-title[data-v-bf63d1e7]{flex:1;font-size:13px}.subtask-row:hover .subtask-title[data-v-bf63d1e7]:not(.done){color:var(--primary)}.subtask-title.done[data-v-bf63d1e7]{text-decoration:line-through;color:var(--text-muted)}.subtask-delete[data-v-bf63d1e7]{font-size:12px;padding:2px 6px;opacity:.5}.subtask-delete[data-v-bf63d1e7]:hover{opacity:1}.subtask-form[data-v-bf63d1e7]{display:flex;gap:8px}.subtask-form input[data-v-bf63d1e7]{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius)}.attachment-actions[data-v-bf63d1e7]{display:flex;gap:8px;margin-bottom:12px}.upload-btn[data-v-bf63d1e7]{cursor:pointer}.link-form[data-v-bf63d1e7]{display:flex;gap:8px;margin-bottom:12px}.link-form input[data-v-bf63d1e7]{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius)}.attachment-list[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:6px}.attachment-row[data-v-bf63d1e7]{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:6px}.attachment-label[data-v-bf63d1e7]{flex:1;font-size:13px;color:var(--primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-label[data-v-bf63d1e7]:hover{text-decoration:underline}.attachment-meta[data-v-bf63d1e7]{font-size:11px;color:var(--text-muted);white-space:nowrap}.time-actions[data-v-bf63d1e7]{display:flex;gap:8px;margin-bottom:12px}.time-form[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px;border:1px solid var(--border);border-radius:var(--radius)}.time-form input[data-v-bf63d1e7]{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px}.time-form-row[data-v-bf63d1e7]{display:flex;gap:12px;flex-wrap:wrap}.time-form-row label[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-muted);font-weight:600}.time-list[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:6px}.time-row[data-v-bf63d1e7]{padding:8px 10px;border:1px solid var(--border);border-radius:6px}.time-row-main[data-v-bf63d1e7]{display:flex;justify-content:space-between;font-size:13px}.time-title[data-v-bf63d1e7]{font-weight:500}.time-user[data-v-bf63d1e7]{color:var(--text-muted);font-size:12px}.time-row-meta[data-v-bf63d1e7]{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted);margin-top:4px}.running-dot[data-v-bf63d1e7]{color:var(--danger);font-weight:600}.activity-list[data-v-bf63d1e7]{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.activity-row[data-v-bf63d1e7]{display:flex;gap:8px;align-items:flex-start}.activity-body[data-v-bf63d1e7]{flex:1}.activity-text[data-v-bf63d1e7]{font-size:13px;display:block}.activity-time[data-v-bf63d1e7]{font-size:11px;color:var(--text-muted)}.form-group textarea[data-v-bf63d1e7]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:13px}.muted[data-v-bf63d1e7]{color:var(--text-muted);font-size:13px}.notes-panel[data-v-1884b0c2]{display:flex;height:100%;min-height:500px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.notes-sidebar[data-v-1884b0c2]{width:220px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg)}.notes-sidebar-header[data-v-1884b0c2]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.notes-sidebar-title[data-v-1884b0c2]{font-weight:600;font-size:13px}.btn-icon-sm[data-v-1884b0c2]{background:none;border:1px solid var(--border);border-radius:4px;padding:2px 7px;cursor:pointer;font-size:16px;line-height:1;color:var(--text-muted)}.btn-icon-sm[data-v-1884b0c2]:hover{color:var(--primary);border-color:var(--primary)}.btn-icon-danger[data-v-1884b0c2]{color:var(--danger)!important;border-color:var(--danger)!important}.folder-group[data-v-1884b0c2]{margin-bottom:2px}.folder-label[data-v-1884b0c2]{display:flex;align-items:center;gap:5px;padding:8px 14px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.note-item[data-v-1884b0c2]{padding:7px 14px;cursor:pointer;border-left:3px solid transparent;transition:background .1s}.note-item[data-v-1884b0c2]:hover{background:rgba(0,0,0,.04)}.note-item.active[data-v-1884b0c2]{border-left-color:var(--primary);background:rgba(99,102,241,.06)}.note-item-title[data-v-1884b0c2]{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-item-date[data-v-1884b0c2]{font-size:11px;color:var(--text-muted);margin-top:1px}.notes-empty[data-v-1884b0c2]{padding:24px 14px;text-align:center;color:var(--text-muted);font-size:13px;line-height:1.6}.notes-sidebar-footer[data-v-1884b0c2]{padding:10px 14px;border-top:1px solid var(--border);margin-top:auto}.folder-input-row[data-v-1884b0c2]{display:flex;gap:6px;margin-top:8px}.folder-input-row input[data-v-1884b0c2]{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px}.notes-editor[data-v-1884b0c2]{flex:1;display:flex;flex-direction:column;overflow:hidden}.notes-placeholder[data-v-1884b0c2]{align-items:center;justify-content:center;gap:12px;color:var(--text-muted)}.notes-placeholder p[data-v-1884b0c2]{font-size:14px}.editor-toolbar[data-v-1884b0c2]{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}.note-title-input[data-v-1884b0c2]{flex:1;font-size:16px;font-weight:600;border:none;outline:none;background:transparent;color:var(--text);min-width:120px}.editor-actions[data-v-1884b0c2]{display:flex;align-items:center;gap:8px}.folder-select[data-v-1884b0c2]{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px}.tab-toggle[data-v-1884b0c2]{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.tab-toggle button[data-v-1884b0c2]{padding:4px 10px;font-size:12px;background:none;color:var(--text-muted);border:none;cursor:pointer}.tab-toggle button.active[data-v-1884b0c2]{background:var(--primary);color:#fff}.editor-write[data-v-1884b0c2]{flex:1;display:flex}.note-textarea[data-v-1884b0c2]{flex:1;padding:16px;border:none;outline:none;resize:none;font-family:Fira Code,Courier New,monospace;font-size:14px;line-height:1.7;background:var(--surface);color:var(--text)}.editor-preview[data-v-1884b0c2]{flex:1;padding:16px 20px;overflow-y:auto;font-size:14px;line-height:1.7}.btn-sm[data-v-1884b0c2]{padding:4px 10px;font-size:12px}.markdown-body h1{font-size:1.5em;font-weight:700;margin:16px 0 8px}.markdown-body h2{font-size:1.25em;font-weight:600;margin:14px 0 6px;border-bottom:1px solid var(--border);padding-bottom:4px}.markdown-body h3{font-size:1.1em;font-weight:600;margin:12px 0 4px}.markdown-body p{margin:8px 0}.markdown-body ul{padding-left:20px;margin:8px 0}.markdown-body li{margin:2px 0}.markdown-body code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-family:Fira Code,monospace;font-size:.9em}.markdown-body pre{background:#0f172a;color:#e2e8f0;padding:12px 16px;border-radius:8px;overflow-x:auto;margin:10px 0}.markdown-body pre code{background:none;color:inherit;padding:0}.markdown-body blockquote{border-left:3px solid var(--primary);margin:8px 0;padding:4px 12px;color:var(--text-muted)}.markdown-body a{color:var(--primary);text-decoration:underline}.markdown-body strong{font-weight:700}.markdown-body em{font-style:italic}.view-header[data-v-0ef64e72]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.back-link[data-v-0ef64e72]{font-size:13px;color:var(--text-muted);display:block;margin-bottom:6px}.back-link[data-v-0ef64e72]:hover{color:var(--text)}.project-title-row[data-v-0ef64e72]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-dot[data-v-0ef64e72]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.project-title-row h2[data-v-0ef64e72]{font-size:20px;font-weight:700}.subtitle[data-v-0ef64e72]{color:var(--text-muted);font-size:13px;margin-top:4px}.header-actions[data-v-0ef64e72]{display:flex;gap:8px;flex-shrink:0}.btn-danger-text[data-v-0ef64e72]{color:var(--danger)}.btn-danger-text[data-v-0ef64e72]:hover{background:#fef2f2}.status-active[data-v-0ef64e72]{background:#dcfce7;color:#15803d}.status-completed[data-v-0ef64e72]{background:#ede9fe;color:#6d28d9}.status-archived[data-v-0ef64e72]{background:#f1f5f9;color:#475569}.tabs[data-v-0ef64e72]{display:flex;gap:2px;border-bottom:2px solid var(--border);margin-bottom:20px;overflow-x:auto}.tabs button[data-v-0ef64e72]{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-muted);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;white-space:nowrap}.tabs button[data-v-0ef64e72]:hover{color:var(--text)}.tabs button.active[data-v-0ef64e72]{color:var(--primary);border-bottom-color:var(--primary)}.tab-count[data-v-0ef64e72]{display:inline-flex;align-items:center;justify-content:center;background:var(--border);border-radius:999px;min-width:18px;height:18px;font-size:11px;padding:0 5px;margin-left:6px}.kanban-board[data-v-0ef64e72]{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;align-items:flex-start}.add-column-card[data-v-0ef64e72]{width:240px;flex-shrink:0;background:#f1f5f9;border-radius:var(--radius);border:2px dashed var(--border)}.add-col-trigger[data-v-0ef64e72]{display:flex;align-items:center;gap:8px;padding:14px 16px;cursor:pointer;color:var(--text-muted);font-size:13px;font-weight:500;border-radius:var(--radius);transition:background .15s,color .15s}.add-col-trigger[data-v-0ef64e72]:hover{background:var(--border);color:var(--text)}.add-col-icon[data-v-0ef64e72]{font-size:18px;font-weight:300}.add-col-form[data-v-0ef64e72]{padding:12px;display:flex;flex-direction:column;gap:8px}.add-col-input[data-v-0ef64e72]{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;outline:none;width:100%}.add-col-input[data-v-0ef64e72]:focus{border-color:var(--primary)}.add-col-row[data-v-0ef64e72]{display:flex;gap:6px;align-items:center}.col-color-pick[data-v-0ef64e72]{width:36px;height:34px;border:1px solid var(--border);border-radius:var(--radius);padding:2px;cursor:pointer;flex-shrink:0}.members-tab[data-v-0ef64e72]{max-width:700px}.members-header[data-v-0ef64e72]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.members-header h3[data-v-0ef64e72]{font-size:16px;font-weight:600}.member-role-legend[data-v-0ef64e72]{font-size:12px;color:var(--text-muted);margin-bottom:16px;line-height:2}.members-list[data-v-0ef64e72]{display:flex;flex-direction:column;gap:8px}.member-row[data-v-0ef64e72]{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}.member-info[data-v-0ef64e72]{flex:1;min-width:0}.member-name[data-v-0ef64e72]{font-weight:500;font-size:14px}.member-email[data-v-0ef64e72]{font-size:12px;color:var(--text-muted)}.role-select[data-v-0ef64e72]{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px}.role-chip[data-v-0ef64e72]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.role-lead[data-v-0ef64e72]{background:#ede9fe;color:#6d28d9}.role-manager[data-v-0ef64e72]{background:#dbeafe;color:#1d4ed8}.role-member[data-v-0ef64e72]{background:#f1f5f9;color:#475569}.role-readonly[data-v-0ef64e72]{background:#fef3c7;color:#92400e}.btn-remove[data-v-0ef64e72]{background:none;color:var(--text-muted);padding:4px 8px;border-radius:4px;font-size:14px}.btn-remove[data-v-0ef64e72]:hover{color:var(--danger)}.notes-tab[data-v-0ef64e72]{height:calc(100vh - 220px);min-height:400px}.form-row-3[data-v-0ef64e72]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.error-msg[data-v-0ef64e72]{color:var(--danger);font-size:13px}.muted[data-v-0ef64e72]{color:var(--text-muted)}@media (max-width: 768px){.form-row-3[data-v-0ef64e72]{grid-template-columns:1fr}.notes-tab[data-v-0ef64e72]{height:calc(100vh - 260px)}}.dept-card[data-v-45078112]{margin-bottom:12px;overflow:visible}.dept-header[data-v-45078112]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background .15s;border-radius:var(--radius)}.dept-header[data-v-45078112]:hover{background:#fafafa}.dept-left[data-v-45078112]{display:flex;align-items:center;gap:14px}.dept-badge[data-v-45078112]{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.dept-badge.core[data-v-45078112]{background:#ede9fe;color:#6d28d9}.dept-badge.affiliate[data-v-45078112]{background:#fef3c7;color:#92400e}.dept-name[data-v-45078112]{font-weight:600;font-size:15px}.dept-meta[data-v-45078112]{font-size:12px;color:var(--text-muted);margin-top:2px}.dept-right[data-v-45078112]{display:flex;align-items:center;gap:12px}.stat[data-v-45078112]{font-size:12px;color:var(--text-muted);background:var(--bg);padding:3px 8px;border-radius:999px}.chevron[data-v-45078112]{font-size:18px;color:var(--text-muted);transition:transform .2s;display:inline-block}.chevron.open[data-v-45078112]{transform:rotate(90deg)}.dept-body[data-v-45078112]{border-top:1px solid var(--border);padding:12px 20px 16px}.team-row[data-v-45078112]{margin-bottom:8px}.team-header[data-v-45078112]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg);border-radius:6px}.team-name[data-v-45078112]{font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px;color:var(--text)}.team-lead[data-v-45078112]{color:var(--text-muted);font-weight:400}.team-actions[data-v-45078112]{display:flex;align-items:center;gap:6px}.team-avatars[data-v-45078112]{display:flex;align-items:center}.team-avatars[data-v-45078112] .stacked-avatar{border:2px solid #fff;margin-left:-8px}.team-avatars[data-v-45078112] .stacked-avatar:first-child{margin-left:0}.more-chip[data-v-45078112]{font-size:11px;color:var(--text-muted);margin-left:4px}.btn-icon[data-v-45078112]{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 6px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center}.btn-icon[data-v-45078112]:hover{color:var(--text);background:var(--bg)}.btn-icon-danger[data-v-45078112]:hover{color:var(--danger);border-color:var(--danger)}.unassigned-row[data-v-45078112]{margin-top:12px}.unassigned-label[data-v-45078112]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-muted);margin-bottom:6px}.unassigned-members[data-v-45078112]{display:flex;flex-wrap:wrap;gap:6px}.member-pill[data-v-45078112]{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:3px 10px 3px 4px;font-size:12px}.role-tag[data-v-45078112]{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px}.role-sysadmin[data-v-45078112]{background:#ede9fe;color:#6d28d9}.role-exec[data-v-45078112]{background:#1e293b;color:#f1f5f9}.role-dgm[data-v-45078112]{background:#e0e7ff;color:#3730a3}.role-head[data-v-45078112]{background:#dbeafe;color:#1d4ed8}.role-manager[data-v-45078112]{background:#ccfbf1;color:#0f766e}.role-member[data-v-45078112]{background:#f1f5f9;color:#475569}.dept-actions[data-v-45078112]{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.btn-sm[data-v-45078112]{padding:4px 10px;font-size:12px}.muted-sm[data-v-45078112]{color:var(--text-muted);font-size:13px;padding:8px 0}.team-member-list[data-v-45078112]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.team-member-row[data-v-45078112]{display:flex;align-items:center;gap:10px;padding:8px;background:var(--bg);border-radius:6px}.tm-name[data-v-45078112]{font-weight:500;font-size:13px;flex:1}.tm-title[data-v-45078112]{font-size:12px;color:var(--text-muted)}.add-member-row[data-v-45078112]{display:flex;gap:8px}.add-member-select[data-v-45078112]{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px}.error-msg[data-v-45078112]{color:var(--danger);font-size:13px;margin-top:8px}.form-row[data-v-6f882233]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error-msg[data-v-6f882233]{color:var(--danger);font-size:13px;margin-top:8px}.form-row-2[data-v-a6223e73],.form-row-3[data-v-a6223e73]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error-msg[data-v-a6223e73]{color:var(--danger);font-size:13px}.view-header[data-v-3bdea502]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.view-header h2[data-v-3bdea502]{font-size:20px;font-weight:700}.subtitle[data-v-3bdea502]{color:var(--text-muted);font-size:13px;margin-top:2px}.header-actions[data-v-3bdea502]{display:flex;gap:8px}.hierarchy-bar[data-v-3bdea502]{display:flex;align-items:center;gap:0;padding:12px 20px;margin-bottom:20px;overflow-x:auto}.hier-item[data-v-3bdea502]{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:80px;position:relative}.hier-item[data-v-3bdea502]:not(:last-child):after{content:"→";position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px}.hier-label[data-v-3bdea502]{font-size:11px;font-weight:500;color:var(--text-muted);text-align:center}.hier-badge[data-v-3bdea502]{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px}.h-sysadmin[data-v-3bdea502]{background:#ede9fe;color:#6d28d9}.h-exec[data-v-3bdea502]{background:#1e293b;color:#f1f5f9}.h-dgm[data-v-3bdea502]{background:#e0e7ff;color:#3730a3}.h-head[data-v-3bdea502]{background:#dbeafe;color:#1d4ed8}.h-manager[data-v-3bdea502]{background:#ccfbf1;color:#0f766e}.h-member[data-v-3bdea502]{background:#f1f5f9;color:#475569}.section-title[data-v-3bdea502]{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.error-msg[data-v-3bdea502]{color:var(--danger);font-size:13px}.muted[data-v-3bdea502]{color:var(--text-muted)}.view-header[data-v-be4b23e0]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.view-header h2[data-v-be4b23e0]{font-size:20px;font-weight:700}.subtitle[data-v-be4b23e0]{color:var(--text-muted);font-size:13px;margin-top:2px}.users-table-wrap[data-v-be4b23e0]{overflow-x:auto}.users-table[data-v-be4b23e0]{width:100%;border-collapse:collapse;font-size:13px}.users-table th[data-v-be4b23e0]{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);font-weight:600}.users-table td[data-v-be4b23e0]{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.users-table tr:last-child td[data-v-be4b23e0]{border-bottom:none}.users-table tr:hover td[data-v-be4b23e0]{background:var(--bg)}.user-cell[data-v-be4b23e0]{display:flex;align-items:center;gap:10px;font-weight:500}.muted-cell[data-v-be4b23e0]{color:var(--text-muted)}.role-badge[data-v-be4b23e0]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.role-sysadmin[data-v-be4b23e0]{background:#ede9fe;color:#6d28d9}.role-exec[data-v-be4b23e0]{background:#1e293b;color:#f1f5f9}.role-dgm[data-v-be4b23e0]{background:#e0e7ff;color:#3730a3}.role-head[data-v-be4b23e0]{background:#dbeafe;color:#1d4ed8}.role-manager[data-v-be4b23e0]{background:#ccfbf1;color:#0f766e}.role-member[data-v-be4b23e0]{background:#f1f5f9;color:#475569}.type-badge[data-v-be4b23e0]{font-size:11px;padding:2px 7px;border-radius:999px;font-weight:500}.type-local[data-v-be4b23e0]{background:#f1f5f9;color:#475569}.type-foreign[data-v-be4b23e0]{background:#fef3c7;color:#92400e}.type-contractual[data-v-be4b23e0]{background:#e0e7ff;color:#3730a3}.action-row[data-v-be4b23e0]{display:flex;gap:4px}.btn-xs[data-v-be4b23e0]{padding:3px 8px;font-size:11px}.btn-danger-ghost[data-v-be4b23e0]{color:var(--danger)!important}.btn-danger-ghost[data-v-be4b23e0]:hover{background:#fef2f2}.form-row-2[data-v-be4b23e0]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error-msg[data-v-be4b23e0]{color:var(--danger);font-size:13px;margin-top:8px}.info-msg[data-v-be4b23e0]{font-size:13px;color:var(--text-muted);background:var(--bg);padding:10px 12px;border-radius:var(--radius);margin-bottom:12px}.muted[data-v-be4b23e0]{color:var(--text-muted)}.view-header[data-v-d8666b49]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.view-header h2[data-v-d8666b49]{font-size:20px;font-weight:700}.subtitle[data-v-d8666b49]{color:var(--text-muted);font-size:13px;margin-top:2px}.roles-table-wrap[data-v-d8666b49]{overflow-x:auto}.roles-table[data-v-d8666b49]{width:100%;border-collapse:collapse}.roles-table th[data-v-d8666b49]{padding:10px 16px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border)}.roles-table td[data-v-d8666b49]{padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px}.roles-table tr:last-child td[data-v-d8666b49]{border-bottom:none}.role-name-cell[data-v-d8666b49]{display:flex;align-items:center;gap:8px;font-weight:500}.role-dot[data-v-d8666b49]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.role-dot.sysadmin[data-v-d8666b49]{background:#7c3aed}.role-dot.exec[data-v-d8666b49]{background:#1e293b}.role-dot.dgm[data-v-d8666b49]{background:#3730a3}.role-dot.head[data-v-d8666b49]{background:#1d4ed8}.role-dot.manager[data-v-d8666b49]{background:#0f766e}.role-dot.member[data-v-d8666b49]{background:#94a3b8}.level-bar-wrap[data-v-d8666b49]{display:flex;align-items:center;gap:8px}.level-bar[data-v-d8666b49]{height:6px;border-radius:999px;min-width:4px}.level-bar.sysadmin[data-v-d8666b49]{background:#7c3aed}.level-bar.exec[data-v-d8666b49]{background:#1e293b}.level-bar.dgm[data-v-d8666b49]{background:#3730a3}.level-bar.head[data-v-d8666b49]{background:#1d4ed8}.level-bar.manager[data-v-d8666b49]{background:#0f766e}.level-bar.member[data-v-d8666b49]{background:#94a3b8}.level-num[data-v-d8666b49]{font-size:12px;color:var(--text-muted);font-weight:600}.badge-system[data-v-d8666b49]{background:#f1f5f9;color:#475569}.badge-custom[data-v-d8666b49]{background:#fff7ed;color:#c2410c}.action-btns[data-v-d8666b49]{display:flex;gap:6px}.btn-sm[data-v-d8666b49]{padding:4px 10px;font-size:12px}.hint[data-v-d8666b49]{font-size:11px;color:var(--text-muted);margin-top:4px}.error-msg[data-v-d8666b49]{color:var(--danger);font-size:13px}.muted[data-v-d8666b49]{color:var(--text-muted)}.admin-dashboard[data-v-b5f37bdf]{max-width:1100px}.view-header[data-v-b5f37bdf]{margin-bottom:20px}.view-header h2[data-v-b5f37bdf]{font-size:20px;font-weight:700}.subtitle[data-v-b5f37bdf]{color:var(--text-muted);font-size:13px;margin-top:2px}.muted[data-v-b5f37bdf]{color:var(--text-muted)}.stats-grid[data-v-b5f37bdf]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card[data-v-b5f37bdf]{padding:20px}.stat-label[data-v-b5f37bdf]{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.stat-value[data-v-b5f37bdf]{font-size:32px;font-weight:700;margin-top:6px}.charts-grid[data-v-b5f37bdf]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.chart-card[data-v-b5f37bdf]{padding:20px}.chart-title[data-v-b5f37bdf]{font-size:13px;font-weight:600;margin-bottom:16px;color:var(--text-muted)}.section-title[data-v-b5f37bdf]{font-size:15px;font-weight:600;margin-bottom:12px}.overdue-list[data-v-b5f37bdf]{padding:0;overflow:hidden}.overdue-row[data-v-b5f37bdf]{display:grid;grid-template-columns:2fr 1.2fr 1fr .8fr;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);font-size:13px}.overdue-row[data-v-b5f37bdf]:last-child{border-bottom:none}.overdue-title[data-v-b5f37bdf]{font-weight:500}.overdue-project[data-v-b5f37bdf],.overdue-assignee[data-v-b5f37bdf]{color:var(--text-muted)}.overdue-due[data-v-b5f37bdf]{color:var(--danger);font-weight:600}@media (max-width: 900px){.stats-grid[data-v-b5f37bdf]{grid-template-columns:repeat(2,1fr)}.charts-grid[data-v-b5f37bdf]{grid-template-columns:1fr}}.view-header[data-v-5c477564]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.view-header h2[data-v-5c477564]{font-size:20px;font-weight:700}.subtitle[data-v-5c477564]{color:var(--text-muted);font-size:13px;margin-top:2px}.projects-grid[data-v-5c477564]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.empty-state[data-v-5c477564]{text-align:center;padding:60px 24px}.empty-icon[data-v-5c477564]{font-size:40px;margin-bottom:12px}.empty-state h3[data-v-5c477564]{font-size:18px;font-weight:600;margin-bottom:6px}.muted[data-v-5c477564]{color:var(--text-muted)}.settings-view[data-v-0e2e438b]{max-width:640px}.view-header[data-v-0e2e438b]{margin-bottom:20px}.view-header h2[data-v-0e2e438b]{font-size:20px;font-weight:700}.subtitle[data-v-0e2e438b]{color:var(--text-muted);font-size:13px;margin-top:2px}.settings-grid[data-v-0e2e438b]{display:flex;flex-direction:column;gap:16px}.settings-card[data-v-0e2e438b]{padding:20px}.card-title[data-v-0e2e438b]{font-size:14px;font-weight:600;margin-bottom:16px}.avatar-row[data-v-0e2e438b]{display:flex;align-items:center;gap:20px}.avatar-wrap[data-v-0e2e438b]{position:relative}.avatar-uploading[data-v-0e2e438b]{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;text-align:center}.avatar-actions[data-v-0e2e438b]{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.hint[data-v-0e2e438b]{font-size:12px;color:var(--text-muted)}.form-group[data-v-0e2e438b]{margin-bottom:14px}.form-group label[data-v-0e2e438b]{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:5px}.form-group input[data-v-0e2e438b]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;box-sizing:border-box}.form-row[data-v-0e2e438b]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.success-msg[data-v-0e2e438b]{color:var(--success);font-size:13px;margin-bottom:10px}.error-msg[data-v-0e2e438b]{color:var(--danger);font-size:13px;margin-bottom:10px}@media (max-width: 560px){.avatar-row[data-v-0e2e438b]{flex-direction:column;align-items:flex-start}.form-row[data-v-0e2e438b]{grid-template-columns:1fr}}.form-row[data-v-dd189524]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error-msg[data-v-dd189524]{color:var(--danger);font-size:13px;margin-top:8px}.attendee-chips[data-v-dd189524]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.attendee-chip[data-v-dd189524]{display:inline-flex;align-items:center;gap:5px;background:var(--primary);color:#fff;border-radius:999px;font-size:11px;font-weight:600;padding:3px 8px 3px 4px}.chip-remove[data-v-dd189524]{background:none;border:none;color:#fff;cursor:pointer;font-size:12px;padding:0 2px;opacity:.7}.chip-remove[data-v-dd189524]:hover{opacity:1}.add-attendee[data-v-dd189524]{padding:4px 8px;border:1px dashed var(--border);border-radius:12px;font-size:11px;background:none;color:var(--text-muted);cursor:pointer}.calendar-view[data-v-20708df0]{max-width:1000px}.view-header[data-v-20708df0]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.view-header h2[data-v-20708df0]{font-size:20px;font-weight:700}.subtitle[data-v-20708df0]{color:var(--text-muted);font-size:13px;margin-top:2px}.muted[data-v-20708df0]{color:var(--text-muted)}.calendar-nav[data-v-20708df0]{display:flex;align-items:center;gap:8px}.month-label[data-v-20708df0]{font-size:14px;font-weight:600;min-width:130px;text-align:center}.btn-icon[data-v-20708df0]{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;cursor:pointer;color:var(--text);font-size:14px}.btn-icon[data-v-20708df0]:hover{background:var(--bg)}.weekday-row[data-v-20708df0]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.weekday-row span[data-v-20708df0]{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.calendar-grid[data-v-20708df0]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day-cell[data-v-20708df0]{min-height:90px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px;display:flex;flex-direction:column;gap:4px}.day-cell.out-month[data-v-20708df0]{opacity:.4}.day-cell.today[data-v-20708df0]{border-color:var(--primary);background:rgba(99,102,241,.04)}.day-num[data-v-20708df0]{font-size:12px;font-weight:600;color:var(--text-muted)}.day-cell.today .day-num[data-v-20708df0]{color:var(--primary)}.day-items[data-v-20708df0]{display:flex;flex-direction:column;gap:3px;overflow:hidden}.day-chip[data-v-20708df0]{font-size:10px;padding:2px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.task-chip[data-v-20708df0]{background:var(--bg);border-left:3px solid var(--primary)}.task-chip[data-v-20708df0]:hover{background:var(--border)}.meeting-chip[data-v-20708df0]{background:#fef3c7;color:#92400e}.meeting-chip[data-v-20708df0]:hover{background:#fde68a}.day-more[data-v-20708df0]{font-size:9px;color:var(--text-muted);padding-left:3px}@media (max-width: 700px){.day-cell[data-v-20708df0]{min-height:60px}.day-chip[data-v-20708df0]{font-size:9px}}.meeting-row[data-v-65573d88]{display:flex;gap:16px;padding:16px;align-items:flex-start}.meeting-row.past[data-v-65573d88]{opacity:.6}.meeting-date[data-v-65573d88]{width:48px;flex-shrink:0;text-align:center;background:var(--bg);border-radius:var(--radius);padding:6px 0}.date-day[data-v-65573d88]{font-size:18px;font-weight:700;line-height:1.1}.date-month[data-v-65573d88]{font-size:10px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.meeting-main[data-v-65573d88]{flex:1;min-width:0}.meeting-title-row[data-v-65573d88]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meeting-title[data-v-65573d88]{font-weight:600;font-size:14px}.project-tag[data-v-65573d88]{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px}.meeting-meta[data-v-65573d88]{display:flex;gap:14px;font-size:12px;color:var(--text-muted);margin-top:4px}.meeting-desc[data-v-65573d88]{font-size:12px;color:var(--text-muted);margin-top:6px}.attendee-stack[data-v-65573d88]{display:flex;align-items:center;margin-top:8px}.attendee-stack[data-v-65573d88] .stacked-avatar{border:2px solid var(--surface)}.attendee-stack[data-v-65573d88] .stacked-avatar+.stacked-avatar{margin-left:-8px}.more-count[data-v-65573d88]{font-size:10px;color:var(--text-muted);margin-left:4px}.meeting-actions[data-v-65573d88]{display:flex;gap:2px;flex-shrink:0}.btn-icon[data-v-65573d88]{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 8px;cursor:pointer;color:var(--text-muted);font-size:12px}.btn-icon[data-v-65573d88]:hover{background:var(--bg);color:var(--text)}.btn-icon-danger[data-v-65573d88]:hover{color:var(--danger);border-color:var(--danger)}.meetings-view[data-v-4fcd94c0]{max-width:900px}.view-header[data-v-4fcd94c0]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.view-header h2[data-v-4fcd94c0]{font-size:20px;font-weight:700}.subtitle[data-v-4fcd94c0]{color:var(--text-muted);font-size:13px;margin-top:2px}.muted[data-v-4fcd94c0]{color:var(--text-muted)}.empty-state[data-v-4fcd94c0]{text-align:center;padding:60px 24px}.empty-icon[data-v-4fcd94c0]{font-size:40px;margin-bottom:12px}.empty-state h3[data-v-4fcd94c0]{font-size:18px;font-weight:600;margin-bottom:6px}.empty-state p[data-v-4fcd94c0]{color:var(--text-muted);margin-bottom:20px}.section[data-v-4fcd94c0]{margin-bottom:24px}.section-title[data-v-4fcd94c0]{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--text-muted)}.meeting-list[data-v-4fcd94c0]{display:flex;flex-direction:column;gap:8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #6366f1;--primary-dark: #4f46e5;--sidebar-bg: #0f172a;--sidebar-text: #94a3b8;--sidebar-active: #6366f1;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1)}html.dark{--bg: #10131a;--surface: #1a1e29;--border: #2b3040;--text: #e2e8f0;--text-muted: #8b96ab;--shadow: 0 1px 3px rgba(0,0,0,.4)}html.dark img{opacity:.92}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit;font-size:14px}input,textarea,select{font-family:inherit;font-size:14px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-weight:500;transition:background .15s,opacity .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--border);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-admin{background:#ede9fe;color:#7c3aed}.badge-member{background:#f1f5f9;color:#475569}.badge-lead{background:#fef3c7;color:#92400e}.priority-low{color:#22c55e}.priority-medium{color:#f59e0b}.priority-high{color:#ef4444}.priority-urgent{color:#7c3aed;font-weight:700}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.form-group label{font-weight:500;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea,.form-group select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);outline:none;background:var(--surface);color:var(--text);transition:border .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-header h3{font-size:16px;font-weight:600}.modal-body{padding:20px 24px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:0 24px 20px}
