/* Drop 7b: categories, hover icons, drag ghost + drop line */
.cat-block { position: relative; }
.cat-head { user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.cat-toggle svg { transition: transform .12s; margin-right: 2px; }
.cat-head.closed .cat-toggle svg { transform: rotate(-90deg); }
.cat-list { min-height: 8px; }
.ch-li { position: relative; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.ch-acts { position: absolute; right: 6px; top: 7px; display: none; gap: 2px; align-items: center; }
.ch-acts button { width: 22px; height: 22px; padding: 0; display: flex; align-items: center; justify-content: center; background: none; border: 0; color: #b5bac1; cursor: pointer; border-radius: 4px; }
.ch-acts button:hover { color: #fff; background: #404249; }
.ch-acts svg { width: 16px; height: 16px; }
.ch-li:hover .ch-acts, .ch-li:focus-within .ch-acts, .ch-li.sel .ch-acts { display: flex; }
.ch-li:hover .badge, .ch-li.sel .badge { visibility: hidden; }
.sy-dragging { opacity: .35; }
.sy-ghost { position: fixed; z-index: 9999; pointer-events: none; opacity: .92; background: #404249; color: #fff; border-radius: 4px; box-shadow: 0 6px 18px rgba(0, 0, 0, .5); }
.sy-ghost .ch-acts { display: none; }
.sy-dropline { position: fixed; z-index: 9998; height: 2px; background: var(--c-accent); border-radius: 2px; pointer-events: none; }
body.sy-drag-on { user-select: none; -webkit-user-select: none; cursor: grabbing; }
.cat-row { background: #232428; font-size: 12px; letter-spacing: .02em; }
.crow-item.sub { margin-left: 18px; }
.mini-sel { width: auto; max-width: 150px; padding: 4px 6px; font-size: 13px; }
