.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.strikethrough-anim { position: relative; }
.strikethrough-anim::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  height: 2px;
  background-color: currentColor;
  width: 0%;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.item-checked .strikethrough-anim::after { width: 100%; }

.tactile-btn {
  transition: transform 0.12s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.12s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.tactile-btn:active { transform: scale(0.95); }

.swipe-container { touch-action: pan-y; position: relative; overflow: hidden; }

#confetti-canvas {
  pointer-events: none;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
}

input[type=range]::-webkit-slider-thumb {
  appearance: none;
  height: 22px;
  width: 22px;
  border-radius: 50%;
  background: #10b981;
  border: 3px solid #ffffff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  cursor: pointer;
  margin-top: -7px;
}
input[type=range]::-moz-range-thumb {
  height: 22px;
  width: 22px;
  border-radius: 50%;
  background: #10b981;
  border: 3px solid #ffffff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  cursor: pointer;
}

.assignee-btn.active {
  border-color: #fbbf24;
  background-color: #fef3c7;
  color: #78350f;
}
.dark .assignee-btn.active {
  background-color: rgba(120, 53, 15, 0.5);
  color: #fde68a;
}

.tag-btn.active {
  background-color: #d1fae5;
  color: #065f46;
  border-color: #6ee7b7;
}
.dark .tag-btn.active {
  background-color: rgba(6, 78, 59, 0.6);
  color: #6ee7b7;
  border-color: #047857;
}

.auth-role-btn.active {
  border-color: #10b981;
  background-color: #d1fae5;
  color: #065f46;
}
.dark .auth-role-btn.active {
  background-color: rgba(6, 78, 59, 0.5);
  color: #6ee7b7;
}
