-
- 📋 0
-
-
- 📦 0
-
-
- 🌿 0
-
-
- 🔗 0
+ transparent);
+ border-radius: var(--radius) var(--radius) 0 0;
+ }
+
+ .column-title {
+ font-weight: 700;
+ font-size: 14px;
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ flex: 1;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ .column-count {
+ font-size: 11px;
+ padding: 2px 8px;
+ border-radius: 10px;
+ font-weight: 700;
+ background: rgba(0, 0, 0, 0.15);
+ color: inherit;
+ flex-shrink: 0;
+ }
+
+ .column-actions {
+ display: flex;
+ gap: 4px;
+ flex-shrink: 0;
+ }
+
+ .column-action-btn {
+ background: transparent;
+ border: none;
+ cursor: pointer;
+ color: inherit;
+ opacity: 0.7;
+ padding: 4px 6px;
+ border-radius: 4px;
+ font-size: 14px;
+ transition: all 0.2s;
+ }
+
+ .column-action-btn:hover {
+ background: rgba(0, 0, 0, 0.1);
+ opacity: 1;
+ }
+
+ .column-body {
+ padding: 10px;
+ overflow-y: auto;
+ flex: 1;
+ min-height: 60px;
+ }
+
+ .column-body::-webkit-scrollbar {
+ width: 6px;
+ }
+
+ .column-body::-webkit-scrollbar-thumb {
+ background: rgba(0, 0, 0, 0.15);
+ border-radius: 3px;
+ }
+
+ .column-footer {
+ padding: 8px;
+ border-top: 1px solid var(--border);
+ }
+
+ .add-card-btn {
+ width: 100%;
+ background: transparent;
+ border: 1px dashed var(--border);
+ color: var(--text-muted);
+ padding: 8px;
+ border-radius: var(--radius-sm);
+ cursor: pointer;
+ font-family: inherit;
+ font-size: 13px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 6px;
+ transition: all 0.2s;
+ }
+
+ .add-card-btn:hover {
+ background: var(--card-bg);
+ border-color: var(--accent);
+ color: var(--accent-dark);
+ }
+
+ .add-column-btn {
+ background: rgba(255, 255, 255, 0.5);
+ border: 2px dashed var(--border);
+ border-radius: var(--radius);
+ min-width: 280px;
+ min-height: 100px;
+ cursor: pointer;
+ color: var(--text-muted);
+ font-family: inherit;
+ font-size: 14px;
+ font-weight: 600;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 8px;
+ transition: all 0.2s;
+ flex-shrink: 0;
+ }
+
+ [data-theme="dark"] .add-column-btn {
+ background: rgba(255, 255, 255, 0.05);
+ }
+
+ .add-column-btn:hover {
+ background: var(--card-bg);
+ border-color: var(--accent);
+ color: var(--accent-dark);
+ }
+
+ .card {
+ background: var(--card-bg);
+ border-radius: 8px;
+ padding: 12px;
+ margin-bottom: 8px;
+ box-shadow: var(--shadow-sm);
+ cursor: pointer;
+ border: 1px solid var(--border);
+ transition: all 0.15s;
+ position: relative;
+ }
+
+ .card:hover {
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
+ transform: translateY(-1px);
+ border-color: var(--accent);
+ }
+
+ .card:active {
+ cursor: grabbing;
+ }
+
+ .card-tags {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 4px;
+ margin-bottom: 8px;
+ }
+
+ .card-tag {
+ font-size: 10px;
+ padding: 2px 8px;
+ border-radius: 10px;
+ font-weight: 600;
+ color: white;
+ display: inline-block;
+ }
+
+ .card-title {
+ font-weight: 700;
+ font-size: 13px;
+ margin-bottom: 6px;
+ line-height: 1.5;
+ color: var(--text);
+ }
+
+ .card-desc {
+ font-size: 12px;
+ margin-bottom: 8px;
+ line-height: 1.6;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ opacity: 0.85;
+ color: var(--text-muted);
+ }
+
+ .card-meta {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 6px;
+ font-size: 11px;
+ align-items: center;
+ opacity: 0.9;
+ margin-top: 6px;
+ }
+
+ .card-meta-item {
+ display: inline-flex;
+ align-items: center;
+ gap: 3px;
+ background: rgba(0, 0, 0, 0.08);
+ padding: 2px 6px;
+ border-radius: 4px;
+ color: var(--text-muted);
+ }
+
+ [data-theme="dark"] .card-meta-item {
+ background: rgba(255, 255, 255, 0.15);
+ color: var(--text);
+ }
+
+ .card-meta-item.overdue {
+ background: #fed7d7;
+ color: var(--danger);
+ font-weight: 600;
+ opacity: 1;
+ }
+
+ .card-meta-item.soon {
+ background: #fef5e7;
+ color: var(--warning);
+ font-weight: 600;
+ opacity: 1;
+ }
+
+ [data-theme="dark"] .card-meta-item.overdue {
+ background: rgba(229, 62, 62, 0.3);
+ color: #feb2b2;
+ }
+
+ [data-theme="dark"] .card-meta-item.soon {
+ background: rgba(221, 107, 32, 0.3);
+ color: #fbd38d;
+ }
+
+ .card-checklist-progress {
+ width: 100%;
+ height: 4px;
+ background: rgba(0, 0, 0, 0.1);
+ border-radius: 2px;
+ overflow: hidden;
+ margin-top: 8px;
+ }
+
+ [data-theme="dark"] .card-checklist-progress {
+ background: rgba(255, 255, 255, 0.15);
+ }
+
+ .card-checklist-bar {
+ height: 100%;
+ background: linear-gradient(90deg, var(--success), #48bb78);
+ transition: width 0.3s;
+ }
+
+ .tag-chip {
+ display: inline-flex;
+ align-items: center;
+ gap: 4px;
+ padding: 4px 10px;
+ border-radius: 12px;
+ font-size: 12px;
+ font-weight: 600;
+ color: white;
+ transition: all 0.15s;
+ border: 2px solid transparent;
+ user-select: none;
+ }
+
+ .tag-chip.selected {
+ border-color: var(--primary);
+ transform: scale(1.05);
+ box-shadow:
+ 0 0 0 2px var(--card-bg),
+ 0 0 0 4px var(--primary);
+ }
+
+ .tag-chip:hover {
+ opacity: 0.85;
+ }
+
+ .rb-tag-add-form {
+ background: var(--border-light);
+ border: 1px solid var(--border);
+ border-radius: var(--radius-sm);
+ padding: 12px;
+ margin-bottom: 16px;
+ }
+
+ .rb-tag-list-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 13px;
+ font-weight: 700;
+ color: var(--text);
+ margin-bottom: 10px;
+ padding-bottom: 8px;
+ border-bottom: 1px solid var(--border);
+ }
+
+ .rb-tag-count {
+ background: var(--primary);
+ color: #fff;
+ font-size: 11px;
+ padding: 2px 8px;
+ border-radius: 10px;
+ font-weight: 700;
+ }
+
+ .rb-tag-list {
+ max-height: 320px;
+ overflow-y: auto;
+ display: flex;
+ flex-direction: column;
+ gap: 6px;
+ }
+
+ .rb-tag-list::-webkit-scrollbar {
+ width: 6px;
+ }
+
+ .rb-tag-list::-webkit-scrollbar-thumb {
+ background: rgba(0, 0, 0, 0.15);
+ border-radius: 3px;
+ }
+
+ .rb-tag-item {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ padding: 8px 12px;
+ background: var(--card-bg);
+ border: 1px solid var(--border);
+ border-radius: var(--radius-sm);
+ transition: all 0.15s;
+ }
+
+ .rb-tag-item:hover {
+ border-color: var(--accent);
+ box-shadow: var(--shadow-sm);
+ }
+
+ .rb-tag-color-dot {
+ width: 16px;
+ height: 16px;
+ border-radius: 50%;
+ flex-shrink: 0;
+ border: 2px solid rgba(0, 0, 0, 0.1);
+ }
+
+ .rb-tag-name {
+ flex: 1;
+ font-size: 13px;
+ font-weight: 600;
+ color: var(--text);
+ }
+
+ .rb-tag-usage {
+ font-size: 11px;
+ color: var(--text-muted);
+ background: var(--border-light);
+ padding: 2px 8px;
+ border-radius: 10px;
+ }
+
+ .rb-tag-actions {
+ display: flex;
+ gap: 4px;
+ }
+
+ .rb-tag-action-btn {
+ background: transparent;
+ border: none;
+ cursor: pointer;
+ padding: 4px 6px;
+ border-radius: 4px;
+ font-size: 13px;
+ opacity: 0.6;
+ transition: all 0.15s;
+ }
+
+ .rb-tag-action-btn:hover {
+ opacity: 1;
+ background: var(--border-light);
+ }
+
+ .rb-tag-action-btn.danger:hover {
+ background: #fed7d7;
+ }
+
+ .rb-tag-empty {
+ text-align: center;
+ padding: 30px 10px;
+ color: var(--text-muted);
+ font-size: 13px;
+ }
+
+ .rb-tag-empty-icon {
+ font-size: 40px;
+ opacity: 0.3;
+ margin-bottom: 10px;
+ }
+
+ .rb-board-area .empty-state {
+ text-align: center;
+ padding: 20px 10px;
+ color: var(--text-muted);
+ font-size: 12px;
+ }
+
+ .card.hidden-by-filter {
+ display: none !important;
+ }
+
+ .card.dragging {
+ opacity: 0.4;
+ transform: rotate(3deg);
+ box-shadow: var(--shadow-lg);
+ border-style: dashed;
+ }
+
+ .column.drag-over {
+ outline: 3px dashed var(--accent);
+ outline-offset: -3px;
+ background: rgba(201, 169, 97, 0.08) !important;
+ }
+
+ .column.drag-over .column-body {
+ background: rgba(201, 169, 97, 0.05);
+ }
+
+ .column.dragging-column {
+ opacity: 0.5;
+ border-style: dashed;
+ }
+
+ .column.drag-over-column {
+ outline: 3px dashed var(--info);
+ outline-offset: -3px;
+ }
+
+ .column-header[draggable="true"] {
+ cursor: grab;
+ }
+
+ .column-header[draggable="true"]:active {
+ cursor: grabbing;
+ }
+
+ .drag-handle-hint {
+ opacity: 0.4;
+ font-size: 12px;
+ margin-left: 4px;
+ cursor: grab;
+ }
+
+ .column-drop-indicator {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ width: 4px;
+ background: var(--accent);
+ border-radius: 2px;
+ z-index: 10;
+ }
+
+ /* ── حالت خالی هنگام فیلتر ── */
+ .column-filter-empty {
+ text-align: center;
+ padding: 15px 10px;
+ color: var(--text-muted);
+ font-size: 11px;
+ background: rgba(0, 0, 0, 0.03);
+ border-radius: 6px;
+ margin-top: 4px;
+ display: none;
+ }
+
+ .column-filter-empty.visible {
+ display: block;
+ }
+
+ /* ── استایل آیتمهای وابستگی و مسئول ── */
+ .rb-item-chip {
+ display: inline-flex;
+ align-items: center;
+ gap: 5px;
+ padding: 4px 10px;
+ border-radius: 14px;
+ font-size: 11px;
+ font-weight: 600;
+ background: var(--card-bg);
+ border: 1px solid var(--border);
+ color: var(--text);
+ transition: all 0.2s;
+ }
+
+ .rb-item-chip:hover {
+ border-color: var(--accent);
+ box-shadow: var(--shadow-sm);
+ }
+
+ .rb-item-chip .chip-remove {
+ cursor: pointer;
+ opacity: 0.6;
+ font-size: 12px;
+ transition: opacity 0.2s;
+ }
+
+ .rb-item-chip .chip-remove:hover {
+ opacity: 1;
+ color: var(--danger);
+ }
+
+ .rb-item-chip.assignee-chip {
+ background: #e6f4ff;
+ border-color: #91caff;
+ color: #0958d9;
+ }
+
+ .rb-item-chip.dependency-chip {
+ background: #fff7e6;
+ border-color: #ffd591;
+ color: #d46b08;
+ }
+
+ /* ── استایل تاریخچه ── */
+ .rb-history-item {
+ display: flex;
+ align-items: flex-start;
+ gap: 8px;
+ padding: 6px 8px;
+ border-bottom: 1px solid var(--border-light);
+ font-size: 11px;
+ line-height: 1.5;
+ }
+
+ .rb-history-item:last-child {
+ border-bottom: none;
+ }
+
+ .rb-history-icon {
+ font-size: 13px;
+ flex-shrink: 0;
+ margin-top: 1px;
+ }
+
+ .rb-history-content {
+ flex: 1;
+ color: var(--text);
+ }
+
+ .rb-history-date {
+ color: var(--text-muted);
+ font-size: 10px;
+ white-space: nowrap;
+ }
+
+ /* ── استایل نشانگر وابستگی در کارت ── */
+ .card-deps {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 3px;
+ margin-top: 6px;
+ }
+
+ .card-dep-badge {
+ font-size: 9px;
+ padding: 1px 6px;
+ border-radius: 8px;
+ background: #fff7e6;
+ border: 1px solid #ffd591;
+ color: #d46b08;
+ font-weight: 600;
+ }
+
+ .card-assignees {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 3px;
+ margin-top: 4px;
+ }
+
+ .card-assignee-badge {
+ font-size: 9px;
+ padding: 1px 6px;
+ border-radius: 8px;
+ background: #e6f4ff;
+ border: 1px solid #91caff;
+ color: #0958d9;
+ font-weight: 600;
+ }
+
+ /* ── اصلاح فیلتر: غیرفعال/فعال ── */
+ .rb-filter-clear-btn:disabled {
+ opacity: 0.4;
+ cursor: not-allowed;
+ }
+
+ ::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+ }
+
+ ::-webkit-scrollbar-track {
+ background: transparent;
+ }
+
+ ::-webkit-scrollbar-thumb {
+ background: var(--border);
+ border-radius: 4px;
+ }
+
+
+
+
+