
  button.svelte-1qqzan9:hover {
    transform: translateY(-2px);
  }

  button.svelte-1qqzan9:active {
    transform: translateY(0);
  }

  /* Mobile responsiveness — stack above SMS FAB (bottom 5rem) */
  @media (max-width: 640px) {
    button.svelte-1qqzan9 {
      bottom: 9rem; /* Above SMS (5rem) and Email (1rem) on mobile */
      right: 1rem;
      padding: 0.75rem 1rem;
      font-size: 0.875rem;
    }

    button.svelte-1qqzan9 span:where(.svelte-1qqzan9) {
      display: none;
    }

    button.svelte-1qqzan9::after {
      content: attr(data-count);
      position: absolute;
      top: -8px;
      right: -8px;
      background: #ef4444;
      color: white;
      border-radius: 50%;
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: bold;
    }
  }

  button.svelte-1pqbw0f:hover {
    transform: none;
  }

	@keyframes svelte-18xsdqk-spin {
		from { transform: rotate(0deg); }
		to { transform: rotate(360deg); }
	}

	.animate-spin.svelte-18xsdqk {
		animation: svelte-18xsdqk-spin 1s linear infinite;
	}

	.select-all.svelte-18xsdqk {
		user-select: all;
	}

	@keyframes svelte-ges32y-spin {
		from { transform: rotate(0deg); }
		to { transform: rotate(360deg); }
	}

	.animate-spin.svelte-ges32y {
		animation: svelte-ges32y-spin 1s linear infinite;
	}

  @keyframes svelte-2p5a7v-spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  .animate-spin.svelte-2p5a7v {
    animation: svelte-2p5a7v-spin 1s linear infinite;
  }

  @keyframes svelte-h6yu8p-spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  .animate-spin.svelte-h6yu8p {
    animation: svelte-h6yu8p-spin 1s linear infinite;
  }

  @keyframes svelte-1pa3xe1-spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  .animate-spin.svelte-1pa3xe1 {
    animation: svelte-1pa3xe1-spin 1s linear infinite;
  }

  @keyframes svelte-1f6jlob-spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  .animate-spin.svelte-1f6jlob {
    animation: svelte-1f6jlob-spin 1s linear infinite;
  }

  /* Drag-and-drop visual feedback */
  .cursor-grab.svelte-1f6jlob {
    cursor: grab;
  }

  .cursor-grab.svelte-1f6jlob:active {
    cursor: grabbing;
  }

  /* Folder row styling */
  .folder-row.svelte-1f6jlob {
    user-select: none;
  }

  /* Unfiled section header */
  .unfiled-header.svelte-1f6jlob {
    user-select: none;
  }

  /* Ring inset for drop target highlight */
  .ring-inset.svelte-1f6jlob {
    --tw-ring-inset: inset;
  }

  /* Rotate chevron when folder expanded */
  .rotate-90.svelte-1f6jlob {
    transform: rotate(90deg);
  }

  /* Funnel chevron cells per the approved v3 mockup.
     clip-path CLIPS box-shadow, so elevation/glow lives on the UNclipped .stage-holder wrapper
     as filter: drop-shadow(), which traces the clipped chevron outline.
     Interaction: rest = flex 1 minimal; hover = slight grow (click affordance);
     click = full expand (one at a time) revealing .stage-more content. */
  .stage-holder.svelte-jbl33y {
    flex: 1;
    margin-right: -7px;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.35));
    transition: flex 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .stage-holder.svelte-jbl33y:hover:not(.stage-open) {
    flex: 1.25;
  }
  .stage-holder.stage-open.svelte-jbl33y {
    flex: 3.2;
  }
  /* Partial info shows at rest (rows truncate to what fits); expanding simply gives the
     content room, so the "rest" slides into view as the block grows. */
  .stage-more.svelte-jbl33y {
    min-width: 0;
  }
  .stage-holder.svelte-jbl33y:last-child {
    margin-right: 0;
  }
  .stage-breathe.svelte-jbl33y {
    animation: svelte-jbl33y-breatheGlow 2.2s ease-in-out infinite;
  }
  @keyframes svelte-jbl33y-breatheGlow {
    0%, 100% {
      filter: drop-shadow(0 0 3px rgba(20, 184, 166, 0.45)) drop-shadow(0 2px 3px rgba(0, 0, 0, 0.35));
    }
    50% {
      filter: drop-shadow(0 0 12px rgba(45, 212, 191, 0.9)) drop-shadow(0 2px 3px rgba(0, 0, 0, 0.35));
    }
  }
  .stage-cell.svelte-jbl33y {
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
  }
  .stage-first.svelte-jbl33y {
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
  }

  .note-content {
    white-space: pre-wrap;
    word-break: break-word;
  }
  .note-content p {
    margin-bottom: 0.75rem;
  }
  .note-content p:last-child {
    margin-bottom: 0;
  }

	@keyframes svelte-12qhfyh-slideInFadeOut {
		0% {
			transform: translateY(-0.5rem);
			opacity: 0;
		}
		10% {
			transform: translateY(0);
			opacity: 1;
		}
		90% {
			transform: translateY(0);
			opacity: 1;
		}
		100% {
			transform: translateY(-0.5rem);
			opacity: 0;
		}
	}
