@layer components.item {
  .item {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
  }

  .item-form {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    min-height: 56px;
  }

  .item-form.checked {
    opacity: 0.6;
  }

  .item-form.checked .item-content {
    text-decoration: line-through;
  }

  .item-checkbox {
    width: 24px;
    height: 24px;
    cursor: pointer;
    flex-shrink: 0;
  }

  .item-content {
    flex: 1;
    font-size: var(--font-size-base);
    word-break: break-word;
  }

  .item-input {
    flex: 1;
    padding: var(--spacing-sm);
    font-size: var(--font-size-base);
    border: 2px solid var(--color-primary);
    border-radius: var(--radius);
  }

  .edit-actions {
    display: flex;
    gap: var(--spacing-xs);
  }

  .btn-confirm {
    padding: var(--spacing-sm);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    min-width: 36px;
  }

  .btn-confirm:hover {
    background: var(--color-primary-hover);
  }

  .btn-cancel {
    padding: var(--spacing-sm);
    background: transparent;
    color: var(--color-text-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    min-width: 36px;
  }

  .btn-cancel:hover {
    background: var(--color-bg);
  }

  /* New item form */
  .new-item-form {
    display: flex;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-lg);
  }

  .new-item-input {
    flex: 1;
    padding: var(--spacing-md);
    font-size: var(--font-size-base);
    border: 2px solid var(--color-border);
    border-radius: var(--radius);
    min-height: 48px;
  }

  .new-item-input:focus {
    outline: none;
    border-color: var(--color-primary);
  }

  .new-item-form .btn-primary {
    width: auto;
    padding: var(--spacing-md) var(--spacing-xl);
  }

  /* Animation for items moving between tabs */
  .item {
    animation: fadeInItem 0.2s ease;
  }

  @keyframes fadeInItem {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Turbo stream removing animation */
  turbo-frame .item {
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
}
