/* geist-cyrillic-400-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/geist-cyrillic-400-normal-DnEqMUkt.woff2) format('woff2'), url(/assets/geist-cyrillic-400-normal-DoYExElg.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* geist-latin-ext-400-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/geist-latin-ext-400-normal-BP0SqLoz.woff2) format('woff2'), url(/assets/geist-latin-ext-400-normal-CxhClfoC.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* geist-latin-400-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/geist-latin-400-normal-DSkA1yZt.woff2) format('woff2'), url(/assets/geist-latin-400-normal-BnFbi-1n.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* geist-cyrillic-500-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/geist-cyrillic-500-normal-C6JjjZZ1.woff2) format('woff2'), url(/assets/geist-cyrillic-500-normal-DEcJ8qix.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* geist-latin-ext-500-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/geist-latin-ext-500-normal-0UPWgPJt.woff2) format('woff2'), url(/assets/geist-latin-ext-500-normal-Cp7xHeNA.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* geist-latin-500-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/geist-latin-500-normal-DJ9fwJi3.woff2) format('woff2'), url(/assets/geist-latin-500-normal-CIqOcbcu.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* geist-cyrillic-600-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/geist-cyrillic-600-normal-X9X0urb-.woff2) format('woff2'), url(/assets/geist-cyrillic-600-normal-64f_Uksv.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* geist-latin-ext-600-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/geist-latin-ext-600-normal-CEqX-wEv.woff2) format('woff2'), url(/assets/geist-latin-ext-600-normal-ei6D1j5L.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* geist-latin-600-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/geist-latin-600-normal-C4XfSTOc.woff2) format('woff2'), url(/assets/geist-latin-600-normal-CvyQaDJg.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* geist-cyrillic-700-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/geist-cyrillic-700-normal-Bby3OhD7.woff2) format('woff2'), url(/assets/geist-cyrillic-700-normal-rSfeQ698.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* geist-latin-ext-700-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/geist-latin-ext-700-normal-V3Z5_AfI.woff2) format('woff2'), url(/assets/geist-latin-ext-700-normal-DPScEqPK.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* geist-latin-700-normal */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/geist-latin-700-normal-CKFtLPQ7.woff2) format('woff2'), url(/assets/geist-latin-700-normal-BKs1SfBc.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}._spinner_125jf_1 {
    transform-origin: center;
    animation: _spinner_StKS_125jf_1 .75s infinite linear;
}

@keyframes _spinner_StKS_125jf_1 {
    100% {
        transform: rotate(360deg);
    }
}/* Thinking loader — a short dash traces the Baseloop mark's outline on a loop, reading as
 * "working" without the anthropomorphism of the old face. The faint full-outline path sits
 * underneath so the shape stays legible while the dash travels. pathLength is normalised to
 * 100 in the markup, so dashoffset animates 0 → -100 for exactly one lap. */
._loader_1vupv_5 {
  overflow: visible;
}

._trace_1vupv_9 {
  animation: _brandThinkingTrace_1vupv_1 1.4s linear infinite;
}

@keyframes _brandThinkingTrace_1vupv_1 {
  to {
    stroke-dashoffset: -100;
  }
}

@media (prefers-reduced-motion: reduce) {
  ._trace_1vupv_9 {
    animation: none;
  }
}
/*
 * Notion-style enter animation for newly-mounted chat messages.
 *
 * Deliberately understated: a short fade with a ~4px translate, no scale/bounce, no
 * compositor layer promotion. This matches Notion's aesthetic where content appears without
 * drawing attention to itself. The earlier iMessage-style bounce + scale was too flashy for
 * this product and combined with rapid state changes during streaming it read as "jitter"
 * rather than polish.
 *
 * Runs once per mount because React keeps message DOM nodes alive between re-renders. The
 * parent gates this class on `wasRecentlyCreated(createdAt)` so historical messages never
 * animate, and newly-arrived messages drop the class after ~500ms.
 */
@keyframes _chat-message-enter_w9jke_1 {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

._messageEnter_w9jke_25 {
  animation: _chat-message-enter_w9jke_1 180ms ease-out both;
}

@media (prefers-reduced-motion: reduce) {
  ._messageEnter_w9jke_25 {
    animation: none;
  }
}

/*
 * Blinking caret at the end of a streaming assistant message, so the answer reads as
 * "being written" rather than repainting. Attached as ::after on the last rendered
 * markdown block (curated per block type — a generic `> :last-child::after` would drop
 * a stray bar below lists/tables instead of sitting inline after the last word). If the
 * last block is a type not listed here (e.g. a table), the cursor simply doesn't show.
 */
@keyframes _chat-cursor-blink_w9jke_1 {
  50% {
    opacity: 0;
  }
}

._streamingCursor_w9jke_48 > p:last-child::after,
._streamingCursor_w9jke_48 > h1:last-child::after,
._streamingCursor_w9jke_48 > h2:last-child::after,
._streamingCursor_w9jke_48 > h3:last-child::after,
._streamingCursor_w9jke_48 > h4:last-child::after,
._streamingCursor_w9jke_48 > ul:last-child > li:last-child::after,
._streamingCursor_w9jke_48 > ol:last-child > li:last-child::after,
._streamingCursor_w9jke_48 > blockquote:last-child p:last-child::after,
._streamingCursor_w9jke_48 > pre:last-child code::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 1.05em;
  margin-left: 3px;
  vertical-align: -0.15em;
  border-radius: 1.5px;
  /* Brand orange — the one accent moment in the transcript: the agent writes in Baseloop
     color. Ink text everywhere else keeps it from competing. */
  background-color: var(--mantine-color-brand-5);
  opacity: 0.85;
  animation: _chat-cursor-blink_w9jke_1 1s step-end infinite;
}

@media (prefers-reduced-motion: reduce) {
  ._streamingCursor_w9jke_48 > p:last-child::after,
  ._streamingCursor_w9jke_48 > h1:last-child::after,
  ._streamingCursor_w9jke_48 > h2:last-child::after,
  ._streamingCursor_w9jke_48 > h3:last-child::after,
  ._streamingCursor_w9jke_48 > h4:last-child::after,
  ._streamingCursor_w9jke_48 > ul:last-child > li:last-child::after,
  ._streamingCursor_w9jke_48 > ol:last-child > li:last-child::after,
  ._streamingCursor_w9jke_48 > blockquote:last-child p:last-child::after,
  ._streamingCursor_w9jke_48 > pre:last-child code::after {
    animation: none;
  }
}

/*
 * Per-message action affordances (copy + thumbs up/down). Hidden by default and revealed
 * when the wrapping message row is hovered. Once the user has copied or voted, all three
 * stay visible so the row reads as a settled state rather than a stub. Visibility is
 * derived purely from the DOM — `data-copied` on CopyButton and `aria-pressed` on the
 * thumbs — no className threading from the React tree.
 */
._copyAction_w9jke_92 {
  opacity: 0;
  transition:
    opacity 120ms ease-out,
    background-color 120ms ease-out;
}

._messageRow_w9jke_99:hover ._copyAction_w9jke_92,
._messageRow_w9jke_99:focus-within ._copyAction_w9jke_92,
._messageRow_w9jke_99:has(._copyAction_w9jke_92[data-copied='true']) ._copyAction_w9jke_92,
._messageRow_w9jke_99:has(._copyAction_w9jke_92[aria-pressed='true']) ._copyAction_w9jke_92 {
  opacity: 1;
}

@media (hover: none) {
  ._copyAction_w9jke_92 {
    opacity: 1;
  }
}

/* Words settle in while a reply streams (see streamWords.tsx). Subtle on purpose: it fires on
   every message, so it must read as text arriving, not as an effect. A barely-there blur and a
   slow ease-out; the earlier 3px blur in 300ms made each word pop. */
._streamWord_w9jke_115 {
  display: inline;
  animation: _streamWordIn_w9jke_1 420ms cubic-bezier(0.22, 0.61, 0.25, 1) both;
  will-change: filter, opacity;
}
@keyframes _streamWordIn_w9jke_1 {
  from {
    opacity: 0;
    filter: blur(1px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  ._streamWord_w9jke_115 {
    animation: none;
  }
}

/* Shared Modal Styles */

/* Layout */
._scrollArea_1o7pr_4 {
  flex-grow: 1;
  min-height: 0;
  max-height: 55vh;
}

/* Hide scrollbars in scroll areas */
._scrollArea_1o7pr_4 [class*='mantine-ScrollArea-scrollbar'],
._scrollArea_1o7pr_4 [class*='mantine-ScrollArea-thumb'] {
  display: none !important;
}

._content_1o7pr_16 {
  padding: 0;
  animation: _fadeIn_1o7pr_1 0.2s ease;
}

/* Sections */
._section_1o7pr_22 {
  margin: 0;
}

._section_1o7pr_22:first-child {
  padding-top: 0;
}

._section_1o7pr_22:not(:first-child) {
  margin-top: 8px;
}

._sectionHeader_1o7pr_34 {
  color: var(--mantine-color-gray-5);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.3px;
  padding: 12px 12px 8px;
  text-transform: uppercase;
}

._optionsList_1o7pr_43 {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

/* Option Cards */
._optionCard_1o7pr_50 {
  display: flex;
  align-items: center;
  padding: 12px;
  cursor: pointer;
  position: relative;
  transition: background-color 0.1s ease;
  gap: 14px;
  border-radius: 6px;
}

._optionCard_1o7pr_50:hover {
  background-color: var(--mantine-color-gray-0);
}

._optionCard_1o7pr_50:active {
  background-color: var(--mantine-color-gray-1);
}

._iconContainer_1o7pr_69 {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mantine-color-gray-6);
  flex-shrink: 0;
  position: relative;
  border-radius: 6px;
  background-color: var(--mantine-color-gray-0);
  transition:
    background-color 0.1s ease,
    border-color 0.1s ease,
    color 0.1s ease,
    box-shadow 0.1s ease,
    opacity 0.1s ease,
    transform 0.1s ease;
}

._optionCard_1o7pr_50:hover ._iconContainer_1o7pr_69 {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-7);
}

._contentContainer_1o7pr_94 {
  flex: 1;
  min-width: 0;
}

._title_1o7pr_99 {
  font-size: 14px;
  font-weight: 500;
  color: var(--mantine-color-gray-8);
  line-height: 1.3;
}

._description_1o7pr_106 {
  font-size: var(--font-size-compact);
  color: var(--mantine-color-gray-5);
  line-height: 1.4;
  margin-top: 2px;
}

/* ========================================
   Modal Base Styles
   ======================================== */

/* Modal Content - Clean shadow */
._modalContent_1o7pr_118 {
  border-radius: 8px;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Modal Header */
._modalHeader_1o7pr_126 {
  padding: 16px 20px 12px;
  border-bottom: none;
}

._modalHeaderWithBorder_1o7pr_131 {
  padding: 16px 20px;
  border-bottom: 1px solid var(--mantine-color-gray-2);
}

/* Modal Title */
._modalTitle_1o7pr_137 {
  font-size: 15px;
  font-weight: 600;
  color: var(--mantine-color-gray-9);
}

/* Modal Body */
._modalBody_1o7pr_144 {
  padding: 0 20px 20px;
}

._modalBodyWithPadding_1o7pr_148 {
  padding: 20px;
}

/* Icon Box - for modal headers with icons */
._iconBox_1o7pr_153 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background-color: var(--mantine-color-gray-0);
  color: var(--mantine-color-gray-6);
  flex-shrink: 0;
}

/* Footer Button Section */
._modalFooter_1o7pr_166 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid var(--mantine-color-gray-2);
}

._modalFooterNoBorder_1o7pr_175 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  margin-top: 16px;
}

/* ========================================
   Wizard Steps
   ======================================== */

._wizardSidebar_1o7pr_187 {
  width: 180px;
  flex-shrink: 0;
  padding-right: 20px;
  min-height: 300px;
}

._wizardDivider_1o7pr_194 {
  width: 1px;
  background-color: var(--mantine-color-gray-2);
  flex-shrink: 0;
  min-height: 300px;
}

._wizardStep_1o7pr_201 {
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid transparent;
  transition:
    background-color 0.1s ease,
    border-color 0.1s ease,
    color 0.1s ease,
    box-shadow 0.1s ease,
    opacity 0.1s ease,
    transform 0.1s ease;
}

._wizardStep_1o7pr_201._current_1o7pr_214 {
  border-color: var(--mantine-color-gray-2);
  background-color: var(--mantine-color-gray-0);
}

._wizardStep_1o7pr_201._completed_1o7pr_219 {
  opacity: 0.6;
}

._wizardContent_1o7pr_223 {
  flex: 1;
  min-width: 0;
  min-height: 300px;
  padding-left: 20px;
  animation: _fadeIn_1o7pr_1 0.2s ease;
}

/* ========================================
   Info Boxes
   ======================================== */

._infoBox_1o7pr_235 {
  padding: 12px;
  background-color: var(--mantine-color-gray-0);
  border-radius: 6px;
  border: 1px solid var(--mantine-color-gray-2);
}

/* ========================================
   Preview Panel
   ======================================== */

._previewPanel_1o7pr_246 {
  width: 450px;
  flex-shrink: 0;
  max-height: 600px;
  display: flex;
  flex-direction: column;
}

._previewHeader_1o7pr_254 {
  padding: 16px;
  border-bottom: 1px solid var(--mantine-color-gray-2);
  flex-shrink: 0;
}

._previewEmpty_1o7pr_260 {
  padding: 24px;
  text-align: center;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ========================================
   Animations
   ======================================== */

@keyframes _fadeIn_1o7pr_1 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes _fadeInScale_1o7pr_1 {
  from {
    opacity: 0;
    transform: scale(0.98);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes _slideInRight_1o7pr_1 {
  from {
    opacity: 0;
    transform: translateX(-8px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
._wrapper_4bp97_1 {
  width: 100%;
  height: 100%;
}

._tooltip_4bp97_6 {
  position: fixed;
  z-index: var(--z-dropdown);
  transform: translateY(calc(-100% - 8px));
  padding: 6px 10px;
  border-radius: 4px;
  background-color: var(--mantine-color-dark-7, #1a1b1e);
  color: var(--mantine-color-white, #fff);
  font-size: 12px;
  line-height: 1.5;
  pointer-events: none;
  box-shadow: var(--mantine-shadow-sm);
  max-height: 200px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
}

/* Block layout: disable the text line-clamp so structured JSX labels (icon rows,
   the extraction source card) render normally. Still non-interactive like .tooltip. */
._tooltip_4bp97_6._tooltipBlock_4bp97_27 {
  display: block;
  padding: var(--mantine-spacing-xs, 10px) var(--mantine-spacing-sm, 12px);
  border-radius: var(--mantine-radius-sm, 6px);
  /* Wrapped extraction paths need more room than the 200px text cap, but stay
     bounded so a pathological path can't grow past the viewport top. */
  max-height: 360px;
  -webkit-line-clamp: unset;
}
/* PlayButton - Minimal Notion-inspired design */
._playButton_1y69q_2 {
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
  position: relative;
  border-radius: var(--mantine-radius-sm);
}

/* Subtle variant - Neutral with border */
._subtle_1y69q_15 {
  background-color: transparent;
  color: var(--mantine-color-gray-7);
  border: 1px solid var(--mantine-color-gray-4);
}

._subtle_1y69q_15:hover:not(:disabled) {
  background-color: transparent;
  color: var(--mantine-color-gray-9);
  border-color: var(--mantine-color-gray-6);
}

._subtle_1y69q_15:active:not(:disabled) {
  color: var(--mantine-color-gray-9);
  transform: scale(0.98);
}

/* Transparent variant - No border, minimal style for row actions */
._transparent_1y69q_33 {
  background-color: transparent;
  color: var(--mantine-color-gray-6);
  border: none;
}

._transparent_1y69q_33:hover:not(:disabled) {
  color: var(--mantine-color-dark-6);
  background-color: transparent;
}

._transparent_1y69q_33:active:not(:disabled) {
  color: var(--mantine-color-dark-8);
  transform: scale(0.95);
}

/* Filled variant - Dark filled */
._filled_1y69q_50 {
  background-color: var(--mantine-color-dark-6);
  color: white;
  border: none;
}

._filled_1y69q_50:hover:not(:disabled) {
  background-color: var(--mantine-color-dark-7);
}

._filled_1y69q_50:active:not(:disabled) {
  background-color: var(--mantine-color-dark-8);
  transform: scale(0.98);
}

/* Running state - Subtle pulse */
._running_1y69q_66 {
  opacity: 0.6;
  cursor: wait;
  animation: _subtlePulse_1y69q_1 1.5s ease-in-out infinite;
}

._running_1y69q_66 ._icon_1y69q_72 {
  animation: _rotate_1y69q_1 2s linear infinite;
}

/* Disabled state */
._playButton_1y69q_2:disabled,
._disabled_1y69q_78 {
  opacity: 0.4;
  cursor: not-allowed;
  background-color: transparent;
  color: var(--mantine-color-gray-5);
}

/* Icon styling */
._icon_1y69q_72 {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Subtle animations */
@keyframes _subtlePulse_1y69q_1 {
  0%,
  100% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.3;
  }
}

@keyframes _rotate_1y69q_1 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Focus state for accessibility */
._playButton_1y69q_2:focus-visible {
  outline: 2px solid var(--mantine-color-gray-4);
  outline-offset: 2px;
}

/* Remove default Mantine hover effects that conflict */
._playButton_1y69q_2[data-disabled] {
  background-color: transparent !important;
}
/* Play button styling */
._playButtonBase_1d46d_2 {
  border-radius: var(--mantine-radius-sm);
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
}

._playButtonBase_1d46d_2:active {
  transform: translateY(1px);
}

._playButtonEnabled_1d46d_17 {
  background: transparent;
  border: none;
  color: var(--mantine-color-gray-5);
  box-shadow: none;
}

._playButtonEnabled_1d46d_17:hover {
  background: transparent;
  color: var(--mantine-color-gray-8);
}

._playButtonDisabled_1d46d_29 {
  background: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  color: var(--mantine-color-gray-4);
  box-shadow: none;
}

._playButtonDisabled_1d46d_29:hover {
  background: var(--mantine-color-gray-1);
}

/* Edit column input */
._editColumnInput_1d46d_41 {
  height: 18px;
  min-height: 18px;
  font-weight: 500;
  box-shadow: 0 1px 0 0 var(--mantine-color-gray-2);
  transition: box-shadow 0.2s ease;
  padding: 0;
  color: var(--mantine-color-gray-9);
  width: 100%;
  max-width: 100%;
  min-width: 40px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._editColumnInput_1d46d_41:focus {
  box-shadow: 0 1px 0 0 var(--mantine-color-dark-5);
}

/* Header group styling - clean and minimal.
   Intentionally NOT position: relative — the color tint (::before) and focus
   underline (::after) anchor to the absolutely-positioned .ag-header-cell so
   they fill the cell edge to edge, square and flush, instead of following this
   inset rounded box. isolation keeps the ::before (z-index: -1) behind the
   header content but still above the cell background. */
._headerGroup_1d46d_67 {
  opacity: 1;
  transition:
    background-color 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
  border-radius: 4px;
  border: 1px solid transparent;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 8px;
  isolation: isolate;
}

._headerGroupHovered_1d46d_82 {
  background-color: var(--mantine-color-gray-1);
}

/* Colored columns: full-bleed tint on the cell; suppress the gray hover pill */
._headerGroup_1d46d_67[data-column-color] {
  background-color: transparent;
}

._headerGroup_1d46d_67[data-column-color]::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--column-header-color-bg);
  /* Soften the resting tint: -1 at reduced opacity sits between -0 (too
     similar across hues) and full -1 (too loud); accents stay full strength */
  opacity: 0.6;
  transition: background-color 0.15s ease;
  pointer-events: none;
}

._headerGroup_1d46d_67[data-column-color]._headerGroupHovered_1d46d_82::before {
  background-color: var(--column-header-color-hover);
}

/* Clay-style focus underline: overlay pseudo-element so nothing shifts when
   the focused cell moves between columns */
._headerGroup_1d46d_67[data-column-focused]::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-color: var(--mantine-color-dark-5);
  pointer-events: none;
}

._headerGroup_1d46d_67[data-column-color][data-column-focused]::after {
  background-color: var(--column-header-color-accent);
}

/* No underline while the column dropdown is open — the selected fill is the
   active signal (also avoids re-anchoring: headerGroupSelected is positioned) */
._headerGroup_1d46d_67._headerGroupSelected_1d46d_127[data-column-focused]::after {
  content: none;
}

._headerGroupFrozen_1d46d_131 {
  cursor: default;
}

._headerGroupMovable_1d46d_135 {
  cursor: grab;
}

._headerGroupMovable_1d46d_135:active {
  cursor: grabbing;
}

/* Dragging state */
._headerGroupDragging_1d46d_144 {
  opacity: 0.7;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  transform: scale(0.98);
}

/* Drop target state */
._headerGroupOver_1d46d_151 {
  background-color: var(--mantine-color-orange-0) !important;
  border: 1px dashed var(--mantine-color-orange-4);
  box-shadow: inset 0 0 6px rgba(255, 79, 0, 0.06) !important;
}

/* Field icon container */
._fieldIconContainer_1d46d_158 {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 2px;
  color: var(--mantine-color-gray-6);
}

/* Field label group */
._fieldLabelGroup_1d46d_169 {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
  gap: 4px;
}

/* Field label text */
._fieldLabelText_1d46d_183 {
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  /* Overflowing labels fade out at the right edge instead of ellipsizing.
     Short labels are unaffected — the fade zone sits at the element's edge,
     which only overflowing text reaches. */
  text-overflow: clip;
  -webkit-mask-image: linear-gradient(to right, black calc(100% - 20px), transparent);
  mask-image: linear-gradient(to right, black calc(100% - 20px), transparent);
  flex: 1;
  min-width: 0;
  font-size: var(--font-size-compact);
  font-weight: 500;
  color: var(--mantine-color-gray-7);
}

/* Title group */
._titleGroup_1d46d_201 {
  color: var(--mantine-color-gray-7);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}

/* Selected column styling */
._headerGroupSelected_1d46d_127 {
  background-color: var(--mantine-color-gray-0) !important;
  box-shadow: inset 0 0 0 1px var(--mantine-color-dark-5) !important;
  position: relative;
  z-index: 10;
}

/* Colored column with its dropdown open: full-bleed solid fill with white
   content (Clay-style). position: static overrides headerGroupSelected's
   relative so the ::before keeps anchoring to the header cell, and the gray
   pill + ring from the generic selected state are suppressed. */
._headerGroup_1d46d_67[data-column-color]._headerGroupSelected_1d46d_127 {
  position: static;
  background-color: transparent !important;
  box-shadow: none !important;
}

._headerGroup_1d46d_67[data-column-color]._headerGroupSelected_1d46d_127::before {
  background-color: var(--column-header-color-solid);
}

._headerGroup_1d46d_67[data-column-color]._headerGroupSelected_1d46d_127 * {
  color: var(--mantine-color-white) !important;
  /* Gray control chrome (play-button border, skip/schedule badge chips,
     hover fills) flattens to white-on-color while the solid fill is shown */
  border-color: rgba(255, 255, 255, 0.8) !important;
  background-color: transparent !important;
}

/* Stop column styling */
._headerGroupStopAt_1d46d_240 {
  position: relative;
  border-left: 2px dashed var(--mantine-color-red-6);
  background-color: var(--mantine-color-red-0) !important;
  box-shadow: inset 0 0 10px 0 rgba(255, 80, 80, 0.1) !important;
}

/* Cancelling header state */
._headerGroupCancelling_1d46d_248 {
  background-color: var(--mantine-color-gray-0) !important;
  box-shadow: inset 0 0 0 1px var(--mantine-color-gray-3) !important;
}

/* Editing header state */
._headerGroupEditing_1d46d_254 {
  background-color: var(--mantine-color-gray-0) !important;
  box-shadow: inset 0 0 0 1px var(--mantine-color-gray-4) !important;
}

/* Entity type mismatch badge */
._entityTypeMismatchCompanyIconBadge_1d46d_260 {
  position: absolute;
  bottom: 0;
  right: -3px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-color: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-3);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--mantine-shadow-xs);
  border-radius: var(--mantine-radius-xs);
}
._header_xw6xh_1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

._confidenceBadge_xw6xh_8 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 10px;
  padding: 3px 8px;
  background: var(--mantine-color-gray-1);
  border-radius: 4px;
  font-size: 10px;
  color: var(--mantine-color-gray-6);
}

._confidenceDot_xw6xh_20 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mantine-color-teal-5);
}

._sourceItem_xw6xh_27 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  transition: background-color 100ms ease;
}

