/* dnd.css — Drag ghost, drop zones, hover states, "used" item appearance */

/* Drag ghost customization (via ::after pseudo-element on dragging rows) */
.tree-row[draggable="true"] {
    cursor: grab;
}

.tree-row[draggable="true"]:active {
    cursor: grabbing;
}

/* Drop zone states are in bd.css (.bd-drop-zone.drag-over / .drag-reject) */

/* Rejection shake animation */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.bd-drop-zone.drag-reject {
    animation: shake 0.3s ease;
}

/* Split panel content fills height */
.panel-content {
    flex: 1;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
}

/* Ensure drop zone is visible in split view */
.split-panel .bd-detail {
    height: 100%;
}

.split-panel .bd-drop-zone {
    min-height: 60px;
}
