/* =========================================================
   07-drag-interactions.css
   Drag/drop tokens, manual drag floats and drop-target states.
   S2 owner cleanup: rules were regrouped by selector responsibility.
   Do not add late override dumps; keep future edits in this owner.
========================================================= */

.member-card.manual-drag-source {
visibility: hidden;
}

#waiting-list .member-card.manual-drag-source {
display: none;
}

.manual-drag-float {
position: fixed;
    left: 0;
    top: 0;
    z-index: 100000;
    pointer-events: none;
    opacity: 0.96;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
    transform: translate3d(0, 0, 0) scale(1.03);
}

body.manual-card-dragging,
body.manual-card-dragging * {
cursor: grabbing;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.sheet-seat-row.drop-target,
.sheet-driver-row.drop-target {
box-shadow: inset 0 0 0 2px var(--accent-color);
    background: var(--accent-soft);
}

.sheet-chip.manual-sheet-drag-source {
visibility: hidden;
}

.manual-sheet-drag-float {
position: fixed;
    left: 0;
    top: 0;
    z-index: 100000;
    pointer-events: none;
    opacity: 0.96;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
    transform: translate3d(0, 0, 0) scale(1.03);
}

body.manual-sheet-dragging,
body.manual-sheet-dragging * {
cursor: grabbing;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.seat-slot.swap-target::after {
display: none;
}

.seat-slot.swap-target::after {
content: "交換";
    background: #f59e0b;
    color: #fff;
}

body.manual-card-dragging .member-card,
.manual-drag-float {
touch-action: none;
}

body.manual-sheet-dragging .sheet-chip.draggable,
.manual-sheet-drag-float {
touch-action: none;
}

body.manual-card-dragging,
body.manual-card-dragging .member-card,
.manual-drag-float {
touch-action: none;
    overscroll-behavior: contain;
}

body.manual-sheet-dragging,
body.manual-sheet-dragging .sheet-chip.draggable,
.manual-sheet-drag-float {
touch-action: none;
    overscroll-behavior: contain;
}

:where(.member-card.manual-drag-source, .driver-seat.manual-drag-source) {
opacity: .42;
}

.manual-drag-float {
pointer-events: none;
    will-change: transform;
}

.seat-slot.swap-target {
background: var(--swap-target-bg) ;
    border-color: color-mix(in srgb, #f59e0b 58%, var(--border-color)) ;
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.24), inset 0 0 0 1px rgba(255,255,255,0.28) ;
}

.seat-slot.swap-target::after {
content: none;
    display: none;
}

.manual-drag-float,
.manual-sheet-drag-float {
opacity: 0.94 ;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16) ;
    transform: translate3d(0, 0, 0) scale(1.025) ;
}

body.manual-card-dragging .person-pop-menu,
body.quick-sheet-dragging .person-pop-menu {
display: none;
}

body.manual-card-dragging,
body.quick-sheet-dragging {
user-select: none;
}

body.manual-card-dragging .person-pop-menu,
body.quick-sheet-dragging .person-pop-menu {
display: none;
}