._sourceItem_xw6xh_27:hover {
  background: var(--mantine-color-gray-0);
}

._sourceNumber_xw6xh_40 {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 600;
  color: var(--mantine-color-gray-6);
  background: var(--mantine-color-gray-1);
  border-radius: 4px;
  margin-top: 1px;
}

._sourceContent_xw6xh_55 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

._sourceTitle_xw6xh_61 {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
/* MultiSelectCellEditor - Notion-like clean aesthetic */

._searchContainer_5h9c1_3 {
  padding: 8px;
}

._searchInput_5h9c1_7 {
  background: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 4px;
  font-size: var(--font-size-compact);
}

._searchInput_5h9c1_7:focus {
  outline: none;
  box-shadow: none;
  border-color: var(--mantine-color-gray-3);
}

._sectionHeader_5h9c1_20 {
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 500;
  color: var(--mantine-color-gray-5);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

._optionsList_5h9c1_29 {
  max-height: 240px;
  overflow-y: auto;
  padding: 4px 0;
}

._optionButton_5h9c1_35 {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 60ms ease;
  text-align: left;
}

._optionButton_5h9c1_35:hover {
  background: var(--mantine-color-gray-0);
}

._optionCheckbox_5h9c1_53 {
  flex-shrink: 0;
}

._optionLabel_5h9c1_57 {
  flex: 1;
  font-size: var(--font-size-compact);
  font-weight: 400;
  color: var(--mantine-color-gray-8);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._emptyState_5h9c1_67 {
  padding: 24px 16px;
  text-align: center;
}

._emptyText_5h9c1_72 {
  font-size: var(--font-size-compact);
  color: var(--mantine-color-gray-5);
}

._divider_5h9c1_77 {
  border-color: var(--mantine-color-gray-2);
  margin: 0;
}
/* MultiSelectCellRenderer - Notion-like styling */

._container_be63u_3 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  width: 100%;
}

._wrapper_be63u_11 {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  height: 100%;
  width: 100%;
}

._badgeGroup_be63u_21 {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  flex: 1;
  overflow: hidden;
}

/* Badge styling - Notion-like clean aesthetic */
._badge_be63u_21 {
  border: 1px solid var(--mantine-color-gray-2);
  background: var(--mantine-color-gray-0);
  color: var(--mantine-color-gray-7);
  box-shadow: none;
  max-width: 200px;
  border-radius: var(--mantine-radius-xs);
}

._badgeInner_be63u_40 {
  text-transform: none;
  font-weight: 500;
  font-size: 11px;
  color: var(--mantine-color-gray-7);
}

._badgeLabel_be63u_47 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Overflow counter badge */
._overflowBadge_be63u_54 {
  border: 1px solid var(--mantine-color-gray-2);
  background: var(--mantine-color-gray-0);
  color: var(--mantine-color-gray-6);
  box-shadow: none;
  border-radius: var(--mantine-radius-xs);
}

._overflowBadgeInner_be63u_62 {
  text-transform: none;
  font-weight: 500;
  font-size: 11px;
}

/* Error and status states */
._errorText_be63u_69 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._emptyCell_be63u_75 {
  /* Non-breaking space placeholder */
}
._gridContainer_nnh9x_1 {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;

  /* AG Grid theme overrides - Notion-like aesthetic using Mantine variables */

  /* Colors - clean monochrome palette */
  --ag-accent-color: var(--mantine-color-dark-5);
  --ag-background-color: var(--mantine-color-white);
  --ag-foreground-color: var(--mantine-color-dark-7);
  /* One step lighter than the structural gray-2 hairlines — the dense in-grid mesh
     (rows, cells, header underline) should whisper, not draw. */
  --ag-border-color: var(--mantine-color-gray-1);
  --ag-header-background-color: var(--mantine-color-gray-0);
  --ag-header-text-color: var(--mantine-color-gray-7);
  --ag-cell-text-color: var(--mantine-color-dark-9);
  --ag-row-hover-color: var(--mantine-color-gray-0);
  --ag-selected-row-background-color: var(--mantine-color-gray-0);
  --ag-odd-row-background-color: transparent;

  /* Focus & Selection - dark, no glow */
  --ag-range-selection-border-color: var(--mantine-color-dark-5);
  --ag-range-selection-background-color: rgba(37, 38, 43, 0.03);
  --ag-focus-shadow: none;
  --ag-input-focus-shadow: none;
  --ag-cell-editing-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

  /* Borders - subtle and minimal */
  --ag-border-radius: var(--mantine-radius-md);
  --ag-wrapper-border-radius: 0;
  --ag-row-border: solid 1px var(--mantine-color-gray-1);
  /* Semi-transparent ink instead of gray-1: renders as the same near-white
     hairline on neutral headers, but darkens colored header tints instead of
     slicing them with a white line */
  --ag-header-column-border: solid 1px rgba(33, 37, 41, 0.05);

  /* Input styling - flat, no radius */
  --ag-input-border-radius: 0;
  --ag-input-border: solid 1px var(--mantine-color-gray-3);
  --ag-input-focus-border: solid 1px var(--mantine-color-dark-5);

  /* Checkbox - dark when checked */
  --ag-checkbox-checked-background-color: var(--mantine-color-dark-5);
  --ag-checkbox-checked-border-color: var(--mantine-color-dark-5);
  --ag-checkbox-unchecked-border-color: var(--mantine-color-gray-4);
  --ag-checkbox-border-radius: var(--mantine-radius-sm);

  /* Typography */
  --ag-font-size: var(--font-size-compact);
  --ag-header-font-size: var(--font-size-compact);
  --ag-header-font-weight: 500;

  /* Spacing - compact */
  --ag-spacing: 6px;
  --ag-cell-horizontal-padding: 10px;

  /* Shadows - minimal */
  --ag-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  --ag-popup-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  --ag-dropdown-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Root wrapper styling — square: the grid runs full-bleed, no card corners to clip to. */
._gridContainer_nnh9x_1 .ag-root-wrapper {
  border: none;
  border-radius: 0;
}

/* Header styling - clean and minimal */
._gridContainer_nnh9x_1 .ag-header {
  border-bottom: 1px solid var(--mantine-color-gray-1);
  overflow: visible !important;
}

._gridContainer_nnh9x_1 .ag-header-row {
  overflow: visible !important;
}

._gridContainer_nnh9x_1 .ag-header-cell {
  padding: 0;
  /* Let AG Grid handle column borders via --ag-header-column-border */
  overflow: visible !important;
}

._gridContainer_nnh9x_1 .ag-header-cell-comp-wrapper {
  height: 100%;
  overflow: visible !important;
}

/* Header hover effect - subtle background only, no border */
._gridContainer_nnh9x_1 .ag-header-cell:hover {
  background-color: var(--mantine-color-gray-1);
  transition: background 0.15s ease;
}

/* Prevent any hover border/outline on header cells */
._gridContainer_nnh9x_1 .ag-header-cell:hover,
._gridContainer_nnh9x_1 .ag-header-cell:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Cell borders: editable spreadsheet grid — vertical hairlines are functional here
   (cell tracking while editing), unlike read-only list tables. Kept at gray-1 so they
   sit a step below the gray-2 structural hairlines. */
._gridContainer_nnh9x_1 .ag-cell {
  border-right: 1px solid var(--mantine-color-gray-1);
}

._gridContainer_nnh9x_1 .ag-cell:last-child {
  border-right: none;
}

/* Ensure text doesn't overflow */
._gridContainer_nnh9x_1 .ag-cell-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Cell focus - hide by default */
._gridContainer_nnh9x_1 .ag-cell-focus {
  outline: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Override any AG Grid focus box-shadow */
._gridContainer_nnh9x_1 .ag-cell-focus::after,
._gridContainer_nnh9x_1 .ag-cell-focus::before {
  display: none !important;
}

/* Single cell selection - show border on all sides, no background */
._gridContainer_nnh9x_1 .ag-cell.ag-cell-range-single-cell {
  outline: 1px solid var(--mantine-color-dark-5) !important;
  outline-offset: -1px;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
}

/* Row styling */
._gridContainer_nnh9x_1 .ag-row {
  border-bottom: 1px solid var(--mantine-color-gray-1);
}

._gridContainer_nnh9x_1 .ag-row:hover {
  background-color: var(--mantine-color-gray-0);
}

._gridContainer_nnh9x_1 .ag-row-selected {
  background-color: var(--mantine-color-gray-0) !important;
}

._gridContainer_nnh9x_1 .ag-row-selected:hover {
  background-color: var(--mantine-color-gray-1) !important;
}

/* Checkbox styling - match custom checkbox in SelectionCellRenderer */
._gridContainer_nnh9x_1 .ag-checkbox-input-wrapper {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  border-radius: 4px;
  border: 1px solid var(--mantine-color-gray-4);
}

._gridContainer_nnh9x_1 .ag-checkbox-input-wrapper input {
  cursor: pointer;
  width: 18px;
  height: 18px;
}

._gridContainer_nnh9x_1 .ag-checkbox-input-wrapper.ag-checked {
  background-color: var(--mantine-color-dark-5);
  border-color: var(--mantine-color-dark-5);
}

/* Pinned columns — flat hairline separator, matching the pinned header (no shadow;
   shadows are reserved for things that float). */
._gridContainer_nnh9x_1 .ag-pinned-left-cols-container {
  border-right: 1px solid var(--mantine-color-gray-1);
}

._gridContainer_nnh9x_1 .ag-pinned-left-header {
  border-right: 1px solid var(--mantine-color-gray-1);
}

/* Cell editing - subtle shadow only, no thick border */
._gridContainer_nnh9x_1 .ag-cell-inline-editing {
  padding: 0 !important;
  border: none !important;
  outline: none !important;
  box-shadow:
    0 0 0 2px rgba(0, 0, 0, 0.15),
    0 2px 8px rgba(0, 0, 0, 0.08) !important;
  z-index: 1;
  background-color: var(--mantine-color-white) !important;
}

/* Popup cell editors - no border/shadow on cell since popup handles visual feedback */
._gridContainer_nnh9x_1 .ag-cell-inline-editing.ag-cell-popup-editing,
._gridContainer_nnh9x_1 .ag-cell-inline-editing.ag-cell-popup-editing.ag-cell-focus,
._gridContainer_nnh9x_1 .ag-cell-inline-editing.ag-cell-popup-editing.ag-cell-range-single-cell,
._gridContainer_nnh9x_1 .ag-cell-inline-editing.ag-cell-popup-editing.ag-cell-focus.ag-cell-range-single-cell {
  box-shadow: none !important;
  background-color: transparent !important;
  outline: none !important;
  border: none !important;
}

/* Hide focus outline when cell is being edited (non-popup) */
._gridContainer_nnh9x_1 .ag-cell-inline-editing.ag-cell-focus:not(.ag-cell-popup-editing) {
  outline: none !important;
  box-shadow:
    0 0 0 2px rgba(0, 0, 0, 0.15),
    0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Target the actual input wrapper inside editing cell - remove inner borders */
._gridContainer_nnh9x_1 .ag-cell-inline-editing .ag-cell-edit-wrapper,
._gridContainer_nnh9x_1 .ag-cell-inline-editing .ag-cell-editor,
._gridContainer_nnh9x_1 .ag-cell-inline-editing .ag-text-field-input-wrapper,
._gridContainer_nnh9x_1 .ag-cell-inline-editing .ag-input-field-input {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Override the popup editor wrapper */
._gridContainer_nnh9x_1 .ag-popup-editor {
  border: 2px solid var(--mantine-color-dark-5) !important;
  box-shadow: var(--mantine-shadow-md) !important;
  border-radius: var(--mantine-radius-xs);
}

/* Target any input with focus inside the grid - remove inner styling */
._gridContainer_nnh9x_1 input:focus,
._gridContainer_nnh9x_1 textarea:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Column resize handle - subtle */
._gridContainer_nnh9x_1 .ag-header-cell-resize {
  width: 8px;
  cursor: col-resize;
  opacity: 0;
  transition: opacity 0.15s ease;
}

._gridContainer_nnh9x_1 .ag-header-cell:hover .ag-header-cell-resize {
  opacity: 1;
}

/* Remove default header menu icon */
._gridContainer_nnh9x_1 .ag-header-cell-menu-button {
  display: none;
}

/* Scrollbar styling - match existing grid */
._gridContainer_nnh9x_1 .ag-body-horizontal-scroll-viewport,
._gridContainer_nnh9x_1 .ag-body-vertical-scroll-viewport {
  scrollbar-width: thin;
  scrollbar-color: var(--mantine-color-gray-4) transparent;
}

._gridContainer_nnh9x_1 .ag-body-horizontal-scroll-viewport::-webkit-scrollbar,
._gridContainer_nnh9x_1 .ag-body-vertical-scroll-viewport::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

._gridContainer_nnh9x_1 .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-track,
._gridContainer_nnh9x_1 .ag-body-vertical-scroll-viewport::-webkit-scrollbar-track {
  background: transparent;
}

._gridContainer_nnh9x_1 .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb,
._gridContainer_nnh9x_1 .ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb {
  background: var(--mantine-color-gray-4);
  border-radius: var(--mantine-radius-xs);
}

._gridContainer_nnh9x_1 .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb:hover,
._gridContainer_nnh9x_1 .ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb:hover {
  background: var(--mantine-color-gray-5);
}

/* Status cells */
._gridContainer_nnh9x_1 .editing-cell {
  background-color: var(--mantine-color-gray-0) !important;
}

._gridContainer_nnh9x_1 .editing-header {
  background-color: var(--mantine-color-gray-0) !important;
}

._gridContainer_nnh9x_1 .cancelling-cell {
  background-color: var(--mantine-color-gray-0) !important;
}

/* Processing cell */
._gridContainer_nnh9x_1 .processing-cell {
  background-color: var(--mantine-color-gray-0) !important;
}

/* Error cell */
._gridContainer_nnh9x_1 .error-cell {
  background-color: var(--mantine-color-red-0) !important;
}

/* Prevent text selection in cells - use range selection instead */
._gridContainer_nnh9x_1 .ag-cell {
  user-select: none !important;
  -webkit-user-select: none !important;
}

/* Range selection - visible internal grid lines */
._gridContainer_nnh9x_1 .ag-cell-range-selected {
  background-color: rgba(0, 0, 0, 0.04) !important;
}

/* Range selection borders - outer boundary */
._gridContainer_nnh9x_1 .ag-cell-range-top {
  border-top: 1px solid var(--mantine-color-dark-5) !important;
}

._gridContainer_nnh9x_1 .ag-cell-range-right {
  border-right: 1px solid var(--mantine-color-dark-5) !important;
}

._gridContainer_nnh9x_1 .ag-cell-range-bottom {
  border-bottom: 1px solid var(--mantine-color-dark-5) !important;
}

._gridContainer_nnh9x_1 .ag-cell-range-left {
  border-left: 1px solid var(--mantine-color-dark-5) !important;
}

/* Selection column - header cell layout fix */
/* Only target the selection column in the pinned left container.
   Skipped in read-only grids, where the pinned first header is a real data column. */
._gridContainer_nnh9x_1:not(._readOnlyGrid_nnh9x_349) .ag-pinned-left-header .ag-header-cell:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

._gridContainer_nnh9x_1._readOnlyGrid_nnh9x_349 .ag-pinned-left-header .ag-header-cell:first-child {
  padding-left: 8px !important;
}

/* Style the header comp wrapper in selection column */
._gridContainer_nnh9x_1 .ag-pinned-left-header .ag-header-cell:first-child .ag-header-cell-comp-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Center header checkbox in selection column */
._gridContainer_nnh9x_1 .ag-header-select-all {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: auto !important;
  height: auto !important;
}

/* Row selection cell - full centering (in pinned left container only).
   Skipped in read-only grids: they have no selection column, so the pinned
   first cell is a real data column that must keep its padding. */
._gridContainer_nnh9x_1:not(._readOnlyGrid_nnh9x_349) .ag-pinned-left-cols-container .ag-cell:first-child {
  padding: 0 !important;
}

._gridContainer_nnh9x_1._readOnlyGrid_nnh9x_349 .ag-pinned-left-cols-container .ag-cell:first-child {
  padding-left: 16px !important;
}

._gridContainer_nnh9x_1 .ag-selection-checkbox {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Selection cell wrapper */
._gridContainer_nnh9x_1 .ag-cell-wrapper {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
}

._gridContainer_nnh9x_1 .ag-pinned-left-cols-container .ag-cell:first-child .ag-cell-wrapper {
  justify-content: center !important;
}

/* No rows overlay */
._gridContainer_nnh9x_1 .ag-overlay-no-rows-wrapper {
  padding: 20px;
}

/* Source cell styling */
._gridContainer_nnh9x_1 .source-cell {
  background-color: var(--mantine-color-gray-0);
}

/* Edited extraction field cell styling (matches ValidationStep design) */
._gridContainer_nnh9x_1 .rdg-cell-edited {
  background-color: var(--mantine-color-gray-0) !important;
  border-left: 3px solid var(--mantine-color-gray-5) !important;
}

/* Cell change flash animation */
._gridContainer_nnh9x_1 .ag-cell-data-changed {
  background-color: var(--mantine-color-gray-0) !important;
}

._gridContainer_nnh9x_1 .ag-cell-data-changed-animation {
  background-color: transparent;
  transition: background-color 0.5s ease-out;
}

/* Loading (skeleton) rows: a light band sweeps across — one compositor-cheap
   ::after per row element (~30 layers), not per cell, and not Mantine's
   per-skeleton animation. :has() removes it automatically the moment real cell
   renderers replace the skeletons. Rows run in phase on purpose: the band reads
   as one sheet of light crossing the loading block. */
@media (prefers-reduced-motion: no-preference) {
  ._gridContainer_nnh9x_1 .ag-row:has(.skeleton-cell) {
    /* Keep the off-screen band from painting outside the row */
    overflow: hidden;
  }

  ._gridContainer_nnh9x_1 .ag-row:has(.skeleton-cell)::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    /* Tighter, brighter streak: the lighter gray-2 bars need more lift to show
       the sweep, and a narrow band reads sleeker than a wide wash */
    background: linear-gradient(90deg, transparent 40%, rgba(255, 255, 255, 0.7) 50%, transparent 60%);
    transform: translateX(-100%);
    animation: _skeletonRowShimmer_nnh9x_1 1.6s linear infinite;
  }
}

@keyframes _skeletonRowShimmer_nnh9x_1 {
  to {
    transform: translateX(100%);
  }
}

/* Skeleton → content: freshly loaded rows fade in briefly instead of popping —
   with 200-row blocks a whole viewport otherwise snaps in one frame. The marker
   class is added by SkeletonCellRenderer as it unmounts and removed moments
   later, so virtualization re-renders during normal scrolling never animate.
   The row element animates, not each cell's content: a column-definition update
   (any parent re-render that rebuilds columnDefs) makes AG Grid re-create every
   cell, and a per-cell animation restarted from opacity 0 on each re-creation,
   which read as the row blinking once or twice after it had loaded. */
@media (prefers-reduced-motion: no-preference) {
  ._gridContainer_nnh9x_1 .ag-row.skeleton-to-content {
    animation: _cellContentFadeIn_nnh9x_1 160ms ease-out;
  }
}

@keyframes _cellContentFadeIn_nnh9x_1 {
  from {
    opacity: 0;
  }
}

/* Per-row Play button — faint persistent affordance, prominent on row hover */
._gridContainer_nnh9x_1 .row-play-btn {
  opacity: 0.3;
  transition: opacity 120ms ease;
}
._gridContainer_nnh9x_1 .ag-row-hover .row-play-btn,
._gridContainer_nnh9x_1 .row-play-btn:focus-visible,
._gridContainer_nnh9x_1 .row-play-btn:hover {
  opacity: 1;
}
/* Fill the triangle on row hover so the action reads as primary */
._gridContainer_nnh9x_1 .ag-row-hover .row-play-btn svg,
._gridContainer_nnh9x_1 .row-play-btn:hover svg {
  fill: currentColor;
}
/* Quiet starter rows for a blank chat surface — ghost at rest, one background step on hover.
   Deliberately rows and not cards: a blank state should offer a way in without setting up a
   second thing competing with the composer for attention. */

._root_sfwki_5 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
}

/* Horizontal chip variant (home page): same visual language as the old quick-action
   cards — gray-0 fill, radius-sm — so the row reads native to the page it replaced. */
._rootRow_sfwki_14 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}

._chip_sfwki_22 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  justify-content: center;
  white-space: nowrap;
  padding: 8px 14px;
  background-color: var(--mantine-color-gray-0);
  border-radius: var(--mantine-radius-sm);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

._chip_sfwki_22:hover {
  background-color: var(--mantine-color-gray-1);
}

._row_sfwki_40 {
  display: flex;
  align-items: center;
  gap: 8px;
  /* Negative margin + matching extra width bleeds the hover background past the text column,
     so the row reads as a full-width target without indenting the label. */
  padding: 6px 8px;
  margin: 0 -8px;
  width: calc(100% + 16px);
  border-radius: var(--mantine-radius-sm);
  cursor: pointer;
  transition: background-color 0.12s ease;
}

._row_sfwki_40:hover {
  background-color: var(--mantine-color-gray-1);
}

._label_sfwki_58 {
  font-size: var(--menu-row-font-size);
  color: var(--mantine-color-gray-7);
  font-weight: 500;
}
/* Shared chat-first hero (home page + /chat welcome). Moved out of HomePage.module.css so
   both surfaces render the identical composer treatment. */

._hero_1dspi_4 {
  position: relative;
  /* Contains the composer halo's negative z-index. Without a stacking context here the
     pseudo-element sinks behind the page's own gray-0 background and disappears entirely. */
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 16px;
  margin-bottom: 28px;
  gap: 14px;
}

/* Single calm line, left-aligned with the composer's edge. */
._greeting_1dspi_19 {
  width: 100%;
  max-width: var(--baseloop-home-max-width);
  font-size: clamp(24px, 2.5vw, 28px);
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
}

/* Composer card — flat white surface with a gray hairline at rest (the inner
   ChatComposer passes hideBorder so there is no doubled border). Focus swaps the
   hairline to a soft brand tint; no glow, no lift. */
._chatInputWrapper_1dspi_31 {
  /* Positioned but NO z-index: as the later sibling it already paints over the
     CompanyContextBar band's tail, and adding one would create a stacking context that
     drags the ::before dot halo (z -1) above the band — observed as texture rendering
     on top of the tray. */
  position: relative;
  width: 100%;
  max-width: var(--baseloop-home-max-width);
  /* Concentric with the inner composer's 8px radius (+1px border). */
  border-radius: 9px;
  border: 1px solid var(--mantine-color-gray-2);
  background: var(--mantine-color-white);
  /* Drawn here rather than by ChatComposer because this wrapper owns the border (hideBorder).
     Same token the composer uses on every other surface. */
  box-shadow: var(--chat-composer-shadow);
  transition: border-color 0.15s ease;
}

._chatInputWrapper_1dspi_31:focus-within {
  border-color: var(--mantine-color-brand-3);
}

/* Warm halftone field radiating from behind the composer.
   Anchored to the composer card rather than to the hero, so it stays centred on the input no
   matter how tall the greeting or the starter list gets. At z-index -1 it paints behind the
   card's own white fill, so the dots only ever show in the bleed AROUND the input — the card
   itself stays clean.
   Brand-tinted rather than the old ink: at 14% on a 0.8px dot the accent carries no meaning,
   and a warm field suits this palette better than a neutral one. `color-mix` keeps it on the
   token instead of a hardcoded #FF4F00; where it isn't supported the gradient simply drops
   and there is no texture, which is a fine floor. */
._chatInputWrapper_1dspi_31::before {
  content: '';
  position: absolute;
  inset: -80px -100px;
  z-index: -1;
  pointer-events: none;
  background-image: radial-gradient(
    circle,
    color-mix(in srgb, var(--mantine-color-brand-5) 14%, transparent) 0.8px,
    transparent 1px
  );
  background-size: 7px 7px;
  /* Dissolves well before the field's edges so it never ends on a hard line. */
  mask-image: radial-gradient(ellipse 68% 74% at 50% 50%, black 18%, transparent 76%);
  -webkit-mask-image: radial-gradient(ellipse 68% 74% at 50% 50%, black 18%, transparent 76%);
}

/* Starter rows sit under the composer, inset to ChatComposer's CARD_INSET so their icons land
   on the same vertical line as the paperclip and the placeholder text above them. */
._starters_1dspi_81 {
  margin-top: 18px;
  padding-inline: 10px;
}

@media (max-width: 768px) {
  ._hero_1dspi_4 {
    margin-top: 8px;
    margin-bottom: 20px;
  }
}
/* Layout shell for the standalone /chat landing. ChatHero renders inside it. */

._root_1nwr9_3 {
  position: relative;
  height: var(--app-main-height, 100dvh);
  overflow: hidden;
  /* The app's "gray shell + card" pattern (see Sidebar.module.css .rail/.workspacePanel):
     navigation and canvas surfaces are gray, content cards are white. This surface was the
     one that missed it — a white composer on a white page, which is why it kept needing a
     texture behind it to look like an object. One step of surface does that job with nothing
     drawn: the composer is now the only white thing on the screen, and its ambient shadow
     finally registers. */
  background: var(--mantine-color-gray-0);
}

._scroll_1nwr9_16 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  overflow-y: auto;
  padding: 48px 40px 56px;
  gap: 28px;
}

/* Center the hero in the viewport rather than pinning it to the top third. Auto margins,
   not `justify-content: center` — when the composer grows past the viewport, auto margins
   collapse to 0 instead of clipping the top of the block out of the scroller. */
._scroll_1nwr9_16 > * {
  margin-block: auto;
}
:root{--rqb-spacing: 0.5rem;--rqb-border-width: 1px;--rqb-branch-indent: var(--rqb-spacing);--rqb-branch-width: var(--rqb-border-width);--rqb-base-color: #004bb8;--rqb-background-color: color-mix(in srgb, transparent, #004bb8 20%);--rqb-border-color: #8081a2;--rqb-border-style: solid;--rqb-border-radius: 0.25rem;--rqb-dnd-drop-indicator-color: rebeccapurple;--rqb-dnd-drop-indicator-style: dashed;--rqb-dnd-drop-indicator-width: 2px;--rqb-dnd-drop-indicator-copy-color: #693;--rqb-dnd-drop-indicator-copy-style: dashed;--rqb-dnd-drop-indicator-copy-width: 2px;--rqb-dnd-drop-indicator-group-color: #369;--rqb-dnd-drop-indicator-group-style: dashed;--rqb-dnd-drop-indicator-group-width: 2px;--rqb-dnd-drop-not-allowed-cursor: not-allowed;--rqb-branch-color: var(--rqb-border-color);--rqb-branch-radius: var(--rqb-border-radius);--rqb-branch-style: var(--rqb-border-style)}.ruleGroup{display:flex;flex-direction:column;gap:var(--rqb-spacing);padding:var(--rqb-spacing);border-width:var(--rqb-border-width)}.ruleGroup .ruleGroup-body{display:flex;flex-direction:column;gap:var(--rqb-spacing)}.ruleGroup .ruleGroup-body:empty{display:none}.ruleGroup .ruleGroup-header,.ruleGroup .rule{display:flex;gap:var(--rqb-spacing);align-items:center}.ruleGroup .rule .rule-value:has(.rule-value-list-item){display:flex;gap:var(--rqb-spacing);align-items:baseline}.ruleGroup .rule.rule-hasSubQuery{flex-wrap:wrap;padding:var(--rqb-spacing);border-width:var(--rqb-border-width)}.ruleGroup .rule.rule-hasSubQuery .ruleGroup-body{flex-basis:100%}.ruleGroup .betweenRules{display:flex}.ruleGroup .shiftActions{display:flex;flex-direction:column}.ruleGroup .shiftActions>*{padding:0}.dndOver.rule,.dndOver.ruleGroup-header{padding-bottom:var(--rqb-spacing)}.dndOver.betweenRules{padding-top:var(--rqb-spacing)}.dndGroup.rule.dndOver,.dndGroup.ruleGroup:has(.ruleGroup-header.dndOver){padding:var(--rqb-spacing)}.queryBuilder-branches:dir(ltr) .ruleGroup-body{margin-left:calc(2*var(--rqb-branch-indent))}.queryBuilder-branches:dir(ltr) .rule,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup{position:relative}.queryBuilder-branches:dir(ltr) .rule::before,.queryBuilder-branches:dir(ltr) .rule::after,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::before,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::after{content:"";width:var(--rqb-branch-indent);left:calc(-1*(var(--rqb-branch-indent) + var(--rqb-branch-width)));border-radius:0;position:absolute}.queryBuilder-branches:dir(ltr) .rule::before,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::before{top:calc(-1*var(--rqb-spacing));height:calc(50% + var(--rqb-spacing));border-width:0 0 var(--rqb-branch-width) var(--rqb-branch-width)}.queryBuilder-branches:dir(ltr) .rule::after,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::after{top:50%;height:50%;border-width:0 0 0 var(--rqb-branch-width)}.queryBuilder-branches:dir(ltr) .rule:last-child::after,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup:last-child::after{display:none}.queryBuilder-branches:dir(ltr) .rule-hasSubQuery::before,.queryBuilder-branches:dir(ltr) .rule-hasSubQuery::after,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::before,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::after{left:calc(-1*(var(--rqb-branch-indent) + var(--rqb-branch-width) + var(--rqb-border-width)))}.queryBuilder-branches:dir(ltr) .rule-hasSubQuery::before,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::before{top:calc(-1*(var(--rqb-spacing) + var(--rqb-border-width)));height:calc(50% + var(--rqb-spacing) + var(--rqb-border-width))}.queryBuilder-branches:dir(ltr) .rule-hasSubQuery::after,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::after{height:calc(50% + var(--rqb-border-width))}.queryBuilder-branches:dir(ltr) .betweenRules{position:relative}.queryBuilder-branches:dir(ltr) .betweenRules::before{content:"";width:var(--rqb-branch-indent);left:calc(-1*(var(--rqb-branch-indent) + var(--rqb-branch-width)));border-radius:0;position:absolute;top:calc(-1*var(--rqb-spacing));height:calc(100% + var(--rqb-spacing));border-width:0 0 0 var(--rqb-branch-width)}.queryBuilder-branches:dir(rtl) .ruleGroup-body{margin-right:calc(2*var(--rqb-branch-indent))}.queryBuilder-branches:dir(rtl) .rule,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup{position:relative}.queryBuilder-branches:dir(rtl) .rule::before,.queryBuilder-branches:dir(rtl) .rule::after,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::before,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::after{content:"";width:var(--rqb-branch-indent);right:calc(-1*(var(--rqb-branch-indent) + var(--rqb-branch-width)));border-radius:0;position:absolute}.queryBuilder-branches:dir(rtl) .rule::after,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::after{top:calc(-1*var(--rqb-spacing));height:calc(50% + var(--rqb-spacing));border-width:0 var(--rqb-branch-width) var(--rqb-branch-width) 0}.queryBuilder-branches:dir(rtl) .rule::before,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::before{top:50%;height:50%;border-width:0 var(--rqb-branch-width) 0 0}.queryBuilder-branches:dir(rtl) .rule:last-child::before,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup:last-child::before{display:none}.queryBuilder-branches:dir(rtl) .rule-hasSubQuery::before,.queryBuilder-branches:dir(rtl) .rule-hasSubQuery::after,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::before,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::after{right:calc(-1*(var(--rqb-branch-indent) + var(--rqb-branch-width) + var(--rqb-border-width)))}.queryBuilder-branches:dir(rtl) .rule-hasSubQuery::after,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::after{top:calc(-1*(var(--rqb-spacing) + var(--rqb-border-width)));height:calc(50% + var(--rqb-spacing) + var(--rqb-border-width))}.queryBuilder-branches:dir(rtl) .rule-hasSubQuery::before,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::before{height:calc(50% + var(--rqb-border-width))}.queryBuilder-branches:dir(rtl) .betweenRules{position:relative}.queryBuilder-branches:dir(rtl) .betweenRules::after{content:"";width:var(--rqb-branch-indent);right:calc(-1*(var(--rqb-branch-indent) + var(--rqb-branch-width)));border-radius:0;position:absolute;top:calc(-1*var(--rqb-spacing));height:calc(100% + var(--rqb-spacing));border-width:0 var(--rqb-branch-width) 0 0}.queryBuilder-justified:dir(ltr) .ruleGroup-combinators+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .ruleGroup-combinators+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .ruleGroup-combinators+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .ruleGroup-combinators+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .ruleGroup-combinators+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .ruleGroup-combinators+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .ruleGroup-combinators+.rule-lock,.queryBuilder-justified:dir(ltr) .ruleGroup-combinators+.rule-remove,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.rule-lock,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.rule-remove,.queryBuilder-justified:dir(ltr) .shiftActions+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .shiftActions+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .shiftActions+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .shiftActions+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .shiftActions+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .shiftActions+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .shiftActions+.rule-lock,.queryBuilder-justified:dir(ltr) .shiftActions+.rule-remove,.queryBuilder-justified:dir(ltr) .queryBuilder-dragHandle+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .queryBuilder-dragHandle+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .queryBuilder-dragHandle+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .queryBuilder-dragHandle+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .queryBuilder-dragHandle+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .queryBuilder-dragHandle+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .queryBuilder-dragHandle+.rule-lock,.queryBuilder-justified:dir(ltr) .queryBuilder-dragHandle+.rule-remove,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.rule-lock,.queryBuilder-justified:dir(ltr) .ruleGroup-notToggle+.rule-remove,.queryBuilder-justified:dir(ltr) .ruleGroup-header+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .ruleGroup-header+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .ruleGroup-header+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .ruleGroup-header+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .ruleGroup-header+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .ruleGroup-header+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .ruleGroup-header+.rule-lock,.queryBuilder-justified:dir(ltr) .ruleGroup-header+.rule-remove,.queryBuilder-justified:dir(ltr) .rule-operators+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .rule-operators+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .rule-operators+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .rule-operators+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .rule-operators+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .rule-operators+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .rule-operators+.rule-lock,.queryBuilder-justified:dir(ltr) .rule-operators+.rule-remove,.queryBuilder-justified:dir(ltr) .rule-value+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .rule-value+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .rule-value+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .rule-value+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .rule-value+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .rule-value+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .rule-value+.rule-lock,.queryBuilder-justified:dir(ltr) .rule-value+.rule-remove,.queryBuilder-justified:dir(ltr) .control+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .control+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .control+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .control+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .control+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .control+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .control+.rule-lock,.queryBuilder-justified:dir(ltr) .control+.rule-remove,.queryBuilder-justified:dir(ltr) .chakra-select__wrapper+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) .chakra-select__wrapper+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) .chakra-select__wrapper+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) .chakra-select__wrapper+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) .chakra-select__wrapper+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) .chakra-select__wrapper+.rule-cloneRule,.queryBuilder-justified:dir(ltr) .chakra-select__wrapper+.rule-lock,.queryBuilder-justified:dir(ltr) .chakra-select__wrapper+.rule-remove,.queryBuilder-justified:dir(ltr) input[type=hidden]+.ruleGroup-addRule,.queryBuilder-justified:dir(ltr) input[type=hidden]+.ruleGroup-addGroup,.queryBuilder-justified:dir(ltr) input[type=hidden]+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(ltr) input[type=hidden]+.ruleGroup-lock,.queryBuilder-justified:dir(ltr) input[type=hidden]+.ruleGroup-remove,.queryBuilder-justified:dir(ltr) input[type=hidden]+.rule-cloneRule,.queryBuilder-justified:dir(ltr) input[type=hidden]+.rule-lock,.queryBuilder-justified:dir(ltr) input[type=hidden]+.rule-remove{margin-left:auto !important}.queryBuilder-justified:dir(ltr) .ruleGroup-addRule:first-child,.queryBuilder-justified:dir(ltr) .ruleGroup-addGroup:first-child{margin-left:auto !important}.queryBuilder-justified:dir(rtl) .ruleGroup-combinators+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .ruleGroup-combinators+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .ruleGroup-combinators+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .ruleGroup-combinators+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .ruleGroup-combinators+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .ruleGroup-combinators+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .ruleGroup-combinators+.rule-lock,.queryBuilder-justified:dir(rtl) .ruleGroup-combinators+.rule-remove,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.rule-lock,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.rule-remove,.queryBuilder-justified:dir(rtl) .shiftActions+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .shiftActions+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .shiftActions+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .shiftActions+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .shiftActions+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .shiftActions+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .shiftActions+.rule-lock,.queryBuilder-justified:dir(rtl) .shiftActions+.rule-remove,.queryBuilder-justified:dir(rtl) .queryBuilder-dragHandle+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .queryBuilder-dragHandle+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .queryBuilder-dragHandle+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .queryBuilder-dragHandle+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .queryBuilder-dragHandle+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .queryBuilder-dragHandle+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .queryBuilder-dragHandle+.rule-lock,.queryBuilder-justified:dir(rtl) .queryBuilder-dragHandle+.rule-remove,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.rule-lock,.queryBuilder-justified:dir(rtl) .ruleGroup-notToggle+.rule-remove,.queryBuilder-justified:dir(rtl) .ruleGroup-header+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .ruleGroup-header+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .ruleGroup-header+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .ruleGroup-header+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .ruleGroup-header+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .ruleGroup-header+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .ruleGroup-header+.rule-lock,.queryBuilder-justified:dir(rtl) .ruleGroup-header+.rule-remove,.queryBuilder-justified:dir(rtl) .rule-operators+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .rule-operators+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .rule-operators+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .rule-operators+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .rule-operators+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .rule-operators+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .rule-operators+.rule-lock,.queryBuilder-justified:dir(rtl) .rule-operators+.rule-remove,.queryBuilder-justified:dir(rtl) .rule-value+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .rule-value+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .rule-value+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .rule-value+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .rule-value+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .rule-value+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .rule-value+.rule-lock,.queryBuilder-justified:dir(rtl) .rule-value+.rule-remove,.queryBuilder-justified:dir(rtl) .control+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .control+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .control+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .control+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .control+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .control+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .control+.rule-lock,.queryBuilder-justified:dir(rtl) .control+.rule-remove,.queryBuilder-justified:dir(rtl) .chakra-select__wrapper+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) .chakra-select__wrapper+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) .chakra-select__wrapper+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) .chakra-select__wrapper+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) .chakra-select__wrapper+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) .chakra-select__wrapper+.rule-cloneRule,.queryBuilder-justified:dir(rtl) .chakra-select__wrapper+.rule-lock,.queryBuilder-justified:dir(rtl) .chakra-select__wrapper+.rule-remove,.queryBuilder-justified:dir(rtl) input[type=hidden]+.ruleGroup-addRule,.queryBuilder-justified:dir(rtl) input[type=hidden]+.ruleGroup-addGroup,.queryBuilder-justified:dir(rtl) input[type=hidden]+.ruleGroup-cloneGroup,.queryBuilder-justified:dir(rtl) input[type=hidden]+.ruleGroup-lock,.queryBuilder-justified:dir(rtl) input[type=hidden]+.ruleGroup-remove,.queryBuilder-justified:dir(rtl) input[type=hidden]+.rule-cloneRule,.queryBuilder-justified:dir(rtl) input[type=hidden]+.rule-lock,.queryBuilder-justified:dir(rtl) input[type=hidden]+.rule-remove{margin-right:auto !important}.queryBuilder-justified:dir(rtl) .ruleGroup-addRule:first-child,.queryBuilder-justified:dir(rtl) .ruleGroup-addGroup:first-child{margin-right:auto !important}.ruleGroup,.rule-hasSubQuery{border-color:var(--rqb-border-color);border-style:var(--rqb-border-style);border-radius:var(--rqb-border-radius);background:var(--rqb-background-color)}.ruleGroup .shiftActions>*,.rule-hasSubQuery .shiftActions>*{background-color:rgba(0,0,0,0);border:none;cursor:pointer}.dndOver.rule,.dndOver.ruleGroup-header:not(.dndGroup .ruleGroup-header){border-bottom-width:var(--rqb-dnd-drop-indicator-width);border-bottom-style:var(--rqb-dnd-drop-indicator-style);border-bottom-color:var(--rqb-dnd-drop-indicator-color)}.dndOver.rule.dndCopy,.dndOver.ruleGroup-header:not(.dndGroup .ruleGroup-header).dndCopy{border-bottom-width:var(--rqb-dnd-drop-indicator-copy-width);border-bottom-style:var(--rqb-dnd-drop-indicator-copy-style);border-bottom-color:var(--rqb-dnd-drop-indicator-copy-color)}.dndOver.betweenRules{border-top-width:var(--rqb-dnd-drop-indicator-width);border-top-style:var(--rqb-dnd-drop-indicator-style);border-top-color:var(--rqb-dnd-drop-indicator-color)}.dndOver.betweenRules.dndCopy{border-top-width:var(--rqb-dnd-drop-indicator-copy-width);border-top-style:var(--rqb-dnd-drop-indicator-copy-style);border-top-color:var(--rqb-dnd-drop-indicator-copy-color)}.dndDropNotAllowed{cursor:var(--rqb-dnd-drop-not-allowed-cursor)}.dndGroup.rule.dndOver,.dndGroup.ruleGroup:has(>.ruleGroup-header.dndOver){border-width:var(--rqb-dnd-drop-indicator-group-width);border-style:var(--rqb-dnd-drop-indicator-group-style);border-color:var(--rqb-dnd-drop-indicator-group-color);border-radius:var(--rqb-border-radius)}.dndGroup.rule.dndOver.dndCopy,.dndGroup.ruleGroup:has(>.ruleGroup-header.dndOver).dndCopy{border-color:var(--rqb-dnd-drop-indicator-copy-color);border-width:var(--rqb-dnd-drop-indicator-copy-width);border-style:var(--rqb-dnd-drop-indicator-copy-style)}.ruleGroup.dndDragging,.rule.dndDragging{opacity:.5}.ruleGroup .queryBuilder-dragHandle,.rule .queryBuilder-dragHandle{cursor:move}.ruleGroup.queryBuilder-disabled .queryBuilder-dragHandle,.rule.queryBuilder-disabled .queryBuilder-dragHandle{cursor:not-allowed;opacity:.5}.queryBuilder-branches:dir(ltr) .rule::before,.queryBuilder-branches:dir(ltr) .rule::after,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::before,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup::after{border-color:var(--rqb-branch-color);border-style:var(--rqb-branch-style)}.queryBuilder-branches:dir(ltr) .rule:last-child::before,.queryBuilder-branches:dir(ltr) .ruleGroup .ruleGroup:last-child::before{border-bottom-left-radius:var(--rqb-branch-radius)}.queryBuilder-branches:dir(ltr) .betweenRules{position:relative}.queryBuilder-branches:dir(ltr) .betweenRules::before{border-color:var(--rqb-branch-color);border-style:var(--rqb-branch-style)}.queryBuilder-branches:dir(rtl) .rule::before,.queryBuilder-branches:dir(rtl) .rule::after,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::before,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup::after{border-color:var(--rqb-branch-color);border-style:var(--rqb-branch-style)}.queryBuilder-branches:dir(rtl) .rule:last-child::after,.queryBuilder-branches:dir(rtl) .ruleGroup .ruleGroup:last-child::after{border-bottom-right-radius:var(--rqb-branch-radius)}.queryBuilder-branches:dir(rtl) .betweenRules{position:relative}.queryBuilder-branches:dir(rtl) .betweenRules::after{border-color:var(--rqb-branch-color);border-style:var(--rqb-branch-style)}/*# sourceMappingURL=query-builder.css.map */
._wrapper_16vcu_1 {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}

._input_16vcu_7 {
    width: 100%;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: transparent;
    border-radius: var(--mantine-radius-md);
    padding: 1px 10px;
    transition: background-color .3s ease-in-out, box-shadow .3s ease-in-out;
    height: calc(1em + 12px);
    /* 1em for the font size and 2px for the top and bottom padding */
    &:hover {
        background-color: var(--mantine-color-gray-1);
    }
    &:focus {
        box-shadow: none;
        background-color: var(--mantine-color-gray-1);
    }
}

._input_16vcu_7[data-show-required="true"] {
    box-shadow: 0 0 0 1px var(--mantine-color-red-4) inset;
    background-color: var(--mantine-color-red-0);
}

._inputRightSection_16vcu_33 {
    display: flex;
    align-items: center;
    margin-right: 10px;
}/* List container */
._listRoot_btupb_2 {
  max-height: 200px;
  padding: 8px;
  display: flex;
  overflow: auto;
  gap: 6px;
}

._listRootNoWrap_btupb_10 {
  flex-wrap: nowrap;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* Size variants for noWrap list */
._listRootNoWrapSm_btupb_17 {
  height: 29px;
  padding: 3px 6px;
}

._listRootNoWrapMd_btupb_22 {
  height: 38px;
  padding: 4px 8px;
}

._listRootNoWrap_btupb_10::-webkit-scrollbar {
  display: none;
}

._listRootWrap_btupb_31 {
  flex-wrap: wrap;
  height: auto;
  overflow: auto;
}

/* Wrap mode only: values longer than the container (full industry names)
   break onto extra lines inside the pill instead of overflowing the input.
   No ellipsis — these names share prefixes, so the tail is the
   distinguishing part. The noWrap variant keeps flex-shrink: 0 and
   single-line pills — it handles overflow by scrolling. */
._listRootWrap_btupb_31 ._listItem_btupb_42,
._listRootWrap_btupb_31 ._badgeWrapper_btupb_43 {
  max-width: 100%;
  min-width: 0;
}

._listRootWrap_btupb_31 ._badgeRoot_btupb_48 {
  max-width: 100%;
  height: auto;
  white-space: normal;
  line-height: 1.45;
}

._listRootWrap_btupb_31 ._badgeRootSm_btupb_55 {
  min-height: 21px;
}

._listRootWrap_btupb_31 ._badgeRootMd_btupb_59 {
  min-height: 26px;
}

._listRootWrap_btupb_31 ._badgeInner_btupb_63,
._listRootWrap_btupb_31 ._badgeText_btupb_64 {
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
}

/* List item */
._listItem_btupb_42 {
  width: auto;
  display: flex;
  align-items: center;
  list-style: none;
  flex-shrink: 0;
}

/* Badge wrapper for overlay positioning */
._badgeWrapper_btupb_43 {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

/* Toggle control - hidden by default, positioned before X */
._toggleControl_btupb_88 {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  padding: 2px;
  background: white;
  pointer-events: none;
  transition:
    opacity 0.15s ease,
    visibility 0.15s ease;
}

/* Prevent active state transform shift */
._toggleControl_btupb_88:active {
  transform: translateY(-50%);
}

._toggleControlExcluded_btupb_109 {
  background: var(--mantine-color-red-0);
}

/* Show toggle control on badge hover */
._badgeWrapper_btupb_43:hover ._toggleControl_btupb_88 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Exclude icon overlay - positioned at bottom-left */
._excludeIconOverlay_btupb_121 {
  position: absolute;
  bottom: -4px;
  left: -4px;
  color: var(--mantine-color-red-6);
  cursor: pointer;
  background: white;
  border-radius: 50%;
  z-index: 1;
}

._excludeIconOverlay_btupb_121:hover {
  opacity: 0.7;
}

/* Excluded text strikethrough */
._excludedText_btupb_137 {
  text-decoration: line-through;
  color: var(--mantine-color-gray-6);
}

/* Badge - Clean, minimal tag style */
._badgeRoot_btupb_48 {
  position: relative;
  display: flex;
  align-items: center;
  text-transform: none;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
  gap: 2px;
  transition:
    background-color 0.1s ease,
    border-color 0.1s ease;
  background: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  color: var(--mantine-color-gray-7);
  border-radius: var(--mantine-radius-sm);
}

/* Badge size variants */
._badgeRootSm_btupb_55 {
  padding: 2px 6px 2px 8px;
  height: 21px;
  font-size: 12px;
}

._badgeRootMd_btupb_59 {
  padding: 3px 8px 3px 10px;
  height: 26px;
  font-size: var(--font-size-compact);
}

._badgeInner_btupb_63 {
  display: flex;
  align-items: center;
  min-width: 0;
  overflow: hidden;
}

._badgeLabel_btupb_181 {
  min-width: 0;
}

._badgeText_btupb_64 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Right section for icons */
._badgeRoot_btupb_48 .mantine-Badge-rightSection {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: 2px;
}

/* Prevent ActionIcon active state transform shift */
._badgeRoot_btupb_48 .mantine-ActionIcon-root:active {
  transform: none;
}

/* Right section when exclusion is allowed */
._allowsExclusion_btupb_205 .mantine-Badge-rightSection {
  justify-content: flex-end;
}

/* Badge that allows exclusion */
._allowsExclusion_btupb_205 {
  cursor: default;
}

/* Exclude icon - inline, hidden by default */
._excludeIcon_btupb_121 {
  display: none;
  cursor: pointer;
}

/* Show exclude icon on badge hover */
._allowsExclusion_btupb_205:hover ._excludeIcon_btupb_121 {
  display: flex;
  color: var(--mantine-color-gray-6);
}

._allowsExclusion_btupb_205:hover ._excludeIcon_btupb_121:hover {
  color: var(--mantine-color-red-6);
}

/* Excluded badge styles */
._excludedBadge_btupb_231 {
  background: var(--mantine-color-red-0);
  border-color: var(--mantine-color-red-3);
}

/* Remaining count badge */
._remainingBadge_btupb_237 {
  color: var(--mantine-color-gray-6);
}

/* Exclude icon when active (excluded state) - inline, hidden by default */
._excludeIconActive_btupb_242 {
  display: none;
  cursor: pointer;
  color: var(--mantine-color-red-6);
}

/* Show excluded icon on badge hover */
._allowsExclusion_btupb_205:hover ._excludeIconActive_btupb_242 {
  display: flex;
}

._excludeIconActive_btupb_242:hover {
  opacity: 0.7;
}

/* Delete icon when excluded */
._deleteIconExcluded_btupb_258 {
  color: var(--mantine-color-red-6);
}

._deleteIconExcluded_btupb_258:hover {
  opacity: 0.7;
}
/* DynamicMultiSelectDropdown - Notion-like clean aesthetic */

._container_1qy3n_3 {
  position: relative;
}

._trigger_1qy3n_7 {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 31px;
  padding-right: 30px;
  background: var(--mantine-color-white);
  border: 1px solid var(--mantine-color-gray-3);
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 100ms ease;
  overflow: hidden;
}

._triggerFocused_1qy3n_21 {
  border-color: var(--mantine-color-gray-5);
}

._triggerError_1qy3n_25 {
  border-color: var(--mantine-color-red-6);
}

._placeholder_1qy3n_29 {
  padding-left: 12px;
  font-size: 14px;
  color: var(--mantine-color-gray-5);
}

._placeholderError_1qy3n_35 {
  color: var(--mantine-color-red-6);
}

._addButton_1qy3n_39 {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 21px;
  height: 21px;
  background: var(--mantine-color-white);
  border: 1px solid var(--mantine-color-gray-3);
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 60ms ease;
}

._addButton_1qy3n_39:hover {
  background: var(--mantine-color-gray-0);
}

._addButtonIcon_1qy3n_60 {
  color: var(--mantine-color-gray-6);
}

._errorText_1qy3n_64 {
  margin-top: 4px;
  font-size: 12px;
  color: var(--mantine-color-red-6);
}

/* Dropdown styles */
._searchInput_1qy3n_71 {
  padding: 10px 12px;
  font-size: var(--font-size-compact);
  border: none;
  background: transparent;
}

._searchInput_1qy3n_71:focus {
  outline: none;
  box-shadow: none;
}

._sectionHeader_1qy3n_83 {
  padding: 8px 12px 4px;
  font-size: 11px;
  font-weight: 500;
  color: var(--mantine-color-gray-5);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

._optionsList_1qy3n_92 {
  max-height: 300px;
  overflow-y: auto;
  padding: 4px 0;
}

._optionItem_1qy3n_98 {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 6px 12px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color 60ms ease;
  text-align: left;
}

._optionItem_1qy3n_98:hover {
  background: var(--mantine-color-gray-0);
}

._optionItemSelected_1qy3n_115 {
  background: var(--mantine-color-gray-1);
}

._optionIcon_1qy3n_119 {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

._optionLabel_1qy3n_128 {
  flex: 1;
  font-size: var(--font-size-compact);
  font-weight: 400;
  color: var(--mantine-color-gray-8);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._loadingState_1qy3n_138 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px;
}

._loadingText_1qy3n_146 {
  font-size: var(--font-size-compact);
  color: var(--mantine-color-gray-6);
}

._emptyState_1qy3n_151 {
  padding: 16px;
  text-align: center;
}

._emptyText_1qy3n_156 {
  font-size: var(--font-size-compact);
  color: var(--mantine-color-gray-5);
}

._divider_1qy3n_161 {
  border-color: var(--mantine-color-gray-2);
  margin: 0;
}
._root_1nhxn_1 {
    border: 1px solid var(--mantine-color-gray-2);
    color: var(--mantine-color-gray-7);
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.09) 0px 1px 1px;
}

._inner_1nhxn_8 {
    text-transform: none;
    color: var(--mantine-color-gray-7);
    font-weight: 400;
}

._leftSection_1nhxn_14 {
    display: flex;
    margin-right: 7px;
}

._rightSection_1nhxn_19 {
    margin-left: 7px;
}

._hideMargin_1nhxn_23 {
    span {
        margin: 0;
    }
}/* Filter input components - shared styles */

/* Base filter input sizing */
._filterInput_1gwxz_4,
._filterInputCompact_1gwxz_5 {
  height: 31px;
  min-height: 31px;
  border-color: var(--mantine-color-gray-3);
}

/* Standard filter input (6px border radius) */
._filterInput_1gwxz_4 {
  border-radius: 6px;
}

/* Compact filter input (4px border radius) for operator selector */
._filterInputCompact_1gwxz_5 {
  border-radius: 4px;
}

/* Base dropdown styling */
._filterDropdown_1gwxz_22,
._filterDropdownCompact_1gwxz_23 {
  padding: 6px;
  border: 1px solid var(--mantine-color-gray-2);
}

/* Standard dropdown (6px border radius) */
._filterDropdown_1gwxz_22 {
  border-radius: 6px;
}

/* Compact dropdown (4px border radius) for operator selector */
._filterDropdownCompact_1gwxz_23 {
  min-width: 200px;
  max-height: 400px;
  border-radius: 4px;
  overflow: hidden;
}

/* Dropdown item styling */
._filterDropdownItem_1gwxz_42 {
  padding: 8px 10px;
  font-size: var(--font-size-compact);
}

/* Tags input styles */
._tagsTrigger_1gwxz_48 {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 31px;
  min-width: 150px;
  max-width: 250px;
  padding-right: 30px;
  background: var(--mantine-color-white);
  border: 1px solid var(--mantine-color-gray-3);
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 100ms ease;
  overflow: hidden;
}

._tagsTriggerFocused_1gwxz_64 {
  border-color: var(--mantine-color-gray-5);
}

._tagsPlaceholder_1gwxz_68 {
  padding-left: 12px;
  font-size: 14px;
  color: var(--mantine-color-gray-5);
}

._tagsSearchInput_1gwxz_74 {
  padding: 10px 12px;
  font-size: var(--font-size-compact);
  border: none;
  background: transparent;
}

._tagsSearchInput_1gwxz_74:focus {
  outline: none;
  box-shadow: none;
}

._tagsList_1gwxz_86 {
  max-height: 200px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  box-sizing: border-box;
}

._tagItem_1gwxz_98 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px 4px 10px;
  background: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: var(--mantine-radius-sm);
  font-size: var(--font-size-compact);
  color: var(--mantine-color-gray-7);
}

._tagDeleteButton_1gwxz_110 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--mantine-color-gray-5);
  border-radius: var(--mantine-radius-xs);
}

._tagDeleteButton_1gwxz_110:hover {
  background: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-7);
}

._tagsEmptyHint_1gwxz_127 {
  padding: 8px 12px;
  font-size: 12px;
  color: var(--mantine-color-gray-5);
}

._tagsDivider_1gwxz_133 {
  border-color: var(--mantine-color-gray-2);
  margin: 0;
}
/* Field selector input - slightly taller for visual prominence */
._input_1x952_2 {
  height: 36px;
  border-radius: 6px;
  border-color: var(--mantine-color-gray-3);
  font-size: 14px;
}

._input_1x952_2:focus {
  border-color: var(--mantine-color-gray-5);
}

._dropdown_1x952_13 {
  width: 280px !important;
  box-shadow: var(--mantine-shadow-md);
  border-radius: 6px;
  border: 1px solid var(--mantine-color-gray-2);
  z-index: var(--z-floating) !important;
  padding: 4px !important;
}

._dropdown_1x952_13 [data-combobox-option] {
  padding: 6px 10px !important;
}

._item_1x952_26 {
  padding: 6px 10px;
  font-size: var(--font-size-compact);
}

._baseIconWrapper_1x952_31 {
  position: relative;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

._overlayBadge_1x952_40 {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: var(--mantine-radius-xs);
  flex-shrink: 0;
  padding: 3px; /* As per user's latest diff */
  border: 1px solid var(--mantine-color-gray-2);
  background-color: white;
  box-shadow: var(--mantine-shadow-xs);
}

._badgeInnerContent_1x952_58 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

._fallbackIconWrapper_1x952_66 {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Wrapper - Clean border with subtle focus state */
._wrapper_1el79_2 {
  border-radius: var(--mantine-radius-md);
  transition: box-shadow 0.15s ease;
}

._wrapperFocused_1el79_7 {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-5);
}

._wrapperBlurred_1el79_11 {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-3);
}

._wrapperBlurred_1el79_11:hover {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-4);
}

/* Container - Clean white background */
._container_1el79_20 {
  display: flex;
  flex-direction: column;
  border-radius: var(--mantine-radius-md);
  background-color: var(--mantine-color-white);
  min-height: 36px;
}

/* Value container - Selected tags area */
._valueContainer_1el79_29 {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--mantine-color-gray-2);
}

._valueContainerFocused_1el79_36 {
  cursor: text;
}

._valueContainerBlurred_1el79_40 {
  cursor: pointer;
}

/* Autocomplete input - Borderless, clean */
._autocompleteInput_1el79_45 {
  border: none !important;
  background: transparent;
  font-size: 14px;
}

._autocompleteInput_1el79_45:focus {
  box-shadow: none !important;
  outline: none;
}

._autocompleteInputError_1el79_56::placeholder {
  color: var(--mantine-color-red-6);
}

._autocompleteInputNormal_1el79_60::placeholder {
  color: var(--mantine-color-gray-4);
}

/* Icon states */
._iconError_1el79_65 {
  color: var(--mantine-color-red-6);
}

._iconNormal_1el79_69 {
  color: var(--mantine-color-gray-5);
}
._itemContainer_1e6w7_1 {
  width: 100%;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
  margin-bottom: 6px;
  border-radius: 6px;
}

._flexibleItem_1e6w7_14 {
  border: 1px solid var(--mantine-color-gray-2);
}

._nonFlexibleItem_1e6w7_18 {
  border: none;
  margin-bottom: 0;
}

._itemHeader_1e6w7_23 {
  border-bottom: 1px solid var(--mantine-color-gray-2);
  background-color: var(--mantine-color-gray-0);
  border-radius: 6px 6px 0 0;
  padding: 4px 8px;
  min-height: 36px;
}

._itemTitle_1e6w7_31 {
  color: var(--mantine-color-gray-7);
  font-size: 0.8rem;
}

._flexColumn_1e6w7_36 {
  display: flex;
  flex-direction: column;
  width: 100%;
}

._stackContent_1e6w7_42 {
  padding: 8px 10px;
}

._flexibleContent_1e6w7_46 {
  background-color: var(--mantine-color-white);
  border-radius: 0 0 6px 6px;
}

._nonFlexibleContent_1e6w7_51 {
  padding: 0;
}

._addButton_1e6w7_55 {
  height: 32px;
  border-radius: 6px;
  border: 1px dashed var(--mantine-color-gray-3);
  background-color: var(--mantine-color-gray-0);
  transition:
    background-color 0.2s,
    border-color 0.2s,
    color 0.2s,
    box-shadow 0.2s,
    opacity 0.2s,
    transform 0.2s;
  margin-top: 2px;
  margin-bottom: 4px;
}

._addButton_1e6w7_55:hover {
  background-color: var(--mantine-color-gray-1);
  border-color: var(--mantine-color-gray-4);
}

/* Collapsible section styles */
._collapsibleHeader_1e6w7_77 {
  cursor: pointer;
  user-select: none;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 6px 6px 0 0;
}

._collapsibleHeader_1e6w7_77:hover {
  background-color: var(--mantine-color-gray-1);
}

._collapseIcon_1e6w7_91 {
  transition: transform 0.2s ease;
  color: var(--mantine-color-gray-5);
  margin-right: 4px;
}

._collapseIcon_1e6w7_91._expanded_1e6w7_97 {
  transform: rotate(90deg);
}
._container_11m6n_1 {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}

._containerWithItems_11m6n_7 {
  border: 1px solid var(--mantine-color-gray-2);
}

._headerRow_11m6n_11 {
  padding: 6px 12px;
  background-color: var(--mantine-color-gray-0);
  border-bottom: 1px solid var(--mantine-color-gray-2);
}

._headerLabel_11m6n_17 {
  flex: 1;
  min-width: 0;
  font-weight: 500;
  font-size: 11px;
  color: var(--mantine-color-gray-5);
}

._row_11m6n_25 {
  padding: 10px 12px;
  border-bottom: 1px solid var(--mantine-color-gray-1);
  background-color: var(--mantine-color-white);
  transition: background-color 0.1s ease;
}

._row_11m6n_25:hover {
  background-color: var(--mantine-color-gray-0);
}

._customRow_11m6n_36 {
  padding: 10px 12px;
  border-bottom: 1px solid var(--mantine-color-gray-1);
  background-color: var(--mantine-color-white);
  transition: background-color 0.1s ease;
}

._customRow_11m6n_36:hover {
  background-color: var(--mantine-color-gray-0);
}

._customRow_11m6n_36:hover ._deleteButton_11m6n_47 {
  opacity: 1;
}

._duplicateRow_11m6n_51 {
  background-color: var(--mantine-color-red-0);
}

._duplicateRow_11m6n_51:hover {
  background-color: var(--mantine-color-red-1);
}

._labelGroup_11m6n_59 {
  flex: 0 0 200px;
  min-width: 200px;
}

._fieldLabel_11m6n_64 {
  color: var(--mantine-color-gray-7);
  font-weight: 500;
  font-size: var(--font-size-compact);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

._dropdownContainer_11m6n_73 {
  flex: 1.5;
  min-width: 0;
}

._customTargetContainer_11m6n_78 {
  flex: 1;
  min-width: 0;
}

._deleteButton_11m6n_47 {
  opacity: 0.4;
  transition: opacity 0.15s ease;
  margin-top: 9px;
}

._deleteButton_11m6n_47:hover {
  opacity: 1;
}

._addButton_11m6n_93 {
  height: 36px;
  border-radius: 8px;
  border: 1px dashed var(--mantine-color-gray-3);
  background-color: transparent;
  color: var(--mantine-color-gray-6);
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
}

._addButton_11m6n_93:hover {
  background-color: var(--mantine-color-gray-0);
  border-color: var(--mantine-color-gray-4);
  color: var(--mantine-color-gray-7);
}

._addButtonWithItems_11m6n_114 {
  border-radius: 0;
  border: none;
  border-top: 1px solid var(--mantine-color-gray-1);
  background-color: var(--mantine-color-gray-0);
}

._addButtonWithItems_11m6n_114:hover {
  background-color: var(--mantine-color-gray-1);
}
._container_b0hdn_1 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

._filterGroup_b0hdn_7 {
  padding: 10px 12px;
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 6px;
  background: var(--mantine-color-white);
}

._conditionStack_b0hdn_14 {
  padding: 6px 0;
}

._conditionStack_b0hdn_14:first-child {
  padding-top: 0;
}

._conditionStack_b0hdn_14:last-child {
  padding-bottom: 0;
}

._combinatorLabel_b0hdn_26 {
  display: flex;
  align-items: center;
  padding: 2px 0;
  font-size: 11px;
  font-weight: 500;
  color: var(--mantine-color-gray-5);
  margin: 4px 0;
}

._orSeparator_b0hdn_36 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 0;
}

._orSeparator_b0hdn_36::before,
._orSeparator_b0hdn_36::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--mantine-color-gray-2);
}

