        .task-matrix-container {
            flex: 1;
            overflow: auto;
            min-width: 0;
            /* <-- KEY: keep horizontal scroll inside this container */
        }







        .task-matrix {
            min-width: 100%;
        }

        .matrix-header {
            display: flex;
            background: linear-gradient(to bottom, var(--tech-blue), var(--tech-blue-dark));
            position: sticky;
            top: 0;
            z-index: 10;
        }



        /* Column drag insertion indicator (predictive drop target) */
        .matrix-header {
            position: sticky;
        }

        .matrix-header .col-insert-line {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 4px;
            background: rgba(253, 169, 41, 0.95);
            box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25), 0 6px 18px rgba(253, 169, 41, 0.25);
            border-radius: 4px;
            transform: translateX(-2px);
            display: none;
            z-index: 50;
            pointer-events: none;
        }

        .matrix-header .col-header.dragging {
            opacity: 0.55;
        }

        .matrix-header .col-header.drag-over {
            outline: 2px solid rgba(253, 169, 41, 0.70);
            outline-offset: -2px;
        }

        .header-cell {
            padding: 16px 24px;
            border: 0.5px solid rgba(58, 108, 147, 0.3);
            display: flex;
            align-items: center;
            justify-content: space-between;
            min-width: 200px;
            position: relative;

            /* Force consistent header background for all columns */
            background: linear-gradient(to bottom, var(--tech-blue), var(--tech-blue-dark));
        }


        .header-cell-content {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .header-cell.main-task-col {
            min-width: 380px;
            position: sticky;
            left: 0;
            z-index: 20;
            background: linear-gradient(to bottom, var(--tech-blue), var(--tech-blue-dark));

        }



        .task-row .task-cell.main-task-col {
            align-items: center;
            padding-top: 6px;
            padding-bottom: 6px;
        }

        /* Center the checkbox within the (potentially multi-line) Main Task cell */
        .task-row .task-cell.main-task-col input[type="checkbox"] {
            align-self: center;
            flex: 0 0 auto;
            width: 16px;
            height: 16px;
            margin-top: 0;
            margin-bottom: 0;
        }


        /* Give multi-line titles breathing room in Main Task column only */
        .task-row .task-cell.main-task-col .task-title-input {
            padding-top: 3px;
            padding-bottom: 3px;
        }

        .header-cell svg {
            width: 16px;
            height: 16px;
        }

        .header-cell span {
            font-weight: 600;
            color: white;
            font-size: 14px;
        }

        .header-cell.add-col {
            min-width: 48px;
            padding: 16px 8px;
            justify-content: center;
        }

        .resize-handle {
            position: absolute;
            right: 0;
            top: 0;
            bottom: 0;
            width: 4px;
            cursor: col-resize;
            transition: background 0.2s;
        }

        .resize-handle:hover {
            background: rgba(253, 169, 41, 0.12);
        }

        .resize-handle:hover::after {
            background: rgba(253, 169, 41, 0.65);
        }

        /* Column resize UX */
        body.is-resizing-col,
        body.is-resizing-col * {
            cursor: col-resize !important;
            user-select: none !important;
        }

        /* Keep header labels from stretching columns */
        .header-cell-content {
            min-width: 0;
        }

        .header-cell-content span {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .task-row {
            display: flex;
            border-bottom: none;
            /* cells handle the grid lines */
            transition: background 0.2s;
        }



        .task-row:hover {
            background: rgba(58, 108, 147, 0.1);
        }

        .task-row.subtask {
            background: #0F3249;
        }

        .task-row.pinned {
            background: rgba(253, 169, 41, 0.05);
        }

        .task-row.private {
            background: rgba(100, 116, 139, 0.1);
        }

        .task-row.drag-over {
            border-top: 2px solid var(--tech-orange);
        }

        .task-row.drag-over-bottom {
            border-bottom: 2px solid var(--tech-orange);
        }

        .task-row.valid-drop {
            outline: 1px dashed rgba(253, 169, 41, 0.25);
            outline-offset: -1px;
        }

        .task-row.dragging {
            opacity: 0.5;
        }

        /* ===== Column drag (header) ===== */
        .col-header {
            user-select: none;
        }

        .col-drag-handle {
            cursor: grab;
            color: #6b7280;
            padding: 4px;
            display: flex;
            align-items: center;
            user-select: none;
            -webkit-user-select: none;
            touch-action: none;
        }

        .col-drag-handle:hover {
            color: white;
        }

        .col-drag-handle:active {
            cursor: grabbing;
        }

        .col-header.dragging {
            opacity: 0.6;
        }

        .col-header.drag-over {
            outline: 2px solid rgba(253, 169, 41, 0.6);
            outline-offset: -2px;
        }


        .task-cell {
            padding: 1px 10px;
            border-right: 1px solid rgba(58, 108, 147, 0.2);
            border-bottom: 1px solid rgba(58, 108, 147, 0.2);
            /* cells handle the grid lines */
            display: flex;
            align-items: center;
            min-width: 200px;
            background: #082945;
            line-height: 1.25;

            /* ✅ Allow text to wrap inside the fixed column width */
            white-space: normal;
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        /* Allow flex children to shrink so wrapping can actually happen */
        .task-cell>* {
            min-width: 0;
        }


        .task-cell.subtask-cell {
            background: #0F3249;
        }

        .task-cell.main-task-col {
            min-width: 380px;
            position: sticky;
            left: 0;
            z-index: 5;
            gap: 8px;
            justify-content: space-between;

            /* make grid lines continuous under sticky column */
            border-right: 1px solid rgba(58, 108, 147, 0.2);
            border-bottom: 1px solid rgba(58, 108, 147, 0.2);
        }



        .task-cell-content {
            flex: 1;
            display: flex;
            align-items: center;
            gap: 8px;
            min-width: 0;
        }

        .task-actions {
            display: flex;
            gap: 4px;
            opacity: 0;
            transition: opacity 0.2s;
        }

        .task-row:hover .task-actions {
            opacity: 1;
        }

        .menu-btn {
            padding: 4px;
            background: none;
            border: none;
            color: #6b7280;
            cursor: pointer;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .menu-btn:hover {
            color: var(--tech-orange);
            background: rgba(253, 169, 41, 0.1);
        }

        .drag-handle {
            cursor: grab;
            color: #6b7280;
            padding: 4px;
            display: flex;
            align-items: center;
            user-select: none;
            -webkit-user-select: none;
            touch-action: none;
        }


        .drag-handle:hover {
            color: white;
        }

        .drag-handle:active {
            cursor: grabbing;
        }

        .task-title-wrapper {
            flex: 1;
            display: flex;
            align-items: flex-start;
            gap: 8px;
            min-width: 0;
        }

        .subtask-number {
            color: var(--tech-orange);
            font-size: 12px;
            font-weight: 500;
            opacity: 0.8;
            width: 18px;
            text-align: right;
            flex-shrink: 0;
            align-self: center;
        }

        .task-title-input {
            flex: 1;
            background: transparent;
            border: none;
            color: white;
            font-size: 11px;
            font-weight: 400;
            outline: none;
            font-family: inherit;
            min-width: 0;
            line-height: 1.35;
            white-space: pre-wrap;
            /* allow wrapping while preserving manual newlines */
            overflow-wrap: anywhere;
            word-break: break-word;
            resize: none;
            padding: 2px 0;
            margin: 0;
            height: 18px;
            /* will be auto-grown */
            max-height: 5.2em;
            /* cap so rows don't explode */
            overflow-y: hidden;
            display: block;
        }

        .task-title-input::placeholder {
            color: #6b7280;
        }

        .task-title-input.completed {
            text-decoration: line-through;
            color: #6b7280;
        }

        .subtask-number {
            color: var(--tech-orange);
            font-size: 12px;
            font-weight: 500;
            opacity: 0.8;
            display: inline-block;
            width: 18px;
            /* reserve space so bubbles align */
            text-align: right;
            flex-shrink: 0;
        }


        .pin-icon {
            color: var(--tech-orange);
            width: 12px;
            height: 12px;
        }

        .description-bubble {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            flex-shrink: 0;
            margin-left: auto;
            /* always align to the right */
        }


        .description-bubble.has-content {
            background: rgba(253, 169, 41, 0.2);
            border: 1px solid rgba(253, 169, 41, 0.3);
        }

        .description-bubble.has-content svg {
            color: var(--tech-orange);
        }

        .description-bubble.empty {
            background: rgba(107, 114, 128, 0.2);
            border: 1px solid rgba(107, 114, 128, 0.3);
        }

        .description-bubble.empty svg {
            color: #6b7280;
        }

        .description-bubble:hover {
            transform: scale(1.2);
        }

        .add-subtask-btn {
            padding: 4px;
            background: none;
            border: none;
            color: #808080;
            cursor: pointer;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .add-subtask-btn:hover {
            transform: scale(1.2);
            transition: 0.2s ease all;
            color: var(--tech-orange);
            background: rgba(253, 169, 41, 0.08);
        }

        .subtasks-toggle-btn,
        .add-task-below-btn,
        .duplicate-task-inline-btn,
        .delete-task-inline-btn {
            padding: 4px;
            background: none;
            border: none;
            color: #666666;
            cursor: pointer;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            opacity: 1;
            transition: opacity 0.18s ease, color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
        }

        .subtasks-toggle-btn {
            width: 24px;
            height: 24px;
            border-radius: 9999px;
            border: 1px solid rgba(58, 108, 147, 0.35);
            background: rgba(58, 108, 147, 0.12);
            color: #d1d5db;
        }

        .task-row:hover .subtasks-toggle-btn,
        .task-row:hover .add-task-below-btn,
        .task-row:hover .duplicate-task-inline-btn,
        .task-row:hover .delete-task-inline-btn {
            opacity: 1;
        }

        .subtasks-toggle-btn:hover {
            transform: scale(1.2);
            transition: 0.2s ease all;
            color: var(--tech-orange);
            background: rgba(253, 169, 41, 0.08);
        }

        .subtasks-toggle-btn.is-collapsed {
            color: var(--tech-orange);
            background: rgba(253, 169, 41, 0.08);
        }

        .subtasks-toggle-btn.is-disabled {
            opacity: 0.35;
            cursor: default;
            pointer-events: none;
        }

        .add-task-below-btn:hover {
            transform: scale(1.2);
            transition: 0.2s ease all;
            color: var(--tech-orange);
            background: rgba(253, 169, 41, 0.08);
        }

        .duplicate-task-inline-btn:hover {
            transform: scale(1.2);
            transition: 0.2s ease all;
            color: #e5e7eb;
            background: rgba(255, 255, 255, 0.10);
        }

        .delete-task-inline-btn:hover {
            transform: scale(1.2);
            transition: 0.2s ease all;
            color: #f87171;
            background: rgba(239, 68, 68, 0.10);
        }

        .subtasks-toggle-btn svg,
        .add-task-below-btn svg,
        .duplicate-task-inline-btn svg,
        .delete-task-inline-btn svg {
            width: 12px;
            height: 12px;
        }

        .task-row.commit-hover-lock .subtasks-toggle-btn,
        .task-row.commit-hover-lock .add-task-below-btn,
        .task-row.commit-hover-lock .add-subtask-btn,
        .task-row.commit-hover-lock .duplicate-task-inline-btn,
        .task-row.commit-hover-lock .delete-task-inline-btn,
        .task-row.commit-hover-lock .description-bubble,
        .task-row.commit-hover-lock .task-actions {
            opacity: 1 !important;
            transition: none !important;
        }


        .status-cell {
            padding: 0;
        }

        .status-select-wrapper {
            width: 100%;
            height: 100%;
            position: relative;
        }

        .status-display {
            width: 100%;
            height: 100%;
            padding: 2px 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: 500;
            cursor: pointer;
            color: white;
        }

        .custom-dropdown {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: linear-gradient(to bottom, var(--tech-blue), var(--tech-blue-dark));
            border: 1px solid rgba(58, 108, 147, 0.3);
            border-radius: 8px;
            z-index: 6000;
            /* higher so it sits above pipeline cards */
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
            display: none;
            overflow: hidden;
        }

        /* When we "float" pipeline dropdowns to <body> */
        .floating-dropdown {
            position: fixed !important;
            left: 0;
            top: 0;
            right: auto !important;
            z-index: 9999 !important;
        }


        .custom-dropdown.active {
            display: block;
        }

        .dropdown-option {
            padding: 10px 16px;
            display: flex;
            align-items: center;
            gap: 12px;
            cursor: pointer;
            transition: background 0.2s;
            color: white;
        }

        .dropdown-option:hover {
            background: rgba(58, 108, 147, 0.3);
        }

        .dropdown-option.selected {
            background: rgba(253, 169, 41, 0.1);
        }

        .dropdown-option .dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .dropdown-option .check {
            width: 16px;
            height: 16px;
            color: var(--tech-orange);
            margin-right: 4px;
        }

        .priority-cell {
            display: flex;
            align-items: center;
            gap: 12px;
            padding-left: 24px;
            position: relative;
        }

        .priority-display {
            display: flex;
            align-items: center;
            gap: 12px;
            cursor: pointer;
            padding: 8px 0;
        }

        .priority-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .priority-text {
            color: #d1d5db;
            font-size: 12px;
            font-weight: 700;
        }

        .assignee-cell {
            display: flex;
            align-items: center;
            gap: 12px;
            padding-left: 24px;
            position: relative;
        }

        .assignee-display {
            display: flex;
            align-items: center;
            gap: 12px;
            cursor: pointer;
            padding: 8px 0;
        }

        .assignee-avatar {
            width: 15px;
            height: 15px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            flex-shrink: 0;
        }

        .assignee-avatar.empty {
            border: 2px dashed #6b7280;
            color: #6b7280;
            font-size: 12px;
        }

        .assignee-name {
            color: #d1d5db;
            font-size: 12px;
            font-weight: 700;
        }

        /* ===== Multi-assignee UI ===== */
        .assignee-avatar-stack {
            display: flex;
            align-items: center;
        }

        .assignee-avatar-wrap {
            position: relative;
            margin-left: -6px;
            /* overlap */
            border: 2px solid #082945;
            /* outline to separate avatars */
            border-radius: 9999px;
            overflow: visible;
        }

        .task-row.subtask .assignee-avatar-wrap {
            border-color: #0F3249;
        }

        .assignee-remove-x {
            position: absolute;
            top: -5px;
            right: -5px;
            width: 14px;
            height: 14px;
            border-radius: 9999px;
            border: none;
            background: rgba(220, 38, 38, 0.95);
            color: white;
            font-size: 10px;
            font-weight: 800;
            display: none;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            line-height: 1;
        }

        .assignee-avatar-wrap:hover .assignee-remove-x {
            display: flex;
        }

        .assignee-count-pill {
            margin-left: 8px;
            font-size: 12px;
            font-weight: 800;
            color: #d1d5db;
            opacity: 0.9;
        }


        .date-cell {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            /* left align */
            gap: 8px;
            color: #9ca3af;
            font-size: 13px;
            padding-left: 12px;
            /* consistent left padding */
        }


        .date-input {
            background: transparent;
            border: none;
            color: #d1d5db;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            outline: none;
            font-family: inherit;
        }

        .date-input::-webkit-calendar-picker-indicator {
            filter: invert(1);
            cursor: pointer;
        }

        .text-cell {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            position: relative;
        }

        .note-icons {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .note-icon {
            width: 32px;
            height: 24px;
            background: rgba(253, 169, 41, 0.2);
            border: 1px solid rgba(253, 169, 41, 0.3);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            position: relative;
        }

        .note-icon:hover {
            background: rgba(253, 169, 41, 0.3);
            transform: scale(1.05);
        }

        .note-icon svg {
            color: var(--tech-orange);
            width: 16px;
            height: 16px;
        }

        .note-tooltip {
            display: none !important;
        }

        .note-hover-popover {
            position: fixed;
            left: 0;
            top: 0;
            width: 240px;
            max-width: min(240px, calc(100vw - 24px));
            background: var(--tech-blue);
            border: 1px solid rgba(58, 108, 147, 0.3);
            border-radius: 10px;
            padding: 12px;
            z-index: 20000;
            box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(4px);
            transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
        }

        .note-hover-popover.show {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(0);
        }

        .note-hover-popover[data-placement="top"] {
            transform-origin: bottom center;
        }

        .note-hover-popover[data-placement="bottom"] {
            transform-origin: top center;
        }

        .note-tooltip-title {
            font-weight: 700;
            color: white;
            font-size: 13px;
            margin-bottom: 6px;
        }

        .note-tooltip-content {
            color: #9ca3af;
            font-size: 12px;
            line-height: 1.45;
            white-space: pre-wrap;
            word-break: break-word;
        }

        .note-tooltip-footer {
            margin-top: 8px;
            font-size: 11px;
            color: var(--tech-orange);
        }

        .note-tooltip-actions {
            display: flex;
            gap: 8px;
            margin-top: 10px;
        }

        .note-tooltip-btn {
            flex: 1;
            border: 1px solid rgba(58, 108, 147, 0.35);
            background: rgba(58, 108, 147, 0.12);
            color: #e5e7eb;
            border-radius: 8px;
            padding: 7px 10px;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
        }

        .note-tooltip-btn:hover {
            border-color: rgba(253, 169, 41, 0.35);
            background: rgba(253, 169, 41, 0.10);
        }

        .note-tooltip-btn.danger {
            border-color: rgba(239, 68, 68, 0.35);
            background: rgba(239, 68, 68, 0.16);
            color: #fecaca;
        }

        .note-tooltip-btn.danger:hover {
            background: rgba(239, 68, 68, 0.24);
        }

        .add-note-btn {
            width: 20px;
            height: 20px;
            border: 1px dashed #6b7280;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            background: none;
        }

        .add-note-btn:hover {
            border-color: var(--tech-orange);
            background: rgba(253, 169, 41, 0.2);
        }

        .add-note-btn svg {
            width: 10px;
            height: 10px;
            color: #6b7280;
        }

        .add-note-btn:hover svg {
            color: var(--tech-orange);
        }

        .note-count {
            font-size: 12px;
            color: #9ca3af;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .empty-add-btn {
            width: 24px;
            height: 24px;
            border: 2px dashed #6b7280;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            background: none;
        }

        .empty-add-btn:hover {
            border-color: var(--tech-orange);
            background: rgba(253, 169, 41, 0.2);
        }

        .empty-add-btn svg {
            width: 12px;
            height: 12px;
            color: #6b7280;
        }

        .empty-add-btn:hover svg {
            color: var(--tech-orange);
        }

        .file-cell {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        .file-icons {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .file-icon {
            width: 32px;
            height: 24px;
            background: rgba(253, 169, 41, 0.2);
            border: 1px solid rgba(253, 169, 41, 0.3);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background 0.2s;
            position: relative;
        }

        .file-icon:hover {
            background: rgba(253, 169, 41, 0.3);
        }

        .file-icon svg {
            color: var(--tech-orange);
            width: 16px;
            height: 16px;
        }

        .file-icon.image-file svg {
            color: #10b981;
        }

        .file-icon.video-file svg {
            color: #8b5cf6;
        }

        .file-icon.audio-file svg {
            color: #f59e0b;
        }

        .file-icon.pdf-file svg {
            color: #ef4444;
        }

        .file-count {
            font-size: 12px;
            color: #9ca3af;
        }

        .color-cell {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .color-swatch {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            cursor: pointer;
            border: 2px solid transparent;
            transition: all 0.2s;
        }

        .color-swatch:hover {
            transform: scale(1.1);
            border-color: white;
        }

        .recording-cell {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        .recording-btn {
            width: 36px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            background: rgba(239, 68, 68, 0.2);
            border: 1px solid rgba(239, 68, 68, 0.3);
        }

        .recording-btn:hover {
            background: rgba(239, 68, 68, 0.3);
        }

        .recording-btn.recording {
            background: #ef4444;
            animation: pulse 1s infinite;
        }

        @keyframes pulse {

            0%,
            100% {
                opacity: 1;
            }

            50% {
                opacity: 0.5;
            }
        }

        .recording-btn svg {
            color: #ef4444;
            width: 16px;
            height: 16px;
        }

        .recording-btn.recording svg {
            color: white;
        }

        .recording-indicator {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 6px 12px;
            background: rgba(253, 169, 41, 0.2);
            border-radius: 6px;
            cursor: pointer;
        }

        .recording-indicator svg {
            color: var(--tech-orange);
            width: 16px;
            height: 16px;
        }

        .recording-indicator span {
            color: #d1d5db;
            font-size: 12px;
        }

        .add-task-row {
            display: flex;
            align-items: center;
            /* prevents vertical stretching */
            border-bottom: 1px solid rgba(58, 108, 147, 0.2);
            transition: background 0.2s;
            min-height: 20px;
            /* keeps it compact */
        }

        .add-task-row:hover {
            background: rgba(58, 108, 147, 0.08);
        }

        .add-task-trigger {
            display: flex;
            align-items: center;
            gap: 3px;
            /* smaller gap */
            padding: 4px 8px;
            /* reduced padding */
            color: #fda829ab;
            cursor: pointer;
            transition: color 0.2s;
            background: none;
            border: none;
            font-size: 12px;
            /* smaller font */
            font-family: inherit;
            line-height: 1.2;
        }

        .add-task-trigger:hover {
            color: var(--tech-orange);
        }

        .add-task-form {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 8px 32px;
            flex: 1;
        }

        .add-task-inputs {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .add-task-input {
            background: rgba(58, 108, 147, 0.3);
            border: 1px solid rgba(58, 108, 147, 0.5);
            border-radius: 6px;
            padding: 8px 12px;
            color: white;
            font-size: 14px;
            outline: none;
            font-family: inherit;
        }

        .add-task-input:focus {
            border-color: var(--tech-orange);
        }

        .add-task-input::placeholder {
            color: #fda829b4;
        }

        .add-task-actions {
            display: flex;
            flex-direction: column;
            gap: 6px;
            align-items: stretch;
        }

        .add-task-actions .btn {
            width: 100%;
            justify-content: center;
        }



        /* ===== TAGS (multi-select) ===== */
        .tags-cell {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            flex-wrap: nowrap;
            /* ✅ no wrapping */
            gap: 6px;
            padding: 6px 8px;
            width: 100%;
            min-width: 0;
            overflow: hidden;
            /* ✅ prevents row from growing */
        }

        /* inner row that holds pills */
        .tags-inline {
            display: flex;
            align-items: center;
            gap: 6px;
            width: 100%;
            min-width: 0;
            overflow: hidden;
            /* ✅ clip extra pills */
        }

        /* keep pills from pushing cell wider */
        .tag-pill {
            max-width: 140px;
            /* optional: prevents huge pills */
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* +N overflow pill */
        .tag-more {
            flex-shrink: 0;
            position: relative;
            cursor: default;
            opacity: 0.95;
        }

        /* hover popup for remaining tags */
        .tag-more .tags-tooltip {
            position: absolute;
            left: 0;
            top: calc(100% + 8px);
            background: rgba(6, 30, 52, 0.96);
            border: 1px solid rgba(58, 108, 147, 0.35);
            border-radius: 12px;
            padding: 10px 12px;
            min-width: 220px;
            max-width: 320px;
            color: #e5e7eb;
            box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
            z-index: 999999;
            /* ✅ above grid */
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
            transform: translateY(2px);
        }

        .tag-more:hover .tags-tooltip {
            opacity: 1;
            visibility: visible;
            transform: translateY(0px);
        }

        .tags-tooltip-title {
            font-weight: 900;
            font-size: 12px;
            margin-bottom: 8px;
        }

        .tags-tooltip-body {
            display: flex;
            flex-wrap: wrap;
            /* ✅ allow wrap INSIDE tooltip */
            gap: 6px;
        }



        .tag-pill {
            display: inline-flex;
            align-items: center;
            gap: 3px;
            padding: 2px 8px;
            border-radius: 9999px;
            font-size: 10px;
            font-weight: 600;
            line-height: 1.25;
            white-space: nowrap;

            /* pill gets colored inline */
            color: #e5e7eb;
            border: 1px solid rgba(58, 108, 147, 0.35);
            background: rgba(58, 108, 147, 0.10);
        }



        .tag-dot {
            width: 8px;
            height: 8px;
            border-radius: 9999px;
            flex-shrink: 0;
        }

        .tag-pill .tag-x {
            width: 16px;
            height: 16px;
            border-radius: 9999px;
            border: 1px solid rgba(255, 255, 255, 0.18);
            background: rgba(0, 0, 0, 0.15);
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-weight: 900;
            font-size: 12px;
            line-height: 1;
        }

        .tag-pill .tag-x:hover {
            background: rgba(0, 0, 0, 0.28);
        }

        /* Tags column layout */
        .task-cell.tags-cell {
            align-items: flex-start;
            justify-content: flex-start;
        }

        .tags-wrap {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            width: 100%;
        }

        .tag-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 8px;
            border-radius: 9999px;
            font-size: 12px;
            font-weight: 700;
            line-height: 1;
            max-width: 100%;
            white-space: nowrap;
        }



/* ===== Spacer / header-row overrides ===== */
        /* STYLE FOR THE ADD ROW ADD HEADER */
        /* =========================
   ========================= */
        .task-row.header-row {
            background: transparent;
            min-height: 20px;

        }

        .task-row.header-row .task-cell {
            background: transparent !important;
        }

        .task-row.header-row .task-title-input {
            font-weight: 800;
            font-size: 14px;
            color: #ffd18a;
        }

        .task-row.spacer-row {
            height: 20px;
        }

        .task-row.spacer-row .task-cell {
            background: transparent !important;
            border-bottom: none !important;
        }

        /* Spacer row: hide content, but KEEP menu + drag handle so it can be moved/duplicated/deleted */
        .task-row.spacer-row input,
        .task-row.spacer-row .description-bubble,
        .task-row.spacer-row .add-subtask-btn {
            display: none !important;
        }

        .task-row.spacer-row .task-actions {
            display: flex !important;
            align-items: center;
            gap: 8px;
        }

        .task-row.spacer-row .drag-handle {
            display: inline-flex !important;
        }
