.drag-item{transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow,opacity}.drag-item:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.drag-item.dragging{z-index:1000;transform:rotate(2deg) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.25);opacity:.95}.drag-handle{transition:all .2s ease;cursor:grab}.drag-handle:hover{transform:scale(1.1);color:#3b82f6}.drag-handle:active{cursor:grabbing;transform:scale(.95)}.sortable-container{position:relative}.sortable-container.is-over{background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-radius:1rem;border:2px dashed #93c5fd}.drag-overlay{pointer-events:none;transform-origin:center;animation:dragFloat .3s ease-out}@keyframes dragFloat{0%{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(1.05) rotate(1deg);opacity:.9}to{transform:scale(1.02) rotate(2deg);opacity:.8}}.gallery-item{background:linear-gradient(135deg,#f3e8ff,#fce7f3);border-color:#c084fc}.classes-item{background:linear-gradient(135deg,#dbeafe,#e0f2fe);border-color:#60a5fa}.teachers-item{background:linear-gradient(135deg,#d1fae5,#ecfdf5);border-color:#34d399}.notices-item{background:linear-gradient(135deg,#fed7aa,#fef3c7);border-color:#fb923c}.we-offer-item{background:linear-gradient(135deg,#fce7f3,#fdf2f8);border-color:#f472b6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.drag-indicator{animation:pulse 1.5s infinite}.layout-transition{transition:transform .3s cubic-bezier(.4,0,.2,1)}.action-button{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.action-button:hover:before{left:100%}.action-button:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 8px 25px -8px rgba(0,0,0,.2)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.floating{animation:float 2s ease-in-out infinite}@keyframes sparkle{0%{transform:scale(0) rotate(0deg);opacity:1}50%{transform:scale(1) rotate(180deg);opacity:.8}to{transform:scale(0) rotate(1turn);opacity:0}}.sparkle{animation:sparkle .6s ease-out}.focus-ring{transition:all .2s ease}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.4);border-color:#3b82f6}.glass-effect{background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animated-gradient{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradientShift 15s ease infinite}.micro-bounce{transition:transform .1s ease}.micro-bounce:active{transform:scale(.98)}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.loading-skeleton{animation:shimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#f6f7f8 8%,#edeef1 18%,#f6f7f8 33%);background-size:800px 104px}.status-badge{transition:all .3s ease;position:relative}.status-badge.active{animation:pulse 2s infinite}.status-badge.inactive{opacity:.6;filter:grayscale(50%)}.drag-ghost{transform:rotate(5deg) scale(1.1);opacity:.7;filter:drop-shadow(0 10px 20px rgba(0,0,0,.2));border:2px dashed #3b82f6;background:rgba(59,130,246,.1)}@media (prefers-reduced-motion:reduce){.action-button,.drag-handle,.drag-item,.floating,.focus-ring,.micro-bounce,.sparkle{animation:none;transition:none}}@media (hover:none) and (pointer:coarse){.action-button,.drag-handle{padding:.75rem;min-height:44px;min-width:44px}}