._orLabel_b0hdn_51 {
  font-size: 11px;
  font-weight: 500;
  color: var(--mantine-color-gray-5);
}

._actionButtons_b0hdn_57 {
  display: flex;
  gap: 4px;
  margin-top: 6px;
}

._addGroupButton_b0hdn_63 {
  height: 32px;
  border-radius: 6px;
  border: 1px dashed var(--mantine-color-gray-3);
  background-color: var(--mantine-color-gray-0);
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease;
  margin-top: 2px;
}

._addGroupButton_b0hdn_63:hover {
  background-color: var(--mantine-color-gray-1);
  border-color: var(--mantine-color-gray-4);
}

._filterInput_b0hdn_79 {
  min-height: 32px;
  height: auto;
  border-radius: 6px;
  font-size: var(--font-size-compact);
}

._noValueText_b0hdn_86 {
  display: flex;
  align-items: center;
  height: 32px;
  padding: 0 4px;
  font-style: italic;
}

._multiValue_b0hdn_94 {
  max-width: 150px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 0 2px 0 8px;
  margin: 2px 4px 2px 0;
  border-radius: 4px;
  background: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-8);
  line-height: 1;
}

._multiValueLabel_b0hdn_108 {
  max-width: 116px;
}

._searchInput_b0hdn_112 {
  border: none;
  background: transparent;
  height: auto;
  min-height: 0;
  padding: 0 4px;
  font-size: var(--font-size-compact);
}

