/* Свайп-плитки: действия лежат ПОД плиткой и видны ровно на ширину сдвига */
[data-swipe]{position:relative;border-radius:14px;overflow:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none;--sx:0px}
[data-swipe] [data-swipe-card]{position:relative;z-index:2;will-change:transform;transition:transform .28s cubic-bezier(.2,.8,.2,1)}
[data-swipe].is-dragging [data-swipe-card]{transition:none}
.swipe-action{position:absolute;top:0;bottom:0;z-index:1;width:var(--sx);max-width:120px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;padding:0;color:#fff;font-weight:700;font-size:12px;overflow:hidden;visibility:hidden}
.swipe-action svg{width:21px;height:21px;flex:none}
.swipe-action span{white-space:nowrap}
.swipe-action.is-pin{left:0;background:var(--primary);border-radius:14px 0 0 14px}
.swipe-action.is-delete{right:0;background:#e5383b;border-radius:0 14px 14px 0}
[data-swipe].show-pin .is-pin,[data-swipe].show-delete .is-delete{visibility:visible}
[data-swipe].is-removing{transition:height .3s ease,opacity .3s ease,margin .3s ease;height:0!important;opacity:0;margin:0}
