@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.auth-container{background:#0f0f13;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-container:before{content:"";pointer-events:none;background:radial-gradient(circle,#7c3aed2e 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-100px;left:-100px}.auth-container:after{content:"";pointer-events:none;background:radial-gradient(circle,#6366f11a 0%,#0000 70%);width:400px;height:400px;position:absolute;bottom:-50px;right:-50px}.auth-card{z-index:10;background:#18181f;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:400px;padding:40px;animation:.25s ease-out authSlide;position:relative;box-shadow:0 25px 50px #0009}@keyframes authSlide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-logo{text-align:center;letter-spacing:-.03em;background:linear-gradient(135deg,#a78bfa,#818cf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:1.6rem;font-weight:800}.auth-card h2{text-align:center;color:#f9fafb;letter-spacing:-.01em;margin:0 0 4px;font-size:1.2rem;font-weight:700}.auth-subtitle{text-align:center;color:#6b7280;margin:0 0 28px;font-size:.82rem}.form-group{margin-bottom:16px}.form-group label{color:#9ca3af;letter-spacing:.02em;margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.form-group input{border-radius:var(--r-lg);color:#f9fafb;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1a;width:100%;padding:10px 14px;font-family:inherit;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.form-group input::placeholder{color:#4b5563}.form-group input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed33}.btn-primary{color:#fff;border-radius:var(--r-lg);cursor:pointer;letter-spacing:.01em;background:#7c3aed;border:none;width:100%;margin-top:8px;padding:11px;font-size:.88rem;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s;display:block}.btn-primary:hover{background:#6d28d9;transform:translateY(-1px);box-shadow:0 8px 20px #7c3aed59}.btn-primary:active{transform:translateY(0)}.auth-error{color:#f87171;border-radius:var(--r-lg);background:#ef44441a;border:1px solid #ef44444d;margin-bottom:16px;padding:10px 14px;font-size:.82rem}.auth-switch{text-align:center;color:#6b7280;margin-top:22px;font-size:.82rem}.auth-switch span{color:#a78bfa;cursor:pointer;font-weight:600}.auth-switch span:hover{text-decoration:underline}.ssm-overlay{z-index:1500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0f1e80;position:fixed;inset:0}.ssm-modal{z-index:1501;background:#fff;border-radius:12px;flex-direction:column;width:540px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);animation:.16s cubic-bezier(.16,1,.3,1) ssm-in;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0003}@keyframes ssm-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.ssm-header{border-bottom:1px solid #f1f5f9;flex-shrink:0;align-items:center;gap:8px;padding:14px 16px 12px;display:flex}.ssm-title{color:#1e293b;flex:1;align-items:center;gap:7px;font-size:14px;font-weight:700;display:flex}.ssm-space-name{color:#64748b;background:#f1f5f9;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.ssm-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:flex}.ssm-close:hover{color:#1e293b;background:#f1f5f9}.ssm-tabs{border-bottom:1px solid #f1f5f9;flex-shrink:0;gap:2px;padding:8px 16px 0;display:flex}.ssm-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:6px;margin-bottom:-1px;padding:7px 12px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s;display:flex}.ssm-tab:hover{color:#1e293b}.ssm-tab.active{color:#6366f1;border-bottom-color:#6366f1;font-weight:600}.ssm-tab-badge{color:#b45309;background:#fef3c7;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600}.ssm-body{flex:1;padding:20px 20px 8px;overflow-y:auto}.ssm-section-title{color:#1e293b;margin-bottom:6px;font-size:13px;font-weight:700}.ssm-section-desc{color:#64748b;margin-bottom:14px;font-size:12px;line-height:1.55}.ssm-section-desc code{color:#4338ca;background:#f1f5f9;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:11px}.ssm-prefix-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.ssm-prefix-preview{color:#1e293b;white-space:nowrap;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-width:120px;padding:8px 14px;font-family:monospace;font-size:13px}.ssm-preview-placeholder{color:#94a3b8}.ssm-input{color:#1e293b;letter-spacing:1px;border:1px solid #e2e8f0;border-radius:8px;outline:none;flex:1;padding:9px 12px;font-family:monospace;font-size:14px;font-weight:600;transition:border-color .15s,box-shadow .15s}.ssm-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.ssm-input::placeholder{color:#cbd5e1;letter-spacing:0;font-family:inherit;font-weight:400}.ssm-hint{color:#94a3b8;margin:0;font-size:11px;line-height:1.5}.ssm-footer{border-top:1px solid #f1f5f9;flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px 16px;display:flex}.ssm-btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:500;transition:background .15s}.ssm-btn-cancel:hover{background:#f8fafc}.ssm-btn-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:7px;padding:7px 18px;font-size:13px;font-weight:600;transition:background .15s}.ssm-btn-save:hover:not(:disabled){background:#4f46e5}.ssm-btn-save:disabled{opacity:.6;cursor:not-allowed}.ssm-access-body{flex-direction:column;gap:16px;display:flex}.ssm-access-section{background:#fafbff;border:1px solid #f1f5f9;border-radius:10px;padding:14px}.ssm-access-mode-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ssm-access-mode-info{flex:1;min-width:0}.ssm-privacy-toggle{background:#f1f5f9;border-radius:8px;flex-shrink:0;gap:2px;padding:3px;display:flex}.ssm-privacy-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:flex}.ssm-privacy-btn.active{color:#1e293b;background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.ssm-privacy-btn.active.private{color:#b45309}.ssm-privacy-btn:disabled{opacity:.5;cursor:not-allowed}.ssm-readonly-note{color:#94a3b8;background:#f8fafc;border-left:3px solid #e2e8f0;border-radius:6px;margin:10px 0 0;padding:8px 12px;font-size:12px}.ssm-members-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;overflow:hidden}.ssm-members-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:9px 12px;transition:background .15s;display:flex}.ssm-members-header:hover{background:#f8fafc}.ssm-members-title{color:#475569;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.ssm-expand-chevron{color:#94a3b8;font-size:10px}.ssm-member-list{border-top:1px solid #f1f5f9;max-height:200px;overflow-y:auto}.ssm-member-row{align-items:center;gap:10px;padding:8px 12px;transition:background .1s;display:flex}.ssm-member-row:hover{background:#f8fafc}.ssm-member-avatar{color:#475569;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.ssm-member-avatar img{object-fit:cover;width:100%;height:100%}.ssm-member-info{flex:1;min-width:0}.ssm-member-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.ssm-member-email{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.ssm-assign-btn{cursor:pointer;color:#475569;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s}.ssm-assign-btn:hover{background:#f1f5f9}.ssm-assign-btn.assigned{color:#059669;background:#ecfdf5;border-color:#6ee7b7}.ssm-assign-btn.assigned:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.ssm-members-loading,.ssm-members-empty{color:#94a3b8;text-align:center;padding:12px;font-size:12px}.ssm-item-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;overflow:hidden}.ssm-item-row:last-child{margin-bottom:0}.ssm-item-row.folder-row>.ssm-item-header{background:#fafbff}.ssm-item-header{flex-wrap:wrap;align-items:center;gap:8px;padding:9px 12px;display:flex}.ssm-item-icon{font-size:14px;line-height:1}.ssm-item-name{color:#1e293b;flex:1;min-width:80px;font-size:13px;font-weight:600}.ssm-access-badge{color:#64748b;align-items:center;gap:4px;font-size:11px;display:flex}.ssm-manage-btn{color:#6366f1;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #e2e8f0;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:600;transition:background .15s}.ssm-manage-btn:hover{background:#f5f3ff}.ssm-item-members{border-top:1px solid #f1f5f9}.ssm-nested-list{border-top:1px solid #f1f5f9;padding-left:20px}.ssm-nested-list .ssm-item-row{border:none;border-top:1px solid #f1f5f9;border-radius:0;margin-bottom:0}.ssm-nested-list .ssm-item-row:first-child{border-top:none}.user-management{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:#fff;max-width:1000px;margin:0 auto;padding:40px;box-shadow:0 4px 20px #00000008}.section-header{justify-content:space-between;align-items:flex-start;margin-bottom:40px;display:flex}.header-info h2{color:var(--text-main);letter-spacing:-.03em;margin:0 0 8px;font-size:1.75rem;font-weight:800}.header-info p{color:var(--text-muted);margin:0;font-size:.95rem}.members-container{flex-direction:column;display:flex}.member-list-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);grid-template-columns:1fr 180px 100px;padding:12px 24px;font-size:.75rem;font-weight:700;display:grid}.member-list{flex-direction:column;display:flex}.member-row{cursor:default;border-bottom:1px solid #f8fafc;grid-template-columns:1fr 180px 100px;align-items:center;padding:20px 24px;transition:all .2s;display:grid}.member-row:hover{background-color:#f8fafc;transform:translate(4px)}.member-row:last-child{border-bottom:none}.member-main-info{align-items:center;gap:16px;display:flex}.member-avatar{background:linear-gradient(135deg, var(--primary), #818cf8);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:.85rem;font-weight:800;display:flex;overflow:hidden;box-shadow:0 2px 8px #6366f133}.avatar-img{object-fit:cover;border-radius:10px;width:100%;height:100%;display:block}.member-details{flex-direction:column;gap:2px;display:flex}.member-name{color:var(--text-main);align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.self-badge{color:#64748b;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.member-email{color:var(--text-muted);font-size:.85rem}.role-pill{text-transform:capitalize;letter-spacing:.02em;border-radius:8px;align-items:center;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.role-pill.owner{color:#b45309;background:#fffbeb}.role-pill.admin{color:#1d4ed8;background:#eff6ff}.role-pill.member{color:#475569;background:#f8fafc}.role-select-inline{color:var(--text-main);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 8px;font-size:.85rem;font-weight:600;transition:all .2s}.role-select-inline:hover{background:#fff;border-color:#e2e8f0}.member-actions{justify-content:flex-end;display:flex}.action-btn-danger{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .2s}.action-btn-danger:hover{color:#ef4444;background:#fef2f2}.role-hint{color:var(--text-muted);margin-top:6px;font-size:.75rem;display:block}.empty-members{text-align:center;color:var(--text-muted);padding:60px;font-style:italic}.loading{color:var(--primary);justify-content:center;padding:100px;font-weight:600;display:flex}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.form-group input,.form-group select{width:100%;color:var(--text-main);border:1px solid var(--border);border-radius:var(--r-md);-webkit-text-fill-color:var(--text-main);background:#fff;padding:10px 12px;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.form-group input::placeholder{color:var(--text-faint);-webkit-text-fill-color:var(--text-faint)}.form-group input:focus,.form-group select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #7c3aed26}.form-group input:-webkit-autofill{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:inset 0 0 0 1000px #fff}.form-group input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:inset 0 0 0 1000px #fff}.form-group input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:inset 0 0 0 1000px #fff}.dti-wrap{align-items:center;width:100%;display:inline-flex;position:relative}.dti-display{color:#1e293b;box-sizing:border-box;pointer-events:none;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:7px;width:100%;padding:9px 12px;font-size:14px;display:block;overflow:hidden}.dti-placeholder{color:#94a3b8}.dti-native{opacity:0;cursor:pointer;box-sizing:border-box;background:0 0;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.dti-native:disabled{cursor:not-allowed}.dti-wrap:focus-within .dti-display{border-color:#6366f1;box-shadow:0 0 0 3px #e0e7ff}.wsm-overlay{z-index:1100;background:#00000073;position:fixed;inset:0}.wsm-modal{z-index:1101;background:#fff;border-radius:14px;flex-direction:column;width:min(680px,100vw - 40px);max-height:calc(100vh - 80px);animation:.18s wsm-in;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 60px #00000038}@keyframes wsm-in{0%{opacity:0;transform:translate(-50%,-52%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.wsm-header{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.wsm-header-left{align-items:center;gap:14px;display:flex}.wsm-workspace-avatar{color:#fff;background:#6366f1 50%/cover;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:800;display:flex}.wsm-title{color:#0f172a;font-size:16px;font-weight:700}.wsm-subtitle{color:#94a3b8;margin-top:1px;font-size:12px}.wsm-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.wsm-close-btn:hover{background:#f1f5f9}.wsm-tabs{border-bottom:1px solid #f1f5f9;flex-shrink:0;gap:2px;padding:0 20px;display:flex}.wsm-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.wsm-tab:hover{color:#1e293b}.wsm-tab.active{color:#6366f1;border-bottom-color:#6366f1;font-weight:600}.wsm-body{flex:1;padding:24px;overflow-y:auto}.wsm-section-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.wsm-section-title{color:#1e293b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:13px;font-weight:700}.wsm-section-desc{color:#94a3b8;font-size:12px;line-height:1.5}.wsm-field-group{margin-bottom:20px}.wsm-label{color:#475569;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.wsm-input{color:#1e293b;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:7px;outline:none;width:100%;padding:9px 12px;font-size:14px;transition:border-color .15s}.wsm-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #e0e7ff}.wsm-input:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.wsm-photo-row{align-items:center;gap:14px;display:flex}.wsm-photo-preview{color:#fff;cursor:pointer;background:#6366f1 50%/cover;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:20px;font-weight:800;display:flex;position:relative;overflow:hidden}.wsm-photo-overlay{color:#fff;opacity:0;background:#00000073;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;transition:opacity .15s;display:flex;position:absolute;inset:0}.wsm-photo-preview:hover .wsm-photo-overlay{opacity:1}.wsm-btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.wsm-readonly-note{color:#94a3b8;margin-top:8px;font-size:12px;font-style:italic}.wsm-general-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.wsm-saved-note{color:#16a34a;font-size:12px;font-weight:500}.wsm-btn-add{color:#fff;cursor:pointer;white-space:nowrap;background:#6366f1;border:none;border-radius:7px;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.wsm-btn-add:hover{background:#4f46e5}.wsm-holiday-list{flex-direction:column;gap:8px;display:flex}.wsm-holiday-row{background:#f8fafc;border:1px solid #f1f5f9;border-radius:9px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s;display:flex}.wsm-holiday-row:hover{border-color:#e2e8f0}.wsm-holiday-swatch{border:1px solid #0000001a;border-radius:5px;flex-shrink:0;width:20px;height:20px}.wsm-holiday-info{flex-direction:column;flex:1;gap:2px;display:flex}.wsm-holiday-name{color:#1e293b;font-size:13px;font-weight:600}.wsm-holiday-dates{color:#94a3b8;font-size:11px}.wsm-row-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.wsm-row-btn:hover{background:#e2e8f0}.wsm-row-btn.danger:hover{color:#ef4444;background:#fee2e2}.wsm-holiday-edit{background:#f8fafc;border:1.5px solid #e0e7ff;border-radius:10px;flex-direction:column;gap:10px;margin-bottom:8px;padding:14px;display:flex}.wsm-add-form{border-color:#c7d2fe}.wsm-edit-row{align-items:center;gap:8px;display:flex}.wsm-date-row label{color:#64748b;white-space:nowrap;font-size:11px;font-weight:600}.wsm-color-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wsm-color-label{color:#64748b;margin-right:2px;font-size:11px;font-weight:600}.wsm-color-chip{cursor:pointer;border:2px solid #0000;border-radius:5px;width:22px;height:22px;padding:0;transition:transform .1s,border-color .1s}.wsm-color-chip:hover{transform:scale(1.15)}.wsm-color-chip.selected{border-color:#6366f1;transform:scale(1.15)}.wsm-edit-actions{justify-content:flex-end;gap:8px;display:flex}.wsm-btn-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:7px;padding:7px 18px;font-size:13px;font-weight:600;transition:background .15s}.wsm-btn-save:hover:not(:disabled){background:#4f46e5}.wsm-btn-save:disabled{opacity:.6;cursor:not-allowed}.wsm-btn-cancel{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:7px;padding:7px 14px;font-size:13px;transition:background .15s}.wsm-btn-cancel:hover{background:#f1f5f9}.wsm-empty{text-align:center;color:#94a3b8;padding:32px 0}.wsm-empty p{margin:8px 0 0;font-size:13px}.wsm-body .user-management{box-shadow:none;background:0 0;border:none;border-radius:0;max-width:100%;margin:0;padding:0}.wsm-email-grid{grid-template-columns:1fr 120px 140px;gap:14px 16px;margin-top:16px;display:grid}.wsm-email-grid .wsm-full{grid-column:1/-1}.wsm-email-grid .wsm-narrow{grid-column:auto}@media (width<=620px){.wsm-email-grid{grid-template-columns:1fr}.wsm-email-grid .wsm-narrow{grid-column:1/-1}}.wsm-email-actions{align-items:center;gap:10px;margin-top:20px;display:flex}.wsm-email-note{border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.5}.wsm-email-note.ok{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.wsm-email-note.err{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.wsm-pill{text-transform:uppercase;letter-spacing:.04em;color:#047857;background:#ecfdf5;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.wsm-hint{color:#94a3b8;margin-top:6px;font-size:11px}.wsm-hint code{color:#475569;background:#f1f5f9;border-radius:4px;padding:1px 4px;font-size:11px}.wsm-btn-outline{color:#0f172a;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:7px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s}.wsm-btn-outline:hover:not(:disabled){background:#f1f5f9}.wsm-btn-outline:disabled{opacity:.6;cursor:not-allowed}.sidebar{z-index:40;color:#94a3b8;background-color:#1e293b;flex-direction:column;width:280px;padding:0;display:flex;overflow:hidden auto}.workspace-switcher-container{border-bottom:1px solid #ffffff0d;align-items:center;gap:6px;padding:16px;display:flex;position:relative}.workspace-settings-btn{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:flex}.workspace-settings-btn:hover{color:#ffffffe6;background:#ffffff1a}.workspace-current{border-radius:var(--radius-md);cursor:pointer;background:#ffffff08;flex:1;align-items:center;gap:12px;min-width:0;padding:8px 12px;transition:background .2s;display:flex}.workspace-current:hover{background:#ffffff14}.workspace-avatar{background:linear-gradient(135deg, var(--primary), #a78bfa);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:800;display:flex}.workspace-info{flex-direction:column;flex:1;display:flex;overflow:hidden}.workspace-name-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.workspace-role-label{color:#64748b;font-size:.7rem}.dropdown-chevron{font-size:.8rem;transition:transform .2s}.dropdown-chevron.open{transform:rotate(180deg)}.workspace-dropdown{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;background:#1e293b;border:1px solid #ffffff1a;margin-top:4px;padding:4px;position:absolute;top:100%;left:16px;right:16px;overflow:hidden}.workspace-option{cursor:pointer;color:#cbd5e1;border-radius:6px;padding:10px 12px;font-size:.85rem}.workspace-option:hover{color:#fff;background:#ffffff0d}.workspace-option.active{background:var(--primary-light);color:var(--primary)}.workspace-divider{background:#ffffff1a;height:1px;margin:4px 0}.workspace-add{color:var(--primary);cursor:pointer;padding:10px 12px;font-size:.85rem;font-weight:600}.sidebar-nav{flex:1;padding:20px 0}.nav-header{letter-spacing:.1em;color:#475569;justify-content:space-between;align-items:center;padding:0 24px 12px;font-size:.65rem;font-weight:800;display:flex}.add-btn{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:1.2rem;line-height:1}.add-btn:hover{color:#fff}.spaces-container{padding:0 8px}.node-label{border-radius:var(--radius-md);cursor:pointer;color:#94a3b8;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;transition:all .2s;display:flex;position:relative}.node-label:hover{color:#fff;background:#ffffff08}.node-label .chevron{width:10px;font-size:.7rem;transition:transform .2s}.node-label .chevron.open{transform:rotate(90deg)}.node-actions{background:linear-gradient(270deg,#1e293bfa 80%,#0000);border-radius:4px;gap:2px;padding-left:12px;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.node-label:hover .node-actions{display:flex}.node-actions button{cursor:pointer;color:#94a3b8;background:0 0;border:none;align-items:center;font-size:.9rem;display:flex}.node-actions button:hover{color:#f1f5f9}.node-children{border-left:1px solid #ffffff0d;margin-left:17px;padding-left:14px}.nav-item{border-radius:var(--radius-md);cursor:pointer;color:#94a3b8;align-items:center;gap:10px;padding:8px 12px;font-size:.85rem;transition:all .15s;display:flex;position:relative;overflow:hidden}.nav-item:hover{color:#fff;background:#ffffff0a}.nav-item.active{color:var(--primary);background:#6366f11a;font-weight:650}.inline-create{padding:4px 20px}.inline-create input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;outline:none;width:100%;padding:6px 12px;font-size:.85rem}.inline-create input:focus{border-color:var(--primary)}.sidebar-footer{border-top:1px solid #ffffff0d;padding:10px 16px}.sidebar-footer-row{justify-content:space-between;align-items:center;gap:4px;display:flex}.sidebar-footer-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.sidebar-logout-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.sidebar-logout-btn:hover{color:#ef4444;background:#ffffff14}.settings-item{color:#64748b}.settings-item:hover{color:#fff}.rename-input{border:1px solid var(--primary,#6366f1);color:#f1f5f9;background:#ffffff12;border-radius:4px;outline:none;flex:1;min-width:0;padding:2px 6px;font-size:.85rem;line-height:1.4}.list-actions{background:linear-gradient(270deg,#1e293bfa 80%,#0000);border-radius:4px;align-items:center;gap:2px;padding-left:12px;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.nav-item:hover .list-actions{display:flex}.node-delete-btn,.list-delete-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 3px;transition:color .15s,background .15s;display:flex}.node-delete-btn:hover,.list-delete-btn:hover{color:#ef4444;background:#ef44441a}.delete-confirm-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-confirm-dialog{background:#1e293b;border:1px solid #ffffff1a;border-radius:10px;width:320px;padding:24px;box-shadow:0 20px 60px #00000080}.delete-confirm-title{color:#f1f5f9;text-transform:capitalize;margin:0 0 10px;font-size:1rem;font-weight:700}.delete-confirm-body{color:#94a3b8;margin:0 0 20px;font-size:.85rem;line-height:1.5}.delete-confirm-body strong{color:#e2e8f0}.delete-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.delete-confirm-cancel{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;padding:7px 16px;font-size:.85rem;transition:background .15s}.delete-confirm-cancel:hover{color:#e2e8f0;background:#ffffff1a}.delete-confirm-ok{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:7px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.delete-confirm-ok:hover{background:#dc2626}.dnd-handle{color:#64748b;cursor:grab;opacity:.35;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:.9rem;line-height:1;transition:opacity .15s,color .15s}.node-label:hover .dnd-handle,.nav-item:hover .dnd-handle{opacity:1;color:#94a3b8}.dnd-handle:active{cursor:grabbing}.dnd-folder-zone,.dnd-list-zone{border-radius:6px;min-height:2px;transition:background .15s}.dnd-folder-zone.dnd-dragging-over,.dnd-list-zone.dnd-dragging-over{background:#6366f10f;outline:1px dashed #6366f14d}.folder-node.dnd-dragging,.nav-item.dnd-dragging{opacity:.85;background:#273449;border-radius:6px;box-shadow:0 4px 16px #0006}.node-action-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px 5px;font-size:.85rem;font-weight:700;line-height:1;transition:background .15s,color .15s;display:flex}.node-action-btn:hover{color:#fff;background:#ffffff1a}.sidebar-ctx-menu{z-index:200;background:#1e2a3a;border:1px solid #ffffff1a;border-radius:8px;min-width:160px;margin:2px 8px 4px;padding:4px;box-shadow:0 8px 24px #0006}.sidebar-ctx-menu button{color:#cbd5e1;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:.82rem;transition:background .15s,color .15s;display:flex}.sidebar-ctx-menu button:hover{color:#fff;background:#ffffff12}.sidebar-ctx-menu button.danger{color:#f87171}.sidebar-ctx-menu button.danger:hover{color:#ef4444;background:#ef444426}.sidebar-ctx-divider{background:#ffffff12;height:1px;margin:3px 6px}.sidebar-add-menu{z-index:200;background:#1e2a3a;border:1px solid #ffffff1a;border-radius:8px;min-width:200px;margin:2px 8px 4px;padding:6px 4px;box-shadow:0 8px 24px #0006}.sidebar-add-menu-title{letter-spacing:.08em;color:#475569;text-transform:uppercase;padding:2px 10px 6px;font-size:.65rem;font-weight:700}.sidebar-add-menu button{color:#cbd5e1;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:.82rem;transition:background .15s;display:flex}.sidebar-add-menu button:hover{background:#ffffff12}.sidebar-add-menu button div{flex-direction:column;gap:1px;display:flex}.sidebar-add-menu button strong{color:#e2e8f0;font-size:.82rem}.sidebar-add-menu button span{color:#64748b;font-size:.72rem}.cfm-popover{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;width:340px;max-height:480px;font-size:13px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 28px #0000001f}.cfm-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;padding:10px 12px;display:flex}.cfm-title{flex:1;font-weight:600}.cfm-back,.cfm-close{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px}.cfm-back:hover,.cfm-close:hover{color:#0f172a;background:#f1f5f9}.cfm-list{max-height:320px;overflow-y:auto}.cfm-empty{color:#94a3b8;text-align:center;padding:18px 12px;font-size:12px}.cfm-item{border-bottom:1px solid #f8fafc;align-items:center;gap:8px;padding:8px 12px;display:flex}.cfm-item:hover{background:#fafbfc}.cfm-item-icon{background:#f1f5f9;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex}.cfm-item-name{background:0 0;border:1px solid #0000;border-radius:4px;flex:1;padding:4px 6px;font-size:13px}.cfm-item-name:focus{background:#fff;border-color:#c7d2fe;outline:none}.cfm-item-type{color:#94a3b8;text-transform:uppercase;margin-right:4px;font-size:11px}.cfm-eye,.cfm-del{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:13px}.cfm-eye.off{opacity:.4}.cfm-eye:hover,.cfm-del:hover{background:#f1f5f9}.cfm-del:hover{color:#ef4444}.cfm-add-btn{color:#4f46e5;cursor:pointer;background:#f5f7ff;border:1px dashed #c7d2fe;border-radius:6px;margin:10px;padding:8px 12px;font-weight:500}.cfm-add-btn:hover{background:#eef2ff}.cfm-search-wrap{border-bottom:1px solid #f1f5f9;padding:10px 12px}.cfm-search{border:1px solid #6366f1;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-size:13px}.cfm-type-list{max-height:340px;overflow-y:auto}.cfm-type-item{cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.cfm-type-item:hover{background:#f8fafc}.cfm-type-icon{background:#f1f5f9;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.cfm-type-meta{flex:1;min-width:0}.cfm-type-label{color:#0f172a;font-weight:500}.cfm-type-desc{color:#94a3b8;margin-top:2px;font-size:11px}.cfm-configure{flex-direction:column;gap:10px;padding:14px 12px;display:flex}.cfm-label{color:#475569;flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}.cfm-input{border:1px solid #e2e8f0;border-radius:6px;outline:none;padding:8px 10px;font-size:13px}.cfm-input:focus{border-color:#6366f1}.cfm-type-chip{color:#4f46e5;background:#eef2ff;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.cfm-options{flex-direction:column;gap:6px;display:flex}.cfm-option-row{align-items:center;gap:6px;display:flex}.cfm-option-row .cfm-input{flex:1}.cfm-add-option{color:#4f46e5;cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0;font-size:12px}.cfm-create-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:9px 14px;font-weight:500}.cfm-create-btn:disabled{cursor:not-allowed;background:#cbd5e1}.cf-cell{align-items:center;min-width:140px;max-width:220px;padding:0 8px;display:flex}.cf-cell input,.cf-cell select,.cf-cell textarea{background:0 0;border:1px solid #0000;border-radius:4px;outline:none;width:100%;padding:4px 6px;font-family:inherit;font-size:13px}.cf-cell input:focus,.cf-cell select:focus,.cf-cell textarea:focus{background:#fff;border-color:#c7d2fe}.cf-cell input[type=checkbox]{width:auto}.cf-cell a{color:#4f46e5;white-space:nowrap;text-overflow:ellipsis;font-size:13px;text-decoration:none;overflow:hidden}.cf-cell a:hover{text-decoration:underline}.clickup-list-view{flex-direction:column;gap:0;font-size:.875rem;display:flex}.status-group{margin-bottom:0}.status-group-header{background:var(--bg-page);border-bottom:1px solid var(--border-light);z-index:10;justify-content:space-between;align-items:center;padding:9px 16px;display:flex;position:sticky;top:0}.status-group-left{align-items:center;gap:8px;display:flex}.collapse-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:transform .2s;display:flex}.collapse-btn:hover{background:#f0f0f0}.collapse-btn:not(.collapsed){transform:rotate(90deg)}.collapse-btn.collapsed{transform:rotate(0)}.status-badge{color:#fff;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;align-items:center;gap:5px;padding:3px 10px 3px 6px;font-size:.7rem;font-weight:700;display:inline-flex}.status-icon{font-size:.65rem;line-height:1}.status-label{line-height:1.4}.task-count{color:#999;font-size:.8rem;font-weight:500}.add-task-btn{cursor:pointer;color:#999;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:opacity .15s;display:flex}.status-group-header:hover .add-task-btn{opacity:1}.add-task-btn:hover{color:#333;background:#f0f0f0}.task-list-header{background:var(--bg-app);border-bottom:1px solid var(--border);color:var(--text-faint);text-transform:capitalize;letter-spacing:.02em;grid-template-columns:1fr 120px 120px 120px 120px 140px 40px;align-items:center;padding:6px 16px;font-size:.72rem;font-weight:600;display:grid}.task-list-header .col-name{align-items:center;gap:8px;display:flex}.group-checkbox{accent-color:#6366f1;cursor:pointer;opacity:.5;width:14px;height:14px;margin:0}.task-list-body{background:var(--bg-page)}.task-row{border-bottom:1px solid var(--border-light);cursor:pointer;grid-template-columns:1fr 120px 120px 120px 120px 140px 40px;align-items:center;min-height:38px;padding:0 16px;transition:background .1s;display:grid}.task-row:hover{background:var(--bg-hover)}.task-row .col-name{align-items:center;gap:10px;min-width:0;padding:8px 0;display:flex}.task-status-dot{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.8rem;display:flex}.task-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.83rem;font-weight:500;overflow:hidden}.task-row:hover .task-title{color:var(--text-main)}.assignee-avatars-wrapper{position:relative}.assignee-avatars{cursor:pointer;align-items:center;display:flex}.avatar-stack{align-items:center;display:flex}.avatar-stack-item{margin-left:-6px;position:relative}.avatar-stack-item:first-child{margin-left:0}.user-avatar-img{object-fit:cover;border:2px solid #fff;border-radius:50%;display:block}.user-avatar-initials{color:#fff;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar-overflow{color:#64748b;background:#e2e8f0;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-6px;font-size:.65rem;font-weight:600;display:flex}.assignee-empty{opacity:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.task-row:hover .assignee-empty{opacity:1}.assignee-picker{background:var(--bg-page);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:100;min-width:200px;padding:6px 0;animation:.15s dropdownFade;position:absolute;top:calc(100% + 4px);left:0}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.assignee-picker-title{color:#999;text-transform:uppercase;letter-spacing:.05em;padding:6px 12px;font-size:.7rem;font-weight:600}.assignee-picker-item{cursor:pointer;align-items:center;gap:8px;padding:6px 12px;transition:background .1s;display:flex}.assignee-picker-item:hover{background:#f5f5ff}.assignee-picker-item.selected{background:#f0f0ff}.assignee-picker-name{color:#333;flex:1;font-size:.85rem}.assignee-check{color:#6366f1;font-size:.85rem;font-weight:700}.col-startdate,.col-createddate{align-items:center;display:flex}.created-date-text{color:#94a3b8;white-space:nowrap;font-size:.78rem}.date-cell{justify-content:center;align-items:center;display:flex;position:relative}.task-date-input{width:100%}.task-date-input .dti-display{color:#666;min-height:unset;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-family:inherit;font-size:.8rem}.task-date-input .dti-placeholder{color:#0000}.task-row:hover .task-date-input .dti-placeholder{color:#c4c4c4}.task-date-input:hover .dti-display{background:#f5f5f5}.task-date-input:focus-within .dti-display{background:#fff;border-color:#0000;box-shadow:0 0 0 2px #6366f133}.date-placeholder-icon{pointer-events:none;opacity:0;transition:opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.task-row:hover .date-placeholder-icon{opacity:1}.date-cell--holiday{background:var(--hol-color,#fef9c3);border-radius:5px;flex-direction:column;align-items:flex-start;gap:1px;padding:2px 4px}.date-holiday-badge{color:#92400e;white-space:nowrap;text-overflow:ellipsis;opacity:.85;max-width:100%;font-size:10px;line-height:1.2;overflow:hidden}.priority-flag-wrapper{cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:4px 6px;transition:background .1s;display:inline-flex;position:relative}.priority-flag-wrapper:hover{background:#f5f5f5}.priority-flag{font-size:.85rem;line-height:1}.priority-label{font-size:.75rem;font-weight:600}.priority-dropdown{z-index:100;background:#fff;border:1px solid #e8e8e8;border-radius:8px;min-width:140px;padding:6px 0;animation:.15s dropdownFade;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 30px #0000001f,0 2px 8px #0000000f}.priority-option{cursor:pointer;color:#333;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;transition:background .1s;display:flex}.priority-option:hover{background:#f5f5f5}.priority-option.active{background:#f0f0ff}.col-actions{justify-content:center;align-items:center;display:flex}.row-add-btn{cursor:pointer;color:#ccc;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.task-row:hover .row-add-btn{opacity:1}.row-add-btn:hover{color:#333;background:#f0f0f0}.inline-add-task{color:var(--text-faint);cursor:pointer;border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:8px 16px 8px 44px;font-size:.82rem;transition:all .15s;display:flex}.inline-add-task:hover{background:var(--primary-light);color:var(--primary)}.inline-add-icon{text-align:center;width:18px;font-size:1rem;font-weight:300}.inline-add-form{border-bottom:1px solid #f5f5f5;padding:4px 16px 4px 44px}.inline-add-form input{color:#333;background:0 0;border:none;outline:none;width:100%;padding:8px 0;font-family:inherit;font-size:.875rem}.inline-add-form input::placeholder{color:#c4c4c4}.empty-tasks{text-align:center;color:#999;padding:40px;font-size:.9rem}.subtask-expand-btn{cursor:pointer;color:#cbd5e1;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:2px;transition:transform .18s,color .15s;display:flex;transform:rotate(0)}.subtask-expand-btn svg{transition:transform .18s}.subtask-expand-btn.expanded svg{transform:rotate(90deg)}.subtask-expand-btn:hover{color:#6366f1;background:#f0f0ff}.task-id-badge{color:#7c3aed;white-space:nowrap;letter-spacing:.02em;background:#f3f0ff;border:1px solid #ddd6fe;border-radius:4px;flex-shrink:0;padding:1px 5px;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.67rem;font-weight:600}.subtask-count-badge{color:#6366f1;cursor:pointer;white-space:nowrap;background:#eef2ff;border-radius:10px;flex-shrink:0;padding:1px 7px;font-size:.7rem;font-weight:600;transition:background .15s}.subtask-count-badge:hover{background:#e0e7ff}.subtask-section{background:var(--bg-app);border-bottom:1px solid var(--border-light)}.subtask-row{border-bottom:1px solid #f5f5f5;grid-template-columns:1fr 120px 120px 120px 120px 140px 40px;align-items:center;min-height:36px;padding:0 16px;transition:background .1s;display:grid}.subtask-row:hover{background:#f4f5ff}.subtask-col-name{align-items:center;gap:8px;min-width:0;padding:6px 0 6px 28px;display:flex}.subtask-indent-line{background:#e2e8f0;border-radius:2px;flex-shrink:0;width:2px;height:20px;margin-right:2px}.subtask-title{color:#475569;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;overflow:hidden}.subtask-row:hover .subtask-title{color:#1e293b}.subtask-status-selector{cursor:pointer;flex-shrink:0;align-items:center;display:flex;position:relative}.subtask-status-dot{border:2px solid #0000001a;border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:transform .15s}.subtask-status-selector:hover .subtask-status-dot{transform:scale(1.2)}.subtask-status-dropdown{z-index:200;background:#fff;border:1px solid #e8e8e8;border-radius:8px;min-width:170px;padding:6px 0;animation:.15s dropdownFade;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 30px #0000001f,0 2px 8px #0000000f}.subtask-status-option{cursor:pointer;color:#334155;align-items:center;gap:8px;padding:7px 12px;font-size:.8rem;font-weight:500;transition:background .1s;display:flex}.subtask-status-option:hover{background:#f5f5ff}.subtask-status-option.active{color:#6366f1;background:#f0f0ff}.inline-add-subtask{color:#94a3b8;cursor:pointer;align-items:center;gap:8px;padding:7px 16px 7px 60px;font-size:.8rem;transition:all .15s;display:flex}.inline-add-subtask:hover{color:#6366f1;background:#f0f0ff}.inline-add-subtask-form{border-bottom:1px solid #f5f5f5;padding:4px 16px 4px 60px}.inline-add-subtask-form input{color:#334155;background:0 0;border:none;outline:none;width:100%;padding:6px 0;font-family:inherit;font-size:.82rem}.inline-add-subtask-form input::placeholder{color:#cbd5e1}.board-view-container{align-items:flex-start;gap:16px;height:100%;padding:4px 2px 32px;display:flex;overflow-x:auto}.bc-column-wrapper{border:1px solid var(--border-color,#e2e8f0);background-color:#f4f5f7;border-radius:10px;flex-direction:column;flex-shrink:0;min-width:280px;max-width:280px;padding:12px;display:flex}.bc-column-header{justify-content:space-between;align-items:center;padding:0 4px 12px;display:flex}.bc-column-header-left{align-items:center;gap:7px;display:flex}.bc-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.bc-column-title{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.bc-column-count{color:#94a3b8;background:#e2e8f0;border-radius:10px;padding:1px 6px;font-size:.72rem;font-weight:600;line-height:1.4}.bc-droppable{border:2px solid #0000;border-radius:8px;flex-direction:column;gap:10px;min-height:120px;padding:2px;transition:border-color .15s,background .15s;display:flex}.bc-dragging-over{background:#6366f10a}.bc-task-card{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e8ecf0;border-radius:8px;flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000012,0 1px 2px #0000000a}.bc-task-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.bc-task-card:active{cursor:grabbing}.bc-priority-stripe{flex-shrink:0;width:100%;height:3px}.bc-task-body{flex-direction:column;gap:8px;padding:12px;display:flex}.bc-task-header{align-items:flex-start;gap:6px;display:flex}.bc-task-title{color:#1e293b;word-break:break-word;flex:1;font-size:.85rem;font-weight:600;line-height:1.4}.bc-delete-btn{cursor:pointer;color:#cbd5e1;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;margin-top:1px;padding:2px;transition:color .15s;display:flex}.bc-delete-btn:hover{color:#ef4444}.bc-priority-badge{border:1px solid;border-radius:20px;align-self:flex-start;align-items:center;gap:4px;padding:2px 7px;font-size:.7rem;font-weight:600;line-height:1.5;display:inline-flex}.bc-dates{flex-wrap:wrap;gap:6px;display:flex}.bc-date-chip{color:#64748b;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.7rem;display:inline-flex}.bc-date-start,.bc-date-due{color:#475569}.bc-date-overdue{background:#fef2f2;border-color:#fecaca;color:#ef4444!important}.bc-created-date{color:#94a3b8;font-size:.68rem}.bc-task-footer{justify-content:flex-end;align-items:center;margin-top:2px;display:flex}.bc-avatar-stack{flex-direction:row-reverse;align-items:center;display:flex}.bc-avatar-stack-item{border:2px solid #fff;border-radius:50%;margin-left:-6px}.bc-avatar-stack-item:last-child{margin-left:0}.bc-avatar-img,.bc-avatar-initials{color:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex}.bc-avatar-overflow{color:#64748b;background:#e2e8f0;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-left:-6px;font-size:.65rem;font-weight:700;display:flex}.bc-no-assignee{opacity:.5;align-items:center;display:flex}.gantt-container{background:#fff;flex:1;height:100%;font-family:Inter,sans-serif;display:flex;overflow:hidden}.gantt-left{z-index:10;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:280px;min-width:280px;display:flex;overflow:hidden;box-shadow:2px 0 8px #0000000a}.gantt-left-header{text-transform:uppercase;color:#64748b;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:flex-end;height:72px;padding:0 16px 10px;font-size:.75rem;font-weight:600;display:flex}.gantt-left-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;padding:0 12px;transition:background .1s;display:flex}.gantt-left-row:hover{background:#f8fafc}.gantt-left-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.gantt-left-title{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;font-weight:500;overflow:hidden}.gantt-left-avatars{align-items:center;gap:2px;display:flex}.gantt-avatar-overflow{color:#94a3b8;padding-left:2px;font-size:.68rem}.gantt-timeline-scroll{flex:1;position:relative;overflow:auto}.gantt-timeline-inner{min-height:100%;position:relative}.gantt-header-months{z-index:5;background:#f8fafc;border-bottom:1px solid #e2e8f0;height:32px;display:flex;position:sticky;top:0}.gantt-month-label{color:#475569;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-right:1px solid #e2e8f0;align-items:center;padding-left:12px;font-size:.72rem;font-weight:700;display:flex;overflow:hidden}.gantt-header-days{z-index:5;background:#f8fafc;border-bottom:1px solid #e2e8f0;height:40px;display:flex;position:sticky;top:32px}.gantt-day-cell{color:#94a3b8;-webkit-user-select:none;user-select:none;border-right:1px solid #f1f5f9;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:500;display:flex}.gantt-day-cell.weekend{color:#cbd5e1;background:#fafbfc}.gantt-day-cell.today{color:#6366f1;background:#eef2ff;font-weight:700}.gantt-today-line{opacity:.5;pointer-events:none;z-index:4;background:#6366f1;border-radius:1px;width:2px;position:absolute;bottom:0}.gantt-task-row{z-index:1;border-bottom:1px solid #f1f5f9;align-items:center;display:flex;position:relative}.gantt-task-row:hover{background:#6366f104}.gantt-grid-bg{pointer-events:none;z-index:0;position:absolute;bottom:0;left:0;right:0}.gantt-col-bg{pointer-events:none;position:absolute;top:0;bottom:0}.gantt-col-bg.weekend{background:#f8fafcb3}.gantt-col-bg.today{background:#6366f10a}.gantt-holiday-band{opacity:.65;pointer-events:none;z-index:1;border-left:2px solid #00000014;border-right:2px solid #00000014;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}.gantt-holiday-label{color:#0000008c;white-space:nowrap;text-overflow:ellipsis;writing-mode:horizontal-tb;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff6;border-radius:4px;max-width:90%;padding:2px 6px;font-size:12px;font-weight:700;overflow:hidden}.gantt-timeline-inner{background-image:repeating-linear-gradient(90deg,#0000 0 35px,#f1f5f9 35px 36px);background-position:0 72px}.gantt-bar-wrapper{z-index:2;height:28px;position:absolute;top:50%;transform:translateY(-50%)}.gantt-bar{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;width:100%;height:100%;transition:filter .15s;display:flex;position:relative;overflow:visible}.gantt-bar:hover{filter:brightness(1.08)}.gantt-bar.dragging{cursor:grabbing;filter:brightness(1.1)}.gantt-bar-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;align-items:center;gap:5px;font-size:.72rem;font-weight:600;display:flex;position:absolute;left:10px;right:10px;overflow:hidden}.gantt-bar-status-dot{border:1.5px solid #ffffffb3;border-radius:50%;flex-shrink:0;width:6px;height:6px}.gantt-resize-handle{z-index:3;width:8px;height:100%;position:absolute;top:0}.gantt-resize-left{cursor:ew-resize;border-radius:6px 0 0 6px;left:0}.gantt-resize-right{cursor:ew-resize;border-radius:0 6px 6px 0;right:0}.gantt-resize-handle:after{content:"";background:#ffffff8c;border-radius:2px;width:2px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}.gantt-resize-left:after{left:3px}.gantt-resize-right:after{right:3px}.gantt-bar-dates{color:#94a3b8;pointer-events:none;white-space:nowrap;justify-content:space-between;font-size:.62rem;display:flex;position:absolute;top:calc(100% + 3px);left:0;right:0}.gantt-bar-empty{cursor:pointer;border:2px dashed #d1d5db;justify-content:center;background:0 0!important}.gantt-bar-empty:hover{border-color:#6366f1;background:#6366f10a!important}.gantt-bar-label-empty{color:#94a3b8;pointer-events:none;font-size:.7rem;font-weight:500}.gantt-date-popover{z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:8px;min-width:220px;padding:14px 16px;display:flex;box-shadow:0 8px 24px #0000001f}.gantt-date-popover-title{color:#1e293b;margin-bottom:2px;font-size:.82rem;font-weight:700}.gantt-date-popover label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.gantt-date-popover .dti-display{border:1px solid #e2e8f0;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:.82rem}.gantt-date-popover .dti-wrap:focus-within .dti-display{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.gantt-date-popover-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.gantt-popover-cancel{cursor:pointer;color:#475569;background:#f1f5f9;border:none;border-radius:6px;padding:5px 12px;font-size:.8rem;font-weight:500}.gantt-popover-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:600}.gantt-popover-save:disabled{opacity:.6;cursor:not-allowed}.gantt-popover-save:hover:not(:disabled){background:#4f46e5}.gantt-expand-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:2px;transition:color .15s,background .15s;display:flex}.gantt-expand-btn svg{transition:transform .18s}.gantt-expand-btn.expanded svg{transform:rotate(90deg)}.gantt-expand-btn:hover{color:#6366f1;background:#eef2ff}.gantt-status-selector{cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;padding:2px;transition:background .1s;display:flex;position:relative}.gantt-status-selector:hover{background:#f1f5f9}.gantt-status-dropdown{background:#fff;border:1px solid #e8e8e8;border-radius:8px;min-width:170px;padding:6px 0;box-shadow:0 8px 30px #0000001f,0 2px 8px #0000000f}.gantt-status-option{cursor:pointer;color:#334155;align-items:center;gap:8px;padding:7px 12px;font-size:.8rem;font-weight:500;transition:background .1s;display:flex}.gantt-status-option:hover{background:#f5f5ff}.gantt-status-option.active{color:#6366f1;background:#eef2ff}.gantt-status-option-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.gantt-subtask-left-row{background:#fafbff;border-left:2px solid #e2e8f0}.gantt-subtask-left-row .gantt-left-title{color:#475569;font-size:.78rem}.gantt-subtask-indent{flex-shrink:0;width:20px}.gantt-subtask-timeline-row{background:#f8fafc99}.gantt-empty{color:#94a3b8;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:60px 20px;font-size:.9rem;display:flex}.gantt-empty p{max-width:320px;line-height:1.6}.gantt-add-task-trigger{cursor:pointer;color:#94a3b8;gap:6px;transition:color .15s,background .15s}.gantt-add-task-trigger:hover{color:#6366f1;background:#f8fafc}.gantt-add-task-icon{text-align:center;flex-shrink:0;width:16px;font-size:1rem;font-weight:500;line-height:1}.gantt-add-task-label{font-size:.82rem;font-weight:500}.gantt-adding-row{background:#f8faff}.gantt-inline-input{color:#1e293b;background:0 0;border:none;border-bottom:2px solid #6366f1;outline:none;flex:1;min-width:0;padding:2px 4px;font-family:inherit;font-size:.82rem;font-weight:500}.gantt-inline-input::placeholder{color:#b0bac9;font-weight:400}.gantt-inline-input:disabled{opacity:.6}.gantt-add-subtask-btn{cursor:pointer;color:#94a3b8;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:auto;padding:3px;transition:opacity .15s,color .15s,background .15s;display:flex}.gantt-left-row:hover .gantt-add-subtask-btn{opacity:1}.gantt-add-subtask-btn:hover{color:#6366f1;background:#eef2ff}.gantt-add-row-timeline{background:0 0}.gantt-drag-handle{cursor:grab;color:#cbd5e1;opacity:0;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:100%;padding:0 2px;transition:opacity .15s,color .15s;display:flex}.gantt-left-row:hover .gantt-drag-handle{opacity:1}.gantt-drag-handle:hover{color:#6366f1}.gantt-grip-icon{pointer-events:none}.gantt-block-dragging{opacity:.95;background:#f0f4ff;border-radius:6px;box-shadow:0 4px 16px #6366f12e}.gantt-droppable{flex-direction:column;display:flex}.gantt-row-unscheduled{cursor:crosshair}.gantt-row-unscheduled:hover{background:#6366f108!important}.gantt-bar-unscheduled-hint{color:#b0bac9;opacity:0;pointer-events:none;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:.7rem;font-style:italic;transition:opacity .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gantt-task-row:hover .gantt-bar-unscheduled-hint{opacity:1}.profile-settings{justify-content:center;padding:40px;display:flex;overflow-y:auto}.profile-settings-inner{flex-direction:column;gap:32px;width:100%;max-width:600px;display:flex}.settings-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:#111827;background:#fff;border:1px solid #e2e8f0;width:100%;padding:40px}.settings-card h2{color:#111827;margin:0 0 8px;font-size:1.75rem;font-weight:800}.subtitle{color:#6b7280;margin-bottom:32px}.avatar-upload-section{border-bottom:1px solid var(--border-color);align-items:center;gap:24px;margin-bottom:32px;padding-bottom:32px;display:flex}.avatar-preview{background:linear-gradient(135deg, var(--primary), #818cf8);color:#fff;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;font-size:1.5rem;font-weight:800;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000001a}.avatar-preview img{object-fit:cover;width:100%;height:100%}.file-label{cursor:pointer;padding:8px 16px;font-size:.9rem;display:inline-block}.hint{color:#6b7280;margin-top:8px;font-size:.75rem}.settings-card .form-group{margin-bottom:24px}.settings-card .form-group label{color:#374151;text-transform:none;letter-spacing:normal;margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.settings-card .form-group input{border-radius:var(--radius-md);color:#111827;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;width:100%;padding:12px 16px;font-family:inherit;font-size:1rem;transition:all .2s}.settings-card .form-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.message{border-radius:var(--radius-md);margin-bottom:24px;padding:12px 16px;font-size:.9rem;font-weight:600}.message.success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.message.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;padding-top:32px;display:flex}.task-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out tmFadeIn;display:flex;position:fixed;inset:0}@keyframes tmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tmSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.task-modal-content{background:var(--bg-page);border-radius:var(--r-xl);width:100%;max-width:580px;box-shadow:var(--shadow-xl);border:1px solid var(--border);flex-direction:column;animation:.18s ease-out tmSlideUp;display:flex;overflow:hidden}.task-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:18px 24px 16px;display:flex}.task-modal-header h2{color:var(--text-main);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.task-modal-close{color:var(--text-faint);cursor:pointer;border-radius:var(--r-md);background:0 0;border:none;padding:4px 6px;font-size:1.3rem;line-height:1;transition:background .12s,color .12s}.task-modal-close:hover{background:var(--bg-active);color:var(--text-main)}.task-modal-form{flex-direction:column;gap:16px;max-height:68vh;padding:20px 24px;display:flex;overflow-y:auto}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:.7rem;font-weight:700}.form-row{gap:14px;display:flex}.half-width{flex:1}.task-modal-form input[type=text],.task-modal-form textarea,.select-field{border:1px solid var(--border);border-radius:var(--r-lg);width:100%;color:var(--text-main);background:var(--bg-page);padding:9px 12px;font-family:inherit;font-size:.85rem;transition:border-color .12s,box-shadow .12s}.task-modal-form input[type=text]:focus,.task-modal-form textarea:focus,.select-field:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #7c3aed1a}.task-modal-form textarea{resize:vertical;min-height:80px}.assignee-select-list{flex-wrap:wrap;gap:8px;display:flex}.assignee-option{border:1px solid var(--border);border-radius:var(--r-full);cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:5px 11px 5px 5px;font-size:.8rem;font-weight:500;transition:all .12s;display:flex}.assignee-option:hover{background:var(--bg-hover);border-color:#d1d5db}.assignee-option.selected{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.assignee-avatar{color:#fff;background:#d1d5db;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.6rem;font-weight:700;display:flex;overflow:hidden}.assignee-avatar img{object-fit:cover;width:100%;height:100%}.no-members-text{color:var(--text-faint);font-size:.82rem;font-style:italic}.task-modal-footer{border-top:1px solid var(--border-light);background:var(--bg-app);justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.btn-cancel{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--bg-page);color:var(--text-secondary);cursor:pointer;padding:7px 16px;font-size:.82rem;font-weight:500;transition:background .12s}.btn-cancel:hover{background:var(--bg-active)}.btn-create{border-radius:var(--r-lg);background:var(--primary);color:#fff;cursor:pointer;border:none;padding:7px 18px;font-size:.82rem;font-weight:600;transition:background .12s,box-shadow .12s}.btn-create:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 12px #7c3aed4d}.btn-create:disabled{opacity:.6;cursor:not-allowed}.rich-text-editor-wrapper{background:#fff;border:1px solid #ddd;border-radius:4px;overflow:hidden}.rte-toolbar{background:#fafafa;border-bottom:1px solid #eee;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.rte-tb-btn{cursor:pointer;color:#333;background:0 0;border:1px solid #0000;border-radius:3px;min-width:28px;padding:4px 8px;font-size:13px;transition:background-color .15s}.rte-tb-btn:hover{background:#eef}.rte-tb-btn.active{color:#1e40af;background:#dbe4ff;border-color:#a5b4fc}.rte-tb-divider{background:#ddd;width:1px;height:18px;margin:0 4px}.rich-text-editor{cursor:text;background-color:#fff;border:none;border-radius:0;min-height:150px;padding:12px}.rich-text-editor-wrapper .rich-text-editor{border:none}.tiptap{outline:none;min-height:120px}.tiptap p.is-editor-empty:first-child:before{color:#adb5bd;content:attr(data-placeholder);float:left;pointer-events:none;height:0}.rte-img-wrap{margin:8px 0;line-height:0}.rte-img-wrap.img-align-left{text-align:left}.rte-img-wrap.img-align-center{text-align:center}.rte-img-wrap.img-align-right{text-align:right}.rte-img-container{border-radius:4px;outline:2px solid #0000;max-width:100%;transition:outline-color .12s;position:relative;overflow:visible}.rte-img-container.selected{outline-color:#6366f1}.rte-img-container.resizing{-webkit-user-select:none;user-select:none}.rte-img-container img{border-radius:4px}.rte-resize-handle{z-index:5;background:#6366f1;border:2px solid #fff;border-radius:2px;width:10px;height:10px;position:absolute;box-shadow:0 1px 3px #0003}.rte-resize-br{cursor:nwse-resize;bottom:-5px;right:-5px}.rte-resize-bl{cursor:nesw-resize;bottom:-5px;left:-5px}.rte-img-toolbar{z-index:10;white-space:nowrap;background:#1e293b;border-radius:6px;align-items:center;gap:2px;padding:4px 6px;display:flex;position:absolute;top:-40px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.rte-img-tb-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:12px;font-weight:600;transition:background .1s,color .1s;display:inline-flex}.rte-img-tb-btn:hover{color:#fff;background:#ffffff1a}.rte-img-tb-btn.active{color:#fff;background:#6366f1}.rte-img-tb-divider{background:#475569;width:1px;height:18px;margin:0 4px}.tiptap img{border-radius:4px;max-width:100%;height:auto;margin:8px 0}.tiptap a{color:#2563eb;cursor:pointer;text-decoration:underline}.tiptap h1{margin:.5em 0;font-size:1.6em;font-weight:700}.tiptap h2{margin:.5em 0;font-size:1.3em;font-weight:700}.tiptap ul,.tiptap ol{margin:.5em 0;padding-left:1.5em}.tiptap pre{color:#eee;background:#1e1e1e;border-radius:4px;padding:10px;font-family:Courier New,monospace;font-size:13px;overflow-x:auto}.tiptap code{background:#f3f4f6;border-radius:3px;padding:1px 4px;font-family:Courier New,monospace;font-size:.9em}.tiptap pre code{color:inherit;background:0 0;padding:0}.tiptap blockquote{color:#666;border-left:3px solid #ddd;margin:.5em 0;padding-left:12px}.tiptap .mention,.mention{color:#3730a3;background:#e0e7ff;border-radius:3px;padding:1px 6px;font-weight:500}.tdm-overlay{z-index:1400;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0f1e8c;animation:.15s tdm-fade;position:fixed;inset:0}@keyframes tdm-fade{0%{opacity:0}to{opacity:1}}.tdm-modal{z-index:1401;background:#f8fafc;border-radius:14px;flex-direction:column;width:min(1180px,100vw - 48px);max-height:calc(100vh - 64px);margin:32px auto;animation:.18s cubic-bezier(.16,1,.3,1) tdm-scale;display:flex;position:fixed;inset:0 0 0 50%;overflow:hidden;transform:translate(-50%);box-shadow:0 24px 80px #00000040,0 4px 16px #0000001a}@keyframes tdm-scale{0%{opacity:0;transform:translate(-50%)scale(.97)translateY(8px)}to{opacity:1;transform:translate(-50%)scale(1)translateY(0)}}.tdm-topbar{background:#fff;border-bottom:1px solid #e8edf3;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.tdm-breadcrumb-trail{align-items:center;gap:6px;display:flex}.tdm-bc-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.tdm-bc-btn:hover{color:#1e293b;background:#e2e8f0}.tdm-topbar-actions{align-items:center;gap:4px;display:flex}.tdm-icon-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.tdm-icon-btn:hover{color:#1e293b;background:#f1f5f9}.tdm-loading{color:#94a3b8;flex:1;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.tdm-spinner{border:2px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite tdm-spin}@keyframes tdm-spin{to{transform:rotate(360deg)}}.tdm-body{flex:1;min-height:0;display:flex;overflow:hidden}.tdm-left{background:#fff;border-right:1px solid #e8edf3;flex-direction:column;flex:1;min-width:0;display:flex}.tdm-left-scroll{flex-direction:column;flex:1;gap:28px;padding:28px 32px 48px;display:flex;overflow-y:auto}.tdm-title-area{flex-direction:column;gap:12px;display:flex}.tdm-task-id-chip{color:#6d28d9;letter-spacing:.04em;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f3f0ff;border:1px solid #ddd6fe;border-radius:6px;align-items:center;gap:5px;padding:4px 9px;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:11.5px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex;position:relative}.tdm-task-id-chip:hover{background:#ede9fe;border-color:#c4b5fd}.tdm-task-id-chip--copied{color:#15803d;background:#dcfce7;border-color:#86efac}.tdm-copy-tooltip{color:#fff;letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;background:#1e293b;border-radius:5px;padding:4px 8px;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tdm-copy-tooltip:after{content:"";border:4px solid #0000;border-top-color:#1e293b;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tdm-task-id-chip:hover .tdm-copy-tooltip,.tdm-task-id-chip--copied .tdm-copy-tooltip{opacity:1}.tdm-status-badge{letter-spacing:.5px;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid;border-radius:20px;align-items:center;width:fit-content;padding:3px 10px;font-size:11px;font-weight:700;transition:opacity .15s;display:inline-flex}.tdm-status-badge:hover{opacity:.8}.tdm-title{color:#0f172a;resize:none;background:0 0;border:none;border-radius:6px;outline:none;width:100%;padding:0;font-family:inherit;font-size:22px;font-weight:700;line-height:1.35;transition:background .15s;overflow:hidden}.tdm-title:hover{background:#f8fafc}.tdm-title:focus{background:#f1f5f9}.tdm-section{flex-direction:column;gap:10px;display:flex}.tdm-section-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.tdm-subtasks{flex-direction:column;gap:4px;display:flex}.tdm-subtask-row{cursor:pointer;background:#fafbff;border:1px solid #f1f5f9;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;transition:background .15s,border-color .15s;display:flex}.tdm-subtask-row:hover{background:#eef2ff;border-color:#c7d2fe}.tdm-subtask-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.tdm-subtask-title{color:#1e293b;flex:1;font-size:13px;font-weight:500}.tdm-subtask-badge{letter-spacing:.4px;text-transform:uppercase;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.tdm-count{color:#475569;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-left:2px;font-size:10px;font-weight:700;display:inline-flex}.tdm-right{background:#f8fafc;flex-direction:column;flex-shrink:0;width:320px;min-width:300px;max-width:340px;display:flex}.tdm-right-scroll{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.tdm-fields-card{background:#fff;border:1px solid #e8edf3;border-radius:10px;overflow:hidden}.tdm-field-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;min-height:44px;padding:10px 14px;display:flex}.tdm-field-row:last-child{border-bottom:none}.tdm-field-label{color:#64748b;flex-shrink:0;align-items:center;gap:5px;width:80px;font-size:12px;font-weight:600;display:flex}.tdm-field-badge{letter-spacing:.4px;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;transition:opacity .15s;display:inline-flex}.tdm-field-badge:hover{opacity:.8}.tdm-field-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.tdm-field-row-dates{flex-direction:column;align-items:flex-start;gap:8px}.tdm-dates-row{align-items:center;gap:8px;width:100%;display:flex}.tdm-date-field{flex-direction:column;flex:1;gap:3px;display:flex}.tdm-date-sub{color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.tdm-date-input .dti-display{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:12px}.tdm-date-input:focus-within .dti-display{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #e0e7ff}.tdm-date-arrow{color:#cbd5e1;flex-shrink:0}.tdm-field-row-assignees{flex-direction:column;align-items:flex-start;gap:8px}.tdm-assignees-grid{flex-wrap:wrap;gap:5px;width:100%;display:flex}.tdm-assignee-chip{cursor:pointer;color:#374151;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:5px;padding:4px 8px 4px 4px;font-size:12px;transition:all .15s;display:inline-flex}.tdm-assignee-chip:hover{background:#f1f5f9;border-color:#cbd5e1}.tdm-assignee-chip.selected{color:#3730a3;background:#eef2ff;border-color:#a5b4fc}.tdm-custom-fields{border-top:1px solid #e2e8f0;margin-top:4px;padding-top:8px}.tdm-custom-fields-header{justify-content:space-between;align-items:center;padding:6px 4px 10px;display:flex;position:relative}.tdm-custom-fields-title{text-transform:uppercase;letter-spacing:.04em;color:#64748b;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.tdm-add-field-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;line-height:1;display:inline-flex}.tdm-add-field-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.tdm-field-manager-pop{z-index:50;position:absolute;top:calc(100% + 4px);right:0}.tdm-custom-fields-empty{color:#94a3b8;padding:8px 4px 4px;font-size:12px}.tdm-section-label-cf{text-transform:none;letter-spacing:normal;justify-content:space-between;align-items:center;display:flex;position:relative}.tdm-section-label-cf .tdm-section-label-inner{color:#64748b;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.tdm-custom-fields-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;display:grid}.tdm-custom-fields-grid .tdm-field-row-custom{background:#fafbff;border:1px solid #f1f5f9;border-radius:8px;align-items:center;gap:10px;padding:6px 8px;display:flex}.tdm-custom-fields-grid .tdm-field-row-custom .tdm-field-label{color:#64748b;align-items:center;gap:6px;min-width:90px;font-size:12px;font-weight:600;display:inline-flex}.tdm-field-row-custom .tdm-custom-field-value{flex:1;min-width:0}.tdm-field-row-custom .tdm-custom-field-value .cf-cell input,.tdm-field-row-custom .tdm-custom-field-value .cf-cell textarea,.tdm-field-row-custom .tdm-custom-field-value .cf-cell select{color:#1e293b;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:4px 6px;font-size:13px}.tdm-field-row-custom .tdm-custom-field-value .cf-cell input:hover,.tdm-field-row-custom .tdm-custom-field-value .cf-cell textarea:hover,.tdm-field-row-custom .tdm-custom-field-value .cf-cell select:hover{background:#f8fafc;border-color:#e2e8f0}.tdm-field-row-custom .tdm-custom-field-value .cf-cell input:focus,.tdm-field-row-custom .tdm-custom-field-value .cf-cell textarea:focus,.tdm-field-row-custom .tdm-custom-field-value .cf-cell select:focus{background:#fff;border-color:#a5b4fc;outline:none}.tdm-custom-field-icon{color:#64748b;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;display:inline-flex}.tdm-chip-av{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;font-weight:700;display:inline-flex}.tdm-chip-name{font-size:12px;font-weight:500}.tdm-chip-check{color:#6366f1;flex-shrink:0}.tdm-activity-card{background:#fff;border:1px solid #e8edf3;border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tdm-activity-title{color:#374151;text-transform:uppercase;letter-spacing:.5px;background:#fafbff;border-bottom:1px solid #f1f5f9;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.tdm-comments-area{flex:1;min-height:120px;padding:12px 14px;overflow-y:auto}.tdm-composer-area{border-top:1px solid #f1f5f9;padding:10px 12px}.tdm-dropdown-menu{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:180px;padding:5px 0;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f}.tdm-dropdown-item{color:#374151;cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;transition:background .1s;display:flex}.tdm-dropdown-item:hover{background:#f5f3ff}.tdm-dropdown-item.active{color:#4338ca;background:#eef2ff}.tdm-dropdown-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.att-uploader{text-align:center;color:#94a3b8;cursor:pointer;background:#fafbff;border:2px dashed #e2e8f0;border-radius:8px;padding:14px;transition:all .15s}.att-uploader:hover,.att-uploader.drag-over{color:#4338ca;background:#eef2ff;border-color:#6366f1}.att-uploader-inner{justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.att-uploader-icon{font-size:18px}.att-list{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.att-empty{color:#94a3b8;font-size:12px}.att-item{background:#fff;border:1px solid #f1f5f9;border-radius:8px;flex:1;align-items:center;gap:10px;min-width:200px;padding:8px 10px;display:flex}.att-thumb{background:#f3f4f6;border-radius:6px;flex-shrink:0;width:40px;height:40px;overflow:hidden}.att-thumb img{object-fit:cover;width:100%;height:100%}.att-icon{background:#f3f4f6;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;text-decoration:none;display:flex}.att-info{flex:1;min-width:0}.att-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:13px;text-decoration:none;display:block;overflow:hidden}.att-name:hover{color:#4f46e5;text-decoration:underline}.att-meta{color:#9ca3af;margin-top:2px;font-size:11px}.att-del{color:#cbd5e1;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.att-del:hover{color:#ef4444}.cmt-list{flex-direction:column;gap:14px;display:flex}.cmt-empty{color:#94a3b8;padding:4px 0;font-size:12px}.cmt-item{gap:9px;display:flex}.cmt-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:inline-flex;overflow:hidden}.cmt-avatar img{object-fit:cover;width:100%;height:100%}.cmt-body-wrap{flex:1;min-width:0}.cmt-head{align-items:baseline;gap:6px;display:flex}.cmt-author{color:#1e293b;font-size:12px;font-weight:600}.cmt-time{color:#94a3b8;font-size:11px}.cmt-body{color:#374151;white-space:pre-wrap;word-break:break-word;margin-top:3px;font-size:13px;line-height:1.55}.cmt-body .mention{color:#3730a3;background:#e0e7ff;border-radius:3px;padding:1px 5px;font-weight:500}.cmt-composer{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:visible}.cmt-composer-wrap{position:relative}.cmt-textarea{color:#111;resize:vertical;box-sizing:border-box;background:0 0;border:none;outline:none;width:100%;min-height:56px;padding:9px 10px;font-family:inherit;font-size:13px}.cmt-composer-actions{background:#fafbff;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.cmt-hint{color:#94a3b8;font-size:11px}.cmt-composer-actions .btn-primary{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:6px;padding:5px 13px;font-size:12px;font-weight:600}.cmt-composer-actions .btn-primary:hover:not(:disabled){background:#4f46e5}.cmt-composer-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.cmt-mention-dropdown{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:200px;max-height:220px;margin-bottom:4px;position:absolute;bottom:100%;left:10px;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.cmt-mention-item{cursor:pointer;color:#111;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.cmt-mention-item:hover,.cmt-mention-item.active{background:#eef2ff}.cmt-mention-avatar{color:#fff;background:#6366f1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:600;display:inline-flex}.home-view-container{max-width:860px;margin:0 auto;padding:32px 40px}.home-greeting{margin-bottom:28px}.home-greeting h1{color:var(--text-main);letter-spacing:-.025em;margin:0 0 4px;font-size:1.5rem;font-weight:700}.home-greeting p{color:var(--text-muted);margin:0;font-size:.85rem}.home-content{flex-direction:column;gap:20px;display:flex}.home-section{background:var(--bg-page);border-radius:var(--r-xl);border:1px solid var(--border);overflow:hidden}.home-section-header{background:var(--bg-app);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.home-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;font-size:.82rem;font-weight:700;display:flex}.home-section-count{background:var(--border);color:var(--text-muted);border-radius:var(--r-full);padding:2px 8px;font-size:.72rem;font-weight:600}.home-task-list{flex-direction:column;display:flex}.home-task-row{border-bottom:1px solid var(--border-light);cursor:pointer;align-items:center;gap:12px;padding:11px 18px;transition:background .12s;display:flex}.home-task-row:last-child{border-bottom:none}.home-task-row:hover{background:var(--bg-hover)}.ht-status{border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.6rem;display:flex}.ht-title-wrapper{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ht-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.ht-list-name{color:var(--text-faint);border-radius:4px;align-items:center;gap:4px;width:fit-content;margin-left:-3px;padding:1px 3px;font-size:.72rem;transition:color .12s,background .12s;display:flex}.ht-list-name:hover{color:var(--primary);background:var(--primary-light)}.ht-meta{flex-shrink:0;align-items:center;gap:16px;display:flex}.ht-date{color:var(--text-muted);background:var(--bg-active);border-radius:var(--r-full);align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:500;display:flex}.ht-date.overdue{color:#ef4444;background:#fef2f2}.ht-date.today{color:#059669;background:#d1fae5}.ht-date.next{color:var(--primary);background:var(--primary-light)}.ht-priority{font-size:.85rem}.export-menu-wrap{position:relative}.export-btn.exporting{opacity:.6;cursor:wait}.export-spin{animation:.9s linear infinite export-rotate}@keyframes export-rotate{to{transform:rotate(360deg)}}.export-dropdown{z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:230px;animation:.12s export-dd-in;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}@keyframes export-dd-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.export-dd-title{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;padding:10px 14px 6px;font-size:10.5px;font-weight:700}.export-dd-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 14px;transition:background .12s;display:flex}.export-dd-item:hover{background:#f8fafc}.export-dd-item:last-child{border-radius:0 0 10px 10px}.export-dd-icon{background:#f1f5f9;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.export-dd-text{flex-direction:column;gap:2px;display:flex}.export-dd-label{color:#1e293b;font-size:13px;font-weight:600}.export-dd-sub{color:#94a3b8;font-size:11px}.main-area{background:var(--bg-page);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main-area.home-bg{background:var(--bg-app);overflow-y:auto}.main-empty{color:var(--text-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;font-size:.9rem;font-weight:500;display:flex}.page-header{border-bottom:1px solid var(--border-light);background:var(--bg-page);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex}.page-breadcrumb{align-items:center;gap:6px;font-size:.82rem;display:flex}.breadcrumb-part{color:var(--text-muted);font-weight:500}.breadcrumb-sep{color:var(--border);font-size:.9em}.breadcrumb-current{color:var(--text-main);font-size:.9rem;font-weight:700}.btn-new-task{background:var(--primary);color:#fff;border-radius:var(--r-lg);cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn-new-task:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 14px #7c3aed4d}.btn-new-task:active{transform:translateY(0)}.main-toolbar{background:var(--bg-page);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:0;height:44px;padding:0 20px;display:flex}.view-tabs{align-items:center;height:100%;display:flex}.view-tab{cursor:pointer;height:100%;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 12px;font-size:.8rem;font-weight:500;transition:color .12s;display:inline-flex}.view-tab:hover{color:var(--text-secondary)}.view-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.toolbar-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 12px}.toolbar-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.toolbar-action-slot{align-items:center;display:flex;position:relative}.toolbar-btn{border-radius:var(--r-md);cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:5px 9px;font-size:.78rem;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.toolbar-btn:hover{background:var(--bg-active);color:var(--text-secondary)}.toolbar-btn.active{background:var(--primary-light);color:var(--primary)}.share-link-btn--copied{color:#16a34a;background:#dcfce7}.toolbar-badge{color:#fff;border-radius:var(--r-full);background:#ef4444;padding:1px 4px;font-size:.6rem;font-weight:700;line-height:1.4}.toolbar-search-wrap{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text-muted);align-items:center;gap:6px;padding:4px 10px;animation:.15s ease-out toolbarExpand;display:flex}@keyframes toolbarExpand{0%{opacity:0;width:120px}to{opacity:1;width:220px}}.toolbar-search-input{color:var(--text-main);background:0 0;border:none;outline:none;width:180px;font-family:inherit;font-size:.8rem}.toolbar-search-input::placeholder{color:var(--text-faint)}.search-clear{cursor:pointer;color:var(--text-faint);background:0 0;border:none;align-items:center;padding:0;transition:color .12s;display:flex}.search-clear:hover{color:var(--text-secondary)}.toolbar-dropdown{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);z-index:200;flex-direction:column;gap:10px;min-width:210px;padding:12px;animation:.12s ease-out ddFade;display:flex;position:absolute;top:calc(100% + 8px);right:0}@keyframes ddFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dd-section{flex-direction:column;gap:5px;display:flex}.dd-section label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:.7rem;font-weight:700}.dd-select{border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-main);background:var(--bg-app);cursor:pointer;outline:none;padding:6px 8px;font-family:inherit;font-size:.82rem}.dd-select:focus{border-color:var(--primary)}.dd-clear{border-radius:var(--r-md);color:#ef4444;cursor:pointer;background:0 0;border:1px solid #fca5a5;padding:6px;font-size:.78rem;font-weight:600;transition:background .12s}.dd-clear:hover{background:#fef2f2}.main-subbar{background:var(--bg-page);border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;height:34px;padding:0 20px;display:flex}.group-chip{background:var(--primary-light);border-radius:var(--r-full);color:var(--primary);cursor:pointer;border:none;align-items:center;gap:5px;padding:3px 9px;font-size:.75rem;font-weight:600;transition:background .12s;display:inline-flex}.group-chip:hover{background:var(--primary-mid)}.main-scroll{background:var(--bg-app);flex:1;overflow-y:auto}.main-scroll.gantt-mode{display:flex;overflow:hidden}.loading-state{color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 20px;font-size:.85rem;display:flex}.loading-spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;background:#0f172a73;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-page);border-radius:var(--r-xl);width:100%;max-width:440px;box-shadow:var(--shadow-xl);border:1px solid var(--border);padding:28px}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--r-lg);cursor:pointer;border:none;padding:9px 18px;font-size:.85rem;font-weight:600}.btn-primary:hover{background:var(--primary-hover)}.nbell-wrapper{display:inline-block;position:relative}.nbell-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:inline-flex;position:relative}.nbell-btn:hover{background:#ffffff1a}.nbell-badge{color:#fff;pointer-events:none;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.nbell-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;width:380px;max-height:500px;display:flex;overflow:hidden;box-shadow:0 12px 36px #00000024}.nbell-head{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.nbell-title{color:#111827;font-size:.9rem;font-weight:700}.nbell-head-actions{align-items:center;gap:8px;display:flex}.nbell-clear-all{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 6px;font-size:12px;font-weight:500;transition:color .15s,background .15s}.nbell-clear-all:hover{color:#ef4444;background:#fef2f2}.nbell-list{flex:1;overflow-y:auto}.nbell-empty{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:10px;padding:40px 14px;font-size:13px;display:flex}.nbell-item{color:#374151;border-bottom:1px solid #f8fafc;align-items:flex-start;gap:10px;padding:11px 14px;transition:background .12s;display:flex;position:relative}.nbell-item:last-child{border-bottom:none}.nbell-item.clickable{cursor:pointer}.nbell-item.clickable:hover{background:#f9fafb}.nbell-item.unread{border-left:3px solid #6366f1}.nbell-item-icon{flex-shrink:0;margin-top:1px;font-size:17px;line-height:1.3}.nbell-item-body{flex:1;min-width:0}.nbell-item-text{color:#1f2937;font-size:13px;line-height:1.45}.nbell-item-preview{color:#6b7280;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;display:-webkit-box;overflow:hidden}.nbell-item-time{color:#94a3b8;margin-top:4px;font-size:11px}.nbell-item-right{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding-top:2px;display:flex}.nbell-unread-dot{background:#6366f1;border-radius:50%;flex-shrink:0;width:7px;height:7px}.nbell-delete-btn{cursor:pointer;color:#cbd5e1;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:color .15s,background .15s,opacity .15s;display:flex}.nbell-item:hover .nbell-delete-btn{opacity:1}.nbell-delete-btn:hover{color:#ef4444;background:#fef2f2}.pdm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#00000080;position:fixed;inset:0}.pdm-modal{z-index:2001;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:min(420px,100vw - 40px);padding:36px 32px 28px;animation:.2s pdm-in;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #00000038}@keyframes pdm-in{0%{opacity:0;transform:translate(-50%,-53%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.pdm-icon{margin-bottom:4px}.pdm-title{color:#0f172a;margin:0;font-size:18px;font-weight:700}.pdm-desc{color:#64748b;text-align:center;margin:0;font-size:14px;line-height:1.6}.pdm-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;margin-top:8px;padding:10px 28px;font-size:14px;font-weight:600;transition:background .15s}.pdm-btn:hover{background:#4f46e5}.app-container{background:var(--bg-app);width:100vw;height:100vh;display:flex;overflow:hidden}.main-content{flex:1;height:100vh;display:flex;overflow:hidden}.content-wrapper{background:var(--bg-page);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}:root{--primary:#7c3aed;--primary-hover:#6d28d9;--primary-light:#f5f3ff;--primary-mid:#ede9fe;--text-main:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-faint:#9ca3af;--bg-app:#f3f4f6;--bg-page:#fff;--bg-hover:#f9fafb;--bg-active:#f3f4f6;--border:#e5e7eb;--border-light:#f3f4f6;--sidebar-bg:#1a1d23;--sidebar-hover:#ffffff0f;--sidebar-active:#7c3aed2e;--sidebar-active-txt:#c4b5fd;--sidebar-text:#9ca3af;--sidebar-text-hi:#f9fafb;--sidebar-border:#ffffff0f;--danger:#ef4444;--warning:#f59e0b;--success:#10b981;--info:#3b82f6;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001f, 0 10px 10px -5px #0000000a;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-full:9999px;--border-color:var(--border);--radius-md:var(--r-lg);--radius-lg:var(--r-xl);--secondary:var(--text-muted);--badge-bg:var(--bg-active)}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-app);color:var(--text-main);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;transition:all .15s}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