._searchInput_b0hdn_112:focus {
  border: none;
  outline: none;
  box-shadow: none;
}

._filterDropdown_b0hdn_127 {
  padding: 4px;
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 6px;
}

._filterDropdownItem_b0hdn_133 {
  padding: 6px 8px;
  font-size: var(--font-size-compact);
  border-radius: 4px;
}

._providerIcon_b0hdn_139 {
  width: 14px;
  height: 14px;
  margin-right: 6px;
  opacity: 0.8;
}

._clearIcon_b0hdn_146 {
  cursor: pointer;
  color: var(--mantine-color-gray-4);
  transition: color 0.15s ease;
}

._clearIcon_b0hdn_146:hover {
  color: var(--mantine-color-gray-6);
}

._deleteButton_b0hdn_156 {
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

._deleteButton_b0hdn_156:hover {
  opacity: 1;
}

._deleteGroupButton_b0hdn_165 {
  margin-left: auto;
  color: var(--mantine-color-gray-5);
}
/* SelectListModal - Clean Notion-like styles with folder navigation */

/* Search wrapper */
._searchWrapper_hfauc_4 {
  padding: 12px 16px;
  background: white;
  border-bottom: 1px solid var(--mantine-color-gray-1);
}

/* Breadcrumb Navigation */
._breadcrumbNav_hfauc_11 {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 8px 16px;
  background: var(--mantine-color-gray-0);
  border-bottom: 1px solid var(--mantine-color-gray-1);
  overflow-x: auto;
  min-height: 36px;
}

._breadcrumbButton_hfauc_22 {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border: none;
  background: transparent;
  color: var(--mantine-color-gray-5);
  cursor: pointer;
  border-radius: 4px;
  transition:
    background-color 0.1s ease,
    border-color 0.1s ease,
    color 0.1s ease,
    box-shadow 0.1s ease,
    opacity 0.1s ease,
    transform 0.1s ease;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
}

._breadcrumbButton_hfauc_22:hover {
  background: white;
  color: var(--mantine-color-gray-7);
}

._breadcrumbActive_hfauc_49 {
  color: var(--mantine-color-gray-8);
  font-weight: 500;
}

._separator_hfauc_54 {
  color: var(--mantine-color-gray-2);
  flex-shrink: 0;
}

/* Navigation Container */
._navigationContainer_hfauc_60 {
  height: 380px;
  overflow-y: auto;
  background: white;
  padding: 8px 0;
}

/* Scrollbar styling */
._navigationContainer_hfauc_60::-webkit-scrollbar {
  width: 8px;
}

._navigationContainer_hfauc_60::-webkit-scrollbar-track {
  background: transparent;
}

._navigationContainer_hfauc_60::-webkit-scrollbar-thumb {
  background: var(--mantine-color-gray-2);
  border-radius: 4px;
}

._navigationContainer_hfauc_60::-webkit-scrollbar-thumb:hover {
  background: var(--mantine-color-gray-3);
}

/* Folder Item */
._folderItem_hfauc_86 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 24px);
  padding: 8px 12px;
  margin: 2px 12px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.1s ease;
  min-height: 32px;
  border-radius: var(--mantine-radius-md);
  overflow: hidden;
}

