.o_executor_dashboard {
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    background-color: #f4f5f7; // Общий фон
    font-family: 'Inter', system-ui, sans-serif;

    // --- Header ---
    .executor_header {
        height: 60px;
        flex-shrink: 0;
        background: #ffffff;
        border-bottom: 1px solid #e1e4e8;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 20px;

        .brand {
            font-size: 1.2rem;
            font-weight: 700;
            color: #172b4d;
            display: flex;
            align-items: center;
        }

        .header_actions {
            display: flex;
            gap: 10px;
        }
    }

    // --- Board Container ---
    .executor_board_container {
        flex: 1;
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 20px;
        gap: 16px;
        align-items: flex-start;

        // Mobile: Scroll Snap Logic
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;

        // --- Column ---
        .kanban_column {
            min-width: 300px;
            max-width: 300px;
            background: #ebecf0; // Цвет колонки (светлее)
            border-radius: 12px;
            display: flex;
            flex-direction: column;
            max-height: 100%;
            scroll-snap-align: center; // Центровка на мобильных

            .column_header {
                padding: 14px 16px;
                font-weight: 600;
                color: #5e6c84;
                display: flex;
                justify-content: space-between;
                align-items: center;
                border-bottom: 2px solid transparent; // Для цветной полоски
            }

            // Цветные полоски для статусов
            &:nth-child(1) .column_header { border-bottom-color: #6c757d; } // Черновик
            &:nth-child(2) .column_header { border-bottom-color: #0dcaf0; } // В работе
            &:nth-child(3) .column_header { border-bottom-color: #ffc107; } // Ожидание
            &:nth-child(4) .column_header { border-bottom-color: #198754; } // Готово

            .column_content {
                padding: 12px 8px 8px 8px; // ВЕРХНИЙ ОТСТУП (1)
                overflow-y: auto;
                flex: 1;
                display: flex;
                flex-direction: column;
                gap: 12px; // Расстояние между карточками
            }
        }
    }

    // --- Card ---
    .directive_card {
        background: #ffffff; // Белый фон карточки
        border-radius: 8px;
        padding: 12px;
        box-shadow: 0 1px 2px rgba(9, 30, 66, 0.25); // Тень
        cursor: pointer;
        transition: all 0.2s;
        border: 1px solid transparent;

        &:hover {
            background-color: #fafbfc;
        }

        &.card_overdue {
            border-left: 4px solid #dc3545;
            background-color: #fff8f8;
        }

        .card_top {
            display: flex;
            justify-content: space-between;
            align-items: center; // Выравнивание
            margin-bottom: 8px;
            font-size: 0.85rem;
            color: #97a0af;

            .card_stars {
                color: #f0ad4e; // Цвет звезд (оранжевый)
                font-size: 1rem;
                letter-spacing: 2px;
            }

        }

        .card_title {
            font-weight: 600;
            color: #172b4d;
            font-size: 0.95rem;
            margin-bottom: 12px;
            line-height: 1.4;
        }

        .card_meta {
            display: flex;
            gap: 12px;
            font-size: 0.8rem;
            color: #5e6c84;
            margin-bottom: 10px;

            .meta_item {
                display: flex;
                align-items: center;
                gap: 4px;

                &.deadline.text-danger {
                    color: #dc3545;
                    font-weight: 600;
                }
            }
        }

        .card_actions {
            display: flex;
            justify-content: space-between;
            gap: 8px;
            margin-top: 12px;
            padding-top: 10px;
            border-top: 1px solid #ebecf0;
            opacity: 0;
            transition: opacity 0.2s;

            .btn-action {
                flex: 1;
                border: none;
                border-radius: 6px;
                padding: 6px 10px;
                font-size: 0.85rem;
                font-weight: 500;
                display: flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                transition: background 0.2s;

                &.btn-run { background: #e6f7ff; color: #007bff; }
                &.btn-run:hover { background: #007bff; color: white; }

                &.btn-pause { background: #fff3cd; color: #856404; }
                &.btn-pause:hover { background: #ffc107; color: white; }

                &.btn-done { background: #d4edda; color: #155724; }
                &.btn-done:hover { background: #28a745; color: white; }
            }
        }

        &:hover .card_actions {
            opacity: 1;
        }
    }

    @media (max-width: 768px) {
        .executor_header {
            padding: 0 10px;
            .brand span { display: none; }
        }

        .executor_board_container {
            padding: 10px;
            gap: 10px;

            .kanban_column {
                min-width: 85vw;
                margin-right: 0;
            }
        }

        .directive_card {
            padding: 16px;

            .card_title {
                font-size: 1.05rem;
            }

            .card_actions {
                opacity: 1 !important;
                justify-content: space-between;

                .btn-action {
                    flex: 1;
                    padding: 12px;
                    font-size: 1rem;
                }
            }
        }
    }
}