._folderItem_hfauc_86:hover {
  background: var(--mantine-color-gray-0);
}

/* Play Item */
._playItem_hfauc_108 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px 16px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.1s ease;
  border-bottom: 1px solid transparent;
}

._playItem_hfauc_108:hover {
  background: var(--mantine-color-gray-0);
}

/* List Item */
._listItem_hfauc_127 {
  display: flex;
  align-items: center;
  width: calc(100% - 24px);
  padding: 8px 12px;
  margin: 2px 12px;
  cursor: pointer;
  transition: background-color 0.1s ease;
  min-height: 32px;
  border-radius: var(--mantine-radius-md);
  overflow: hidden;
  position: relative;
}

._listItem_hfauc_127:hover {
  background: var(--mantine-color-gray-0);
}

._listItemSelected_hfauc_145 {
  background: var(--mantine-color-gray-1);
  border: none;
}

._listItemSelected_hfauc_145:hover {
  background: var(--mantine-color-gray-2);
}

._listItemSelected_hfauc_145 ._itemName_hfauc_154 {
  color: var(--mantine-color-gray-9);
  font-weight: 500;
}

._listItemSelected_hfauc_145 ._itemIcon_hfauc_159 {
  color: var(--mantine-color-gray-7);
}

._listItemSelected_hfauc_145 ._itemMeta_hfauc_163 {
  color: var(--mantine-color-gray-5);
}

._listItemDisabled_hfauc_167 {
  cursor: not-allowed;
  opacity: 0.5;
}

._listItemDisabled_hfauc_167:hover {
  background: transparent;
}

._listItemDisabled_hfauc_167 ._itemName_hfauc_154 {
  color: var(--mantine-color-gray-5);
}

/* Item Content */
._itemContent_hfauc_181 {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0; /* Important for nested flex truncation */
  overflow: hidden;
}

._itemIcon_hfauc_159 {
  color: var(--mantine-color-gray-6);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

._itemName_hfauc_154 {
  color: var(--mantine-color-gray-8);
  font-size: var(--font-size-compact);
  font-weight: 400;
  line-height: 1.5;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0; /* Important for flexbox text truncation */
}

._itemMeta_hfauc_163 {
  color: var(--mantine-color-gray-5);
  font-size: 11px;
  margin-left: auto;
  font-weight: 400;
  flex-shrink: 0;
  white-space: nowrap;
  padding: 2px 6px;
  background: var(--mantine-color-gray-1);
  border-radius: 4px;
}

._chevron_hfauc_222 {
  color: var(--mantine-color-gray-3);
  flex-shrink: 0;
  transition: transform 0.15s ease;
}

._folderItem_hfauc_86:hover ._chevron_hfauc_222,
._playItem_hfauc_108:hover ._chevron_hfauc_222 {
  transform: translateX(2px);
}

/* Empty State */
._emptyState_hfauc_234 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  color: var(--mantine-color-gray-4);
  font-size: var(--font-size-compact);
  text-align: center;
  gap: 12px;
}

._emptyIcon_hfauc_246 {
  color: var(--mantine-color-gray-2);
}

/* Loading State */
._loadingState_hfauc_251 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  color: var(--mantine-color-gray-4);
  font-size: var(--font-size-compact);
  text-align: center;
  gap: 12px;
}

/* Footer */
._footer_hfauc_264 {
  padding: 16px;
  background: white;
  border-top: 1px solid var(--mantine-color-gray-1);
}

._footerActions_hfauc_270 {
  display: flex;
  gap: 8px;
}

/* Entity Filter Message */
._entityFilterMessage_hfauc_276 {
  padding: 8px 16px;
  background: white;
  border-bottom: 1px solid var(--mantine-color-gray-1);
  font-size: 12px;
  color: var(--mantine-color-gray-5);
}

/* Responsive adjustments */
@media (max-width: 640px) {
  ._searchWrapper_hfauc_4 {
    padding: 14px;
  }

  ._breadcrumbNav_hfauc_11 {
    padding: 10px 14px;
  }

  ._folderItem_hfauc_86,
  ._playItem_hfauc_108,
  ._listItem_hfauc_127 {
    padding: 8px 14px;
    margin: 0 6px;
    width: calc(100% - 12px);
  }

  ._footer_hfauc_264 {
    padding: 14px;
  }

  ._navigationContainer_hfauc_60 {
    height: 340px;
  }
}
/* Wrapper - Clean border with subtle focus state */
._wrapper_133ck_2 {
  border-radius: var(--mantine-radius-md);
  transition: box-shadow 0.15s ease;
}

._wrapperFocused_133ck_7 {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-5);
}

._wrapperBlurred_133ck_11 {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-3);
}

._wrapperBlurred_133ck_11:hover {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-4);
}

/* Container - Clean white background */
._container_133ck_20 {
  display: flex;
  flex-direction: column;
  border-radius: var(--mantine-radius-md);
  background-color: var(--mantine-color-white);
  min-height: 36px;
}

/* Value container - Selected tags area */
._valueContainer_133ck_29 {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--mantine-color-gray-2);
}

._valueContainerFocused_133ck_36 {
  cursor: text;
}

._valueContainerBlurred_133ck_40 {
  cursor: pointer;
}

/* Autocomplete input - Borderless, clean */
._autocompleteInput_133ck_45 {
  border: none !important;
  background: transparent;
  font-size: 14px;
}

._autocompleteInput_133ck_45:focus {
  box-shadow: none !important;
  outline: none;
}

._autocompleteInputError_133ck_56::placeholder {
  color: var(--mantine-color-red-6);
}

._autocompleteInputNormal_133ck_60::placeholder {
  color: var(--mantine-color-gray-4);
}

/* Icon states */
._iconError_133ck_65 {
  color: var(--mantine-color-red-6);
  width: 36px;
  padding-left: 12px;
}

._iconNormal_133ck_71 {
  color: var(--mantine-color-gray-5);
  width: 36px;
  padding-left: 12px;
}
._container_t9qfc_1 {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}

._containerWithItems_t9qfc_7 {
  border: 1px solid var(--mantine-color-gray-2);
}

._row_t9qfc_11 {
  padding: 10px 12px;
  border-bottom: 1px solid var(--mantine-color-gray-1);
  background-color: var(--mantine-color-white);
  transition: background-color 0.1s ease;
}

._row_t9qfc_11:hover {
  background-color: var(--mantine-color-gray-0);
}

._row_t9qfc_11:hover ._deleteButton_t9qfc_22 {
  opacity: 1;
}

._rowContent_t9qfc_26 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  /* A flex item's min-width defaults to its content's width, so without this
     the widest option chip propagates its full nowrap text width up the chain
     and the whole config panel grows into horizontal scroll. */
  min-width: 0;
}

._topRow_t9qfc_37 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._fieldNameInput_t9qfc_43 {
  flex: 1;
  min-width: 0;
}

._columnTypeDropdown_t9qfc_48 {
  width: 140px;
  flex-shrink: 0;
}

._descriptionInput_t9qfc_53 {
  width: 100%;
}

/* Options tag container - wrapping multi-line tags */
._optionsTagContainer_t9qfc_58 {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--mantine-color-gray-3);
  border-radius: 6px;
  background-color: var(--mantine-color-white);
  min-height: 32px;
}

._optionsTags_t9qfc_67 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 8px 4px 8px;
}

._optionTag_t9qfc_74 {
  max-width: 100%;
  /* Flex items refuse to shrink below content by default; without this the
     ellipsis on the badge label never engages. */
  min-width: 0;
  text-transform: none;
  font-weight: 500;
  font-size: var(--font-size-compact);
  padding: 3px 6px 3px 10px;
  height: 26px;
  background: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  color: var(--mantine-color-gray-7);
  border-radius: var(--mantine-radius-sm);
}

._optionTag_t9qfc_74 .mantine-Badge-rightSection {
  margin-left: 4px;
  flex-shrink: 0;
}

/* A single option longer than the row must truncate with an ellipsis instead
   of overflowing the panel into horizontal scroll. */
._optionTag_t9qfc_74 .mantine-Badge-inner {
  overflow: hidden;
  text-overflow: ellipsis;
}

._optionsTagInput_t9qfc_102 {
  flex: 1;
  min-width: 120px;
}

._deleteButton_t9qfc_22 {
  opacity: 0.4;
  transition: opacity 0.15s ease;
  flex-shrink: 0;
}

._deleteButton_t9qfc_22:hover {
  opacity: 1;
}

._addButton_t9qfc_117 {
  height: 36px;
  border-radius: 8px;
  border: 1px dashed var(--mantine-color-gray-3);
  background-color: transparent;
  color: var(--mantine-color-gray-6);
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
}

._addButton_t9qfc_117:hover {
  background-color: var(--mantine-color-gray-0);
  border-color: var(--mantine-color-gray-4);
  color: var(--mantine-color-gray-7);
}

._addButtonWithItems_t9qfc_138 {
  border-radius: 0;
  border: none;
  border-top: 1px solid var(--mantine-color-gray-1);
  background-color: var(--mantine-color-gray-0);
}

._addButtonWithItems_t9qfc_138:hover {
  background-color: var(--mantine-color-gray-1);
}
/* Wrapper - Clean border with subtle focus state */
._wrapper_1el79_2 {
  border-radius: var(--mantine-radius-md);
  transition: box-shadow 0.15s ease;
}

._wrapperFocused_1el79_7 {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-5);
}

._wrapperBlurred_1el79_11 {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-3);
}

._wrapperBlurred_1el79_11:hover {
  box-shadow: 0 0 0 1px var(--mantine-color-gray-4);
}

/* Container - Clean white background */
._container_1el79_20 {
  display: flex;
  flex-direction: column;
  border-radius: var(--mantine-radius-md);
  background-color: var(--mantine-color-white);
  min-height: 36px;
}

/* Value container - Selected tags area */
._valueContainer_1el79_29 {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--mantine-color-gray-2);
}

._valueContainerFocused_1el79_36 {
  cursor: text;
}

._valueContainerBlurred_1el79_40 {
  cursor: pointer;
}

/* Autocomplete input - Borderless, clean */
._autocompleteInput_1el79_45 {
  border: none !important;
  background: transparent;
  font-size: 14px;
}

._autocompleteInput_1el79_45:focus {
  box-shadow: none !important;
  outline: none;
}

._autocompleteInputError_1el79_56::placeholder {
  color: var(--mantine-color-red-6);
}

._autocompleteInputNormal_1el79_60::placeholder {
  color: var(--mantine-color-gray-4);
}

/* Icon states */
._iconError_1el79_65 {
  color: var(--mantine-color-red-6);
}

._iconNormal_1el79_69 {
  color: var(--mantine-color-gray-5);
}
._gateContainerBase_twt7t_1 {
  display: flex;
  width: 100%;
  min-height: 200px; /* Ensure the container has some min height */
}

._gateContainerHiddenDetailed_twt7t_7 {
  justify-content: center;
  align-items: center;
  padding: var(--mantine-spacing-md);
}

._gateContainerHiddenCompact_twt7t_13 {
  align-items: flex-start;
  padding: var(--mantine-spacing-sm);
}

/* Classes for buttonPosition */
._justifyStart_twt7t_19 {
  justify-content: flex-start;
}

._justifyCenter_twt7t_23 {
  justify-content: center;
}

._justifyEnd_twt7t_27 {
  justify-content: flex-end;
}

/* Flat warm off-white upsell surface — matches UpsellCard / InfoCard. */
._promptCard_twt7t_32 {
  max-width: 350px;
  width: 100%;
  background: var(--upsell-surface);
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: var(--mantine-radius-md);
  padding: var(--mantine-spacing-lg);
}

._lockTile_twt7t_41 {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--mantine-radius-sm);
  background-color: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  color: var(--mantine-color-gray-6);
}

._gateRoot_twt7t_54 {
  position: relative;
}

._disabledContent_twt7t_58 {
  opacity: 0.7;
  filter: grayscale(100%);
}

._overlayContainer_twt7t_63 {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  /* background is set dynamically in component for theme awareness */
}

/* The card genuinely floats over the dimmed content here, so it earns a lift.
   The inline (hideContentWhenLocked) variant stays flat — it isn't floating. */
._overlayContainer_twt7t_63 ._promptCard_twt7t_32 {
  box-shadow: var(--mantine-shadow-sm);
}

._compactButtonOverlayWrapper_twt7t_78 {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  padding: var(--mantine-spacing-sm);
}
._wizardContent_1txpc_1 {
  animation: _fadeIn_1txpc_1 0.15s ease;
}

._permissionNotice_1txpc_5 {
  padding: 10px 12px;
  border: 1px solid var(--mantine-color-orange-2);
  border-radius: 6px;
  background: var(--mantine-color-orange-0);
}

._permissionAlert_1txpc_12 {
  border: 1px solid var(--mantine-color-orange-2);
}

._permissionNoticeText_1txpc_16 {
  color: var(--mantine-color-orange-9);
  line-height: 1.45;
}

._permissionNoticeDetail_1txpc_21 {
  color: var(--mantine-color-orange-8);
  line-height: 1.4;
}

@keyframes _fadeIn_1txpc_1 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* The phone body buzzes for 0.4s, then rests, so the loop reads as a notification arriving
   rather than a shake that never stops. */
._vibrateBody_1pplw_3 {
  transform-origin: center;
  animation: _wizardIcons_buzz_1pplw_1 2.4s ease-in-out infinite;
}

@keyframes _wizardIcons_buzz_1pplw_1 {
  0%, 17%, 100% { transform: rotate(0deg); }
  3% { transform: rotate(-5deg); }
  7% { transform: rotate(5deg); }
  10% { transform: rotate(-5deg); }
  14% { transform: rotate(5deg); }
}

/* The tick draws itself once when the connected screen mounts. */
._checkMark_1pplw_17 {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: _wizardIcons_draw_1pplw_1 0.4s ease-out 0.1s forwards;
}

@keyframes _wizardIcons_draw_1pplw_1 {
  to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
  ._vibrateBody_1pplw_3 { animation: none; }
  ._checkMark_1pplw_17 { animation: none; stroke-dashoffset: 0; }
}
._modalContent_1t77n_1 {
  padding: 0;
  overflow: hidden;
}

._modalHeader_1t77n_6 {
  padding: 20px 24px;
  border-bottom: 1px solid var(--mantine-color-gray-2);
  background: white;
  margin: 0;
}

._modalBody_1t77n_13 {
  padding: 24px;
  background-color: var(--mantine-color-gray-0);
  margin: 0;
  max-height: 70vh;
  overflow-y: auto;
}

._sectionTitle_1t77n_21 {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--mantine-color-gray-6);
  margin-bottom: 16px;
  margin-top: 16px;
}

._templateCard_1t77n_31 {
  background: white;
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 8px;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 200px;
  max-width: 450px;
  overflow: hidden;

  &:hover {
    border-color: var(--mantine-color-gray-3);
    box-shadow: var(--mantine-shadow-sm);
  }
}

._templateCard_1t77n_31[data-clickable]:hover ._cardContent_1t77n_55 {
  background: var(--mantine-color-gray-0);
}

._cardContent_1t77n_55 {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  transition: background 0.15s ease;
}

._cardContent_1t77n_55[role='button'] {
  cursor: pointer;
}

._cardContent_1t77n_55[role='button']:focus-visible {
  outline: 2px solid var(--mantine-color-brand-4);
  outline-offset: -2px;
  border-radius: 8px;
}

._cardHeader_1t77n_77 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

._cardTitle_1t77n_84 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._iconWrapper_1t77n_90 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background-color: var(--mantine-color-gray-1);
  flex-shrink: 0;
}

._iconWrapper_1t77n_90 svg {
  width: 14px;
  height: 14px;
  color: var(--mantine-color-gray-7);
}

._templateName_1t77n_107 {
  font-size: 14px;
  font-weight: 600;
  color: var(--mantine-color-dark-9);
  line-height: 1.3;
}

._categoryBadge_1t77n_114 {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-7);
  border: none;
  font-size: 10px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

._description_1t77n_126 {
  font-size: var(--font-size-compact);
  line-height: 1.5;
  color: var(--mantine-color-gray-6);
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

._stats_1t77n_137 {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

._statBadge_1t77n_144 {
  background-color: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  color: var(--mantine-color-gray-7);
  font-size: 11px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

._statBadge_1t77n_144 svg {
  width: 10px;
  height: 10px;
}

._lists_1t77n_162 {
  margin-top: auto;
}

._listsTitle_1t77n_166 {
  font-size: 11px;
  font-weight: 500;
  color: var(--mantine-color-gray-6);
  margin-bottom: 6px;
}

._listItems_1t77n_173 {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

._listBadge_1t77n_179 {
  background-color: var(--mantine-color-gray-0);
  color: var(--mantine-color-gray-7);
  border: 1px solid var(--mantine-color-gray-2);
  font-size: 12px;
  font-weight: 400;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

._listBadgeLabel_1t77n_195 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

._moreCount_1t77n_202 {
  font-size: 11px;
  color: var(--mantine-color-gray-5);
  padding: 4px 6px;
}

._cardFooter_1t77n_208 {
  padding: 12px 16px;
  background-color: var(--mantine-color-gray-0);
  border-top: 1px solid var(--mantine-color-gray-2);
}

._useButton_1t77n_214 {
  width: 100%;
  height: 32px;
  font-size: var(--font-size-compact);
  font-weight: 500;
  background-color: var(--mantine-color-dark-9);
  color: white;
  border: 1px solid var(--mantine-color-dark-9);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;

  &:hover {
    background-color: var(--mantine-color-dark-8);
    border-color: var(--mantine-color-dark-8);
  }
}

._emptyState_1t77n_236 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px;
  gap: 12px;
}

._emptyIcon_1t77n_245 {
  color: var(--mantine-color-gray-4);
}
._toolbar_g1neu_1 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 8px;
}

._search_g1neu_8 {
  max-width: 420px;
}

._search_g1neu_8 input {
  background: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  font-size: var(--font-size-compact);
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}

._search_g1neu_8 input:focus,
._search_g1neu_8 input:focus-within {
  border-color: var(--mantine-color-gray-4);
  background: #ffffff;
}

._categoryList_g1neu_27 {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

._categoryPill_g1neu_33 {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--mantine-color-gray-7);
  background: transparent;
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 999px;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
  cursor: pointer;
  line-height: 1;
}

._categoryPill_g1neu_33:hover {
  background: var(--mantine-color-gray-0);
  color: var(--mantine-color-dark-8);
}

._categoryPill_g1neu_33[data-active] {
  background: var(--mantine-color-dark-9);
  border-color: var(--mantine-color-dark-9);
  color: #ffffff;
}

._sectionHeader_g1neu_63 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 8px;
}

._sectionTitle_g1neu_70 {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--mantine-color-gray-6);
}

._sectionCount_g1neu_78 {
  font-size: 11px;
  font-weight: 500;
  color: var(--mantine-color-gray-5);
  background: var(--mantine-color-gray-1);
  padding: 1px 6px;
  border-radius: 4px;
}

._emptyResults_g1neu_87 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 64px 24px;
  border: 1px dashed var(--mantine-color-gray-2);
  border-radius: 8px;
  background: var(--mantine-color-gray-0);
}

._emptyIcon_g1neu_99 {
  color: var(--mantine-color-gray-5);
  margin-bottom: 4px;
}

._emptyTitle_g1neu_104 {
  font-size: 14px;
  font-weight: 500;
  color: var(--mantine-color-dark-8);
}

._emptyHint_g1neu_110 {
  font-size: 12px;
  color: var(--mantine-color-gray-6);
}
._modal_1lqub_1 {
  &Content {
    padding: 0;
  }
}

._modalHeader_1lqub_7 {
  padding: 16px 20px;
  border-bottom: 1px solid var(--mantine-color-gray-2);
}

._modalBody_1lqub_12 {
  padding: 20px;
}

._sectionTitle_1lqub_16 {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--mantine-color-gray-6);
  margin-bottom: 16px;
}

._templateCard_1lqub_25 {
  background: white;
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 8px;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 200px;
  overflow: hidden;

  &:hover {
    border-color: var(--mantine-color-gray-3);
    box-shadow: var(--mantine-shadow-sm);
    transform: translateY(-1px);
  }
}

._cardContent_1lqub_49 {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

._cardHeader_1lqub_56 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

._cardTitle_1lqub_63 {
  display: flex;
  align-items: center;
  gap: 8px;
}

._iconWrapper_1lqub_69 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background-color: var(--mantine-color-gray-1);
  flex-shrink: 0;
}

._iconWrapper_1lqub_69 svg {
  width: 14px;
  height: 14px;
  color: var(--mantine-color-gray-7);
}

._templateName_1lqub_86 {
  font-size: 14px;
  font-weight: 600;
  color: var(--mantine-color-dark-9);
  line-height: 1.3;
}

._categoryBadge_1lqub_93 {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-7);
  border: none;
  font-size: 10px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

._description_1lqub_105 {
  font-size: var(--font-size-compact);
  line-height: 1.5;
  color: var(--mantine-color-gray-6);
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

._stats_1lqub_116 {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

._statBadge_1lqub_123 {
  background-color: var(--mantine-color-gray-0);
  border: 1px solid var(--mantine-color-gray-2);
  color: var(--mantine-color-gray-7);
  font-size: 11px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

._statBadge_1lqub_123 svg {
  width: 10px;
  height: 10px;
}

._lists_1lqub_141 {
  margin-top: auto;
}

._listsTitle_1lqub_145 {
  font-size: 11px;
  font-weight: 500;
  color: var(--mantine-color-gray-6);
  margin-bottom: 6px;
}

._listItems_1lqub_152 {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

._listBadge_1lqub_158 {
  background-color: var(--mantine-color-gray-0);
  color: var(--mantine-color-gray-7);
  border: 1px solid var(--mantine-color-gray-2);
  font-size: 12px;
  font-weight: 400;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

._moreCount_1lqub_171 {
  font-size: 11px;
  color: var(--mantine-color-gray-5);
  padding: 4px 6px;
}

._cardFooter_1lqub_177 {
  padding: 12px 16px;
  background-color: var(--mantine-color-gray-0);
  border-top: 1px solid var(--mantine-color-gray-2);
}

._useButton_1lqub_183 {
  width: 100%;
  height: 32px;
  font-size: var(--font-size-compact);
  font-weight: 500;
  background-color: var(--mantine-color-dark-9);
  color: white;
  border: 1px solid var(--mantine-color-dark-9);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;

  &:hover {
    background-color: var(--mantine-color-dark-8);
    border-color: var(--mantine-color-dark-8);
  }
}
._tabsRoot_1lqub_204 {
  background: transparent;
}

._tabsList_1lqub_208 {
  border-bottom: 1px solid var(--mantine-color-gray-2);
  margin-bottom: 16px;
  gap: 0;
}

._tab_1lqub_204 {
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--mantine-color-gray-6);
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
  margin-right: 8px;
  border-radius: 0;
}

._tab_1lqub_204:hover {
  background-color: var(--mantine-color-gray-0);
  color: var(--mantine-color-gray-8);
}

._tab_1lqub_204[data-active] {
  color: var(--mantine-color-dark-9);
  border-bottom-color: var(--mantine-color-dark-9);
  background: transparent;
}

._tab_1lqub_204[data-active]:hover {
  background: transparent;
}

._tabPanel_1lqub_248 {
  padding-top: 0;
  animation: _fadeIn_1lqub_1 0.15s ease;
}

@keyframes _fadeIn_1lqub_1 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

._emptyState_1lqub_262 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  background: white;
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 8px;
}

._emptyIcon_1lqub_273 {
  color: var(--mantine-color-gray-4);
  margin-bottom: 12px;
}
/* Tighter body padding than the shared modal: option cards carry their own
   12px padding, so the narrower body lets their hover background extend wider
   while text still aligns to ~20px. */
._modalBody_a69nv_4 {
  padding: 0 8px 16px;
}

/* Align the search input with the option cards (8px body + 12px = 20px inset) */
._search_a69nv_9 {
  padding: 0 12px 8px;
}

/* The locked-sources upsell card sits after the available rows, aligned to the
   same 20px inset and separated from the last row. */
._upsell_a69nv_15 {
  padding: 6px 12px 2px;
}
._bar_1tf8y_1 {
    background: var(--mantine-color-gray-0);
    border-bottom: 1px solid var(--mantine-color-gray-2);
    padding: 8px 16px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

._clickable_1tf8y_12 {
    cursor: pointer;
    transition: background-color 0.15s ease;
}

._clickable_1tf8y_12:hover {
    background: var(--mantine-color-gray-1);
}

._action_1tf8y_21 {
    font-size: 12px;
    font-weight: 500;
    color: var(--mantine-color-gray-6);
    white-space: nowrap;
    transition: color 0.1s ease;
}

button._action_1tf8y_21:hover {
    color: var(--mantine-color-dark-7);
}

._summaryMessage_1tf8y_33 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Rows inside the notices popover: contained by the dropdown, so the last
   hairline and the row background are dropped in favor of the panel's own */
._popoverRows_1tf8y_41 ._bar_1tf8y_1 {
    background: transparent;
}

._popoverRows_1tf8y_41 ._bar_1tf8y_1:last-child {
    border-bottom: none;
}
._root_16kqa_1 {
    display: flex;
    justify-content: space-between;
    text-align: left;
    padding: 5px 8px;
    margin-bottom: 1px;
    border-radius: var(--mantine-radius-sm);
    font-size: var(--menu-row-font-size);
    color: var(--mantine-color-gray-7);
    cursor: pointer;
    gap: 0 !important;
}

._root_16kqa_1:hover {
    background-color: var(--mantine-color-gray-1);
    color: var(--mantine-color-gray-9);
}

._root_16kqa_1[data-active='true'] {
    background-color: var(--mantine-color-gray-2);
    font-weight: 600;
    color: var(--mantine-color-gray-9);
}

._root_16kqa_1[data-active='true']:hover {
    background-color: var(--mantine-color-gray-2);
}

._compactRoot_16kqa_29 {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0;
    margin-bottom: 0.375rem;
    border-radius: var(--mantine-radius-md);
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease,
        opacity 0.15s ease,
        transform 0.15s ease;
    cursor: pointer;
    gap: 0 !important;
}

._compactRoot_16kqa_29:hover {
    background-color: var(--mantine-color-gray-2);
}

._compactRoot_16kqa_29[data-active='true'] {
    background-color: var(--mantine-color-gray-2);
}

._compactRoot_16kqa_29[data-active='true']:hover {
    background-color: var(--mantine-color-gray-2);
}

._text_16kqa_60 {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: inherit;
    font-weight: 500;
}

._badge_16kqa_69 {
    background-color: var(--mantine-color-gray-1);
    border: 1px solid var(--mantine-color-gray-2);
    border-radius: var(--mantine-radius-sm);
}
._container_1u05l_1 {
  padding: 6px;
}

._button_1u05l_5 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 450;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.1s ease;
}

._button_1u05l_5:hover {
  background-color: var(--mantine-color-gray-0);
}

._popoverContent_1u05l_21 {
  min-width: 280px;
}

._fieldItem_1u05l_25 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.1s ease;
}

._fieldItem_1u05l_25:hover {
  background-color: var(--mantine-color-gray-0);
}

._fieldName_1u05l_39 {
  flex: 1;
  font-size: 12px;
  font-weight: 450;
  color: var(--mantine-color-gray-8);
}

._fieldType_1u05l_46 {
  font-size: 11px;
  color: var(--mantine-color-gray-6);
  margin-left: 8px;
}

._emptyState_1u05l_52 {
  padding: 20px;
  text-align: center;
  color: var(--mantine-color-gray-6);
  font-size: 12px;
}

._searchInput_1u05l_59 {
  margin-bottom: 8px;
}

._fieldList_1u05l_63 {
  max-height: 240px;
  overflow-y: auto;
}

._divider_1u05l_68 {
  margin: 4px 0;
  border-color: var(--mantine-color-gray-1);
}

/* Popover Target Group */
._popoverTargetGroup_1u05l_74 {
  background-color: white;
  padding: 2px;
  border-radius: 4px;
  transition: opacity 0.15s ease;
}

/* Copy Button */
._copyButton_1u05l_82 {
  background-color: transparent;
  color: var(--mantine-color-gray-5);
}

._copyButton_1u05l_82:hover {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-7);
}

/* Add Button */
._addButton_1u05l_93 {
  height: 24px;
  padding: 0 8px;
  background-color: transparent;
  border: none;
  color: var(--mantine-color-gray-6);
  font-weight: 400;
  font-size: 12px;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
}

._addButton_1u05l_93:hover {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-8);
}

/* Popover Dropdown */
._popoverDropdown_1u05l_116 {
  padding: 0;
  background: white;
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 8px;
  box-shadow: var(--mantine-shadow-xs);
  overflow: hidden;
}

/* Stack Container */
._stackContainer_1u05l_126 {
  min-width: 280px;
  max-width: 340px;
}

/* Tabs */
._tabsList_1u05l_132 {
  border-bottom: 1px solid var(--mantine-color-gray-1);
}

._tab_1u05l_132 {
  font-size: var(--font-size-compact);
  font-weight: 450;
  padding: 6px 10px;
  color: var(--mantine-color-gray-7);
}

._tab_1u05l_132[data-active] {
  color: var(--mantine-color-dark-6);
  border-bottom-color: var(--mantine-color-dark-6);
}

/* Section Headers */
._sectionHeader_1u05l_149 {
  font-size: 14px;
  font-weight: 450;
  color: var(--mantine-color-dark-8);
}

._sectionDescription_1u05l_155 {
  font-size: 14px;
  color: var(--mantine-color-gray-6);
}

/* Text Input */
._textInput_1u05l_161 {
  background-color: white;
  border: 1px solid var(--mantine-color-gray-2);
  font-size: var(--font-size-compact);
  height: 32px;
}

._textInput_1u05l_161:focus {
  border-color: var(--mantine-color-gray-3);
}

/* Checkbox */
._checkbox_1u05l_173 {
  border-color: var(--mantine-color-gray-3);
}

._checkboxLabel_1u05l_177 {
  user-select: none;
  cursor: pointer;
}

/* Search Input */
._searchInput_1u05l_59 {
  background-color: white;
  border: 1px solid var(--mantine-color-gray-2);
  font-size: var(--font-size-compact);
  height: 32px;
}

/* Scroll Area */
._scrollArea_1u05l_191 {
  height: min(240px, 35vh);
}

/* Field Box */
._fieldBox_1u05l_196 {
  border: 1px solid var(--mantine-color-gray-2);
  border-radius: 4px;
  background-color: white;
  cursor: pointer;
  transition: background-color 0.1s ease;
  padding: 6px;
}

._fieldBoxSelected_1u05l_205 {
  background-color: var(--mantine-color-gray-0);
}

._fieldCheckbox_1u05l_209 {
  cursor: pointer;
}

/* Property Select */
._propertySelect_1u05l_214 {
  background-color: white;
  border: 1px solid var(--mantine-color-gray-2);
  font-size: 11px;
  height: 28px;
  min-height: 28px;
}

._propertySelect_1u05l_214:focus {
  border-color: var(--mantine-color-gray-3);
}

/* Add Property Button */
._addPropertyButton_1u05l_227 {
  border: 1px dashed var(--mantine-color-gray-2);
  background-color: transparent;
  color: var(--mantine-color-gray-6);
  font-size: 12px;
}

._addPropertyButton_1u05l_227:hover {
  background-color: var(--mantine-color-gray-0);
  border-color: var(--mantine-color-gray-3);
}

/* Footer Buttons */
._footerBox_1u05l_240 {
  background-color: var(--mantine-color-gray-0);
  border-top: 1px solid var(--mantine-color-gray-1);
  padding: 4px;
}

._createButton_1u05l_246 {
  background-color: var(--mantine-color-dark-6);
  color: white;
  font-weight: 450;
  height: 32px;
  font-size: var(--font-size-compact);
}

._createButton_1u05l_246:hover {
  background-color: var(--mantine-color-dark-7);
}

._createButton_1u05l_246:disabled {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-4);
}

._createButtonSmall_1u05l_263 {
  background-color: var(--mantine-color-dark-6);
  color: white;
  font-weight: 450;
  height: 28px;
  font-size: 12px;
}

._createButtonSmall_1u05l_263:hover {
  background-color: var(--mantine-color-dark-7);
}

._mapButton_1u05l_275 {
  color: white;
  font-weight: 450;
  height: 32px;
  font-size: var(--font-size-compact);
}

._mapButtonActive_1u05l_282 {
  background-color: var(--mantine-color-dark-6);
}

._mapButtonActive_1u05l_282:hover {
  background-color: var(--mantine-color-dark-7);
}

._mapButtonInactive_1u05l_290 {
  background-color: var(--mantine-color-gray-3);
}

._mapButtonInactive_1u05l_290:hover {
  background-color: var(--mantine-color-gray-4);
}

._mapButton_1u05l_275:disabled {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-4);
}

._mapButtonSmall_1u05l_303 {
  color: white;
  font-weight: 450;
  height: 28px;
  font-size: 12px;
}

/* Empty State */
._emptyStateBox_1u05l_311 {
  text-align: center;
}

._emptyStateTitle_1u05l_315 {
  font-size: 14px;
  color: var(--mantine-color-gray-6);
  font-weight: 450;
}

._emptyStateText_1u05l_321 {
  font-size: 14px;
  color: var(--mantine-color-gray-6);
  margin-top: 4px;
}

/* Extraction Path Preview */
._extractionPath_1u05l_328 {
  font-size: 11px;
  font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
  color: var(--mantine-color-gray-7);
  background-color: var(--mantine-color-gray-0);
  padding: 6px 8px;
  border-radius: 4px;
  border: 1px solid var(--mantine-color-gray-2);
  word-break: break-all;
  line-height: 1.4;
}

._extractionPathLabel_1u05l_340 {
  font-size: 11px;
  color: var(--mantine-color-gray-5);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Property Row with nested dropdowns */
._propertyRow_1u05l_349 {
  padding: 6px;
  background-color: var(--mantine-color-gray-0);
  border-radius: var(--mantine-radius-sm);
  border: 1px solid var(--mantine-color-gray-1);
}

/* Segmented Control for extraction scope */
._segmentedControl_1u05l_357 {
  background-color: var(--mantine-color-gray-1);
  border-radius: 6px;
}

/* Value Preview (human-readable) */
._valuePreview_1u05l_363 {
  font-size: 12px;
  color: var(--mantine-color-gray-7);
  background-color: var(--mantine-color-gray-0);
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid var(--mantine-color-gray-2);
  line-height: 1.5;
}

/* Breadcrumb for nested selection */
._breadcrumb_1u05l_374 {
  background-color: var(--mantine-color-gray-0);
  color: var(--mantine-color-gray-7);
  padding: 2px 6px;
  border-radius: 4px;
  display: inline-block;
}
._root_1hko9_1 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 28px;
    padding: 1px 0;
    font-size: var(--font-size-compact);
    width: 100%;
    gap: 0;
    border-bottom: 1px solid var(--mantine-color-gray-1);
}

._root_1hko9_1:last-child {
    border-bottom: none;
}

._root_1hko9_1[data-path=""] {
    border-bottom: none;
}

._addColumnButton_1hko9_23 {
    display: none;
}

._root_1hko9_1:hover ._addColumnButton_1hko9_23 {
    display: flex;
}

._mappedValue_1hko9_31 {
    background-color: var(--mantine-color-gray-0);
    border: 1px solid var(--mantine-color-gray-2);
    border-radius: 4px;
    padding: 4px 8px;
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
    white-space: pre-wrap;
    word-break: break-word;
    flex: 1;
    font-size: var(--font-size-compact);
    font-weight: 400;
    color: var(--mantine-color-gray-7);
    max-width: 100%;
    cursor: pointer;
}

._mappedValue_1hko9_31[href] {
    text-decoration: underline;
}

._highlight_1hko9_53 {
    background-color: var(--mantine-color-yellow-2);
    padding: 0;
}

/* Tiny green status dot rendered inside the card, before the text, to flag
   mapped values at a glance. Same visual language as Auto-run / Auto-dedupe.
   margin-top aligns with the first line of 13px text. */
._mappedValue_1hko9_31::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--mantine-color-green-5);
    flex-shrink: 0;
    margin-top: 7px;
}
._root_cbpmc_1 {
    display: inline-grid;
    grid-template-columns: auto auto;
    gap: 6px;
    align-items: center;
    padding: 4px 8px;
    border-radius: var(--mantine-radius-md);
    background-color: white;
    border: 1px solid var(--mantine-color-gray-2);
    box-shadow: var(--mantine-shadow-sm);
    font-size: 14px;
    font-weight: 450;
    color: var(--mantine-color-gray-8);
    pointer-events: none;
    z-index: var(--z-drag);
    opacity: 0.95;
}._dropdown_chdio_1 {
    padding: 0 !important
}._input_i4m37_1 {
    font-size: 14px;
    height: 23px;
    min-height: 23px;
    font-weight: 500;
    box-shadow: 0 1px 0 0 var(--mantine-color-gray-2);
    transition: box-shadow 0.3s ease-in-out;
}

._input_i4m37_1:focus {
    box-shadow: 0 1px 0 0 var(--mantine-color-gray-4);
}._nodeWrapper_p5xig_1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    padding: 5px 8px;
    margin-bottom: 1px;
    border-radius: var(--mantine-radius-sm);
    font-size: 13.5px;
    color: var(--mantine-color-gray-7);
    cursor: pointer;
    gap: 4px;
    user-select: none;
    transition: background-color 0.1s ease;
}

/* Folder specific styling */
._nodeWrapper_p5xig_1[data-folder-id] {
    font-weight: 500;
    color: var(--mantine-color-gray-8);
}

/* List specific styling */
._nodeWrapper_p5xig_1[data-list-id] {
    font-weight: 500;
    color: var(--mantine-color-gray-7);
}

._nodeWrapper_p5xig_1:hover {
    background-color: var(--mantine-color-gray-1);
}

._displayCount_p5xig_33 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1px 5px;
    font-size: 10px;
    font-weight: 500;
    color: var(--mantine-color-gray-5);
    background-color: var(--mantine-color-gray-1);
    border-radius: var(--mantine-radius-md);
    min-width: 18px;
}

._nodeWrapper_p5xig_1[data-active='true'] {
    background-color: var(--mantine-color-gray-2);
    color: var(--mantine-color-gray-9);
}

._nodeWrapper_p5xig_1[data-active='true']:hover {
    background-color: var(--mantine-color-gray-2);
}

._expandIconWrapper_p5xig_55 {
    align-items: center;
    font-size: 0;
    cursor: pointer;
    display: flex;
    justify-content: center;
    transition: transform 150ms ease;
    transform: rotate(-90deg);
    opacity: 0.7;
}

._isOpen_p5xig_66 {
    transform: rotate(0deg);
    opacity: 0.7;
}

._nodeText_p5xig_71 {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: inherit;
    font-weight: inherit;
}

._input_p5xig_80 {
    font-size: var(--font-size-compact);
    box-shadow: 0 1px 0 0 var(--mantine-color-gray-2);
}

input:focus {
    box-shadow: 0 1px 0 0 var(--mantine-color-gray-4);
}

._actionButtonInner_p5xig_89 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

._actionButtonRoot_p5xig_95[data-disabled] {
    cursor: not-allowed;
    background-color: var(--mantine-color-gray-2);
    color: var(--mantine-color-gray-6);
    opacity: 0.5;
    pointer-events: visible;
}

._popoverDropdown_p5xig_103 {
    padding: 0;
    border-radius: var(--mantine-radius-md);
}
._wrapper_11c70_1 {
    padding: 0;
}

._wrapper_11c70_1 ._draggingSource_11c70_5 {
    opacity: 0.35;
}

 ._treeRoot_11c70_9 {
     list-style-type: none;
     padding-inline-start: 0px;
     position: relative;
     margin: 0;
 }

 ._treeRoot_11c70_9 ul {
     list-style-type: none;
     padding-inline-start: 0px;
     position: relative;
     padding-bottom: 2px;
     margin-top: 1px;
 }

 /* Add left border for folder contents */
 ._treeRoot_11c70_9 li[data-droppable="true"] > ul {
     border-left: 1px solid var(--mantine-color-gray-3);
     margin-left: 8px;
     padding-left: 4px;
 }

 ._treeRoot_11c70_9 li:not(:last-child) {
     margin-bottom: 1px;
 }

 ._treeRoot_11c70_9>li:after {
     display: none;
 }

._wrapper_11c70_1 ._placeholder_11c70_39 {
    position: relative;
}

._dropTarget_11c70_43:has(> div[data-droppable="true"]) {
    background-color: var(--mantine-color-gray-1);
    border-radius: 4px;
    outline: 1px solid var(--mantine-color-gray-3);
    outline-offset: -1px;
}
/* Show not-allowed cursor only for template folders and their contents */
._treeRoot_11c70_9 div[data-template="true"] {
    cursor: not-allowed !important;
}

/* Template folder styles during drag */
._draggingSource_11c70_5[data-template="true"] {
    cursor: not-allowed !important;
    opacity: 0.3;
}

/* Mirrors the visual language of RecentListsSection so the sidebar reads as one coherent
   navigation surface, not a stack of disparate widgets. */

._container_1rzhc_4 {
  overflow: hidden;
}

/* Breathing room inside the scroller so the last thread doesn't sit flush against the bottom
   when the list is scrolled all the way down. */
._list_1rzhc_10 {
  padding-bottom: 12px;
}

._header_1rzhc_14 {
  display: flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: var(--mantine-radius-sm);
  width: 100%;
  transition: background-color 0.15s ease;
}

._header_1rzhc_14:hover {
  background-color: var(--mantine-color-gray-1);
}

._row_1rzhc_27 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  margin-bottom: 1px;
  border-radius: var(--mantine-radius-sm);
  width: 100%;
  overflow: hidden;
  cursor: pointer;
  transition: background-color 0.15s ease;
  position: relative;
  /* Pins the row height so nothing revealed on hover (the delete button) can resize it and
     shift every thread below. Belt to the button's own 20px sizing brace. */
  min-height: 30px;
}

._row_1rzhc_27:hover {
  background-color: var(--mantine-color-gray-1);
}

/* gray.2 + weight 600, matching MenuItem's active row exactly. At gray.1 the active thread
   was indistinguishable from a hovered one, so the list never showed where you were. */
._rowActive_1rzhc_50 {
  background-color: var(--mantine-color-gray-2);
  cursor: default;
}

/* Trailing status slot: the thinking loader while a run is live, the unread dot after it
   finishes. Fixed width so titles don't reflow as a run starts and stops. */
._status_1rzhc_57 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  /* The spinner draws in currentColor — keep it quiet so a running thread reads as a status
     hint rather than competing with the title beside it. */
  color: var(--mantine-color-gray-5);
}

/* A run finished since the user last had this conversation open. No white ring any more —
   it sits in its own slot rather than overlapping a glyph, so it needs no knockout. */
._unreadDot_1rzhc_71 {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--mantine-color-brand-6);
}

._body_1rzhc_78 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* The whole row spec lives here rather than half here and half in inline Text props, so
   colour and weight can't drift apart from the background states above. */
._title_1rzhc_86 {
  min-width: 0;
  font-size: var(--menu-row-font-size);
  font-weight: 500;
  color: var(--mantine-color-gray-7);
}

._row_1rzhc_27:hover ._title_1rzhc_86 {
  color: var(--mantine-color-gray-9);
}

._rowActive_1rzhc_50 ._title_1rzhc_86 {
  font-weight: 600;
  color: var(--mantine-color-gray-9);
}

/* `display: none`, not `opacity: 0`. Hidden it reserved its 26px plus the row's 8px gap on
   every row, so titles truncated ~34px early against a button nobody could see. Taken out of
   flow entirely the title gets the full width at rest, and because the button comes BACK into
   flow on hover the title re-truncates ahead of it rather than running underneath. */
._deleteAction_1rzhc_106 {
  display: none;
  flex-shrink: 0;
}

._row_1rzhc_27:hover ._deleteAction_1rzhc_106 {
  display: flex;
}

/* Keyboard path: :focus-visible, NOT :focus-within. A mouse click focuses the row too
   (it's a button), and with :focus-within that pinned the trash icon visible after every
   click until focus moved elsewhere. :focus-visible only matches keyboard focus, so
   tabbing to a row still reveals the button before the next Tab lands on it — a
   display:none control is unfocusable, so revealing from the row is the only way in.
   Split into separate rules (not a selector list) so a browser without :has() drops only
   that rule instead of the whole group. */
._row_1rzhc_27:focus-visible ._deleteAction_1rzhc_106 {
  display: flex;
}

/* Keeps the button visible while Tab is ON it: at that point the row itself no longer
   matches :focus-visible, and hiding a control mid-focus would trap the keyboard user. */
._row_1rzhc_27:has(:focus-visible) ._deleteAction_1rzhc_106 {
  display: flex;
}

._seeAll_1rzhc_132 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  margin-top: 2px;
  border-radius: var(--mantine-radius-sm);
  width: 100%;
  transition: background-color 0.15s ease;
}

._seeAll_1rzhc_132:hover {
  background-color: var(--mantine-color-gray-1);
}
._navbar_mbp3z_1 {
  justify-content: space-between;
  background-color: var(--mantine-color-gray-0);
  border: none !important;
  box-shadow: inset -1px 0px 0px 0px var(--mantine-color-gray-2);
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: visible !important;
}

/* Drag strip on the chat panel's right edge, straddling the boundary so it is easy to grab.
   Nothing paints at rest; the grip inside appears on hover (see PanelResizeHandle). */
._resizeHandle_mbp3z_12 {
  position: absolute;
  top: 0;
  right: -6px;
  width: 12px;
  height: 100%;
  cursor: col-resize;
  z-index: 5;
  touch-action: none;
}

/* The grabber: a positioning box slid along the edge to sit beside the pointer (the short
   transform ease is what makes it read as "following" rather than snapping), and inside it
   the visible pill, which swells on press. Two elements because the slide is a JS transform
   and the swell is a CSS one; on one element they would overwrite each other. The pill sits
   on the sidebar's side of the boundary line, 2px in, rather than straddling the line. */
._resizeGrip_mbp3z_28 {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 40px;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.15s ease,
    transform 90ms ease-out;
  pointer-events: none;
  will-change: transform;
}

._resizeGripBar_mbp3z_43 {
  width: 100%;
  height: 100%;
  border-radius: 2px;
  background-color: var(--mantine-color-gray-4);
  transform-origin: center;
  transition:
    transform 160ms cubic-bezier(0.34, 1.56, 0.64, 1),
    background-color 0.15s ease;
}

._resizeHandle_mbp3z_12:hover ._resizeGrip_mbp3z_28,
._resizeHandle_mbp3z_12:focus-visible ._resizeGrip_mbp3z_28,
._resizeHandleActive_mbp3z_56 ._resizeGrip_mbp3z_28 {
  opacity: 1;
}

/* Keyboard focus shows the pill in its pressed shade instead of a ring around a 12px strip. */
._resizeHandle_mbp3z_12:focus-visible {
  outline: none;
}

._resizeHandle_mbp3z_12:focus-visible ._resizeGripBar_mbp3z_43 {
  background-color: var(--mantine-color-gray-6);
}

._resizeHandleActive_mbp3z_56 ._resizeGripBar_mbp3z_43 {
  background-color: var(--mantine-color-gray-6);
  transform: scale(1.25, 1.15);
}

/* Hint label riding on the pill, to its right, so it travels with it. Shown after a short
   hover dwell (a label that pops on the first pixel of contact reads as noise when the user
   is only passing through), hidden the moment a drag starts. */
._resizeHint_mbp3z_77 {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  padding: 4px 8px;
  border-radius: var(--mantine-radius-sm);
  background-color: var(--mantine-color-dark-9);
  color: var(--mantine-color-white);
  font-size: 12px;
  line-height: 1.3;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.12s ease;
}

._resizeHandle_mbp3z_12:hover ._resizeHint_mbp3z_77 {
  opacity: 1;
  transition-delay: 500ms;
}

/* Doubled class to outrank the :hover rule above (same specificity otherwise, and the strip
   stays hovered for the whole drag under pointer capture). */
._resizeHandle_mbp3z_12._resizeHandleActive_mbp3z_56 ._resizeHint_mbp3z_77 {
  opacity: 0;
}

/* While the panel is being dragged (useResizablePanelWidth flags the root), the Browse|Chat
   chip must follow its tab's new bounds each frame; Mantine's 200ms indicator ease made it
   trail the edge. */
html[data-panel-resizing] ._workspacePanelHeader_mbp3z_107 .mantine-SegmentedControl-indicator {
  transition: none !important;
}

._scrollSection_mbp3z_111 {
  height: 100%;
  min-height: 0;
  flex: 1;
  overflow: auto;
}

/* Content fade transition */
._sidebarContent_mbp3z_119 {
  animation: _fadeIn_mbp3z_1 0.15s ease-out;
}

@keyframes _fadeIn_mbp3z_1 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Collapse/Expand button */
._collapseButton_mbp3z_133 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--mantine-radius-md);
  cursor: pointer;
  opacity: 0;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
  flex-shrink: 0;
}

._collapseButton_mbp3z_133:hover {
  background-color: var(--mantine-color-gray-2);
}

._collapseButton_mbp3z_133:hover svg {
  color: var(--mantine-color-gray-8) !important;
}

/* Show collapse button on navbar hover */
._navbar_mbp3z_1:hover ._collapseButton_mbp3z_133 {
  opacity: 1;
}

/* --- Collapsed icon rail --- */
/* Collapsing shrinks the sidebar to an icon-only rail instead of hiding it. */

._railItem_mbp3z_168 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: var(--mantine-radius-sm);
  color: var(--mantine-color-gray-6);
  transition:
    background-color 0.15s ease,
    color 0.15s ease;
}

._railItem_mbp3z_168:hover,
._railItem_mbp3z_168:focus-visible {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-8);
}

/* Keyboard focus reuses the hover treatment so the rail reads the same either way,
   and keeps a ring on top of it since hover alone is ambiguous without a pointer. */
._railItem_mbp3z_168:focus-visible {
  outline: 2px solid var(--mantine-color-dark-5);
  outline-offset: 1px;
}

/* Same gray active tokens as the expanded sidebar's MenuItem — the Create button
   stays the shell's only brand-orange element. */
._railItemActive_mbp3z_197,
._railItemActive_mbp3z_197:hover {
  background-color: var(--mantine-color-gray-2);
  color: var(--mantine-color-gray-9);
}

/* Create button — the one deliberate brand-orange element in the shell. */
._railCreate_mbp3z_204,
._railCreate_mbp3z_204:hover {
  background-color: var(--mantine-color-brand-5);
  color: var(--mantine-color-white);
}

._railCreate_mbp3z_204:hover {
  background-color: var(--mantine-color-brand-6);
}

._railDivider_mbp3z_214 {
  width: 22px;
  height: 1px;
  flex-shrink: 0;
  background-color: var(--mantine-color-gray-2);
  margin: 4px 0;
}

._railColumn_mbp3z_222 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0;
  width: 52px;
  padding: 12px 8px;
  /* One step darker than the panel beside it — depth without a border. */
  background-color: var(--mantine-color-gray-1);
}

/* Hover needs a step above the darker rail ground to stay visible. Excludes the
   active (brand tint) and create (brand fill) states, which keep their own hovers. */
._railColumn_mbp3z_222 ._railItem_mbp3z_168:not(._railItemActive_mbp3z_197):not(._railCreate_mbp3z_204):hover,
._railColumn_mbp3z_222 ._railItem_mbp3z_168:not(._railItemActive_mbp3z_197):not(._railCreate_mbp3z_204):focus-visible {
  background-color: var(--mantine-color-gray-2);
}

/* Conversations column beside the rail in chat mode, for one-click thread switching.
   No border: the panel beside the rail owns no edges of its own (gray shell + card
   pattern), matching .workspacePanel. The min-width floor keeps thread titles legible
   instead of collapsing to nothing on a narrow viewport. */
._conversationsColumn_mbp3z_244 {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 180px;
  /* Roomier bottom inset than the rail beside it: this column runs the full height of the
     viewport, so without it the last thread sits flush against the bottom of the screen.
     Sits OUTSIDE the scroller, so it's a permanent gap rather than scroll-away padding —
     the list's own 12px bottom padding handles the scrolled-to-the-end case. */
  padding: 12px 8px 20px;
}

._railItemSm_mbp3z_256 {
  width: 24px;
  height: 24px;
}

/* Scroll region for the thread list. Relative so the edge fades anchor to the scroller
   rather than to the column's padding box. */
._conversationsScroll_mbp3z_263 {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* Edge fades. Rendered only when there is content to scroll to in that direction, so a short
   list shows neither and no thread gets washed out for nothing. */
._conversationsFadeTop_mbp3z_273,
._conversationsFadeBottom_mbp3z_274 {
  position: absolute;
  left: 0;
  right: 0;
  height: 24px;
  pointer-events: none;
  z-index: 1;
}

/* Tinted to the navbar's own gray-0, NOT white — a white fade over a gray surface paints a
   visible band instead of dissolving (the exact bug the transcript's fade had).
   The rgba() is gray-0 at zero alpha: plain `transparent` is rgba(0,0,0,0), so the gradient
   interpolates through a dark midpoint and dirties the falloff. KEEP IN SYNC with
   --mantine-color-gray-0 (#fafaf9). */
._conversationsFadeTop_mbp3z_273 {
  top: 0;
  background: linear-gradient(to bottom, var(--mantine-color-gray-0) 0%, rgba(250, 250, 249, 0) 100%);
}

._conversationsFadeBottom_mbp3z_274 {
  bottom: 0;
  background: linear-gradient(to top, var(--mantine-color-gray-0) 0%, rgba(250, 250, 249, 0) 100%);
}

/* Labeled "New chat" action at the head of the conversations column. Text beside the icon
   rather than a bare glyph: it's the column's primary action, and a lone pencil relied on a
   tooltip to say what it did. Same row language as the threads below it. */
._newChatButton_mbp3z_301 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: var(--mantine-radius-sm);
  font-size: var(--menu-row-font-size);
  font-weight: 500;
  color: var(--mantine-color-gray-7);
  white-space: nowrap;
  transition: background-color 0.15s ease;
}

._newChatButton_mbp3z_301:hover {
  background-color: var(--mantine-color-gray-1);
  color: var(--mantine-color-gray-9);
}

/* Workspace panel beside the rail — Browse | Chat column. Naked gray navigation
   surface: no background of its own, no borders; the content card's border is the
   only edge (gray shell + card pattern). */
._workspacePanel_mbp3z_107 {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  min-height: 0;
  /* Fades in as the navbar widens so entering a workspace reads as one motion. */
  animation: _fadeIn_mbp3z_1 0.2s ease-out;
}

/* Panel header (tab toggle + collapse) — fixed 44px, sits directly on the gray shell. */
._workspacePanelHeader_mbp3z_107 {
  height: 44px;
  flex-shrink: 0;
}

/* Workspace switcher at the top of the Browse tab. */
._workspaceSwitcher_mbp3z_340 {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 10px 8px 4px;
  padding: 6px 8px;
  border-radius: var(--mantine-radius-sm);
  transition: background-color 0.15s ease;
}

._workspaceSwitcher_mbp3z_340:hover {
  background-color: var(--mantine-color-gray-1);
}

._workspacePanelNewTable_mbp3z_354 {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  /* Sits inside the tree's px-8 container — no extra horizontal margin, aligns with rows. */
  margin: 2px 0 0;
  padding: 6px 10px;
  border-radius: var(--mantine-radius-sm);
  transition: background-color 0.15s ease;
}

._workspacePanelNewTable_mbp3z_354:hover {
  background-color: var(--mantine-color-gray-1);
}

/* Live-runs indicator on the rail's Runs icon — count lives in the tooltip. */
._railDot_mbp3z_371 {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: var(--mantine-color-brand-6);
}

@media (max-width: 48em) {
  ._navbar_mbp3z_1 {
    padding-left: var(--mantine-spacing-xs);
    padding-right: var(--mantine-spacing-xs);
  }
}
._container_wcilm_1 {
  overflow: hidden;
}

._header_wcilm_5 {
  display: flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: var(--mantine-radius-sm);
  width: 100%;
  transition: background-color 0.15s ease;
}

._header_wcilm_5:hover {
  background-color: var(--mantine-color-gray-1);
}

._content_wcilm_18 {
  overflow: hidden;
}

._tabs_wcilm_22 {
  display: flex;
  gap: 14px;
  padding: 4px 8px 2px;
}

._tab_wcilm_22 {
  font-size: 12px;
  font-weight: 500;
  color: var(--mantine-color-gray-5);
  padding: 2px 0;
  border-bottom: 1px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}

._tab_wcilm_22:hover {
  color: var(--mantine-color-gray-7);
}

._tabActive_wcilm_41 {
  color: var(--mantine-color-gray-8);
  border-bottom-color: var(--mantine-color-gray-7);
}

._skeletonRow_wcilm_46 {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
}

._listItem_wcilm_53 {
  display: flex;
  align-items: center;
  padding: 5px 8px;
  margin-bottom: 1px;
  border-radius: var(--mantine-radius-sm);
  width: 100%;
  overflow: hidden;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

._listItem_wcilm_53:hover {
  background-color: var(--mantine-color-gray-1);
}

._itemContent_wcilm_69 {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  min-width: 0;
  flex: 1;
}

._emojiBox_wcilm_78 {
  min-width: 20px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

._listName_wcilm_88 {
  min-width: 0;
}
/* Fills the workspace sidebar's chat column. The hosting column owns borders/width;
   this just lays out header + body. */
._dockDocked_1roxm_3 {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  /* Transparent — inherits the shell gray so the chat column reads as part of the
     canvas, not another box. */
  background-color: transparent;
  overflow: hidden;
}

._header_1roxm_15 {
  flex-shrink: 0;
}

/* Title pill — Notion-style. Clickable, hover state hints it's a control (chat picker). The
   chevron after the label signals the dropdown affordance. */
._titlePill_1roxm_21 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 70%;
  padding: 4px 8px 4px 10px;
  border-radius: var(--mantine-radius-sm);
  cursor: pointer;
  transition: background-color 0.12s ease;
}

._titlePill_1roxm_21:hover {
  background-color: var(--mantine-color-gray-1);
}

._body_1roxm_36 {
  flex: 1;
  overflow: auto;
  display: flex;
  flex-direction: column;
}
._root_105eg_1 {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px 18px 18px;
  overflow-y: auto;
}

/* Opening line from the agent. Grouped with the starter rows rather than pinned to the top:
   anchored separately it left a lone paragraph floating above the full height of the panel.
   Sitting directly above the rows it introduces, it reads as one block with them. */
._opener_105eg_12 {
  max-width: 52ch;
  margin-bottom: 12px;
}

/* Opener + starter rows sit at the TOP, where the transcript's first message will render.
   They used to be bottom-anchored with the whole body left blank above them, which in a
   full-height dock read as an empty panel rather than a calm one. Leading with them makes
   the empty state look like a thread that has started: one message, then room below it. */
._starters_105eg_21 {
  margin-bottom: 4px;
}

/* Composer block — no wrapper border/background of its own; the textarea + bottom action row
   read as one element inside ChatComposer's rounded container. `margin-top: auto` keeps it
   pinned to the bottom now that the content above is top-aligned. */
._composerWrap_105eg_28 {
  margin-top: auto;
  padding-top: 16px;
}
._appShellMain_1g0vv_1 {
  height: 100dvh;
  padding-left: var(--mantine-navbar-width, 0px);
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  /* Matches the navbar's width transition — without it the main area's padding jumps to
     the final value instantly and a white gap shows until the navbar catches up. */
  transition: padding-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* While the chat panel is being dragged (useResizablePanelWidth flags the root), the main
   area has to track the pointer frame by frame, not ease toward it. */
html[data-panel-resizing] ._appShellMain_1g0vv_1 {
  transition: none;
}

._appShellMainCollapsed_1g0vv_20 {
  height: 100dvh;
  padding-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  background-color: var(--mantine-color-white);
}

._appShellBody_1g0vv_31 {
  background-color: var(--mantine-color-gray-0);
  flex: 1;
  display: flex;
  flex-direction: column;
}

._toastIconBox_1g0vv_38 {
  display: flex; /* Added this as it was on the Box component */
  flex-shrink: 0;
}

._toastStyle_1g0vv_43 {
  max-width: 500px;
}

/* Alert banner - minimal, clean design */
._readOnlyBanner_1g0vv_48 {
  border-bottom: 1px solid var(--mantine-color-gray-2);
  background: var(--mantine-color-gray-0);
  padding: 8px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

._appMainBox_1g0vv_58 {
  background-color: var(--mantine-color-white);
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex: 1;
  min-height: 0;
}

._appMainBox_1g0vv_58::-webkit-scrollbar {
  display: none;
}

._topSectionWrapper_1g0vv_71 {
  display: flex;
  flex-direction: column;
}

/* Menu button when sidebar is collapsed */
._sidebarMenuButton_1g0vv_77 {
  position: fixed;
  top: 14px;
  left: 6px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--mantine-radius-md);
  cursor: pointer;
  z-index: 100;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
}

._sidebarMenuButton_1g0vv_77:hover {
  background-color: var(--mantine-color-gray-1);
}

._sidebarMenuButton_1g0vv_77:hover svg {
  color: var(--mantine-color-gray-8) !important;
}

/* Hover trigger zone for collapsed sidebar */
._sidebarHoverZone_1g0vv_107 {
  position: fixed;
  top: 0;
  left: 0;
  width: 12px;
  height: 100dvh;
  z-index: 99;
  cursor: pointer;
}

._sidebarHoverZone_1g0vv_107::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
  width: 4px;
  height: 40px;
  background-color: var(--mantine-color-gray-3);
  border-radius: var(--mantine-radius-xs);
  opacity: 0;
  transition: opacity 0.15s ease;
}

._sidebarHoverZone_1g0vv_107:hover::after {
  opacity: 1;
}

/* Dimmed backdrop behind the overlay on narrow screens; tapping it closes the sidebar */
._sidebarBackdrop_1g0vv_136 {
  position: fixed;
  inset: 0;
  z-index: 199;
  background-color: rgba(0, 0, 0, 0.2);
}

/* Overlay sidebar container */
._sidebarOverlay_1g0vv_144 {
  position: fixed;
  top: 44px;
  left: 8px;
  height: calc(100dvh - 120px);
  max-height: calc(100dvh - 88px);
  z-index: var(--z-chrome);
  will-change: opacity, transform;
  animation: _slideInSidebar_1g0vv_1 0.15s ease-out forwards;
}

@keyframes _slideInSidebar_1g0vv_1 {
  0% {
    opacity: 0;
    transform: translateX(-8px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
._settingsShellMain_wjhfv_1 {
  height: 100dvh;
  padding-left: calc(var(--mantine-navbar-width, 0px)); /* Note: No +2px like AppLayout */
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
}

._toastIconBox_wjhfv_9 {
  display: flex;
  flex-shrink: 0;
}

._toastStyle_wjhfv_14 {
  max-width: 450px;
}

._settingsMainContentBox_wjhfv_18 {
  margin: auto;
  height: 100%;
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-left: 1px solid var(--mantine-color-gray-2);
}

._settingsMainContentBox_wjhfv_18::-webkit-scrollbar {
  display: none;
}
