/* /App.razor.rz.scp.css */
/* Auth gate styles now live in MainLayout.razor.css as the loading curtain */
/* /Layout/MainLayout.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────
   Page Shell
   ───────────────────────────────────────────────────────── */

.page[b-1z36pzjo1c] {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--crm-bg);
}

main[b-1z36pzjo1c] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

/* ─────────────────────────────────────────────────────────
   Sidebar
   ───────────────────────────────────────────────────────── */

.sidebar[b-1z36pzjo1c] {
  background: linear-gradient(170deg, var(--crm-navy) 0%, var(--crm-navy-dark, #091A36) 100%);
  position: relative;
  flex-shrink: 0;
}

/* Micro dot-grid texture — adds depth without noise */
.sidebar[b-1z36pzjo1c]::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
  z-index: 0;
}

/* ─────────────────────────────────────────────────────────
   Top Bar
   ───────────────────────────────────────────────────────── */

.top-row[b-1z36pzjo1c] {
  background: var(--crm-white);
  border-bottom: 1px solid var(--crm-border);
  justify-content: flex-end;
  height: 58px;
  display: flex;
  align-items: center;
  padding: 0 1.75rem !important;
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 1px 4px rgba(13,36,71,0.04);
}

/* ─────────────────────────────────────────────────────────
   Alpha Environment Banner
   ───────────────────────────────────────────────────────── */

.alpha-banner[b-1z36pzjo1c] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.3rem 1rem;
  background: linear-gradient(90deg, #F59E0B, #D97706);
  color: #78350F;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  position: sticky;
  top: 58px;
  z-index: 19;
  text-align: center;
}

.alpha-banner-badge[b-1z36pzjo1c] {
  display: inline-block;
  background: rgba(120, 53, 15, 0.18);
  color: #78350F;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.1rem 0.5rem;
  border-radius: 9999px;
  line-height: 1.4;
}

/* ─────────────────────────────────────────────────────────
   Content Area
   ───────────────────────────────────────────────────────── */

article.content[b-1z36pzjo1c] {
  flex: 1;
  padding: 2rem 2.25rem !important;
}

/* ─────────────────────────────────────────────────────────
   Unauthenticated layout — full-bleed branded background
   ───────────────────────────────────────────────────────── */

main.main-unauth[b-1z36pzjo1c] {
  position: relative;
  background: linear-gradient(170deg, var(--crm-navy) 0%, var(--crm-navy-dark, #091A36) 100%);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: clip;
  padding: 2.5rem 1rem;
}

/* Same dot-grid texture as the sidebar */
main.main-unauth[b-1z36pzjo1c]::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
  z-index: 0;
}

/* Elevate content above dot-grid and orbs */
.auth-brand-header[b-1z36pzjo1c],
main.main-unauth[b-1z36pzjo1c]  article.content {
  position: relative;
  z-index: 1;
}

/* Let article size to its content so the brand header + card center as one group */
main.main-unauth article.content[b-1z36pzjo1c] {
  flex: 0 0 auto;
  padding-top: 1rem !important;
}

/* ─────────────────────────────────────────────────────────
   Unauthenticated — centred branding header
   ───────────────────────────────────────────────────────── */

.auth-brand-header[b-1z36pzjo1c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1rem 0;
  gap: 0.6rem;
  animation: crm-slide-up 0.5s var(--crm-ease) both;
}

.auth-brand-logo[b-1z36pzjo1c] {
  height: 52px;
  object-fit: contain;
  filter: drop-shadow(0 0 12px var(--crm-teal-glow));
}

.auth-brand-name[b-1z36pzjo1c] {
  font-family: 'Instrument Serif', serif;
  font-size: 1.75rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
}

/* ─────────────────────────────────────────────────────────
   Ambient Orbs — floating gradient blurs on login bg
   ───────────────────────────────────────────────────────── */

.auth-orb[b-1z36pzjo1c] {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(80px);
  opacity: 0.35;
  will-change: transform;
}

.auth-orb-1[b-1z36pzjo1c] {
  width: 400px;
  height: 400px;
  top: 5%;
  left: 5%;
  background: var(--crm-teal);
  animation: crm-float-orb 20s ease-in-out infinite;
}

.auth-orb-2[b-1z36pzjo1c] {
  width: 350px;
  height: 350px;
  bottom: 5%;
  right: 5%;
  background: var(--crm-navy-400);
  animation: crm-float-orb 25s ease-in-out infinite reverse;
}

.auth-orb-3[b-1z36pzjo1c] {
  width: 250px;
  height: 250px;
  top: 35%;
  left: 55%;
  background: var(--crm-teal-600);
  animation: crm-float-orb 18s ease-in-out infinite 5s;
}

/* ─────────────────────────────────────────────────────────
   Loading Curtain — navy overlay that covers the entire
   viewport during initial load, then fades away to reveal
   the ready layout underneath.
   ───────────────────────────────────────────────────────── */

.load-curtain[b-1z36pzjo1c] {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(170deg, var(--crm-navy) 0%, var(--crm-navy-dark, #091A36) 100%);
}

/* Dot-grid texture matching login + sidebar */
.load-curtain[b-1z36pzjo1c]::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none;
}

.load-curtain-spinner[b-1z36pzjo1c] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.08);
  border-top-color: var(--crm-teal);
  animation: curtain-spin-b-1z36pzjo1c 0.7s linear infinite;
  position: relative;
  z-index: 1;
}

/* Fade-out state — played when layout is ready */
.load-curtain--out[b-1z36pzjo1c] {
  animation: curtain-fade-out-b-1z36pzjo1c 0.45s var(--crm-ease) both;
}

@keyframes curtain-spin-b-1z36pzjo1c {
  to { transform: rotate(360deg); }
}

@keyframes curtain-fade-out-b-1z36pzjo1c {
  from { opacity: 1; }
  to   { opacity: 0; pointer-events: none; }
}

@media (prefers-reduced-motion: reduce) {
  .load-curtain-spinner[b-1z36pzjo1c] { animation: none; }
  .load-curtain--out[b-1z36pzjo1c] { animation-duration: 0.01s; }
}

/* User Menu styles moved to Shared/UserMenu.razor.css so the component is styled
   wherever it's used (the staff shell here, plus the Member/Vendor portal top
   bars). The mobile-slot tweaks below stay here — they're about this layout's
   sidebar slot, not the component itself. */

/* ─────────────────────────────────────────────────────────
   Responsive
   ───────────────────────────────────────────────────────── */

@media (max-width: 640.98px) {
  .top-row[b-1z36pzjo1c] { display: none; }
  article.content[b-1z36pzjo1c] { padding: 1.25rem 1rem !important; }

  /* On mobile the window is the scroll container, but main has
     overflow:hidden (set above for desktop, where main IS the scroll
     container alongside a sticky sidebar). overflow:hidden also makes
     main a scrolling container for sticky positioning, which silently
     breaks `position: sticky` on any descendant — the sticky pins inside
     main (which never scrolls on mobile) instead of the viewport.
     `overflow: clip` keeps the visual clipping without registering as a
     scroll container, so descendant sticky elements pin to the viewport
     as expected. */
  main[b-1z36pzjo1c] { overflow: clip; }

  .mobile-user-menu-slot[b-1z36pzjo1c] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 0.875rem 0.5rem;
    position: relative;
    z-index: 1;
  }

  [b-1z36pzjo1c] .mobile-user-menu-slot .user-display-name { display: none; }
  [b-1z36pzjo1c] .mobile-user-menu-slot .user-caret { display: none; }

  /* Alpha banner: drop sticky on mobile (no top-row to anchor to) and
     condense to a slim inline strip so it scrolls with content instead
     of overlapping page H1s. */
  .alpha-banner[b-1z36pzjo1c] {
    position: static;
    top: auto;
    z-index: auto;
    padding: 0.25rem 0.65rem;
    font-size: 0.7rem;
    line-height: 1.3;
    border-radius: 0;
    gap: 0.4rem;
  }
  .alpha-banner-badge[b-1z36pzjo1c] {
    font-size: 0.6rem;
    padding: 0.05rem 0.4rem;
  }
}

@media (min-width: 641px) {
  .page[b-1z36pzjo1c] { flex-direction: row; }

  .sidebar[b-1z36pzjo1c] {
    width: 264px;
    height: 100vh;
    position: sticky;
    top: 0;
    transition: width 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
  }

  .sidebar.sidebar-collapsed[b-1z36pzjo1c] {
    width: 64px;
  }

  main[b-1z36pzjo1c] { flex: 1; overflow: auto; }

  article.content[b-1z36pzjo1c] { min-height: calc(100vh - 58px); }
}

/* Collapsed sidebar — hide text, center icons */
[b-1z36pzjo1c] .sidebar-collapsed .nav-label {
  opacity: 0;
  width: 0;
  overflow: hidden;
  pointer-events: none;
}

[b-1z36pzjo1c] .sidebar-collapsed .nav-brand-text {
  opacity: 0;
  width: 0;
  overflow: hidden;
  pointer-events: none;
}

[b-1z36pzjo1c] .sidebar-collapsed .nav-link {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

[b-1z36pzjo1c] .sidebar-collapsed .bi {
  margin-right: 0;
  transform: scale(1.1);
  transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),
              margin 0.22s cubic-bezier(0.4, 0, 0.2, 1),
              opacity var(--crm-fast) ease;
}

[b-1z36pzjo1c] .sidebar-collapsed .nav-version {
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}

[b-1z36pzjo1c] .sidebar-collapsed .nav-version-text {
  font-size: 0.55rem;
}

/* ─────────────────────────────────────────────────────────
   Mobile User Menu Slot
   ───────────────────────────────────────────────────────── */

.mobile-user-menu-slot[b-1z36pzjo1c] { display: none; }

/* Mobile: restore nav labels even when sidebar is collapsed */
@media (max-width: 640.98px) {
  [b-1z36pzjo1c] .sidebar-collapsed .nav-label {
    opacity: 1;
    width: auto;
    overflow: visible;
    pointer-events: auto;
  }

  [b-1z36pzjo1c] .sidebar-collapsed .nav-brand-text {
    opacity: 1;
    width: auto;
    overflow: visible;
    pointer-events: auto;
  }

  [b-1z36pzjo1c] .sidebar-collapsed .nav-link {
    justify-content: flex-start;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }

  [b-1z36pzjo1c] .sidebar-collapsed .bi {
    margin-right: 0.7rem;
  }
}
/* /Layout/MemberLayout.razor.rz.scp.css */
/* Member portal top-bar shell. Uses brand color variables so it stays in sync
   with the rest of the app, but the geometry (top header + centered container)
   is intentionally different from the staff CRM's sidebar layout. */

.member-shell[b-5xx3p57nkd] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f4f6fb;
    color: #1c2334;
}

.member-topbar[b-5xx3p57nkd] {
    background: linear-gradient(135deg,
        var(--crm-navy, #14213d) 0%,
        var(--crm-navy-dark, #0c172a) 100%);
    color: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    position: sticky;
    top: 0;
    z-index: 50;
}

.member-topbar-inner[b-5xx3p57nkd] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.75rem 1.5rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 2rem;
    align-items: center;
}

.member-brand[b-5xx3p57nkd] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

.member-brand-logo[b-5xx3p57nkd] {
    height: 36px;
    width: auto;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.92);
    padding: 4px 6px;
}

.member-brand-text[b-5xx3p57nkd] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.member-brand-name[b-5xx3p57nkd] {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.member-brand-suffix[b-5xx3p57nkd] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    opacity: 0.7;
}

.member-nav[b-5xx3p57nkd] {
    display: flex;
    gap: 0.25rem;
    justify-content: center;
}

.member-nav-link[b-5xx3p57nkd] {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-weight: 500;
    transition: background 120ms ease, color 120ms ease;
}

.member-nav-link:hover[b-5xx3p57nkd] {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

[b-5xx3p57nkd] .member-nav-link.active {
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
}

.member-topbar-user[b-5xx3p57nkd] {
    justify-self: end;
}

/* UserMenu renders on the navy top bar — lighten the toggle (avatar keeps its
   gradient; the dropdown keeps its own white surface from UserMenu.razor.css). */
.member-topbar-user[b-5xx3p57nkd]  .user-menu-toggle { color: #fff; }
.member-topbar-user[b-5xx3p57nkd]  .user-display-name { color: #fff; }
.member-topbar-user[b-5xx3p57nkd]  .user-caret { color: rgba(255, 255, 255, 0.55); }

.member-topbar-user[b-5xx3p57nkd]  .user-menu-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.18);
}

.member-main[b-5xx3p57nkd] {
    flex: 1 1 auto;
    padding: 2.5rem 1.5rem 4rem;
}

.member-container[b-5xx3p57nkd] {
    max-width: 1100px;
    margin: 0 auto;
}

@media (max-width: 720px) {
    .member-topbar-inner[b-5xx3p57nkd] {
        grid-template-columns: 1fr auto;
        gap: 1rem;
    }
    .member-nav[b-5xx3p57nkd] {
        grid-column: 1 / -1;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .member-brand-suffix[b-5xx3p57nkd] { display: none; }
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────
   Nav Header (brand + collapse btn + mobile hamburger)
   ───────────────────────────────────────────────────────── */

.nav-header[b-2k5z7k35em] {
  height: 58px;
  min-height: 58px;
  display: flex;
  align-items: center;
  padding: 0 0.875rem;
  border-bottom: none;
  position: relative;
  z-index: 1;
  gap: 0.25rem;
}

/* Gradient separator replacing solid border */
.nav-header[b-2k5z7k35em]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0.875rem;
  right: 0.875rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12) 30%, rgba(255,255,255,0.12) 70%, transparent);
}

.nav-brand[b-2k5z7k35em] {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff !important;
  letter-spacing: -0.01em;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  line-height: 1;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* Teal pulse dot — shown when no logo */
.nav-brand:not(:has(.nav-logo))[b-2k5z7k35em]::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  min-width: 8px;
  background: var(--crm-teal);
  border-radius: 50%;
  box-shadow: 0 0 0 3px var(--crm-teal-glow), 0 0 8px var(--crm-teal-glow);
  flex-shrink: 0;
}

.nav-logo[b-2k5z7k35em] {
  height: 26px;
  max-width: 80px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 0 6px var(--crm-teal-glow));
}

.nav-brand-text[b-2k5z7k35em] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: opacity 0.18s ease, width 0.22s cubic-bezier(0.4,0,0.2,1);
}

/* ─────────────────────────────────────────────────────────
   Collapse Button (desktop chevron)
   ───────────────────────────────────────────────────────── */

.nav-collapse-btn[b-2k5z7k35em] {
  display: none; /* shown only on desktop via media query */
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 6px;
  cursor: pointer;
  padding: 0;
  transition: background var(--crm-fast) ease;
}

.nav-collapse-btn:hover[b-2k5z7k35em] {
  background: rgba(255,255,255,0.14);
}

/* Chevron arrow via CSS border trick */
.nav-collapse-icon[b-2k5z7k35em] {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-left: 2px solid rgba(255,255,255,0.7);
  border-bottom: 2px solid rgba(255,255,255,0.7);
  transform: rotate(45deg) translateX(1px);
  transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

/* When collapsed, flip chevron to point right */
.nav-collapse-icon.is-collapsed[b-2k5z7k35em] {
  transform: rotate(-135deg) translateX(-1px);
}

/* ─────────────────────────────────────────────────────────
   Mobile Hamburger
   ───────────────────────────────────────────────────────── */

.nav-mobile-toggle[b-2k5z7k35em] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 6px;
  cursor: pointer;
  padding: 0 9px;
  flex-shrink: 0;
  transition: background var(--crm-fast) ease;
}

.nav-mobile-toggle:hover[b-2k5z7k35em] { background: rgba(255,255,255,0.15); }

.nav-mobile-toggle span[b-2k5z7k35em] {
  display: block;
  height: 2px;
  width: 100%;
  background: rgba(255,255,255,0.8);
  border-radius: 2px;
}

/* ─────────────────────────────────────────────────────────
   Nav Body
   ───────────────────────────────────────────────────────── */

.nav-body[b-2k5z7k35em] {
  padding: 0.875rem 0.75rem;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  z-index: 1;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.1) transparent;
  mask-image: linear-gradient(to bottom, transparent, black 20px, black calc(100% - 20px), transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 20px, black calc(100% - 20px), transparent);
}

.nav-body[b-2k5z7k35em]::-webkit-scrollbar { width: 4px; }
.nav-body[b-2k5z7k35em]::-webkit-scrollbar-track { background: transparent; }
.nav-body[b-2k5z7k35em]::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 2px; }

/* ─────────────────────────────────────────────────────────
   Nav Links
   ───────────────────────────────────────────────────────── */

.nav[b-2k5z7k35em]  .nav-link {
  color: rgba(255,255,255,0.6);
  border-radius: 8px;
  height: 2.65rem;
  display: flex;
  align-items: center;
  padding: 0 0.875rem;
  font-family: 'Outfit', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  border-left: 3px solid transparent;
  margin-bottom: 0.1rem;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  transition: background-color var(--crm-fast) ease,
              color var(--crm-fast) ease,
              border-color var(--crm-fast) ease,
              box-shadow var(--crm-mid) var(--crm-ease);
}

/* Animated left bar via pseudo-element */
.nav[b-2k5z7k35em]  .nav-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  height: 60%;
  width: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,0.3);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform var(--crm-mid) var(--crm-ease),
              background var(--crm-fast) ease,
              box-shadow var(--crm-fast) ease;
}

.nav[b-2k5z7k35em]  .nav-link:hover {
  color: rgba(255,255,255,0.92);
  background: rgba(255,255,255,0.07);
  border-left-color: transparent;
}

.nav[b-2k5z7k35em]  .nav-link:hover::before {
  transform: scaleY(1);
}

.nav[b-2k5z7k35em]  .nav-link.active {
  color: #fff;
  background: linear-gradient(90deg, var(--crm-teal-50) 0%, transparent 70%);
  border-left-color: transparent;
  font-weight: 600;
  box-shadow: -4px 0 16px var(--crm-teal-glow),
              inset 4px 0 12px var(--crm-teal-50);
}

.nav[b-2k5z7k35em]  .nav-link.active::before {
  transform: scaleY(1);
  background: var(--crm-teal);
  box-shadow: 0 0 8px var(--crm-teal-glow);
}

/* ── Skeleton nav items ── */

.nav-skel-item[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.55rem 0.875rem;
  animation: crm-fade-in 0.3s var(--crm-ease) both;
}

.nav-skel-icon[b-2k5z7k35em] {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  flex-shrink: 0;
}

.nav-skel-label[b-2k5z7k35em] {
  height: 12px;
  border-radius: 3px;
}

.nav-divider[b-2k5z7k35em] {
  flex: 1;
  min-height: 1rem;
  display: flex;
  align-items: flex-end;
  padding-bottom: 0.5rem;
}

.nav-divider[b-2k5z7k35em]::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08) 30%, rgba(255,255,255,0.08) 70%, transparent);
}

.nav.flex-column[b-2k5z7k35em] {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/* ─────────────────────────────────────────────────────────
   Nav Labels
   ───────────────────────────────────────────────────────── */

.nav-label[b-2k5z7k35em] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: opacity 0.18s ease;
}

/* ─────────────────────────────────────────────────────────
   Inbox count badge — Data Accuracy / Pending approvals.
   These links only render when their count > 0, so the badge
   is always showing a non-zero number.
   ───────────────────────────────────────────────────────── */

.nav[b-2k5z7k35em]  .nav-link .nav-count-badge {
  margin-left: auto;
  flex-shrink: 0;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.36rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Outfit', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: var(--crm-teal);
  border-radius: 999px;
  box-shadow: 0 0 8px var(--crm-teal-glow);
}

/* Desktop collapsed (icon-only): shrink to a corner dot on the icon.
   .sidebar-collapsed lives on MainLayout's .sidebar (an ancestor of .nav);
   Blazor appends this component's scope id to .nav, so the ancestor match holds. */
@media (min-width: 641px) {
  .sidebar-collapsed .nav[b-2k5z7k35em]  .nav-link .nav-count-badge {
    position: absolute;
    top: 0.3rem;
    right: 0.3rem;
    margin-left: 0;
    min-width: 0.95rem;
    height: 0.95rem;
    padding: 0 0.18rem;
    font-size: 0.58rem;
  }
}

/* ─────────────────────────────────────────────────────────
   Nav Icons
   ───────────────────────────────────────────────────────── */

.bi[b-2k5z7k35em] {
  display: inline-block;
  position: relative;
  width: 1.05rem;
  height: 1.05rem;
  min-width: 1.05rem;
  margin-right: 0.7rem;
  top: -1px;
  background-size: cover;
  opacity: 0.6;
  flex-shrink: 0;
  transition: opacity var(--crm-fast) ease,
              margin var(--crm-fast) ease,
              transform var(--crm-mid) var(--crm-ease);
}

.nav[b-2k5z7k35em]  .nav-link:hover .bi,
.nav[b-2k5z7k35em]  .nav-link.active .bi {
  opacity: 1;
  transform: scale(1.08);
}

.bi-house-door-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-building-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'/%3E%3Cpath d='M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V1Zm11 0H3v14h3v-2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V15h3V1Z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-person-badge-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7Zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3Cpath fill-rule='evenodd' d='M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216Z'/%3E%3Cpath d='M4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'/%3E%3C/svg%3E");
}

.bi-geo-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z'/%3E%3C/svg%3E");
}

.bi-calendar-check-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-5.146-5.146-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708z'/%3E%3C/svg%3E");
}

.bi-bar-chart-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 11H2v3h2zm5-4H7v7h2zm5-5h-2v12h2zm-2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM6 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm-5 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
}

.bi-question-circle-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z'/%3E%3C/svg%3E");
}

.bi-gear-fill-nav-menu[b-2k5z7k35em] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z'/%3E%3C/svg%3E");
}

/* ─────────────────────────────────────────────────────────
   Edit Mode Bar
   ───────────────────────────────────────────────────────── */

.nav-edit-bar[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.875rem;
  background: rgba(0, 197, 168, 0.1);
  border-bottom: 2px solid var(--crm-teal);
  gap: 0.5rem;
}

.nav-edit-label[b-2k5z7k35em] {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--crm-teal);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.nav-edit-actions[b-2k5z7k35em] {
  display: flex;
  gap: 0.375rem;
}

.nav-edit-done[b-2k5z7k35em],
.nav-edit-cancel[b-2k5z7k35em] {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.625rem;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  transition: background var(--crm-fast) ease, opacity var(--crm-fast) ease;
}

.nav-edit-done[b-2k5z7k35em] {
  background: var(--crm-teal);
  color: #fff;
}
.nav-edit-done:hover[b-2k5z7k35em] { background: var(--crm-teal-600); }
.nav-edit-done:disabled[b-2k5z7k35em] { opacity: 0.6; cursor: not-allowed; }

.nav-edit-cancel[b-2k5z7k35em] {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.7);
}
.nav-edit-cancel:hover[b-2k5z7k35em] { background: rgba(255,255,255,0.18); color: #fff; }

/* ─────────────────────────────────────────────────────────
   Editable Nav Item Row
   ───────────────────────────────────────────────────────── */

.nav-item-edit[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  height: 2.65rem;
  padding: 0 0.5rem;
  margin-bottom: 0.1rem;
  border-radius: 8px;
  border-left: 2.5px solid transparent;
  position: relative;
  transition: opacity var(--crm-fast) ease,
              background var(--crm-fast) ease,
              border-color var(--crm-fast) ease;
  cursor: grab;
}

.nav-item-edit:hover[b-2k5z7k35em] {
  background: rgba(255,255,255,0.05);
}

.nav-item-edit.is-hidden[b-2k5z7k35em] {
  opacity: 0.35;
  border-left-color: rgba(255,255,255,0.15);
  border-left-style: dashed;
}

.nav-item-edit.is-dragging[b-2k5z7k35em] {
  opacity: 0.5;
  background: rgba(0, 197, 168, 0.08);
}

.nav-drop-indicator[b-2k5z7k35em] {
  position: absolute;
  top: -2px;
  left: 0.5rem;
  right: 0.5rem;
  height: 2px;
  background: var(--crm-teal);
  border-radius: 1px;
  box-shadow: 0 0 6px rgba(0, 197, 168, 0.4);
  z-index: 2;
}

.nav-drag-handle[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  min-width: 1.25rem;
  color: rgba(255,255,255,0.25);
  font-size: 1rem;
  cursor: grab;
  transition: color var(--crm-fast) ease;
}

.nav-item-edit:hover .nav-drag-handle[b-2k5z7k35em] {
  color: rgba(255,255,255,0.5);
}

.nav-item-edit-content[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  gap: 0;
  overflow: hidden;
}

.nav-item-edit-content .bi[b-2k5z7k35em] {
  display: inline-block;
  position: relative;
  width: 1.05rem;
  height: 1.05rem;
  min-width: 1.05rem;
  margin-right: 0.7rem;
  top: -1px;
  background-size: cover;
  opacity: 0.6;
  flex-shrink: 0;
}

.nav-item-edit-content .nav-label[b-2k5z7k35em] {
  font-family: 'Outfit', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255,255,255,0.6);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-visibility-toggle[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  background: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  color: rgba(255,255,255,0.3);
  font-size: 0.85rem;
  transition: color var(--crm-fast) ease, background var(--crm-fast) ease;
  flex-shrink: 0;
}

.nav-visibility-toggle:hover[b-2k5z7k35em] {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.6);
}

.nav-visibility-toggle.is-visible[b-2k5z7k35em] {
  color: var(--crm-teal);
}

.nav-visibility-toggle.is-visible:hover[b-2k5z7k35em] {
  color: var(--crm-teal-600);
  background: rgba(0, 197, 168, 0.1);
}

/* Mobile reorder buttons — hidden on desktop */
.nav-mobile-reorder[b-2k5z7k35em] {
  display: none;
  flex-direction: column;
  gap: 1px;
  margin-left: 0.25rem;
}

.nav-reorder-btn[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  background: none;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  color: rgba(255,255,255,0.4);
  font-size: 0.7rem;
  padding: 0;
  transition: color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.nav-reorder-btn:hover:not(:disabled)[b-2k5z7k35em] {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.8);
}

.nav-reorder-btn:disabled[b-2k5z7k35em] {
  opacity: 0.2;
  cursor: not-allowed;
}

/* ─────────────────────────────────────────────────────────
   Collapsible Group Header (normal mode)
   ───────────────────────────────────────────────────────── */

.nav-group-header[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  width: 100%;
  color: rgba(255,255,255,0.6);
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  border-radius: 8px;
  height: 2.65rem;
  padding: 0 0.875rem;
  margin-bottom: 0.1rem;
  font-family: 'Outfit', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  transition: background-color var(--crm-fast) ease, color var(--crm-fast) ease;
}

.nav-group-header:hover[b-2k5z7k35em] {
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.9);
}

.nav-group-header .nav-custom-obj-icon[b-2k5z7k35em] {
  font-size: 1rem;
  margin-right: 0.7rem;
  opacity: 0.7;
  transition: opacity var(--crm-fast) ease;
}

.nav-group-header:hover .nav-custom-obj-icon[b-2k5z7k35em] {
  opacity: 1;
}

.nav-group-chevron[b-2k5z7k35em] {
  margin-left: auto;
  font-size: 0.75rem !important;
  opacity: 0.5;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  background-image: none !important;
  transition: transform var(--crm-mid) var(--crm-ease), opacity var(--crm-fast) ease;
}

.nav-group-header:not(.is-expanded) .nav-group-chevron[b-2k5z7k35em] {
  transform: rotate(-90deg);
}

.nav-group-header.is-expanded .nav-group-chevron[b-2k5z7k35em] {
  opacity: 0.75;
}

.nav-group-children[b-2k5z7k35em] {
  animation: crm-fade-in 0.22s var(--crm-ease) both;
}

/* Indented child links under a group header */
.nav[b-2k5z7k35em]  .nav-link.is-group-child {
  padding-left: 2rem;
  height: 2.35rem;
  font-size: 0.82rem;
}

/* Section divider shown in edit mode above the first child of a group */
.nav-group-header-edit[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.5rem 0.3rem 0.5rem;
  margin-top: 0.25rem;
  color: rgba(255,255,255,0.55);
  font-family: 'Outfit', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.nav-group-header-edit .nav-custom-obj-icon[b-2k5z7k35em] {
  font-size: 0.9rem;
  opacity: 0.65;
  color: var(--crm-teal);
}

.nav-item-edit.is-group-child[b-2k5z7k35em] {
  margin-left: 0.75rem;
}

.nav-item-edit.is-group-child .nav-item-edit-content .nav-label[b-2k5z7k35em] {
  font-size: 0.82rem;
}

/* ─────────────────────────────────────────────────────────
   Customize Button
   ───────────────────────────────────────────────────────── */

.nav-customize-btn[b-2k5z7k35em] {
  display: flex;
  align-items: center;
  height: 2.25rem;
  padding: 0 0.875rem;
  margin-top: 0.25rem;
  background: none;
  border: none;
  border-radius: 8px;
  border-left: 2.5px solid transparent;
  cursor: pointer;
  color: rgba(255,255,255,0.3);
  font-family: 'Outfit', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  transition: color var(--crm-fast) ease, background var(--crm-fast) ease;
  white-space: nowrap;
  overflow: hidden;
}

.nav-customize-btn:hover[b-2k5z7k35em] {
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
}

.nav-customize-btn i[b-2k5z7k35em] {
  font-size: 0.9rem;
  margin-right: 0.7rem;
  flex-shrink: 0;
}

/* ─────────────────────────────────────────────────────────
   Reset Button
   ───────────────────────────────────────────────────────── */

.nav-reset-btn[b-2k5z7k35em] {
  display: block;
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,0.3);
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  padding: 0.5rem 0.875rem;
  transition: color var(--crm-fast) ease;
}

.nav-reset-btn:hover[b-2k5z7k35em] {
  color: rgba(255,255,255,0.55);
}

/* ─────────────────────────────────────────────────────────
   Version Badge
   ───────────────────────────────────────────────────────── */

.nav-version[b-2k5z7k35em] {
  padding: 0.5rem 0.875rem 0.75rem;
  text-align: right;
}

.nav-version-text[b-2k5z7k35em] {
  font-family: 'Outfit', sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  color: rgba(255,255,255,0.18);
  letter-spacing: 0.04em;
  transition: color var(--crm-fast) ease;
}

.nav-version:hover .nav-version-text[b-2k5z7k35em] {
  color: rgba(255,255,255,0.35);
}

.alpha-badge[b-2k5z7k35em] {
  display: inline-block;
  background: #F59E0B;
  color: #78350F;
  font-family: 'Outfit', sans-serif;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 0.1rem 0.4rem;
  border-radius: 9999px;
  margin-right: 0.35rem;
  vertical-align: middle;
  line-height: 1.4;
}

/* Custom object icons use Bootstrap Icons font (not SVG background) */
.nav-custom-obj-icon[b-2k5z7k35em] {
  background-image: none !important;
  font-size: 1rem;
  line-height: 1.05rem;
  color: white;
  text-align: center;
}

/* ─────────────────────────────────────────────────────────
   Mobile
   ───────────────────────────────────────────────────────── */

@media (max-width: 640.98px) {
  .nav-collapse-btn[b-2k5z7k35em] { display: none !important; }

  .nav-body[b-2k5z7k35em] {
    max-height: 0;
    overflow: hidden;
    padding: 0 0.75rem;
    transition: max-height 0.32s var(--crm-ease), padding 0.32s ease;
  }

  .nav-body.mobile-open[b-2k5z7k35em] {
    max-height: 100vh;
    padding: 0.875rem 0.75rem;
  }

  /* Mobile: show up/down buttons, hide drag handle */
  .nav-drag-handle[b-2k5z7k35em] { display: none; }
  .nav-mobile-reorder[b-2k5z7k35em] { display: flex; }
}

/* ─────────────────────────────────────────────────────────
   Desktop
   ───────────────────────────────────────────────────────── */

@media (min-width: 641px) {
  .nav-mobile-toggle[b-2k5z7k35em] { display: none; }

  .nav-collapse-btn[b-2k5z7k35em] { display: flex; }

  .nav-body[b-2k5z7k35em] {
    height: calc(100vh - 58px);
    overflow-y: auto;
  }
}
/* /Layout/PortalAuthLayout.razor.rz.scp.css */
.portal-auth-root[b-19kiw1e630] {
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
}
/* /Layout/VendorLayout.razor.rz.scp.css */
/* Vendor variant of the member top-bar shell. Uses the brand accent (teal) for
   the gradient instead of navy, so vendors can immediately tell which portal
   they're on without losing the brand color palette. */

.vendor-topbar[b-la120ogxns] {
    background: linear-gradient(135deg,
        var(--crm-teal-600, #1f7a6f) 0%,
        var(--crm-navy, #14213d) 100%);
}
/* /Pages/Accounts/AccountDetail.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────── */

.cd-header[b-nhq6gh5zj4] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
}

.cd-header-left[b-nhq6gh5zj4] {
    min-width: 0;
    flex: 1;
}

.cd-header[b-nhq6gh5zj4]  h1 {
    margin: 0 0 0.4rem;
    font-size: 1.6rem;
}

.cd-meta[b-nhq6gh5zj4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.75rem;
}

.cd-meta-item[b-nhq6gh5zj4] {
    font-size: 0.85rem;
    color: var(--crm-text-2);
}

/* ── Type chips — color-coded per account type ────────
   Types drive which custom-field groups appear below, so they deserve
   visible signal in the header. One small chip per type with a tinted
   background; falls back to neutral grey for unknown types. */

.cd-types[b-nhq6gh5zj4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.cd-type-chip[b-nhq6gh5zj4] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid transparent;
}

.cd-type-default[b-nhq6gh5zj4] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2);
    border-color: var(--crm-border, #d8dee7);
}

.cd-type-member[b-nhq6gh5zj4] {
    background: rgba(0, 197, 168, 0.12);
    color: var(--crm-teal-700, #00735f);
    border-color: rgba(0, 197, 168, 0.32);
}

.cd-type-hospital[b-nhq6gh5zj4] {
    background: rgba(31, 41, 55, 0.08);
    color: var(--crm-navy, #0f172a);
    border-color: rgba(31, 41, 55, 0.18);
}

.cd-type-facility[b-nhq6gh5zj4] {
    background: rgba(99, 102, 241, 0.10);
    color: #4338ca;
    border-color: rgba(99, 102, 241, 0.25);
}

.cd-type-system[b-nhq6gh5zj4] {
    background: rgba(14, 116, 144, 0.10);
    color: #0e7490;
    border-color: rgba(14, 116, 144, 0.25);
}

.cd-type-vendor[b-nhq6gh5zj4] {
    background: rgba(217, 119, 6, 0.10);
    color: #b45309;
    border-color: rgba(217, 119, 6, 0.25);
}

/* ── Info-tab utility row ─────────────────────────────
   Single horizontal row at the top of the Info tab carrying the three
   utility affordances: leadership strip (or empty-state CTA) on the
   left, engagement pill on the right, and a small "show empty fields"
   icon toggle anchored far right. Saves an entire row of vertical
   space versus stacking them. Wraps on narrow screens. */

.cd-info-utility-row[b-nhq6gh5zj4] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.cd-info-utility-left[b-nhq6gh5zj4] {
    flex: 1 1 auto;
    min-width: 0;
}

.cd-info-utility-right[b-nhq6gh5zj4] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    margin-left: auto;
}

.cd-show-all-toggle[b-nhq6gh5zj4] {
    background: none;
    border: 1px solid transparent;
    color: var(--crm-text-3, #9ca3af);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.cd-show-all-toggle:hover[b-nhq6gh5zj4] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-navy, #0f172a);
    border-color: var(--crm-border, #d8dee7);
}

.cd-show-all-toggle .bi[b-nhq6gh5zj4] {
    font-size: 0.9rem;
}

/* ── Tab transitions ──────────────────────────────────
   `@key="activeTab"` on this wrapper forces Blazor to remount it on
   every tab switch, which retriggers the keyframe animation below.
   Snappy 180ms fade + 4px rise — softens the swap without making
   navigation feel sluggish. */

.cd-tab-content[b-nhq6gh5zj4] {
    animation: cd-tab-fade-in-b-nhq6gh5zj4 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes cd-tab-fade-in-b-nhq6gh5zj4 {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0);   }
}

@media (prefers-reduced-motion: reduce) {
    .cd-tab-content[b-nhq6gh5zj4] {
        animation: none;
    }
}

/* ── Info-tab property panel ──────────────────────────
   Single white panel wraps all data sections. Drops the per-card
   chrome (left teal stripe, header pill, individual borders) in
   favor of one unified surface with hairline section headers.
   Linear/Attio/Notion-style density. */

.cd-info-panel[b-nhq6gh5zj4] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    padding: 22px 26px;
    box-shadow: var(--crm-shadow-xs);
}

.cd-prop-stack > .cd-prop-section + .cd-prop-section[b-nhq6gh5zj4],
.cd-prop-section-spaced[b-nhq6gh5zj4] {
    margin-top: 22px;
}

.cd-prop-section-title[b-nhq6gh5zj4] {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-prop-section-title[b-nhq6gh5zj4]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.cd-prop-empty[b-nhq6gh5zj4] {
    color: var(--crm-text-3, #9ca3af);
}

.cd-prop-notes[b-nhq6gh5zj4] {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    font-size: 0.85rem;
    line-height: 1.5;
    white-space: pre-wrap;
}

/* ── Animatable property rows ─────────────────────────
   Each label/value pair lives inside .cd-anim-row whose
   grid-template-rows animates from 1fr → 0fr to collapse height
   smoothly. The inner div uses min-height: 0 + overflow: hidden so
   the row closes fully (grid children otherwise fight the collapse).
   Coupled with opacity fade for a snappy 200ms transition. Modern
   property-list aesthetic: muted label, primary-color value, tight
   row padding. */

.cd-anim-dl[b-nhq6gh5zj4] {
    display: flex;
    flex-direction: column;
}

.cd-anim-row[b-nhq6gh5zj4] {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1),
                opacity 160ms ease,
                margin 220ms ease;
}

.cd-anim-row.is-hidden[b-nhq6gh5zj4] {
    grid-template-rows: 0fr;
    opacity: 0;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
}

.cd-anim-row-inner[b-nhq6gh5zj4] {
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(140px, max-content) 1fr;
    align-items: baseline;
    column-gap: 24px;
    padding: 5px 0;
    font-size: 0.85rem;
}

/* Keep labels on one line — values can wrap if they need to. */
.cd-anim-row-inner > dt[b-nhq6gh5zj4],
.cd-anim-row-inner[b-nhq6gh5zj4]  dt {
    white-space: nowrap;
}

/* Apply the property-list label/value styling to BOTH inline dt/dd pairs
   (rendered directly in AccountDetail.razor) and dt/dd pairs rendered by
   the DynamicFieldDisplay child component. Blazor CSS isolation would
   otherwise scope the rule to AccountDetail only, leaving custom-field
   labels with Bootstrap's default bold dt — the source of the boldness
   inconsistency the user flagged. ::deep makes the descendant selector
   match across the component boundary. */
.cd-anim-row-inner > dt[b-nhq6gh5zj4],
.cd-anim-row-inner[b-nhq6gh5zj4]  dt {
    margin: 0;
    font-weight: 500;
    color: var(--crm-text-3, #9ca3af);
}

.cd-anim-row-inner > dd[b-nhq6gh5zj4],
.cd-anim-row-inner[b-nhq6gh5zj4]  dd {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    line-height: 1.45;
}

.cd-anim-row-inner > dd a[b-nhq6gh5zj4],
.cd-anim-row-inner[b-nhq6gh5zj4]  dd a {
    color: var(--crm-teal-700, #00735f);
    text-decoration: none;
}

.cd-anim-row-inner > dd a:hover[b-nhq6gh5zj4],
.cd-anim-row-inner[b-nhq6gh5zj4]  dd a:hover {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

.cd-anim-row.is-hidden .cd-anim-row-inner[b-nhq6gh5zj4] {
    padding-top: 0;
    padding-bottom: 0;
}

/* DynamicFieldDisplay still emits .col-sm-* classes. Reset those so they
   don't fight the 180px/1fr grid layout. */
.cd-anim-row-inner > dt[class*="col-"][b-nhq6gh5zj4],
.cd-anim-row-inner > dd[class*="col-"][b-nhq6gh5zj4],
.cd-anim-row-inner[b-nhq6gh5zj4]  dt[class*="col-"],
.cd-anim-row-inner[b-nhq6gh5zj4]  dd[class*="col-"] {
    flex: unset;
    max-width: unset;
    padding: 0;
}

/* ── Shared tab-body chrome ───────────────────────────
   Workgroups / Visits / Activities all use the same panel + header
   pattern as the Info tab. One section title on top with an
   optional Add button on the right, then the data list/grid
   underneath. Empty state is centered with an icon and a soft
   one-liner — no oversized illustration. */

.cd-tab-head[b-nhq6gh5zj4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    gap: 12px;
}

.cd-tab-title[b-nhq6gh5zj4] {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}

.cd-tab-count[b-nhq6gh5zj4] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-2, #4b5563);
    background: var(--crm-bg, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0;
}

/* Per-tab search input — sits between the title and the "+ Add" CTA,
   grows to fill available width. Compact, borderless-ish; focus reveals
   a teal ring matching the rest of the brand. */

.cd-tab-search[b-nhq6gh5zj4] {
    flex: 1 1 auto;
    max-width: 320px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--crm-bg, #f5f7fa);
    border: 1px solid transparent;
    border-radius: 6px;
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.cd-tab-search:focus-within[b-nhq6gh5zj4] {
    background: var(--crm-white, #fff);
    border-color: var(--crm-border-2, #c5d3e8);
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.cd-tab-search i[b-nhq6gh5zj4] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
}

.cd-tab-search input[b-nhq6gh5zj4] {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    font-size: 0.85rem;
    color: var(--crm-text-1, #1f2937);
}

.cd-tab-search input[b-nhq6gh5zj4]::placeholder {
    color: var(--crm-text-3, #9ca3af);
}

/* Wrappers around embedded child components that bring their own
   chrome. `cd-info-panel-flush` strips the panel's own padding so the
   child's container can sit edge-to-edge. */

.cd-info-panel-flush[b-nhq6gh5zj4] {
    padding: 0;
    overflow: hidden;
}

/* When an embedded form (ActivityForm) renders inside an info panel
   the inner ::deep card chrome competes with the panel; flatten it
   to a borderless inline section. */
.cd-embedded-form[b-nhq6gh5zj4]  .card {
    border: none;
    box-shadow: none;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 8px;
    margin-bottom: 16px;
}

.cd-embedded-form[b-nhq6gh5zj4]  .card-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    padding: 8px 14px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
}

.cd-embedded-form[b-nhq6gh5zj4]  .card-body {
    padding: 14px;
}

.cd-empty[b-nhq6gh5zj4] {
    text-align: center;
    padding: 36px 16px;
    color: var(--crm-text-3, #9ca3af);
}

.cd-empty i[b-nhq6gh5zj4] {
    font-size: 1.75rem;
    display: block;
    margin-bottom: 8px;
    color: var(--crm-border-2, #c5d3e8);
}

.cd-empty p[b-nhq6gh5zj4] {
    margin: 0;
    font-size: 0.85rem;
}

/* ── Tile grid (Workgroups) ───────────────────────────
   Lightweight clickable tiles inside the unified panel. No outer
   border; a subtle hairline + hover bg gives affordance without
   competing with the panel chrome. */

.cd-tile-grid[b-nhq6gh5zj4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 8px;
}

.cd-tile[b-nhq6gh5zj4] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: 8px;
    padding: 12px 14px;
    text-decoration: none;
    color: inherit;
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
    display: block;
}

.cd-tile:hover[b-nhq6gh5zj4] {
    background: var(--crm-bg, #f5f7fa);
    border-color: var(--crm-border-2, #c5d3e8);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.cd-tile-head[b-nhq6gh5zj4] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-tile-name[b-nhq6gh5zj4] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    font-size: 0.9rem;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cd-tile-meta[b-nhq6gh5zj4] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
    white-space: nowrap;
}

.cd-tile-chev[b-nhq6gh5zj4] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
    transition: transform 140ms ease, color 140ms ease;
}

.cd-tile:hover .cd-tile-chev[b-nhq6gh5zj4] {
    color: var(--crm-navy);
    transform: translateX(2px);
}

/* ── Row list (Visits) ────────────────────────────────
   Compact date-led rows. The date chip on the left + title + meta
   structure reads at a glance and scales to dozens of entries
   without the visual debt of card-per-row. */

.cd-row-list[b-nhq6gh5zj4] {
    display: flex;
    flex-direction: column;
}

.cd-row[b-nhq6gh5zj4] {
    display: grid;
    grid-template-columns: 50px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    text-decoration: none;
    color: inherit;
    transition: background 120ms ease;
    border-radius: 6px;
}

.cd-row:last-child[b-nhq6gh5zj4] {
    border-bottom: none;
}

.cd-row:hover[b-nhq6gh5zj4] {
    background: var(--crm-bg, #f5f7fa);
}

.cd-row-date[b-nhq6gh5zj4] {
    text-align: center;
    color: var(--crm-text-2, #4b5563);
    padding: 6px 8px;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 8px;
    line-height: 1;
}

.cd-row-date-day[b-nhq6gh5zj4] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--crm-navy, #0f172a);
}

.cd-row-date-mon[b-nhq6gh5zj4] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.cd-row-main[b-nhq6gh5zj4] {
    min-width: 0;
}

.cd-row-title[b-nhq6gh5zj4] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cd-row-sub[b-nhq6gh5zj4] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
    margin-top: 2px;
}

.cd-row-chev[b-nhq6gh5zj4] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
    transition: transform 140ms ease, color 140ms ease;
}

.cd-row:hover .cd-row-chev[b-nhq6gh5zj4] {
    color: var(--crm-navy);
    transform: translateX(2px);
}

/* ── Activity list (Activities) ───────────────────────
   ActivityListItem brings its own row styling; flush-list-group
   strips the card border so the activities sit cleanly inside
   the panel. */

.cd-activity-list[b-nhq6gh5zj4] {
    margin-top: 14px;
}

/* Destructive item rendered inside the header's kebab menu — keep the
   danger-red affordance but as text+icon styling that fits a menu. */
.cd-action-danger[b-nhq6gh5zj4] {
    color: var(--bs-danger, #dc3545) !important;
}

.cd-action-danger:hover[b-nhq6gh5zj4] {
    color: var(--bs-danger, #dc3545) !important;
    background: rgba(220, 53, 69, 0.08) !important;
}

.cd-action-danger i[b-nhq6gh5zj4] {
    color: inherit !important;
}

.cd-actions[b-nhq6gh5zj4] {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
    padding-top: 0.15rem;
    align-items: center;
}

/* ── RelatedObjectsPanel styling (Staff & other tabs) ── */

.cd-panel-section[b-nhq6gh5zj4] {
    min-width: 0;
}

/* Embedded RelatedObjectsPanel (Internal Team) sits inside the
   unified .cd-info-panel surface. Strip its own border/shadow and
   adopt the same section-header pattern as the rest of the tabs. */

.cd-panel-section[b-nhq6gh5zj4]  .rop-container {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    border-radius: 0;
    padding: 0 0 10px 0;
    margin-bottom: 14px;
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-title {
    color: var(--crm-navy, #0f172a);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    text-transform: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-title::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-header .btn-primary {
    background: var(--crm-teal, #00C5A8);
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-white, #fff);
    font-weight: 600;
    font-size: 0.78rem;
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-header .btn-primary:hover {
    background: var(--crm-teal-600, #009E88);
    border-color: var(--crm-teal-600, #009E88);
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-item {
    border-bottom-color: var(--crm-border);
    padding: 10px 14px;
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-item:hover {
    background: var(--crm-teal-50);
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-item-name {
    color: var(--crm-navy);
    font-weight: 600;
}

.cd-panel-section[b-nhq6gh5zj4]  .rop-empty {
    padding: 20px 14px;
    text-align: center;
    color: var(--crm-text-3);
}

/* ── Workgroup rollup distinction ───────────────────── */

[b-nhq6gh5zj4] .wg-rollup-via-contact {
    background-color: var(--crm-surface-2, #f8fafc);
    border-style: dashed;
    border-color: var(--crm-border-2, #d1d5db);
}

[b-nhq6gh5zj4] .wg-rollup-badge {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--crm-text-2, #475569);
    background-color: var(--crm-surface-3, #e5e7eb);
    border-radius: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

[b-nhq6gh5zj4] .wg-rollup-contributors {
    margin-top: 0.45rem;
    font-size: 0.78rem;
    color: var(--crm-text-3, #64748b);
    line-height: 1.35;
}

[b-nhq6gh5zj4] .wg-rollup-contributors-prefix {
    font-style: italic;
    margin-right: 0.25rem;
}

[b-nhq6gh5zj4] .wg-rollup-contributor-sep {
    margin: 0 0.3rem;
    opacity: 0.6;
}

[b-nhq6gh5zj4] .wg-rollup-contributor-more {
    margin-left: 0.4rem;
    font-style: italic;
    opacity: 0.8;
}

/* ── Responsive ─────────────────────────────────────── */

@media (max-width: 575.98px) {
    .cd-header[b-nhq6gh5zj4] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .cd-actions[b-nhq6gh5zj4] {
        align-self: flex-end;
    }
}
/* /Pages/Accounts/AccountForm.razor.rz.scp.css */
/* ── Header ────────────────────────────────── */
.ef-header[b-9h273lf9h5] {
    margin-bottom: 24px;
}

.ef-header h1[b-9h273lf9h5] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--crm-navy);
    margin: 0;
}

/* Cap the header at the same max-width as the form below it so the
   right-aligned action sits flush with the form's right edge. */
.ef-header--with-actions[b-9h273lf9h5] {
    max-width: 820px;
}

/* ── Sections ──────────────────────────────── */
.ef-section[b-9h273lf9h5] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 20px 24px;
    margin-bottom: 16px;
    box-shadow: var(--crm-shadow-xs);
}

.ef-section-title[b-9h273lf9h5] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy);
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border);
}

/* ── Types section accent ─────────────────── */
.ef-types-section[b-9h273lf9h5] {
    border-left: 3px solid var(--crm-teal);
}

/* ── Labels ────────────────────────────────── */
.ef-label[b-9h273lf9h5] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--crm-text-2);
    margin-bottom: 4px;
}

.ef-req[b-9h273lf9h5] {
    color: #E34850;
}

/* ── Type pill toggles ───────────────────── */
.ef-type-pills[b-9h273lf9h5] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.ef-type-pill[b-9h273lf9h5] {
    padding: 6px 14px;
    border: 1px solid var(--crm-border-2);
    background: var(--crm-white);
    font-size: 0.82rem;
    font-weight: 500;
    border-radius: 20px;
    cursor: pointer;
    transition: all var(--crm-fast) ease;
    color: var(--crm-text-2);
    line-height: 1.4;
}

.ef-type-pill:hover[b-9h273lf9h5] {
    border-color: var(--crm-teal);
    background: var(--crm-teal-50);
    color: var(--crm-navy);
}

.ef-type-pill.active[b-9h273lf9h5] {
    background: var(--crm-teal-50);
    border-color: var(--crm-teal);
    color: var(--crm-navy);
    font-weight: 600;
    box-shadow: 0 0 0 2px var(--crm-teal-glow);
}

/* ── Custom fields area ──────────────────── */
.ef-custom-fields[b-9h273lf9h5] {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--crm-border);
}

.ef-custom-fields-header[b-9h273lf9h5] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    margin-bottom: 12px;
}

.ef-custom-fields-empty[b-9h273lf9h5] {
    margin-top: 12px;
    padding: 14px 16px;
    font-size: 0.82rem;
    color: var(--crm-text-3);
    background: var(--crm-bg);
    border-radius: var(--crm-r-sm);
    text-align: center;
}

/* ── Field groups (type-grouped properties) ── */
.ef-field-group[b-9h273lf9h5] {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed var(--crm-border);
}

.ef-field-group:first-child[b-9h273lf9h5] {
    margin-top: 12px;
    padding-top: 0;
    border-top: none;
}

.ef-field-group-header[b-9h273lf9h5] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ef-field-group-header[b-9h273lf9h5]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--crm-border);
}

/* ── Address tabs ─────────────────────────── */
.ef-addr-tabs[b-9h273lf9h5] {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--crm-border);
    margin-bottom: 16px;
}

.ef-addr-tab[b-9h273lf9h5] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 8px 14px;
    margin-bottom: -1px;
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: color 120ms, border-color 120ms;
}

.ef-addr-tab:hover[b-9h273lf9h5] {
    color: var(--crm-text-2);
}

.ef-addr-tab.active[b-9h273lf9h5] {
    color: var(--crm-text-1);
    border-bottom-color: var(--crm-teal);
}

/* ── Type subtabs (custom-fields inside the Types card) ─── */
.ef-type-subtabs[b-9h273lf9h5] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    border-bottom: 1px solid var(--crm-border);
    margin: 8px 0 16px;
}

.ef-type-subtab[b-9h273lf9h5] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 8px 14px;
    margin-bottom: -1px;
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: color 120ms, border-color 120ms;
    position: relative;
}

.ef-type-subtab:hover[b-9h273lf9h5] {
    color: var(--crm-text-2);
}

.ef-type-subtab.active[b-9h273lf9h5] {
    color: var(--crm-text-1);
    border-bottom-color: var(--crm-teal);
}

.ef-type-subtab-name[b-9h273lf9h5] {
    line-height: 1;
}

.ef-type-subtab-count[b-9h273lf9h5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.4rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-3);
    background: var(--crm-surface-2);
    border-radius: 999px;
}

.ef-type-subtab.active .ef-type-subtab-count[b-9h273lf9h5] {
    color: var(--crm-text);
    background: var(--crm-surface-2);
}

.ef-type-subtab-dot[b-9h273lf9h5] {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #F59E0B;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
}

.ef-type-subtab-body[b-9h273lf9h5] {
    animation: crm-slide-up 160ms ease;
}

.ef-addr-same[b-9h273lf9h5] {
    display: flex;
    gap: 18px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed var(--crm-border);
    flex-wrap: wrap;
}

.ef-checkbox[b-9h273lf9h5] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.84rem;
    color: var(--crm-text-2);
    cursor: pointer;
}

/* ── Actions ──────────────────────────────── */
.ef-actions[b-9h273lf9h5] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 0 32px;
}

/* ── Responsive ───────────────────────────── */
@media (max-width: 575.98px) {
    .ef-section[b-9h273lf9h5] {
        padding: 16px;
    }

    .ef-type-pills[b-9h273lf9h5] {
        gap: 4px;
    }

    .ef-type-pill[b-9h273lf9h5] {
        padding: 5px 10px;
        font-size: 0.78rem;
    }
}
/* /Pages/Accounts/AccountList.razor.rz.scp.css */
/* Subtle hairline between consecutive filter sections (Category → Roles →
   Board). Only applied when the preceding section actually rendered, so
   single-section pages stay clean. */
.filter-group-divider[b-1of9n8tyak] {
    border-top: 1px solid #E5E7EB;
    padding-top: 0.75rem;
    margin-top: 0.5rem;
}
/* /Pages/Activities/ActivityList.razor.rz.scp.css */
/* Flatten the inline ActivityForm's card chrome so the embedded log
   panel reads as a soft inline section rather than a competing card.
   Matches the cd-embedded-form treatment used on detail pages. */

.al-log-panel[b-u4q5dpij5w]  .card {
    border: 1px solid var(--crm-border, #d8dee7);
    box-shadow: var(--crm-shadow-xs);
    background: var(--crm-white, #fff);
    border-radius: var(--crm-r, 10px);
    margin-bottom: 0;
}

.al-log-panel[b-u4q5dpij5w]  .card-header {
    background: var(--crm-bg, #f5f7fa);
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    padding: 10px 16px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.al-log-panel[b-u4q5dpij5w]  .card-header::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

.al-log-panel[b-u4q5dpij5w]  .card-body {
    padding: 16px;
}
/* /Pages/Admin/AdminSettings.razor.rz.scp.css */
.admin-header p[b-flkxsp6pqq] { font-size: 0.95rem; margin-top: 0.25rem; }

/* ── Settings card (no hover lift) ────────────────────── */

[b-flkxsp6pqq] .settings-card { transition: none !important; }
[b-flkxsp6pqq] .settings-card:hover { transform: none !important; box-shadow: var(--crm-shadow-sm) !important; }

/* Card containing the icon picker must sit above sibling cards so the dropdown panel clears them */
[b-flkxsp6pqq] .settings-card-picker { z-index: 10; }

/* ── Branding grid ─────────────────────────────────────── */

[b-flkxsp6pqq] .settings-grid { display: grid; gap: 2rem; }

@media (min-width: 900px) {
    [b-flkxsp6pqq] .settings-grid { grid-template-columns: 1fr 1fr; }
}

[b-flkxsp6pqq] .settings-section-title {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--crm-text-2);
    margin-bottom: 0.2rem;
}

[b-flkxsp6pqq] .settings-section-desc { font-size: 0.82rem; color: var(--crm-text-3); margin-bottom: 0.75rem; }

/* Logo */
[b-flkxsp6pqq] .logo-preview-wrap {
    display: flex;
    align-items: center;
    padding: 0.75rem;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    max-width: 320px;
    margin-bottom: 0.5rem;
}
[b-flkxsp6pqq] .logo-preview-img { max-height: 40px; max-width: 180px; object-fit: contain; }
[b-flkxsp6pqq] .logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    max-width: 320px;
    background: var(--crm-bg);
    border: 1px dashed var(--crm-border-2);
    border-radius: var(--crm-r-sm);
    color: var(--crm-text-3);
    font-size: 0.825rem;
    margin-bottom: 0.5rem;
}

/* Colors */
[b-flkxsp6pqq] .color-fields { display: flex; flex-direction: column; gap: 1.1rem; }
[b-flkxsp6pqq] .color-field { display: flex; flex-direction: column; gap: 0.25rem; }
[b-flkxsp6pqq] .color-input-row { display: flex; align-items: center; gap: 0.5rem; }
[b-flkxsp6pqq] .color-swatch {
    width: 42px;
    height: 38px;
    border: 1px solid var(--crm-border-2);
    border-radius: var(--crm-r-sm);
    padding: 2px;
    cursor: pointer;
    background: none;
    flex-shrink: 0;
}
[b-flkxsp6pqq] .color-hex { width: 108px; font-family: 'Courier New', monospace; font-size: 0.875rem; letter-spacing: 0.04em; }
[b-flkxsp6pqq] .color-hint { font-size: 0.78rem; color: var(--crm-text-3); }

/* Save row */
[b-flkxsp6pqq] .settings-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding-top: 1.75rem;
    margin-top: 1.75rem;
    border-top: 1px solid var(--crm-border);
}

[b-flkxsp6pqq] .alert-success {
    background: var(--crm-teal-50);
    border: 1px solid var(--crm-teal);
    color: var(--crm-teal-600);
    border-radius: var(--crm-r-sm);
    font-size: 0.875rem;
    padding: 0.6rem 1rem;
}

/* ── Add user form ─────────────────────────────────────── */

[b-flkxsp6pqq] .add-user-form {
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 1.25rem;
}

/* ── Role filter pills ─────────────────────────────────── */

[b-flkxsp6pqq] .role-filter { display: flex; gap: 0.4rem; flex-wrap: wrap; }

[b-flkxsp6pqq] .role-pill {
    padding: 0.3rem 0.875rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border-2);
    border-radius: 20px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--crm-text-2);
    cursor: pointer;
    transition: background-color var(--crm-fast) ease,
                border-color var(--crm-fast) ease,
                color var(--crm-fast) ease;
}

[b-flkxsp6pqq] .role-pill:hover { border-color: var(--crm-navy); color: var(--crm-navy); }

[b-flkxsp6pqq] .role-pill.active {
    background: var(--crm-navy);
    border-color: var(--crm-navy);
    color: #fff;
}

/* ── User table ────────────────────────────────────────── */

[b-flkxsp6pqq] .user-table { margin-bottom: 0; }

[b-flkxsp6pqq] .user-cell { display: flex; align-items: center; gap: 0.75rem; }

[b-flkxsp6pqq] .user-cell-avatar {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--crm-navy) 0%, var(--crm-navy-600) 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 700;
    flex-shrink: 0;
}

[b-flkxsp6pqq] .user-cell-name { font-weight: 500; font-size: 0.9rem; }
[b-flkxsp6pqq] .user-cell-title { font-size: 0.78rem; color: var(--crm-text-3); }

[b-flkxsp6pqq] .role-select {
    width: auto;
    min-width: 100px;
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
    cursor: pointer;
}

/* ── Delete confirmation ───────────────────────────────── */

[b-flkxsp6pqq] .delete-confirm-overlay {
    position: fixed;
    inset: 0;
    background: rgba(13,36,71,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 200;
    backdrop-filter: blur(2px);
}

[b-flkxsp6pqq] .delete-confirm-box {
    background: var(--crm-white);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-lift);
    padding: 1.75rem 2rem;
    max-width: 360px;
    width: 100%;
    animation: crm-slide-up 0.2s var(--crm-ease) both;
}

/* ── Relationship Labels ───────────────────────────── */

[b-flkxsp6pqq] .label-group {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    overflow: hidden;
    background: var(--crm-white);
    box-shadow: var(--crm-shadow-xs);
}

[b-flkxsp6pqq] .label-group-header {
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--crm-text-3);
    padding: 0.55rem 1rem;
    background: var(--crm-bg);
    border-bottom: 1px solid var(--crm-border);
    margin-bottom: 0;
}

[b-flkxsp6pqq] .label-group .user-table { margin-bottom: 0; }

[b-flkxsp6pqq] .label-group .user-table thead th {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    border-bottom-width: 1px;
    border-color: var(--crm-border);
    padding: 0.5rem 0.75rem;
    background: var(--crm-white);
}

[b-flkxsp6pqq] .label-group .user-table tbody td {
    padding: 0.6rem 0.75rem;
    vertical-align: middle;
    font-size: 0.87rem;
    border-color: var(--crm-border);
}

[b-flkxsp6pqq] .label-group .user-table tbody tr:last-child td {
    border-bottom: none;
}

/* Relationship label badges */
[b-flkxsp6pqq] .rl-badge-promoted {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 600;
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
    border: 1px solid var(--crm-teal);
}

[b-flkxsp6pqq] .rl-badge-change {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 600;
    background: var(--crm-bg);
    color: var(--crm-text-2);
    border: 1px solid var(--crm-border-2);
}

[b-flkxsp6pqq] .rl-badge-builtin {
    display: inline-block;
    padding: 0.12rem 0.5rem;
    border-radius: 20px;
    font-size: 0.68rem;
    font-weight: 600;
    background: var(--crm-surface-2);
    color: var(--crm-text-2);
    border: 1px solid var(--crm-border-2);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ── Audit log ─────────────────────────────────────── */

[b-flkxsp6pqq] .audit-filters { }

[b-flkxsp6pqq] .audit-count-bar { border-bottom: 1px solid var(--crm-border); padding-bottom: 0.5rem; }

[b-flkxsp6pqq] .audit-table td { vertical-align: middle; }

/* Action badges */
[b-flkxsp6pqq] .audit-action-badge {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

[b-flkxsp6pqq] .audit-badge-auth    { background: var(--crm-teal-50); color: var(--crm-teal-600); border: 1px solid var(--crm-teal); }
[b-flkxsp6pqq] .audit-badge-create  { background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; }
[b-flkxsp6pqq] .audit-badge-update  { background: #eff6ff; color: #1e40af; border: 1px solid #93c5fd; }
[b-flkxsp6pqq] .audit-badge-delete  { background: #fef2f2; color: #991b1b; border: 1px solid #fca5a5; }
[b-flkxsp6pqq] .audit-badge-complete { background: #f0fdf4; color: #166534; border: 1px solid #86efac; }
[b-flkxsp6pqq] .audit-badge-neutral { background: var(--crm-bg); color: var(--crm-text-2); border: 1px solid var(--crm-border-2); }

/* ── Built-in fields: search toolbar & sortable headers ── */

[b-flkxsp6pqq] .field-search-wrap {
    position: relative;
    flex: 1;
    max-width: 280px;
}

[b-flkxsp6pqq] .field-search-icon {
    position: absolute;
    left: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    color: var(--crm-text-3);
    pointer-events: none;
    line-height: 1;
}

[b-flkxsp6pqq] .field-search-input {
    width: 100%;
    padding: 0.3rem 0.75rem 0.3rem 2rem;
    font-size: 0.82rem;
    font-family: inherit;
    color: var(--crm-text-1, #111);
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border-2, #d1d5db);
    border-radius: var(--crm-r-sm);
    outline: none;
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-fast) ease;
    /* remove native x in webkit */
    -webkit-appearance: none;
}

[b-flkxsp6pqq] .field-search-input:focus {
    border-color: var(--crm-navy);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--crm-navy) 12%, transparent);
}

[b-flkxsp6pqq] .field-search-input::placeholder { color: var(--crm-text-3); }

[b-flkxsp6pqq] .sortable-th {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    transition: color var(--crm-fast) ease;
}

[b-flkxsp6pqq] .sortable-th:hover { color: var(--crm-navy); }

[b-flkxsp6pqq] .sortable-th.sort-active { color: var(--crm-navy); }

[b-flkxsp6pqq] .sort-icon {
    display: inline-block;
    font-size: 0.68rem;
    margin-left: 0.25rem;
    opacity: 0.35;
    vertical-align: middle;
    transition: opacity var(--crm-fast) ease;
}

[b-flkxsp6pqq] .sort-icon.active { opacity: 1; }

[b-flkxsp6pqq] .sortable-th:hover .sort-icon { opacity: 0.7; }

/* Inline audit trail (used in entity detail pages) */
[b-flkxsp6pqq] .audit-trail { display: flex; flex-direction: column; gap: 0.6rem; }

[b-flkxsp6pqq] .audit-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    font-size: 0.83rem;
}

[b-flkxsp6pqq] .audit-time { color: var(--crm-text-2); }
[b-flkxsp6pqq] .audit-actor { font-weight: 500; }
[b-flkxsp6pqq] .audit-notes-inline { color: var(--crm-text-3); font-style: italic; }

/* ── Feature Module cards ──────────────────────────── */

[b-flkxsp6pqq] .fm-module-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.15rem;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-left: 3px solid var(--crm-border-2);
    border-radius: 0 var(--crm-r-sm) var(--crm-r-sm) 0;
    transition: border-color var(--crm-mid) ease,
                background-color var(--crm-mid) ease,
                box-shadow var(--crm-mid) ease;
}

[b-flkxsp6pqq] .fm-module-card.fm-enabled {
    border-left-color: var(--crm-teal);
    background: var(--crm-white);
    box-shadow: var(--crm-shadow-xs);
}

[b-flkxsp6pqq] .fm-module-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--crm-r-sm);
    background: var(--crm-surface-2);
    color: var(--crm-text-3);
    flex-shrink: 0;
    transition: background-color var(--crm-mid) ease, color var(--crm-mid) ease;
}

[b-flkxsp6pqq] .fm-enabled .fm-module-icon {
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
}

[b-flkxsp6pqq] .fm-module-body {
    flex: 1;
    min-width: 0;
}

[b-flkxsp6pqq] .fm-module-title {
    font-family: 'Outfit', sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--crm-navy);
    margin-bottom: 0.2rem;
    line-height: 1.3;
}

[b-flkxsp6pqq] .fm-module-desc {
    font-size: 0.82rem;
    color: var(--crm-text-2);
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

[b-flkxsp6pqq] .fm-status-badge {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

[b-flkxsp6pqq] .fm-status-active {
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
    border: 1px solid var(--crm-teal);
}

[b-flkxsp6pqq] .fm-status-inactive {
    background: var(--crm-bg);
    color: var(--crm-text-3);
    border: 1px solid var(--crm-border-2);
}

[b-flkxsp6pqq] .fm-module-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    padding-top: 0.15rem;
}

/* =====================================================
   Custom Objects -- Sub-tabs
   ===================================================== */

[b-flkxsp6pqq] .co-subtab-bar {
    display: flex;
    gap: 0.15rem;
    background: var(--crm-surface-2);
    border-radius: var(--crm-r);
    padding: 3px;
    margin-bottom: 1.5rem;
    width: fit-content;
}

[b-flkxsp6pqq] .co-subtab {
    padding: 0.4rem 1.1rem;
    background: none;
    border: none;
    border-radius: calc(var(--crm-r) - 2px);
    font-family: 'Outfit', sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--crm-text-2);
    cursor: pointer;
    transition: background-color var(--crm-fast) ease,
                color var(--crm-fast) ease,
                box-shadow var(--crm-fast) ease;
    white-space: nowrap;
}

[b-flkxsp6pqq] .co-subtab:hover { color: var(--crm-navy); }

[b-flkxsp6pqq] .co-subtab.active {
    background: var(--crm-white);
    color: var(--crm-navy);
    font-weight: 600;
    box-shadow: var(--crm-shadow-xs);
}

/* =====================================================
   Settings -- Sub-tabs (reusable pill-bar)
   ===================================================== */

.settings-subtab-bar[b-flkxsp6pqq] {
    display: flex;
    gap: 0.15rem;
    background: var(--crm-surface-2);
    border-radius: var(--crm-r);
    padding: 3px;
    margin-bottom: 1.5rem;
    width: fit-content;
}

.settings-subtab[b-flkxsp6pqq] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 1.1rem;
    background: none;
    border: none;
    border-radius: calc(var(--crm-r) - 2px);
    font-family: 'Outfit', sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--crm-text-2);
    cursor: pointer;
    transition: background-color var(--crm-fast) ease,
                color var(--crm-fast) ease,
                box-shadow var(--crm-fast) ease;
    white-space: nowrap;
    text-decoration: none;
}

.settings-subtab:hover[b-flkxsp6pqq] { color: var(--crm-navy); }

.settings-subtab.active[b-flkxsp6pqq] {
    background: var(--crm-white);
    color: var(--crm-navy);
    font-weight: 600;
    box-shadow: var(--crm-shadow-xs);
}

.settings-subtab i[b-flkxsp6pqq] {
    font-size: 0.85rem;
}

/* External link icon for nav-away sub-tabs */
.settings-subtab-ext[b-flkxsp6pqq] {
    font-size: 0.6rem;
    opacity: 0.4;
    margin-left: 0.1rem;
    transition: opacity var(--crm-fast) ease;
}
.settings-subtab-link:hover .settings-subtab-ext[b-flkxsp6pqq] {
    opacity: 0.7;
}

/* =====================================================
   Master-Detail layout
   ===================================================== */

[b-flkxsp6pqq] .co-master-detail {
    display: grid;
    grid-template-columns: minmax(280px, 2fr) 3fr;
    gap: 1.25rem;
    align-items: start;
    min-height: 420px;
}

@media (max-width: 900px) {
    [b-flkxsp6pqq] .co-master-detail { grid-template-columns: 1fr; }
}

/* Left panel -- object type list */
[b-flkxsp6pqq] .co-master {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    background: var(--crm-white);
    overflow: visible;
    box-shadow: var(--crm-shadow-xs);
}

[b-flkxsp6pqq] .co-master-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--crm-border);
    background: var(--crm-bg);
    border-radius: var(--crm-r) var(--crm-r) 0 0;
}

[b-flkxsp6pqq] .co-master-search {
    flex: 1;
    padding: 0.3rem 0.6rem;
    font-size: 0.82rem;
    font-family: inherit;
    border: 1px solid var(--crm-border-2);
    border-radius: var(--crm-r-sm);
    background: var(--crm-white);
    outline: none;
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-fast) ease;
}

[b-flkxsp6pqq] .co-master-search:focus {
    border-color: var(--crm-navy);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--crm-navy) 12%, transparent);
}

[b-flkxsp6pqq] .co-master-search::placeholder { color: var(--crm-text-3); }

[b-flkxsp6pqq] .co-master-list {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    max-height: 520px;
    padding: 6px;
}

[b-flkxsp6pqq] .co-master-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 1rem;
    border: none;
    border-bottom: 1px solid var(--crm-border);
    background: var(--crm-white);
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: background-color var(--crm-fast) ease;
    position: relative;
    width: 100%;
}

[b-flkxsp6pqq] .co-master-item:last-child { border-bottom: none; }

[b-flkxsp6pqq] .co-master-item:hover { background: var(--crm-bg); }

[b-flkxsp6pqq] .co-master-item.selected {
    background: var(--crm-teal-50);
    border-left: 3px solid var(--crm-teal);
    padding-left: calc(1rem - 3px);
}

[b-flkxsp6pqq] .co-master-item.selected:hover { background: var(--crm-teal-50); }

[b-flkxsp6pqq] .co-master-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--crm-r-sm);
    background: var(--crm-surface-2);
    color: var(--crm-navy-400);
    font-size: 0.9rem;
    flex-shrink: 0;
    transition: background-color var(--crm-fast) ease, color var(--crm-fast) ease;
}

[b-flkxsp6pqq] .co-master-item.selected .co-master-icon {
    background: var(--crm-teal-glow);
    color: var(--crm-teal-600);
}

[b-flkxsp6pqq] .co-master-info { flex: 1; min-width: 0; }

[b-flkxsp6pqq] .co-master-name {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--crm-navy);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-flkxsp6pqq] .co-master-meta {
    font-size: 0.72rem;
    color: var(--crm-text-3);
    margin-top: 1px;
}

[b-flkxsp6pqq] .co-master-add {
    padding: 0.65rem 1rem;
    border-top: 1px solid var(--crm-border);
    background: var(--crm-bg);
    border-radius: 0 0 var(--crm-r) var(--crm-r);
}

/* Right panel -- detail/fields */
[b-flkxsp6pqq] .co-detail {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    background: var(--crm-white);
    box-shadow: var(--crm-shadow-xs);
    overflow: hidden;
}

[b-flkxsp6pqq] .co-detail-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1.15rem;
    background: var(--crm-bg);
    border-bottom: 1px solid var(--crm-border);
}

[b-flkxsp6pqq] .co-detail-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Outfit', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--crm-navy);
}

[b-flkxsp6pqq] .co-detail-title i {
    color: var(--crm-teal-600);
    font-size: 1.1rem;
}

[b-flkxsp6pqq] .co-detail-body { padding: 1.15rem; }

[b-flkxsp6pqq] .co-detail-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 360px;
    color: var(--crm-text-3);
    text-align: center;
    padding: 2rem;
}

[b-flkxsp6pqq] .co-detail-empty-icon {
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
    opacity: 0.35;
}

[b-flkxsp6pqq] .co-detail-empty-text {
    font-size: 0.88rem;
    max-width: 240px;
    line-height: 1.5;
}

/* =====================================================
   SortableList -- context overrides (core styles in SortableList.razor.css)
   ===================================================== */

/* Field row inside sortable list */
[b-flkxsp6pqq] .sl-field-label {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--crm-navy);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.01em;
}

[b-flkxsp6pqq] .sl-field-key {
    font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
    font-size: 0.7rem;
    color: var(--crm-text-3);
    background: var(--crm-bg);
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    border: 1px solid var(--crm-border);
}

[b-flkxsp6pqq] .sl-field-type {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
    letter-spacing: 0.02em;
    /* Default coloring — overridden per type */
    background: var(--crm-surface-2);
    color: var(--crm-text-2);
}

/* Type-specific badge colors */
[b-flkxsp6pqq] .sl-field-type[data-type="Text"]        { background: #f0f4f8; color: #475569; }
[b-flkxsp6pqq] .sl-field-type[data-type="Note"]        { background: #f0f4f8; color: #475569; }
[b-flkxsp6pqq] .sl-field-type[data-type="Number"]      { background: #eff6ff; color: #1d4ed8; }
[b-flkxsp6pqq] .sl-field-type[data-type="Date"]        { background: #fdf4ff; color: #7e22ce; }
[b-flkxsp6pqq] .sl-field-type[data-type="Boolean"]     { background: #fffbeb; color: #b45309; }
[b-flkxsp6pqq] .sl-field-type[data-type="Dropdown"]    { background: var(--crm-teal-50); color: var(--crm-teal-600); }
[b-flkxsp6pqq] .sl-field-type[data-type="MultiSelect"] { background: var(--crm-teal-50); color: var(--crm-teal-600); }
[b-flkxsp6pqq] .sl-field-type[data-type="Url"]         { background: #eef2ff; color: #4338ca; }
[b-flkxsp6pqq] .sl-field-type[data-type="Email"]       { background: #fef2f2; color: #b91c1c; }
[b-flkxsp6pqq] .sl-field-type[data-type="Phone"]       { background: #ecfdf5; color: #047857; }

/* Field type icons (inserted via CSS) */
[b-flkxsp6pqq] .sl-field-type-icon {
    font-size: 0.72rem;
    flex-shrink: 0;
}

[b-flkxsp6pqq] .sl-field-badge {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    border-radius: 20px;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

[b-flkxsp6pqq] .sl-field-badge.required {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* Required dot indicator (alternative to badge) */
[b-flkxsp6pqq] .sl-field-required-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ef4444;
    flex-shrink: 0;
    box-shadow: 0 0 0 2px #fecaca;
}

/* Hover left accent on field rows */
[b-flkxsp6pqq] .sl-item:hover {
    border-left: 2px solid var(--crm-navy-400);
    padding-left: calc(0.75rem - 2px);
}

[b-flkxsp6pqq] .sl-compact .sl-item:hover {
    padding-left: calc(0.6rem - 2px);
}

/* Action buttons inside sortable list */
[b-flkxsp6pqq] .sl-action-btn {
    padding: 0.15rem 0.5rem;
    font-size: 0.72rem;
    line-height: 1.3;
    border-radius: 4px;
}

/* co-master-item nesting fix -- selected state lifted to sl-item */
[b-flkxsp6pqq] .sl-content .co-master-item {
    padding: 0;
    border: none;
    background: transparent;
    width: 100%;
}

[b-flkxsp6pqq] .sl-content .co-master-item:hover {
    background: transparent;
}

[b-flkxsp6pqq] .sl-content .co-master-item.selected {
    background: transparent;
    border-left: none;
    padding-left: 0;
}

[b-flkxsp6pqq] .sl-item:has(.co-master-item.selected) {
    background: var(--crm-teal-50);
    border-left: 3px solid var(--crm-teal);
    padding-left: calc(0.75rem - 3px);
}

/* =====================================================
   Object type inline edit form (in detail panel)
   ===================================================== */

[b-flkxsp6pqq] .co-props-form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0.75rem;
    padding: 0.75rem 0;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid var(--crm-border);
    align-items: end;
}

@media (max-width: 700px) {
    [b-flkxsp6pqq] .co-props-form { grid-template-columns: 1fr; }
}

[b-flkxsp6pqq] .co-props-field label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    margin-bottom: 0.2rem;
    display: block;
}

/* =====================================================
   Built-in Entities -- master panel overrides
   ===================================================== */

[b-flkxsp6pqq] .bei-master-list {
    max-height: 560px;
}

[b-flkxsp6pqq] .bei-section-header {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--crm-text-3);
    padding: 0.75rem 1rem 0.35rem;
    background: var(--crm-white);
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 1px solid var(--crm-border);
}

[b-flkxsp6pqq] .bei-section-header i {
    font-size: 0.8rem;
    color: var(--crm-navy-400);
}

[b-flkxsp6pqq] .bei-section-group {
    margin-left: 0.75rem;
    border-left: 2px solid var(--crm-border);
    margin-bottom: 0.5rem;
    position: relative;
}

/* Tree-rail connector dots at each item */
[b-flkxsp6pqq] .bei-section-group .bei-item::before {
    content: '';
    position: absolute;
    left: -0.75rem;
    top: 50%;
    width: 8px;
    height: 2px;
    background: var(--crm-border);
    transform: translateX(-2px);
}

[b-flkxsp6pqq] .bei-section-group .bei-item {
    position: relative;
}

[b-flkxsp6pqq] .bei-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.85rem;
    border: none;
    border-bottom: 1px solid var(--crm-border);
    background: var(--crm-white);
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: background-color var(--crm-fast) ease;
    width: 100%;
}

[b-flkxsp6pqq] .bei-item:last-child { border-bottom: none; }

[b-flkxsp6pqq] .bei-item:hover { background: var(--crm-bg); }

[b-flkxsp6pqq] .bei-item.selected {
    background: var(--crm-teal-50);
    border-left: 3px solid var(--crm-teal);
    padding-left: calc(0.85rem - 3px);
}

[b-flkxsp6pqq] .bei-item.selected:hover { background: var(--crm-teal-50); }

[b-flkxsp6pqq] .bei-item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--crm-r-sm);
    font-size: 0.8rem;
    flex-shrink: 0;
    color: var(--crm-white);
    transition: background-color var(--crm-fast) ease;
}

[b-flkxsp6pqq] .bei-icon-account { background: var(--crm-navy-400); }
[b-flkxsp6pqq] .bei-icon-contact { background: var(--crm-teal-600); }
[b-flkxsp6pqq] .bei-icon-workgroup { background: var(--crm-navy-700); }
[b-flkxsp6pqq] .bei-icon-visit { background: var(--crm-text-2); }

[b-flkxsp6pqq] .bei-item-info { flex: 1; min-width: 0; }

[b-flkxsp6pqq] .bei-item-name {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--crm-navy);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

[b-flkxsp6pqq] .bei-all-name { font-weight: 500; }

[b-flkxsp6pqq] .bei-item-badge {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--crm-text-3);
    background: var(--crm-surface-2);
    padding: 0.12rem 0.5rem;
    border-radius: 10px;
    white-space: nowrap;
    flex-shrink: 0;
    transition: opacity var(--crm-fast) ease;
}

/* Dim badge when zero fields */
[b-flkxsp6pqq] .bei-item-badge.bei-badge-empty {
    opacity: 0.45;
    font-weight: 400;
}

/* Category-colored badges for items with fields */
[b-flkxsp6pqq] .bei-icon-account ~ .bei-item-info ~ .bei-item-badge:not(.bei-badge-empty) {
    background: rgba(58, 90, 150, 0.1);
    color: var(--crm-navy-400);
}

[b-flkxsp6pqq] .bei-icon-contact ~ .bei-item-info ~ .bei-item-badge:not(.bei-badge-empty) {
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
}

[b-flkxsp6pqq] .bei-add-type {
    padding: 0.4rem 0.85rem;
    border-top: 1px solid var(--crm-border);
    background: var(--crm-bg);
}

[b-flkxsp6pqq] .bei-add-type-btn {
    font-size: 0.78rem;
    color: var(--crm-text-3);
    padding: 0;
    text-decoration: none;
}

[b-flkxsp6pqq] .bei-add-type-btn:hover {
    color: var(--crm-navy);
}

[b-flkxsp6pqq] .bei-detail-subtitle {
    font-size: 0.76rem;
    color: var(--crm-text-3);
    font-style: italic;
    margin-top: 1px;
}

/* ── Detail header enhancements ── */

[b-flkxsp6pqq] .bei-detail-header-left {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

[b-flkxsp6pqq] .bei-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    color: var(--crm-text-3);
}

[b-flkxsp6pqq] .bei-breadcrumb-sep {
    font-size: 0.55rem;
    opacity: 0.6;
}

[b-flkxsp6pqq] .bei-breadcrumb-current {
    color: var(--crm-navy);
    font-weight: 600;
}

[b-flkxsp6pqq] .bei-detail-title-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

[b-flkxsp6pqq] .bei-detail-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--crm-r);
    font-size: 1rem;
    flex-shrink: 0;
    color: var(--crm-white);
}

[b-flkxsp6pqq] .bei-detail-actions {
    display: flex;
    gap: 0.35rem;
    align-items: center;
}

/* Overflow menu */
[b-flkxsp6pqq] .bei-overflow-menu {
    position: relative;
}

[b-flkxsp6pqq] .bei-overflow-btn {
    padding: 0.25rem 0.45rem;
    line-height: 1;
}

[b-flkxsp6pqq] .bei-overflow-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    min-width: 160px;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    box-shadow: var(--crm-shadow);
    z-index: 100;
    padding: 0.25rem 0;
    animation: bei-dropdown-in-b-flkxsp6pqq 0.12s var(--crm-ease) both;
}

@keyframes bei-dropdown-in-b-flkxsp6pqq {
    0%   { opacity: 0; transform: translateY(-4px) scale(0.97); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

[b-flkxsp6pqq] .bei-overflow-item {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.5rem 0.85rem;
    border: none;
    background: transparent;
    font-size: 0.82rem;
    color: var(--crm-text);
    cursor: pointer;
    text-align: left;
    transition: background-color var(--crm-fast) ease;
}

[b-flkxsp6pqq] .bei-overflow-item:hover {
    background: var(--crm-bg);
}

[b-flkxsp6pqq] .bei-overflow-danger {
    color: #b91c1c;
}

[b-flkxsp6pqq] .bei-overflow-danger:hover {
    background: #fef2f2;
}

[b-flkxsp6pqq] .bei-overflow-backdrop {
    position: fixed;
    inset: 0;
    z-index: 99;
}

/* ── Empty fields state ── */

[b-flkxsp6pqq] .bei-empty-fields {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1rem;
    text-align: center;
    gap: 0.65rem;
}

[b-flkxsp6pqq] .bei-empty-fields-icon {
    font-size: 2rem;
    color: var(--crm-border-2);
    line-height: 1;
}

[b-flkxsp6pqq] .bei-empty-fields-text {
    font-size: 0.85rem;
    color: var(--crm-text-3);
}

/* bei-item nesting fix for SortableList */
[b-flkxsp6pqq] .sl-content .bei-item {
    padding: 0;
    border: none;
    background: transparent;
    width: 100%;
}

[b-flkxsp6pqq] .sl-content .bei-item:hover {
    background: transparent;
}

[b-flkxsp6pqq] .sl-content .bei-item.selected {
    background: transparent;
    border-left: none;
    padding-left: 0;
}

[b-flkxsp6pqq] .sl-item:has(.bei-item.selected) {
    background: var(--crm-teal-50);
    border-left: 3px solid var(--crm-teal);
    padding-left: calc(0.75rem - 3px);
}

/* =====================================================
   Email Settings
   ===================================================== */

[b-flkxsp6pqq] .em-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

[b-flkxsp6pqq] .em-dot-connected {
    background: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-teal-50);
}

[b-flkxsp6pqq] .em-dot-disconnected {
    background: var(--crm-border-2);
    box-shadow: 0 0 0 3px var(--crm-bg);
}

[b-flkxsp6pqq] .em-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

[b-flkxsp6pqq] .em-form-grid .form-label {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--crm-text-2);
    margin-bottom: 0.2rem;
}

[b-flkxsp6pqq] .em-span-full { grid-column: 1 / -1; }

[b-flkxsp6pqq] .em-field-hint {
    display: block;
    font-size: 0.72rem;
    color: var(--crm-text-3);
    margin-top: 0.2rem;
}

[b-flkxsp6pqq] .em-test-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

[b-flkxsp6pqq] .em-test-row input {
    flex: 1;
    max-width: 280px;
}

@media (max-width: 640px) {
    [b-flkxsp6pqq] .em-form-grid { grid-template-columns: 1fr; }
    [b-flkxsp6pqq] .em-span-full { grid-column: auto; }
    [b-flkxsp6pqq] .em-test-row { flex-direction: column; align-items: stretch; }
    [b-flkxsp6pqq] .em-test-row input { max-width: none; }
}

/* Hero image preview */
[b-flkxsp6pqq] .em-hero-preview-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    max-width: 420px;
    margin-bottom: 0.5rem;
}

[b-flkxsp6pqq] .em-hero-preview-img {
    max-height: 60px;
    max-width: 280px;
    object-fit: contain;
    border-radius: var(--crm-r-sm);
}

/* =====================================================
   Notification Toggle Groups
   ===================================================== */

[b-flkxsp6pqq] .em-notif-groups {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
}

[b-flkxsp6pqq] .em-notif-group {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    overflow: hidden;
    background: var(--crm-white);
}

[b-flkxsp6pqq] .em-notif-group-header {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.9rem;
    background: var(--crm-bg);
    border-bottom: 1px solid var(--crm-border);
    font-family: 'Outfit', sans-serif;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--crm-text-3);
}

[b-flkxsp6pqq] .em-notif-group-header i {
    font-size: 0.85rem;
    color: var(--crm-navy-400);
}

[b-flkxsp6pqq] .em-notif-group-body {
    display: flex;
    flex-direction: column;
}

[b-flkxsp6pqq] .em-notif-toggle {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.9rem;
    cursor: pointer;
    transition: background-color var(--crm-fast) ease;
    font-size: 0.85rem;
    color: var(--crm-text);
    border-bottom: 1px solid var(--crm-border);
    margin: 0;
}

[b-flkxsp6pqq] .em-notif-toggle:last-child { border-bottom: none; }

[b-flkxsp6pqq] .em-notif-toggle:hover { background: var(--crm-bg); }

/* ── Notification Preview Rows ───────────────────────── */

[b-flkxsp6pqq] .em-preview-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.9rem;
    border-bottom: 1px solid var(--crm-border);
}

[b-flkxsp6pqq] .em-preview-row:last-child { border-bottom: none; }

[b-flkxsp6pqq] .em-preview-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

[b-flkxsp6pqq] .em-preview-label {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--crm-text);
}

[b-flkxsp6pqq] .em-preview-desc {
    font-size: 0.74rem;
    color: var(--crm-text-3);
    line-height: 1.3;
}

[b-flkxsp6pqq] .em-preview-btn {
    flex-shrink: 0;
    min-width: 52px;
}

/* ── Security Policy ─────────────────────────────────── */

[b-flkxsp6pqq] .sec-toggle-group {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    overflow: hidden;
}

[b-flkxsp6pqq] .sec-toggle-group .em-notif-toggle { margin: 0; }

[b-flkxsp6pqq] .sec-admin-unlock-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.65rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}

/* ── Email Provider Cards ────────────────────────────── */

[b-flkxsp6pqq] .em-provider-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--crm-text-3);
    margin-bottom: 0.6rem;
}

[b-flkxsp6pqq] .em-provider-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.6rem;
    margin-bottom: 1.5rem;
}

[b-flkxsp6pqq] .em-provider-grid-sm {
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 1rem;
}

[b-flkxsp6pqq] .em-provider-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 1rem 0.5rem 0.75rem;
    background: var(--crm-white);
    border: 1.5px solid var(--crm-border);
    border-radius: var(--crm-r);
    cursor: pointer;
    transition: border-color var(--crm-fast) ease,
                background-color var(--crm-fast) ease,
                box-shadow var(--crm-fast) ease;
    text-align: center;
}

[b-flkxsp6pqq] .em-provider-card:hover {
    border-color: var(--crm-border-2);
    background: var(--crm-bg);
}

[b-flkxsp6pqq] .em-provider-card.em-provider-active {
    border-color: var(--crm-teal);
    background: var(--crm-teal-50);
    box-shadow: 0 0 0 2px var(--crm-teal-glow);
}

[b-flkxsp6pqq] .em-provider-card-sm {
    padding: 0.65rem 0.4rem 0.55rem;
}

[b-flkxsp6pqq] .em-provider-card-sm .em-provider-icon {
    font-size: 1.1rem;
}

[b-flkxsp6pqq] .em-provider-icon {
    font-size: 1.4rem;
    color: var(--crm-navy-400);
    transition: color var(--crm-fast) ease;
}

[b-flkxsp6pqq] .em-provider-active .em-provider-icon {
    color: var(--crm-teal-600);
}

[b-flkxsp6pqq] .em-provider-name {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--crm-text);
    line-height: 1.2;
}

[b-flkxsp6pqq] .em-provider-tag {
    font-size: 0.68rem;
    color: var(--crm-text-3);
    line-height: 1.1;
}

[b-flkxsp6pqq] .em-provider-config {
    padding: 0.25rem 0 0 0;
}

/* Fallback section */

[b-flkxsp6pqq] .em-fallback-section {
    margin-top: 1.5rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    overflow: hidden;
}

[b-flkxsp6pqq] .em-fallback-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1rem;
    cursor: pointer;
    background: var(--crm-bg);
    transition: background-color var(--crm-fast) ease;
}

[b-flkxsp6pqq] .em-fallback-toggle:hover {
    background: var(--crm-surface-2);
}

[b-flkxsp6pqq] .em-fallback-icon {
    font-size: 1.1rem;
    color: var(--crm-navy-400);
}

[b-flkxsp6pqq] .em-fallback-title {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--crm-text);
}

[b-flkxsp6pqq] .em-fallback-desc {
    font-size: 0.72rem;
    color: var(--crm-text-3);
    line-height: 1.3;
}

[b-flkxsp6pqq] .em-fallback-chevron {
    font-size: 0.85rem;
    color: var(--crm-text-3);
    transition: transform var(--crm-fast) ease;
}

[b-flkxsp6pqq] .em-fallback-body {
    padding: 1rem;
    border-top: 1px solid var(--crm-border);
}

[b-flkxsp6pqq] .em-fallback-enable {
    margin-bottom: 0.75rem;
}

/* Responsive */

@media (max-width: 900px) {
    [b-flkxsp6pqq] .em-provider-grid { grid-template-columns: repeat(3, 1fr); }
    [b-flkxsp6pqq] .em-provider-grid-sm { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    [b-flkxsp6pqq] .em-provider-grid { grid-template-columns: repeat(2, 1fr); }
    [b-flkxsp6pqq] .em-provider-grid-sm { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 400px) {
    [b-flkxsp6pqq] .em-provider-grid { grid-template-columns: 1fr; }
    [b-flkxsp6pqq] .em-provider-grid-sm { grid-template-columns: 1fr; }
}

/* ── Mobile: scrollable sub-tab bars ──────────────────── */

@media (max-width: 640.98px) {
    .settings-subtab-bar[b-flkxsp6pqq],
    [b-flkxsp6pqq] .co-subtab-bar {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        width: 100%;
        flex-wrap: nowrap;
    }
    .settings-subtab-bar[b-flkxsp6pqq]::-webkit-scrollbar,
    [b-flkxsp6pqq] .co-subtab-bar::-webkit-scrollbar { display: none; }
    .settings-subtab[b-flkxsp6pqq],
    [b-flkxsp6pqq] .co-subtab { flex-shrink: 0; }
}
/* /Pages/Admin/PipelineManagement.razor.rz.scp.css */
/* ── Header ────────────────────────────────── */
.pm-header[b-wiilvzg8c0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}

.pm-header h1[b-wiilvzg8c0] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--crm-navy);
    margin: 0;
}

.pm-subtitle[b-wiilvzg8c0] {
    font-size: 0.85rem;
    color: var(--crm-text-3);
    margin: 2px 0 0;
}

/* ── Labels ────────────────────────────────── */
.pm-label[b-wiilvzg8c0] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--crm-text-2);
    margin-bottom: 2px;
}

/* ── Pipeline Card ─────────────────────────── */
.pm-card[b-wiilvzg8c0] {
    background: white;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    margin-bottom: 12px;
    box-shadow: var(--crm-shadow-xs);
    overflow: hidden;
    transition: box-shadow var(--crm-fast) ease;
}

.pm-card.expanded[b-wiilvzg8c0] {
    box-shadow: var(--crm-shadow-sm);
}

.pm-card-head[b-wiilvzg8c0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    cursor: pointer;
    transition: background var(--crm-fast) ease;
}

.pm-card-head:hover[b-wiilvzg8c0] {
    background: var(--crm-bg);
}

.pm-card-left[b-wiilvzg8c0] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pm-card-right[b-wiilvzg8c0] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pm-expand-icon[b-wiilvzg8c0] {
    font-size: 0.6rem;
    color: var(--crm-text-3);
    transition: transform var(--crm-mid) var(--crm-ease);
    transform: rotate(-90deg);
}

.pm-expand-icon.open[b-wiilvzg8c0] {
    transform: rotate(0deg);
}

.pm-card-name[b-wiilvzg8c0] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--crm-navy);
}

.pm-meta[b-wiilvzg8c0] {
    font-size: 0.78rem;
    color: var(--crm-text-3);
}

/* ── Badges ────────────────────────────────── */
.pm-badge[b-wiilvzg8c0] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    letter-spacing: 0.02em;
}

.pm-badge-default[b-wiilvzg8c0] {
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
    border: 1px solid color-mix(in srgb, var(--crm-teal) 25%, transparent);
}

.pm-badge-prob[b-wiilvzg8c0] {
    background: var(--crm-bg);
    color: var(--crm-text-2);
    border: 1px solid var(--crm-border);
    font-variant-numeric: tabular-nums;
}

.pm-badge-won[b-wiilvzg8c0] {
    background: #E8F5E9;
    color: #2E7D32;
    border: 1px solid #A5D6A7;
}

.pm-badge-lost[b-wiilvzg8c0] {
    background: #FDECEA;
    color: #C62828;
    border: 1px solid #FFCDD2;
}

/* ── Icon Buttons ──────────────────────────── */
.pm-icon-btn[b-wiilvzg8c0] {
    background: none;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 4px 6px;
    font-size: 0.82rem;
    color: var(--crm-text-3);
    cursor: pointer;
    line-height: 1;
    transition: all var(--crm-fast) ease;
}

.pm-icon-btn:hover[b-wiilvzg8c0] {
    background: var(--crm-bg);
    color: var(--crm-text);
    border-color: var(--crm-border);
}

.pm-icon-btn.pm-icon-danger:hover[b-wiilvzg8c0] {
    background: #FDECEA;
    color: #C62828;
    border-color: #FFCDD2;
}

.pm-icon-btn.pm-icon-sm[b-wiilvzg8c0] {
    font-size: 0.7rem;
    padding: 2px 5px;
}

.pm-icon-btn:disabled[b-wiilvzg8c0] {
    opacity: 0.3;
    cursor: default;
}

.pm-icon-btn:disabled:hover[b-wiilvzg8c0] {
    background: none;
    color: var(--crm-text-3);
    border-color: transparent;
}

/* ── Stages ────────────────────────────────── */
.pm-stages[b-wiilvzg8c0] {
    border-top: 1px solid var(--crm-border);
    background: var(--crm-bg);
}

.pm-stage-row[b-wiilvzg8c0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px 10px 36px;
    border-bottom: 1px solid var(--crm-border);
    background: white;
    transition: background var(--crm-fast) ease;
}

.pm-stage-row:hover[b-wiilvzg8c0] {
    background: #FAFCFF;
}

.pm-stage-row:last-of-type[b-wiilvzg8c0] {
    border-bottom: none;
}

.pm-stage-left[b-wiilvzg8c0] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pm-stage-right[b-wiilvzg8c0] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pm-stage-order[b-wiilvzg8c0] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--crm-text-3);
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.pm-stage-name[b-wiilvzg8c0] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-text);
}

/* ── Add Stage Button ──────────────────────── */
.pm-add-stage-btn[b-wiilvzg8c0] {
    display: block;
    width: 100%;
    padding: 10px 20px;
    background: none;
    border: none;
    text-align: left;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--crm-teal-600);
    cursor: pointer;
    transition: background var(--crm-fast) ease;
    padding-left: 36px;
}

.pm-add-stage-btn:hover[b-wiilvzg8c0] {
    background: color-mix(in srgb, var(--crm-teal) 6%, white);
}

/* ── Inline Forms ──────────────────────────── */
.pm-inline-form[b-wiilvzg8c0] {
    background: white;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 16px 20px;
    margin-bottom: 16px;
    box-shadow: var(--crm-shadow-xs);
}

.pm-inline-form.pm-nested[b-wiilvzg8c0] {
    border-radius: 0;
    margin-bottom: 0;
    border-left: none;
    border-right: none;
    border-top: 1px solid var(--crm-border);
    background: #FAFCFF;
}

.pm-form-title[b-wiilvzg8c0] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--crm-navy);
    margin-bottom: 10px;
}

.pm-stage-edit[b-wiilvzg8c0] {
    padding: 12px 20px 12px 36px;
    border-bottom: 1px solid var(--crm-border);
    background: #FAFCFF;
}

/* ── Delete Bar ────────────────────────────── */
.pm-delete-bar[b-wiilvzg8c0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    background: #FFF8F7;
    border-top: 1px solid #FFCDD2;
    font-size: 0.85rem;
    color: var(--crm-text);
}

.pm-delete-bar.pm-nested[b-wiilvzg8c0] {
    padding-left: 36px;
    border-bottom: 1px solid var(--crm-border);
}

.pm-delete-warn[b-wiilvzg8c0] {
    color: #C62828;
    font-weight: 500;
    margin-left: 4px;
}

/* ── Empty State ───────────────────────────── */
.pm-empty[b-wiilvzg8c0] {
    text-align: center;
    padding: 48px 24px;
    color: var(--crm-text-3);
}

.pm-empty p[b-wiilvzg8c0] {
    margin-bottom: 16px;
}

/* ── Form check overrides ──────────────────── */
.pm-card .form-check-input:checked[b-wiilvzg8c0],
.pm-inline-form .form-check-input:checked[b-wiilvzg8c0],
.pm-stage-edit .form-check-input:checked[b-wiilvzg8c0] {
    background-color: var(--crm-teal);
    border-color: var(--crm-teal);
}
/* /Pages/Admin/Tabs/AdminGaDuplicatesTab.razor.rz.scp.css */
/* GA duplicate cleanup — visually groups each duplicate set so the relationship
   between sibling rows is obvious. The stub row gets a subtle background tint
   so the user can spot which side ingestion didn't write. */

.ga-dup-group[b-ov43gg51u0] {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
}

.ga-dup-group-head[b-ov43gg51u0] {
    padding: 0.6rem 0.85rem;
    background: var(--bs-light, #f8f9fa);
    border-bottom: 1px solid var(--bs-border-color-translucent);
}

.ga-dup-stub[b-ov43gg51u0] {
    background: rgba(255, 193, 7, 0.06);
}
/* /Pages/Admin/Tabs/AdminGaIngestionTab.razor.rz.scp.css */
/* =====================================================
   Ingestion inventory + embedding coverage cards
   ===================================================== */

.ga-inventory-grid[b-sysfgzf5sa] {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(360px, 1.25fr);
    gap: 1rem;
}

@@media (max-width: 900px) {
    .ga-inventory-grid[b-sysfgzf5sa] {
        grid-template-columns: 1fr;
    }
}

.ga-inventory-card[b-sysfgzf5sa] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    overflow: hidden;
}

.ga-inventory-card-head[b-sysfgzf5sa] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.55rem 0.85rem;
    background: var(--bs-light, #f8f9fa);
    border-bottom: 1px solid var(--crm-border);
    gap: 0.5rem;
}

.ga-inventory-table th[b-sysfgzf5sa],
.ga-inventory-table td[b-sysfgzf5sa] {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

/* =====================================================
   GA Ingestion Health Ribbon
   ===================================================== */

.ga-health-ribbon[b-sysfgzf5sa] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}

.ga-health-card[b-sysfgzf5sa] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem 0.9rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-left: 3px solid var(--crm-border-2);
    border-radius: 0 var(--crm-r-sm) var(--crm-r-sm) 0;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: border-color var(--crm-fast) ease,
                background-color var(--crm-fast) ease,
                box-shadow var(--crm-fast) ease,
                transform var(--crm-fast) ease;
}

.ga-health-card:hover[b-sysfgzf5sa] {
    box-shadow: var(--crm-shadow-xs);
    transform: translateY(-1px);
}

.ga-health-card.active[b-sysfgzf5sa] {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--crm-navy) 18%, transparent);
}

/* Status-driven left rail coloring */
.ga-health-card.ga-health-ok[b-sysfgzf5sa] {
    border-left-color: var(--crm-teal);
}

.ga-health-card.ga-health-running[b-sysfgzf5sa] {
    border-left-color: #0ea5e9; /* info-blue, matches bi-info-circle */
}

.ga-health-card.ga-health-failed[b-sysfgzf5sa] {
    border-left-color: #dc2626;
    background: #fef2f2;
}

/* "Green but empty" — worker keeps reporting Success with zero records.
   Amber rail/background distinguishes it from outright failure (red) so
   operators can spot a stubbed source or muted upstream at a glance. */
.ga-health-card.ga-health-stale[b-sysfgzf5sa] {
    border-left-color: #d97706;
    background: #fffbeb;
}

/* "Skipped" — worker ran cleanly but did no work because configuration is
   missing (no LLM provider bound, Congress.gov unconfigured). Same amber
   palette as stale but a slightly different rail saturation so operators can
   distinguish "fix the config" (skipped) from "investigate the upstream"
   (stale) at a glance. */
.ga-health-card.ga-health-skipped[b-sysfgzf5sa] {
    border-left-color: #f59e0b;
    background: #fef3c7;
}

.ga-health-error.ga-health-error-skipped[b-sysfgzf5sa] {
    border-color: #fcd34d;
    color: #92400e;
}

.ga-health-card-head[b-sysfgzf5sa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.ga-health-card-job[b-sysfgzf5sa] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--crm-navy);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.ga-health-card-head .badge[b-sysfgzf5sa] {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.18rem 0.55rem;
    flex-shrink: 0;
}

.ga-health-card-body[b-sysfgzf5sa] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.ga-health-row[b-sysfgzf5sa] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    line-height: 1.3;
}

.ga-health-label[b-sysfgzf5sa] {
    color: var(--crm-text-3);
    font-weight: 500;
}

.ga-health-value[b-sysfgzf5sa] {
    color: var(--crm-text-2);
    font-weight: 500;
    white-space: nowrap;
}

.ga-health-error[b-sysfgzf5sa] {
    margin-top: 0.35rem;
    padding: 0.35rem 0.5rem;
    background: #fff;
    border: 1px solid #fca5a5;
    border-radius: var(--crm-r-sm);
    font-size: 0.72rem;
    color: #991b1b;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Run-now button row sits flush at the bottom of each card. Stops at the
   card boundary even when the card has no error block above it so the
   buttons always line up across the ribbon. */
.ga-health-actions[b-sysfgzf5sa] {
    margin-top: auto;
    padding-top: 0.45rem;
    display: flex;
    gap: 0.4rem;
    justify-content: flex-end;
}

/* Responsive breakpoints — ribbon drops to a single column on narrow screens */
@media (max-width: 600px) {
    .ga-health-ribbon[b-sysfgzf5sa] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Admin/Tabs/DuplicateGroupCard.razor.rz.scp.css */
/* Subtle entry: each duplicate-group card eases in from a slight upward
   offset on mount. Keeps the initial scan feeling alive without being
   distracting. */
@keyframes dup-card-enter-b-1uhdflahr9 {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.dup-card[b-1uhdflahr9] {
    animation: dup-card-enter-b-1uhdflahr9 220ms ease-out;
    /* Transitions drive the leave-animation when .dup-card-fade-out is
       toggled on. max-height + padding + margin collapse so the surrounding
       cards slide up smoothly instead of snapping. */
    transition:
        opacity 350ms ease,
        max-height 350ms ease,
        margin 350ms ease,
        padding 350ms ease,
        transform 350ms ease,
        border-color 350ms ease;
    max-height: 1200px;
    overflow: hidden;
    will-change: opacity, max-height, transform;
}

.dup-card-fade-out[b-1uhdflahr9] {
    opacity: 0;
    max-height: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-color: transparent;
    transform: translateX(24px);
    pointer-events: none;
}
/* /Pages/Admin/Workflows/WorkflowEditor.razor.rz.scp.css */
/* Numbered step badge on each card title */
.wf-step__num[b-i926pd0hbn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    margin-right: .5rem;
    border-radius: 999px;
    background: var(--crm-navy, #0D2447);
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
}

/* Plain-language sentence rows: inline controls that wrap naturally */
.wf-sentence[b-i926pd0hbn] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    line-height: 2.2;
}

.wf-kw[b-i926pd0hbn] {
    font-weight: 700;
    color: var(--crm-navy, #0D2447);
}

.wf-kw--muted[b-i926pd0hbn] {
    color: var(--bs-secondary-color, #6c757d);
    min-width: 3.2rem;
}

.wf-inline[b-i926pd0hbn] {
    width: auto;
    min-width: 9rem;
    display: inline-block;
}

.wf-inline--sm[b-i926pd0hbn] {
    min-width: 4.5rem;
    width: 5rem;
}

/* Slide-out test drawer */
.wf-drawer-backdrop[b-i926pd0hbn] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    z-index: 1045;
}

.wf-drawer[b-i926pd0hbn] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(380px, 92vw);
    background: var(--bs-body-bg, #fff);
    box-shadow: -.5rem 0 1.5rem rgba(0, 0, 0, .2);
    z-index: 1046;
    display: flex;
    flex-direction: column;
    animation: wf-drawer-in-b-i926pd0hbn .18s ease-out;
}

@keyframes wf-drawer-in-b-i926pd0hbn {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

.wf-drawer__header[b-i926pd0hbn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.wf-drawer__body[b-i926pd0hbn] {
    padding: 1rem;
    overflow-y: auto;
}
/* /Pages/Assistant/PendingActionReview.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────
   Pending action review page — full-surface approval UI
   for a single proposed write-tool action. Mirrors the
   dock's confirmation-card visual language so users
   recognize the surface, but takes the whole page so a
   reviewer (or someone finalizing an action proposed on
   their behalf) can read context comfortably without
   the chat history getting in the way.
   ───────────────────────────────────────────────────────── */

.par-back a[b-2xqb7kuzxd] {
    color: var(--bs-secondary-color);
    text-decoration: none;
    font-size: 0.85rem;
}

.par-back a:hover[b-2xqb7kuzxd] {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

.par-card[b-2xqb7kuzxd] {
    max-width: 760px;
    background: #fffbea;
    border: 1px solid #f5d67a;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.par-card--error[b-2xqb7kuzxd] {
    background: #fff0ed;
    border-color: #f0a8a0;
}

.par-head[b-2xqb7kuzxd] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    color: #856404;
}

.par-head-main[b-2xqb7kuzxd] {
    font-size: 1.05rem;
    display: flex;
    align-items: center;
}

.par-head-meta[b-2xqb7kuzxd] {
    font-size: 0.78rem;
    color: var(--bs-secondary-color);
}

.par-list[b-2xqb7kuzxd] {
    background: #fff;
    border: 1px solid #f1e0a3;
    border-radius: 8px;
    max-height: 280px;
    overflow-y: auto;
    padding: 0.3rem 0.6rem;
}

.par-item[b-2xqb7kuzxd] {
    padding: 0.4rem 0.2rem;
    border-bottom: 1px solid #faf0cb;
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.par-item:last-child[b-2xqb7kuzxd] {
    border-bottom: none;
}

.par-item-title[b-2xqb7kuzxd] {
    color: var(--bs-body-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1 auto;
    min-width: 0;
}

.par-item-state[b-2xqb7kuzxd] {
    color: var(--bs-secondary-color);
    white-space: nowrap;
    font-size: 0.8rem;
}

.par-overflow[b-2xqb7kuzxd] {
    text-align: center;
    padding: 0.4rem;
    font-size: 0.78rem;
    color: var(--bs-secondary-color);
}

.par-edit[b-2xqb7kuzxd] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.par-edit-label[b-2xqb7kuzxd] {
    font-size: 0.78rem;
    color: var(--bs-secondary-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.par-edit-textarea[b-2xqb7kuzxd] {
    font-family: var(--bs-font-monospace, ui-monospace, monospace);
    font-size: 0.8rem;
    resize: vertical;
}

.par-edit-error[b-2xqb7kuzxd] {
    font-size: 0.78rem;
    color: #a32a37;
    background: rgba(220, 53, 69, 0.08);
    border-radius: 6px;
    padding: 0.35rem 0.55rem;
}

.par-edit-formwrap[b-2xqb7kuzxd] {
    background: #fff;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 8px;
    padding: 0.7rem 0.85rem;
}

.par-edit-toggle[b-2xqb7kuzxd] {
    background: none;
    border: none;
    color: var(--bs-primary, #0d2447);
    font-size: 0.78rem;
    padding: 0.15rem 0;
    cursor: pointer;
    text-decoration: underline;
    align-self: flex-start;
}

.par-edit-toggle:hover[b-2xqb7kuzxd] {
    color: var(--crm-teal, #00C5A8);
}

.par-actions[b-2xqb7kuzxd] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.par-view-convo[b-2xqb7kuzxd] {
    color: var(--bs-secondary-color);
    text-decoration: none;
}

.par-view-convo:hover[b-2xqb7kuzxd] {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

/* ── Result panel: appears under the actions row once a decision is sent ─ */
.par-result[b-2xqb7kuzxd] {
    border-top: 1px dashed rgba(0, 0, 0, 0.12);
    padding-top: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.par-status[b-2xqb7kuzxd] {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    color: var(--bs-body-color);
}

.par-status--ok[b-2xqb7kuzxd] {
    color: #166534;
}

.par-status--err[b-2xqb7kuzxd] {
    color: #991b1b;
}

.par-tool-card[b-2xqb7kuzxd] {
    background: rgba(0, 0, 0, 0.04);
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 6px;
    padding: 0.35rem 0.55rem;
    font-size: 0.82rem;
    color: var(--bs-secondary-color);
    align-self: flex-start;
}

.par-tool-summary[b-2xqb7kuzxd] {
    color: var(--bs-secondary-color);
}

.par-final-text[b-2xqb7kuzxd] {
    background: #fff;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 6px;
    padding: 0.55rem 0.7rem;
    font-size: 0.9rem;
    color: var(--bs-body-color);
    white-space: pre-wrap;
}

.par-result-actions[b-2xqb7kuzxd] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

@@keyframes par-spin-kf {
    to[b-2xqb7kuzxd] { transform: rotate(360deg); }
}

.par-spin[b-2xqb7kuzxd] {
    display: inline-block;
    animation: par-spin-kf 1s linear infinite;
}
/* /Pages/Contacts/ContactDetail.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────── */

.cd-header[b-762sxo3ptz] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
}

.cd-header-left[b-762sxo3ptz] {
    min-width: 0;
    flex: 1;
}

.cd-header[b-762sxo3ptz]  h1 {
    margin: 0 0 0.4rem;
    font-size: 1.6rem;
}

.cd-meta[b-762sxo3ptz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.75rem;
    margin-top: 4px;
}

.cd-meta-item[b-762sxo3ptz] {
    font-size: 0.85rem;
    color: var(--crm-text-2);
}

/* Type chips — same palette as AccountDetail. */
.cd-types[b-762sxo3ptz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
}

.cd-type-chip[b-762sxo3ptz] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid transparent;
}

.cd-type-default[b-762sxo3ptz] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2);
    border-color: var(--crm-border, #d8dee7);
}

.cd-type-member[b-762sxo3ptz] {
    background: rgba(0, 197, 168, 0.12);
    color: var(--crm-teal-700, #00735f);
    border-color: rgba(0, 197, 168, 0.32);
}

.cd-type-hospital[b-762sxo3ptz] {
    background: rgba(31, 41, 55, 0.08);
    color: var(--crm-navy, #0f172a);
    border-color: rgba(31, 41, 55, 0.18);
}

.cd-type-facility[b-762sxo3ptz] {
    background: rgba(99, 102, 241, 0.10);
    color: #4338ca;
    border-color: rgba(99, 102, 241, 0.25);
}

.cd-type-system[b-762sxo3ptz] {
    background: rgba(14, 116, 144, 0.10);
    color: #0e7490;
    border-color: rgba(14, 116, 144, 0.25);
}

.cd-type-vendor[b-762sxo3ptz] {
    background: rgba(217, 119, 6, 0.10);
    color: #b45309;
    border-color: rgba(217, 119, 6, 0.25);
}

/* Destructive item rendered inside the header's kebab menu. */
.cd-action-danger[b-762sxo3ptz] {
    color: var(--bs-danger, #dc3545) !important;
}

.cd-action-danger:hover[b-762sxo3ptz] {
    color: var(--bs-danger, #dc3545) !important;
    background: rgba(220, 53, 69, 0.08) !important;
}

.cd-action-danger i[b-762sxo3ptz] {
    color: inherit !important;
}

.cd-actions[b-762sxo3ptz] {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
    padding-top: 0.15rem;
    align-items: center;
}

/* ── Tab transitions ──────────────────────────────────
   @key="activeTab" remounts the wrapper on every tab switch, which
   retriggers the keyframe animation. Snappy 180ms fade + 4px rise. */

.cd-tab-content[b-762sxo3ptz] {
    animation: cd-tab-fade-in-b-762sxo3ptz 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes cd-tab-fade-in-b-762sxo3ptz {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0);   }
}

@media (prefers-reduced-motion: reduce) {
    .cd-tab-content[b-762sxo3ptz] {
        animation: none;
    }
}

/* ── Info-tab utility row ─────────────────────────────
   Holds only the show-all-fields toggle on contacts (no engagement /
   hierarchy / leadership pills the way accounts have). The left
   spacer keeps the toggle right-aligned. */

.cd-info-utility-row[b-762sxo3ptz] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.cd-info-utility-left[b-762sxo3ptz] {
    flex: 1 1 auto;
    min-width: 0;
}

.cd-info-utility-right[b-762sxo3ptz] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    margin-left: auto;
}

.cd-show-all-toggle[b-762sxo3ptz] {
    background: none;
    border: 1px solid transparent;
    color: var(--crm-text-3, #9ca3af);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.cd-show-all-toggle:hover[b-762sxo3ptz] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-navy, #0f172a);
    border-color: var(--crm-border, #d8dee7);
}

.cd-show-all-toggle .bi[b-762sxo3ptz] {
    font-size: 0.9rem;
}

/* ── Info-tab property panel ──────────────────────────
   Single white panel wraps all data sections. Hairline section
   headers with a teal accent bar — Linear/Attio-style density. */

.cd-info-panel[b-762sxo3ptz] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    padding: 22px 26px;
    box-shadow: var(--crm-shadow-xs);
}

.cd-prop-stack > .cd-prop-section + .cd-prop-section[b-762sxo3ptz],
.cd-prop-section-spaced[b-762sxo3ptz] {
    margin-top: 22px;
}

.cd-prop-section-title[b-762sxo3ptz] {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-prop-section-title[b-762sxo3ptz]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.cd-prop-empty[b-762sxo3ptz] {
    color: var(--crm-text-3, #9ca3af);
}

.cd-prop-notes[b-762sxo3ptz] {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    font-size: 0.85rem;
    line-height: 1.5;
    white-space: pre-wrap;
}

/* ── Animatable dl/row pairs ──────────────────────────
   grid-template-rows animates 1fr → 0fr to collapse height smoothly.
   Coupled with opacity fade. Property-list aesthetic: muted label
   in fixed-width column, primary-color value. */

.cd-anim-dl[b-762sxo3ptz] {
    display: flex;
    flex-direction: column;
}

.cd-anim-row[b-762sxo3ptz] {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1),
                opacity 160ms ease,
                margin 220ms ease;
}

.cd-anim-row.is-hidden[b-762sxo3ptz] {
    grid-template-rows: 0fr;
    opacity: 0;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
}

.cd-anim-row-inner[b-762sxo3ptz] {
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(140px, max-content) 1fr;
    align-items: baseline;
    column-gap: 24px;
    padding: 5px 0;
    font-size: 0.85rem;
}

/* ::deep so the rule reaches dt/dd rendered by DynamicFieldDisplay
   across Blazor CSS isolation. */
.cd-anim-row-inner > dt[b-762sxo3ptz],
.cd-anim-row-inner[b-762sxo3ptz]  dt {
    margin: 0;
    font-weight: 500;
    color: var(--crm-text-3, #9ca3af);
    white-space: nowrap;
}

.cd-anim-row-inner > dd[b-762sxo3ptz],
.cd-anim-row-inner[b-762sxo3ptz]  dd {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    line-height: 1.45;
}

.cd-anim-row-inner > dd a[b-762sxo3ptz],
.cd-anim-row-inner[b-762sxo3ptz]  dd a {
    color: var(--crm-teal-700, #00735f);
    text-decoration: none;
}

.cd-anim-row-inner > dd a:hover[b-762sxo3ptz],
.cd-anim-row-inner[b-762sxo3ptz]  dd a:hover {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

.cd-anim-row.is-hidden .cd-anim-row-inner[b-762sxo3ptz] {
    padding-top: 0;
    padding-bottom: 0;
}

.cd-anim-row-inner > dt[class*="col-"][b-762sxo3ptz],
.cd-anim-row-inner > dd[class*="col-"][b-762sxo3ptz],
.cd-anim-row-inner[b-762sxo3ptz]  dt[class*="col-"],
.cd-anim-row-inner[b-762sxo3ptz]  dd[class*="col-"] {
    flex: unset;
    max-width: unset;
    padding: 0;
}

/* ── Shared tab-body chrome ───────────────────────────
   Visits / Activities / Audit all use the same panel + header
   pattern. */

.cd-tab-head[b-762sxo3ptz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    gap: 12px;
    flex-wrap: wrap;
}

.cd-tab-title[b-762sxo3ptz] {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.cd-tab-title[b-762sxo3ptz]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.cd-tab-count[b-762sxo3ptz] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-2, #4b5563);
    background: var(--crm-bg, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0;
}

/* Per-tab search input — grows to fill, focus reveals teal ring. */
.cd-tab-search[b-762sxo3ptz] {
    flex: 1 1 auto;
    max-width: 320px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--crm-bg, #f5f7fa);
    border: 1px solid transparent;
    border-radius: 6px;
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.cd-tab-search:focus-within[b-762sxo3ptz] {
    background: var(--crm-white, #fff);
    border-color: var(--crm-border-2, #c5d3e8);
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.cd-tab-search i[b-762sxo3ptz] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
}

.cd-tab-search input[b-762sxo3ptz] {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    font-size: 0.85rem;
    color: var(--crm-text-1, #1f2937);
}

.cd-tab-search input[b-762sxo3ptz]::placeholder {
    color: var(--crm-text-3, #9ca3af);
}

.cd-empty[b-762sxo3ptz] {
    text-align: center;
    padding: 36px 16px;
    color: var(--crm-text-3, #9ca3af);
}

.cd-empty i[b-762sxo3ptz] {
    font-size: 1.75rem;
    display: block;
    margin-bottom: 8px;
    color: var(--crm-border-2, #c5d3e8);
}

.cd-empty p[b-762sxo3ptz] {
    margin: 0;
    font-size: 0.85rem;
}

/* Row list (Visits) — date chip + main + chevron. */
.cd-row-list[b-762sxo3ptz] {
    display: flex;
    flex-direction: column;
}

.cd-row[b-762sxo3ptz] {
    display: grid;
    grid-template-columns: 50px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    text-decoration: none;
    color: inherit;
    transition: background 120ms ease;
    border-radius: 6px;
}

.cd-row:last-child[b-762sxo3ptz] {
    border-bottom: none;
}

.cd-row:hover[b-762sxo3ptz] {
    background: var(--crm-bg, #f5f7fa);
}

.cd-row-date[b-762sxo3ptz] {
    text-align: center;
    color: var(--crm-text-2, #4b5563);
    padding: 6px 8px;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 8px;
    line-height: 1;
}

.cd-row-date-day[b-762sxo3ptz] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--crm-navy, #0f172a);
}

.cd-row-date-mon[b-762sxo3ptz] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.cd-row-main[b-762sxo3ptz] {
    min-width: 0;
}

.cd-row-title[b-762sxo3ptz] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cd-row-sub[b-762sxo3ptz] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
    margin-top: 2px;
}

.cd-row-sub-link[b-762sxo3ptz] {
    color: var(--crm-teal-700, #00735f);
    text-decoration: none;
}

.cd-row-sub-link:hover[b-762sxo3ptz] {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

.cd-row-chev[b-762sxo3ptz] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
    transition: transform 140ms ease, color 140ms ease;
}

.cd-row:hover .cd-row-chev[b-762sxo3ptz] {
    color: var(--crm-navy);
    transform: translateX(2px);
}

/* Activity list — strip card border so items sit on the panel. */
.cd-activity-list[b-762sxo3ptz] {
    margin-top: 14px;
}

/* Embedded form (ActivityForm) — flatten the inner card to a
   borderless inline section that fits the panel aesthetic. */
.cd-embedded-form[b-762sxo3ptz]  .card {
    border: none;
    box-shadow: none;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 8px;
    margin-bottom: 16px;
    margin-top: 14px;
}

.cd-embedded-form[b-762sxo3ptz]  .card-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    padding: 8px 14px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
}

.cd-embedded-form[b-762sxo3ptz]  .card-body {
    padding: 14px;
}

/* ── Embedded RelatedObjectsPanel (Internal Team / Accounts / Workgroups) ──
   Strip the navy header and adopt the new section title style. */

.cd-panel-section[b-762sxo3ptz] {
    min-width: 0;
}

.cd-panel-section[b-762sxo3ptz]  .rop-container {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
}

.cd-panel-section[b-762sxo3ptz]  .rop-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    border-radius: 0;
    padding: 0 0 10px 0;
    margin-bottom: 14px;
}

.cd-panel-section[b-762sxo3ptz]  .rop-title {
    color: var(--crm-navy, #0f172a);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    text-transform: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-panel-section[b-762sxo3ptz]  .rop-title::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

.cd-panel-section[b-762sxo3ptz]  .rop-header .btn-primary {
    background: var(--crm-teal, #00C5A8);
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-white, #fff);
    font-weight: 600;
    font-size: 0.78rem;
}

.cd-panel-section[b-762sxo3ptz]  .rop-header .btn-primary:hover {
    background: var(--crm-teal-600, #009E88);
    border-color: var(--crm-teal-600, #009E88);
}

.cd-panel-section[b-762sxo3ptz]  .rop-item {
    border-bottom-color: var(--crm-border);
    padding: 10px 14px;
}

.cd-panel-section[b-762sxo3ptz]  .rop-item:hover {
    background: var(--crm-teal-50);
}

.cd-panel-section[b-762sxo3ptz]  .rop-item-name {
    color: var(--crm-navy);
    font-weight: 600;
}

.cd-panel-section[b-762sxo3ptz]  .rop-empty {
    padding: 20px 14px;
    text-align: center;
    color: var(--crm-text-3);
}

/* ── Responsive ─────────────────────────────────────── */

@media (max-width: 575.98px) {
    .cd-header[b-762sxo3ptz] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .cd-actions[b-762sxo3ptz] {
        align-self: flex-end;
    }
}
/* /Pages/Contacts/ContactForm.razor.rz.scp.css */
/* ── Header ────────────────────────────────── */
.ef-header[b-gmf7sevcp6] {
    margin-bottom: 24px;
}

.ef-header h1[b-gmf7sevcp6] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--crm-navy);
    margin: 0;
}

/* Cap the header at the same max-width as the form below it so the
   right-aligned action sits flush with the form's right edge. */
.ef-header--with-actions[b-gmf7sevcp6] {
    max-width: 820px;
}

/* ── Type subtabs (mirrors AccountForm) ──────────────────── */
.ef-type-subtabs[b-gmf7sevcp6] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    border-bottom: 1px solid var(--crm-border);
    margin: 8px 0 16px;
}

.ef-type-subtab[b-gmf7sevcp6] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 8px 14px;
    margin-bottom: -1px;
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: color 120ms, border-color 120ms;
    position: relative;
}

.ef-type-subtab:hover[b-gmf7sevcp6] {
    color: var(--crm-text-2);
}

.ef-type-subtab.active[b-gmf7sevcp6] {
    color: var(--crm-text-1);
    border-bottom-color: var(--crm-teal);
}

.ef-type-subtab-name[b-gmf7sevcp6] {
    line-height: 1;
}

.ef-type-subtab-count[b-gmf7sevcp6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.4rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-3);
    background: var(--crm-surface-2);
    border-radius: 999px;
}

.ef-type-subtab.active .ef-type-subtab-count[b-gmf7sevcp6] {
    color: var(--crm-text);
}

.ef-type-subtab-dot[b-gmf7sevcp6] {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #F59E0B;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
}

.ef-type-subtab-body[b-gmf7sevcp6] {
    animation: crm-slide-up 160ms ease;
}

/* ── Sections ──────────────────────────────── */
.ef-section[b-gmf7sevcp6] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 20px 24px;
    margin-bottom: 16px;
    box-shadow: var(--crm-shadow-xs);
}

.ef-section-title[b-gmf7sevcp6] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy);
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border);
}

/* ── Types section accent ─────────────────── */
.ef-types-section[b-gmf7sevcp6] {
    border-left: 3px solid var(--crm-teal);
}

/* ── Labels ────────────────────────────────── */
.ef-label[b-gmf7sevcp6] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--crm-text-2);
    margin-bottom: 4px;
}

.ef-req[b-gmf7sevcp6] {
    color: #E34850;
}

/* ── Type pill toggles ───────────────────── */
.ef-type-pills[b-gmf7sevcp6] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.ef-type-pill[b-gmf7sevcp6] {
    padding: 6px 14px;
    border: 1px solid var(--crm-border-2);
    background: var(--crm-white);
    font-size: 0.82rem;
    font-weight: 500;
    border-radius: 20px;
    cursor: pointer;
    transition: all var(--crm-fast) ease;
    color: var(--crm-text-2);
    line-height: 1.4;
}

.ef-type-pill:hover[b-gmf7sevcp6] {
    border-color: var(--crm-teal);
    background: var(--crm-teal-50);
    color: var(--crm-navy);
}

.ef-type-pill.active[b-gmf7sevcp6] {
    background: var(--crm-teal-50);
    border-color: var(--crm-teal);
    color: var(--crm-navy);
    font-weight: 600;
    box-shadow: 0 0 0 2px var(--crm-teal-glow);
}

/* ── Custom fields area ──────────────────── */
.ef-custom-fields[b-gmf7sevcp6] {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--crm-border);
}

.ef-custom-fields-header[b-gmf7sevcp6] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    margin-bottom: 12px;
}

.ef-custom-fields-empty[b-gmf7sevcp6] {
    margin-top: 12px;
    padding: 14px 16px;
    font-size: 0.82rem;
    color: var(--crm-text-3);
    background: var(--crm-bg);
    border-radius: var(--crm-r-sm);
    text-align: center;
}

/* ── Field groups (type-grouped properties) ── */
.ef-field-group[b-gmf7sevcp6] {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed var(--crm-border);
}

.ef-field-group:first-child[b-gmf7sevcp6] {
    margin-top: 12px;
    padding-top: 0;
    border-top: none;
}

.ef-field-group-header[b-gmf7sevcp6] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ef-field-group-header[b-gmf7sevcp6]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--crm-border);
}

/* ── Address tabs ─────────────────────────── */
.ef-addr-tabs[b-gmf7sevcp6] {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--crm-border);
    margin-bottom: 16px;
}

.ef-addr-tab[b-gmf7sevcp6] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 8px 14px;
    margin-bottom: -1px;
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: color 120ms, border-color 120ms;
}

.ef-addr-tab:hover[b-gmf7sevcp6] {
    color: var(--crm-text-2);
}

.ef-addr-tab.active[b-gmf7sevcp6] {
    color: var(--crm-text-1);
    border-bottom-color: var(--crm-teal);
}

.ef-addr-same[b-gmf7sevcp6] {
    display: flex;
    gap: 18px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed var(--crm-border);
    flex-wrap: wrap;
}

.ef-checkbox[b-gmf7sevcp6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.84rem;
    color: var(--crm-text-2);
    cursor: pointer;
}

/* ── Actions ──────────────────────────────── */
.ef-actions[b-gmf7sevcp6] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 0 32px;
}

/* ── Responsive ───────────────────────────── */
@media (max-width: 575.98px) {
    .ef-section[b-gmf7sevcp6] {
        padding: 16px;
    }

    .ef-type-pills[b-gmf7sevcp6] {
        gap: 4px;
    }

    .ef-type-pill[b-gmf7sevcp6] {
        padding: 5px 10px;
        font-size: 0.78rem;
    }
}
/* /Pages/Contacts/ContactList.razor.rz.scp.css */
/* Subtle hairline above the role picker when both the hospital-category
   chips and the role chips are shown — distinguishes the two filter
   sections without imposing a heavy box. */
.filter-group-divider[b-twtknxifwd] {
    border-top: 1px solid #E5E7EB;
    padding-top: 0.75rem;
    margin-top: 0.5rem;
}
/* /Pages/Contacts/ContactPortalAccessPanel.razor.rz.scp.css */
.cpa-panel[b-y3qe3xc3gp] {
    max-width: 720px;
}

.cpa-head[b-y3qe3xc3gp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.cpa-title[b-y3qe3xc3gp] {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--crm-text);
    margin: 0 0 0.25rem 0;
}

.cpa-sub[b-y3qe3xc3gp] {
    color: var(--crm-text-2);
    font-size: 0.875rem;
    margin: 0;
    max-width: 46ch;
}

.cpa-badge[b-y3qe3xc3gp] {
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 0.28rem 0.6rem;
    border-radius: 999px;
    white-space: nowrap;
}

.cpa-badge-active[b-y3qe3xc3gp] {
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
}

.cpa-badge-pending[b-y3qe3xc3gp] {
    background: #FFF4E0;
    color: #B5710A;
}

.cpa-badge-none[b-y3qe3xc3gp] {
    background: var(--crm-surface-2);
    color: var(--crm-text-3);
}

.cpa-state[b-y3qe3xc3gp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
}

.cpa-icon[b-y3qe3xc3gp] {
    font-size: 1.5rem;
    line-height: 1;
}

.cpa-icon-ok[b-y3qe3xc3gp] { color: var(--crm-teal-600); }
.cpa-icon-pending[b-y3qe3xc3gp] { color: #D97706; }

.cpa-state-title[b-y3qe3xc3gp] {
    font-weight: 600;
    color: var(--crm-text);
}

.cpa-state-sub[b-y3qe3xc3gp] {
    font-size: 0.85rem;
    color: var(--crm-text-2);
}

.cpa-actions[b-y3qe3xc3gp] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.9rem;
    flex-wrap: wrap;
}

.cpa-invite-controls[b-y3qe3xc3gp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1rem 1.1rem;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
}

.cpa-link-card[b-y3qe3xc3gp] {
    margin-top: 1rem;
    padding: 0.9rem 1.1rem;
    background: var(--crm-white);
    border: 1px dashed var(--crm-border);
    border-radius: var(--crm-r);
}

.cpa-link-label[b-y3qe3xc3gp] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    margin-bottom: 0.4rem;
}

.cpa-link-row[b-y3qe3xc3gp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cpa-link[b-y3qe3xc3gp] {
    flex: 1 1 auto;
    overflow-x: auto;
    white-space: nowrap;
    padding: 0.45rem 0.6rem;
    background: var(--crm-bg);
    border-radius: var(--crm-r-sm);
    font-size: 0.8rem;
    color: var(--crm-text);
}

.cpa-copy[b-y3qe3xc3gp] {
    flex: 0 0 auto;
    white-space: nowrap;
}

.cpa-link-hint[b-y3qe3xc3gp] {
    margin-top: 0.5rem;
    font-size: 0.78rem;
    color: var(--crm-text-3);
}
/* /Pages/Contacts/ContactVisitAddPanel.razor.rz.scp.css */
.cv-add-card[b-e8jf7w0194] {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    background: var(--crm-white);
    box-shadow: var(--crm-shadow-xs);
    overflow: hidden;
    margin-bottom: 1rem;
}

.cv-add-header[b-e8jf7w0194] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.9rem;
    background: var(--crm-bg);
    border-bottom: 1px solid var(--crm-border);
}

.cv-add-title[b-e8jf7w0194] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-navy);
}

.cv-add-close[b-e8jf7w0194] {
    font-size: 0.75rem;
    padding: 0.15rem 0.5rem;
}

.cv-add-tabs[b-e8jf7w0194] {
    display: flex;
    border-bottom: 1px solid var(--crm-border);
    background: var(--crm-white);
}

.cv-add-tab[b-e8jf7w0194] {
    flex: 1;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.55rem 0.9rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--crm-text-2);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.cv-add-tab:hover[b-e8jf7w0194] {
    background: var(--crm-bg);
    color: var(--crm-navy);
}

.cv-add-tab.active[b-e8jf7w0194] {
    color: var(--crm-navy);
    border-bottom-color: var(--crm-teal);
    background: var(--crm-white);
}

.cv-add-body[b-e8jf7w0194] {
    padding: 0.9rem;
}

.cv-alert[b-e8jf7w0194] {
    font-size: 0.85rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.75rem;
}

.cv-find-search[b-e8jf7w0194] {
    margin-bottom: 0.6rem;
}

.cv-label[b-e8jf7w0194] {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    margin-bottom: 0.2rem;
}

.cv-visit-list[b-e8jf7w0194] {
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    background: var(--crm-bg);
}

.cv-visit-item[b-e8jf7w0194] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--crm-border);
    cursor: pointer;
    transition: background-color 0.12s ease;
    background: var(--crm-white);
}

.cv-visit-item:last-child[b-e8jf7w0194] {
    border-bottom: none;
}

.cv-visit-item:hover:not(.disabled)[b-e8jf7w0194] {
    background: var(--crm-teal-50);
}

.cv-visit-item.selected[b-e8jf7w0194] {
    background: var(--crm-teal-50);
    box-shadow: inset 3px 0 0 var(--crm-teal);
}

.cv-visit-item.disabled[b-e8jf7w0194] {
    opacity: 0.65;
    cursor: not-allowed;
}

.cv-visit-main[b-e8jf7w0194] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 0.88rem;
}

.cv-visit-date[b-e8jf7w0194] {
    font-weight: 600;
    color: var(--crm-navy);
}

.cv-visit-account[b-e8jf7w0194] {
    color: var(--crm-text-2);
}

.cv-visit-sub[b-e8jf7w0194] {
    margin-top: 0.15rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: var(--crm-text-3);
}

.cv-visit-purpose[b-e8jf7w0194] {
    color: var(--crm-text-2);
}

.cv-visit-attached[b-e8jf7w0194] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.cv-add-actions[b-e8jf7w0194] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.75rem;
}
/* /Pages/CustomObjects/CustomObjectDetail.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────── */

.co-header[b-fpa74geaq3] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
}

.co-header-left[b-fpa74geaq3] {
    min-width: 0;
    flex: 1;
}

.co-header[b-fpa74geaq3]  h1 {
    margin: 0.15rem 0 0.5rem;
    font-size: 1.6rem;
}


.co-meta[b-fpa74geaq3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
}

.co-meta-item[b-fpa74geaq3] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    color: var(--crm-text-2);
}

.co-meta-muted[b-fpa74geaq3] {
    color: var(--crm-text-3);
}

.co-meta-item[b-fpa74geaq3]  i {
    font-size: 0.9rem;
    opacity: 0.6;
}

.co-actions[b-fpa74geaq3] {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
    padding-top: 0.15rem;
}

/* ── Empty state ───────────────────────────────────── */

.co-empty-state[b-fpa74geaq3] {
    padding: 2rem;
    text-align: center;
    color: var(--crm-text-3);
    background: var(--crm-white);
    border: 1px dashed var(--crm-border-2);
    border-radius: var(--crm-r);
}

/* ── Panels: side-by-side, grow vertically, aligned at top ── */

.co-panels[b-fpa74geaq3] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    align-items: start;
}

.co-panel-section[b-fpa74geaq3] {
    min-width: 0;
}

/* Give the RelatedObjectsPanel containers more visual weight */
.co-panel-section[b-fpa74geaq3]  .rop-container {
    background: var(--crm-white);
    border-color: var(--crm-border-2);
    box-shadow: var(--crm-shadow-sm);
    border-radius: var(--crm-r);
}

.co-panel-section[b-fpa74geaq3]  .rop-header {
    background: var(--crm-navy);
    border-bottom-color: var(--crm-navy-dark);
    border-radius: var(--crm-r) var(--crm-r) 0 0;
}

.co-panel-section[b-fpa74geaq3]  .rop-title {
    color: var(--crm-white);
    font-size: 0.8rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.co-panel-section[b-fpa74geaq3]  .rop-header .btn-primary {
    background: var(--crm-teal);
    border-color: var(--crm-teal);
    color: var(--crm-navy);
    font-weight: 600;
    font-size: 0.78rem;
}

.co-panel-section[b-fpa74geaq3]  .rop-header .btn-primary:hover {
    background: var(--crm-teal-600);
    border-color: var(--crm-teal-600);
}

.co-panel-section[b-fpa74geaq3]  .rop-item {
    border-bottom-color: var(--crm-border);
    padding: 10px 14px;
}

.co-panel-section[b-fpa74geaq3]  .rop-item:hover {
    background: var(--crm-teal-50);
}

.co-panel-section[b-fpa74geaq3]  .rop-item-name {
    color: var(--crm-navy);
    font-weight: 600;
}

.co-panel-section[b-fpa74geaq3]  .rop-empty {
    padding: 20px 14px;
    text-align: center;
    color: var(--crm-text-3);
}

/* ── Responsive ─────────────────────────────────────── */

@media (max-width: 767.98px) {
    .co-panels[b-fpa74geaq3] {
        grid-template-columns: 1fr;
    }

    .co-header[b-fpa74geaq3] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .co-actions[b-fpa74geaq3] {
        align-self: flex-end;
    }
}
/* /Pages/DataAccuracy/Components/DataAccuracyAccountPanel.razor.rz.scp.css */
/* Data Accuracy pill — mirrors AccountEngagementPanel (aep-) and
   AccountHierarchyPanel (ahp-). Compact pill summary on the right-aligned
   utility row; expands into a below-right popover overlay. */

.dap-anchor[b-i3ncv3fzcu] {
    position: relative;
    display: inline-flex;
}

.dap-summary[b-i3ncv3fzcu] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: 999px;
    text-align: left;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--crm-text-2, #4b5563);
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
    white-space: nowrap;
}

.dap-summary:hover[b-i3ncv3fzcu],
.dap-summary.is-active[b-i3ncv3fzcu] {
    background: var(--crm-bg, #f5f7fa);
    border-color: var(--crm-border-2, #c5d3e8);
}

.dap-summary.is-active[b-i3ncv3fzcu] {
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.dap-summary-label[b-i3ncv3fzcu] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dap-summary-label .bi[b-i3ncv3fzcu] {
    color: var(--crm-teal-600, #009E88);
}

.dap-summary-status[b-i3ncv3fzcu] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
}

.dap-summary-pending[b-i3ncv3fzcu] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.14);
    color: #92400e;
    font-size: 0.72rem;
    font-weight: 600;
}

.dap-summary-when[b-i3ncv3fzcu] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
}

.dap-summary-chev[b-i3ncv3fzcu] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), color 140ms ease;
}

.dap-summary.is-active .dap-summary-chev[b-i3ncv3fzcu] {
    transform: rotate(180deg);
    color: var(--crm-navy);
}

/* ── Popover ────────────────────────────────────────── */

.dap-popover[b-i3ncv3fzcu] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 360px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 120px);
    display: flex;
    flex-direction: column;
    z-index: 1050;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 16px 32px -10px rgba(15, 23, 42, 0.22);
    transform-origin: top right;
    animation: dap-popover-in-b-i3ncv3fzcu 180ms cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

@keyframes dap-popover-in-b-i3ncv3fzcu {
    from { opacity: 0; transform: translateY(-6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

.dap-popover-head[b-i3ncv3fzcu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    background: var(--crm-bg, #f5f7fa);
}

.dap-popover-title[b-i3ncv3fzcu] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dap-popover-title .bi[b-i3ncv3fzcu] {
    color: var(--crm-teal-600, #009E88);
}

.dap-popover-actions[b-i3ncv3fzcu] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.dap-popover-body[b-i3ncv3fzcu] {
    padding: 14px 16px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dap-field[b-i3ncv3fzcu] {
    display: flex;
    flex-direction: column;
}

.dap-meta[b-i3ncv3fzcu] {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 4px;
    margin: 0;
    font-size: 0.8rem;
}

.dap-meta > div[b-i3ncv3fzcu] {
    display: contents;
}

.dap-meta dt[b-i3ncv3fzcu] {
    color: var(--crm-text-3, #9ca3af);
    font-weight: 500;
}

.dap-meta dd[b-i3ncv3fzcu] {
    margin: 0;
    color: var(--crm-navy, #0f172a);
    font-variant-numeric: tabular-nums;
}

.dap-actions[b-i3ncv3fzcu] {
    display: flex;
    justify-content: flex-end;
}

.dap-status[b-i3ncv3fzcu] {
    border-top: 1px dashed var(--crm-border, #d8dee7);
    padding-top: 8px;
}

.dap-backdrop[b-i3ncv3fzcu] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

/* ── Running state ───────────────────────────────────── */

/* Pill icon pulse + slow spin while a run is in flight. Visible even
   when the popover is closed so the user knows the run is still going. */
.dap-summary.is-running[b-i3ncv3fzcu] {
    border-color: var(--crm-teal-600, #009E88);
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.18);
}

.dap-summary.is-running .dap-summary-label .bi[b-i3ncv3fzcu] {
    animation: dap-spin-b-i3ncv3fzcu 1.4s linear infinite;
}

.dap-running[b-i3ncv3fzcu] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(0, 197, 168, 0.06), rgba(0, 197, 168, 0.02));
    border: 1px solid rgba(0, 197, 168, 0.18);
}

.dap-running-head[b-i3ncv3fzcu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    font-size: 0.85rem;
}

.dap-running-head .bi[b-i3ncv3fzcu] {
    color: var(--crm-teal-600, #009E88);
    margin-right: 4px;
}

.dap-running-elapsed[b-i3ncv3fzcu] {
    font-variant-numeric: tabular-nums;
    color: var(--crm-text-2, #4b5563);
    font-weight: 500;
}

.dap-running-hint[b-i3ncv3fzcu] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
    line-height: 1.35;
}

/* Indeterminate progress: a colored band that loops left→right across
   the bar. Striped overlay for additional motion. */
.dap-progress[b-i3ncv3fzcu] {
    position: relative;
    height: 6px;
    border-radius: 999px;
    background: rgba(0, 197, 168, 0.12);
    overflow: hidden;
}

.dap-progress-bar[b-i3ncv3fzcu] {
    position: absolute;
    inset: 0;
    width: 35%;
    border-radius: 999px;
    background:
        linear-gradient(135deg,
            rgba(255, 255, 255, 0.35) 25%, transparent 25%,
            transparent 50%, rgba(255, 255, 255, 0.35) 50%,
            rgba(255, 255, 255, 0.35) 75%, transparent 75%,
            transparent 100%) 0 0 / 14px 14px,
        linear-gradient(90deg, #009E88, #00c5a8);
    animation:
        dap-progress-slide-b-i3ncv3fzcu 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite,
        dap-progress-stripes-b-i3ncv3fzcu 0.9s linear infinite;
}

.dap-spin[b-i3ncv3fzcu] {
    display: inline-block;
    animation: dap-spin-b-i3ncv3fzcu 1.4s linear infinite;
}

@keyframes dap-progress-slide-b-i3ncv3fzcu {
    0%   { left: -35%; }
    100% { left: 100%; }
}

@keyframes dap-progress-stripes-b-i3ncv3fzcu {
    from { background-position: 0 0, 0 0; }
    to   { background-position: 14px 0, 0 0; }
}

@keyframes dap-spin-b-i3ncv3fzcu {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .dap-progress-bar[b-i3ncv3fzcu],
    .dap-summary.is-running .dap-summary-label .bi[b-i3ncv3fzcu],
    .dap-spin[b-i3ncv3fzcu] { animation: none; }
    .dap-progress-bar[b-i3ncv3fzcu] { width: 100%; }
}
/* /Pages/DataAccuracy/SuggestionReview.razor.rz.scp.css */
/* Suggestion review — staff-facing layout. No raw JSON, friendly labels,
   clear hero + side-by-side change cards + soft callouts for reasoning and
   sources. Mirrors the calm CRM-wide visual language (teal + navy + soft
   borders) used elsewhere on the Account detail page. */

.sr-back a[b-eqs4uc2qqt] {
    color: var(--crm-text-3, #9ca3af);
    text-decoration: none;
    font-size: 0.85rem;
}

.sr-back a:hover[b-eqs4uc2qqt] {
    color: var(--crm-navy, #0f172a);
}

/* ── Hero ─────────────────────────────────────────────── */

.sr-hero[b-eqs4uc2qqt] {
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--crm-border, #e6eaf0);
}

.sr-hero-eyebrow[b-eqs4uc2qqt] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    font-size: 0.78rem;
    color: var(--crm-text-3, #9ca3af);
}

.sr-scope-chip[b-eqs4uc2qqt] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(0, 197, 168, 0.10);
    color: #00867a;
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.sr-eyebrow-dot[b-eqs4uc2qqt] { color: var(--crm-border-2, #c5d3e8); }

.sr-occurrence[b-eqs4uc2qqt] {
    font-weight: 500;
}

.sr-hero-title[b-eqs4uc2qqt] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    margin: 0 0 4px 0;
    line-height: 1.25;
}

.sr-hero-field[b-eqs4uc2qqt] {
    color: var(--crm-teal-600, #009E88);
    font-weight: 700;
}

.sr-hero-subtitle[b-eqs4uc2qqt] {
    color: var(--crm-text-2, #4b5563);
    font-size: 0.95rem;
}

.sr-account-link[b-eqs4uc2qqt] {
    color: var(--crm-navy, #0f172a);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
}

.sr-account-link:hover[b-eqs4uc2qqt] {
    color: var(--crm-teal-600, #009E88);
    border-color: var(--crm-teal-600, #009E88);
}

/* ── Resolved status row in hero ─────────────────────── */

.sr-status-row[b-eqs4uc2qqt] {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
}

.sr-status-pill[b-eqs4uc2qqt] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
}

.sr-status-pending[b-eqs4uc2qqt] { background: rgba(245, 158, 11, 0.14); color: #92400e; }
.sr-status-approved[b-eqs4uc2qqt] { background: rgba(16, 185, 129, 0.14); color: #047857; }
.sr-status-dismissed[b-eqs4uc2qqt] { background: rgba(107, 114, 128, 0.14); color: #4b5563; }
.sr-status-superseded[b-eqs4uc2qqt] { background: rgba(99, 102, 241, 0.14); color: #4338ca; }

.sr-status-when[b-eqs4uc2qqt] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.8rem;
}

.sr-reviewer-note[b-eqs4uc2qqt] {
    width: 100%;
    margin-top: 6px;
    padding: 8px 12px;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 8px;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
    font-style: italic;
}

.sr-reviewer-note .bi[b-eqs4uc2qqt] { color: var(--crm-text-3, #9ca3af); margin-right: 4px; }

/* ── Change cards (current → proposed) ───────────────── */

.sr-change[b-eqs4uc2qqt] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: stretch;
    margin-bottom: 24px;
}

.sr-change-card[b-eqs4uc2qqt] {
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: var(--crm-white, #fff);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sr-change-current[b-eqs4uc2qqt] {
    background: var(--crm-bg, #f5f7fa);
}

.sr-change-proposed[b-eqs4uc2qqt] {
    border-color: rgba(0, 197, 168, 0.40);
    background: linear-gradient(180deg, rgba(0, 197, 168, 0.05), rgba(0, 197, 168, 0.01));
    box-shadow: 0 1px 2px rgba(0, 197, 168, 0.08);
}

.sr-change-label[b-eqs4uc2qqt] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
}

.sr-change-proposed .sr-change-label[b-eqs4uc2qqt] {
    color: var(--crm-teal-600, #009E88);
}

.sr-change-value[b-eqs4uc2qqt] {
    min-height: 40px;
}

.sr-value-primary[b-eqs4uc2qqt] {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    word-break: break-word;
    line-height: 1.35;
}

.sr-value-secondary[b-eqs4uc2qqt] {
    margin-top: 2px;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
}

.sr-change-empty[b-eqs4uc2qqt] {
    color: var(--crm-text-3, #9ca3af);
    font-style: italic;
    font-size: 0.95rem;
}

.sr-change-arrow[b-eqs4uc2qqt] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--crm-text-3, #9ca3af);
    font-size: 1.2rem;
}

.sr-change-arrow .bi[b-eqs4uc2qqt] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #e6eaf0);
    border-radius: 999px;
    padding: 6px 8px;
}

@media (max-width: 700px) {
    .sr-change[b-eqs4uc2qqt] {
        grid-template-columns: 1fr;
    }
    .sr-change-arrow[b-eqs4uc2qqt] {
        transform: rotate(90deg);
    }
}

/* ── Reasoning callout ──────────────────────────────── */

.sr-reasoning[b-eqs4uc2qqt] {
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: var(--crm-white, #fff);
    margin-bottom: 18px;
}

.sr-reasoning-head[b-eqs4uc2qqt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.sr-section-title[b-eqs4uc2qqt] {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sr-section-title .bi[b-eqs4uc2qqt] {
    color: var(--crm-teal-600, #009E88);
}

.sr-section-count[b-eqs4uc2qqt] {
    margin-left: 4px;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.72rem;
    font-weight: 500;
}

.sr-reasoning-body[b-eqs4uc2qqt] {
    margin: 0;
    color: var(--crm-text-2, #374151);
    line-height: 1.55;
    font-size: 0.95rem;
}

/* Confidence indicator */
.sr-confidence[b-eqs4uc2qqt] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.sr-confidence-label[b-eqs4uc2qqt] {
    font-size: 0.78rem;
    color: var(--crm-text-2, #4b5563);
    font-weight: 500;
}

.sr-confidence-bars[b-eqs4uc2qqt] {
    display: inline-flex;
    gap: 3px;
    align-items: flex-end;
}

.sr-confidence-bars > span[b-eqs4uc2qqt] {
    display: inline-block;
    width: 5px;
    background: var(--crm-border, #e6eaf0);
    border-radius: 2px;
}

.sr-confidence-bars > span:nth-child(1)[b-eqs4uc2qqt] { height: 7px; }
.sr-confidence-bars > span:nth-child(2)[b-eqs4uc2qqt] { height: 10px; }
.sr-confidence-bars > span:nth-child(3)[b-eqs4uc2qqt] { height: 13px; }
.sr-confidence-bars > span:nth-child(4)[b-eqs4uc2qqt] { height: 16px; }
.sr-confidence-bars > span:nth-child(5)[b-eqs4uc2qqt] { height: 19px; }

.sr-confidence-5 > span[b-eqs4uc2qqt] { background: #10b981; }
.sr-confidence-4 > span:nth-child(-n+4)[b-eqs4uc2qqt] { background: #10b981; }
.sr-confidence-3 > span:nth-child(-n+3)[b-eqs4uc2qqt] { background: #f59e0b; }
.sr-confidence-2 > span:nth-child(-n+2)[b-eqs4uc2qqt] { background: #f59e0b; }
.sr-confidence-1 > span:nth-child(1)[b-eqs4uc2qqt] { background: #ef4444; }

/* ── Sources ────────────────────────────────────────── */

.sr-sources[b-eqs4uc2qqt] {
    margin-bottom: 18px;
}

.sr-sources .sr-section-title[b-eqs4uc2qqt] {
    margin-bottom: 10px;
}

.sr-source-list[b-eqs4uc2qqt] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sr-source-card[b-eqs4uc2qqt] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: var(--crm-white, #fff);
    color: var(--crm-navy, #0f172a);
    text-decoration: none;
    transition: border-color 140ms ease, background 140ms ease;
}

.sr-source-card:hover[b-eqs4uc2qqt] {
    border-color: var(--crm-teal-600, #009E88);
    background: rgba(0, 197, 168, 0.04);
}

.sr-source-icon[b-eqs4uc2qqt] {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(0, 197, 168, 0.10);
    color: var(--crm-teal-600, #009E88);
}

.sr-source-text[b-eqs4uc2qqt] {
    flex: 1 1 auto;
    min-width: 0;
}

.sr-source-domain[b-eqs4uc2qqt] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    font-size: 0.9rem;
}

.sr-source-url[b-eqs4uc2qqt] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sr-source-go[b-eqs4uc2qqt] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
}

/* ── Trace (collapsed by default) ───────────────────── */

.sr-trace[b-eqs4uc2qqt] {
    margin-bottom: 18px;
    border-radius: 10px;
    border: 1px dashed var(--crm-border-2, #c5d3e8);
    background: var(--crm-bg, #f5f7fa);
    padding: 6px 12px;
}

.sr-trace[open][b-eqs4uc2qqt] {
    background: var(--crm-white, #fff);
    border-style: solid;
    padding: 10px 14px;
}

.sr-trace-summary[b-eqs4uc2qqt] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    list-style: none;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
    font-weight: 500;
    padding: 4px 0;
}

.sr-trace-summary[b-eqs4uc2qqt]::-webkit-details-marker { display: none; }

.sr-trace-chev[b-eqs4uc2qqt] {
    margin-left: auto;
    color: var(--crm-text-3, #9ca3af);
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.sr-trace[open] .sr-trace-chev[b-eqs4uc2qqt] {
    transform: rotate(180deg);
}

.sr-trace-list[b-eqs4uc2qqt] {
    margin: 10px 0 4px 0;
    padding-left: 22px;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sr-trace-item[b-eqs4uc2qqt] {
    padding: 4px 0;
}

.sr-trace-tool[b-eqs4uc2qqt] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sr-trace-tool .bi[b-eqs4uc2qqt] {
    color: var(--crm-teal-600, #009E88);
}

.sr-trace-detail[b-eqs4uc2qqt] {
    color: var(--crm-text-3, #9ca3af);
    margin-left: 22px;
    font-size: 0.82rem;
}

/* ── Action footer ──────────────────────────────────── */

.sr-actions[b-eqs4uc2qqt] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    margin-top: 8px;
    padding: 16px 18px;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 12px;
}

.sr-actions-note[b-eqs4uc2qqt] {
    flex: 1 1 360px;
    min-width: 280px;
}

.sr-actions-buttons[b-eqs4uc2qqt] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}

.sr-btn-primary[b-eqs4uc2qqt] {
    padding: 8px 18px;
    font-weight: 600;
}

.sr-edit-link[b-eqs4uc2qqt] {
    background: none;
    border: none;
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.78rem;
    padding: 4px 0;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 3px;
}

.sr-edit-link:hover:not(:disabled)[b-eqs4uc2qqt] {
    color: var(--crm-navy, #0f172a);
}

.sr-edit-link:disabled[b-eqs4uc2qqt] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── Edit-value card ────────────────────────────────── */

.sr-edit-card[b-eqs4uc2qqt] {
    margin-top: 16px;
    padding: 16px 18px;
    border: 1px solid var(--crm-border-2, #c5d3e8);
    border-radius: 12px;
    background: var(--crm-white, #fff);
}

.sr-edit-head[b-eqs4uc2qqt] {
    margin-bottom: 10px;
}

.sr-edit-textarea[b-eqs4uc2qqt] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.85rem;
}

.sr-edit-actions[b-eqs4uc2qqt] {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

/* ── Spinner ────────────────────────────────────────── */

.sr-spin[b-eqs4uc2qqt] {
    display: inline-block;
    animation: sr-spin-b-eqs4uc2qqt 1.4s linear infinite;
}

@keyframes sr-spin-b-eqs4uc2qqt {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .sr-spin[b-eqs4uc2qqt],
    .sr-trace-chev[b-eqs4uc2qqt] { animation: none; transition: none; }
}
/* /Pages/ForgotPassword.razor.rz.scp.css */
.fp-desc[b-jv3ry47vor] {
    font-size: 0.88rem;
    color: var(--crm-text-2);
    line-height: 1.55;
    margin-bottom: 1.25rem;
}

.fp-sent[b-jv3ry47vor] {
    text-align: center;
    padding: 1rem 0 0.5rem;
}

.fp-sent-icon[b-jv3ry47vor] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
    margin-bottom: 1rem;
}

.fp-sent-text[b-jv3ry47vor] {
    font-size: 0.92rem;
    color: var(--crm-text);
    line-height: 1.5;
    margin-bottom: 0.25rem;
}

.fp-sent-hint[b-jv3ry47vor] {
    font-size: 0.8rem;
    color: var(--crm-text-3);
}

.fp-back[b-jv3ry47vor] {
    text-align: center;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--crm-border);
}

.fp-back-link[b-jv3ry47vor] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.84rem;
    color: var(--crm-text-2);
    text-decoration: none;
    transition: color var(--crm-fast) ease;
}

.fp-back-link:hover[b-jv3ry47vor] {
    color: var(--crm-navy);
}
/* /Pages/GovernmentAffairs/Analytics.razor.rz.scp.css */
/* ── Biennium picker (rendered in GaPageHeader's Actions slot) ── */

.ga-biennium-picker[b-t5dv5bzgda] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ga-biennium-label[b-t5dv5bzgda] {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
}

.ga-biennium-select[b-t5dv5bzgda] {
    min-width: 240px;
    width: auto;
    border-color: var(--crm-border, #d8dee7);
}

/* ── Stat cards (top row) ──────────────────────────── */

.ga-stats-row[b-t5dv5bzgda] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
}

[b-t5dv5bzgda] .ga-stat-card {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    box-shadow: var(--crm-shadow-xs);
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: border-color 140ms ease, box-shadow 140ms ease;
}

[b-t5dv5bzgda] .ga-stat-card:hover {
    border-color: var(--crm-border-2, #c5d3e8);
}

[b-t5dv5bzgda] .ga-stat-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
    display: flex;
    align-items: center;
    gap: 6px;
}

[b-t5dv5bzgda] .ga-stat-label i {
    color: var(--crm-teal-600, #009E88);
    font-size: 0.95rem;
}

[b-t5dv5bzgda] .ga-stat-value {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--crm-navy, #0f172a);
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

[b-t5dv5bzgda] .ga-stat-success { color: #15803d; }
[b-t5dv5bzgda] .ga-stat-danger  { color: #b91c1c; }

/* ── Info panels + sections ────────────────────────── */

.ga-info-panel[b-t5dv5bzgda] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    padding: 22px 26px;
    box-shadow: var(--crm-shadow-xs);
}

.ga-section-head[b-t5dv5bzgda] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 8px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    flex-wrap: wrap;
}

.ga-section-title[b-t5dv5bzgda] {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
}

.ga-section-title[b-t5dv5bzgda]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.ga-section-title i[b-t5dv5bzgda] {
    color: var(--crm-teal-600, #009E88);
    font-size: 0.95rem;
}

.ga-section-meta[b-t5dv5bzgda] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
}

.ga-scope-chip[b-t5dv5bzgda] {
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--crm-text-2);
    background: var(--crm-bg, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--crm-border, #d8dee7);
}

.ga-empty[b-t5dv5bzgda] {
    padding: 24px 0 0;
    color: var(--crm-text-3, #9ca3af);
}

.ga-empty p[b-t5dv5bzgda] {
    margin: 0;
    font-size: 0.85rem;
}

/* ── Side-by-side panel grid ───────────────────────── */

.ga-panel-grid[b-t5dv5bzgda] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 991.98px) {
    .ga-panel-grid[b-t5dv5bzgda] {
        grid-template-columns: 1fr;
    }
}

/* ── Bar rows (outcome / stance breakdowns) ────────── */

.ga-bar-row[b-t5dv5bzgda] {
    margin-bottom: 10px;
}

.ga-bar-row:last-child[b-t5dv5bzgda] {
    margin-bottom: 0;
}

.ga-bar-row-head[b-t5dv5bzgda] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.82rem;
    margin-bottom: 4px;
}

.ga-bar-label[b-t5dv5bzgda] {
    color: var(--crm-text-1, #1f2937);
    display: inline-flex;
    align-items: center;
}

.ga-bar-dot[b-t5dv5bzgda] {
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    margin-right: 0.5rem;
}

.ga-bar-meta[b-t5dv5bzgda] {
    color: var(--crm-text-3, #9ca3af);
    font-variant-numeric: tabular-nums;
    font-size: 0.78rem;
}

.ga-bar-track[b-t5dv5bzgda] {
    height: 6px;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 999px;
    overflow: hidden;
}

.ga-bar-fill[b-t5dv5bzgda] {
    height: 100%;
    transition: width 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Stance × outcome matrix ───────────────────────── */

.ga-matrix-table[b-t5dv5bzgda] {
    margin-bottom: 0;
}

.ga-matrix-table th[b-t5dv5bzgda],
.ga-matrix-table td[b-t5dv5bzgda] {
    padding: 8px 10px;
    border-color: var(--crm-border, #d8dee7);
    font-size: 0.82rem;
}

.ga-matrix-table thead th[b-t5dv5bzgda] {
    font-weight: 600;
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: var(--crm-bg, #f5f7fa);
}

.ga-matrix-table tbody th[b-t5dv5bzgda] {
    font-weight: 500;
    color: var(--crm-text-2, #4b5563);
    background: var(--crm-bg, #f5f7fa);
}

.ga-matrix-cell[b-t5dv5bzgda] {
    font-variant-numeric: tabular-nums;
    color: var(--crm-navy, #0f172a);
    font-weight: 500;
}

.ga-matrix-cell-empty[b-t5dv5bzgda] {
    color: var(--crm-text-3, #9ca3af);
    font-weight: 400;
}

/* ── Trend chart ───────────────────────────────────── */

.ga-trend-grid[b-t5dv5bzgda] {
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.ga-trend-bar[b-t5dv5bzgda] {
    min-width: 70px;
}

.ga-trend-col[b-t5dv5bzgda] {
    width: 100%;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 6px 6px 0 0;
    display: flex;
    flex-direction: column-reverse;
    border: 1px solid var(--crm-border, #d8dee7);
    border-bottom: none;
    position: relative;
}

.ga-trend-segment[b-t5dv5bzgda] {
    width: 100%;
    transition: height 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

.ga-trend-enacted[b-t5dv5bzgda] {
    background: #15803d;
}

.ga-trend-died[b-t5dv5bzgda] {
    background: #b91c1c;
}

.ga-trend-period[b-t5dv5bzgda] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
    margin-top: 6px;
    text-align: center;
}

.ga-trend-count[b-t5dv5bzgda] {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--crm-navy, #0f172a);
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.ga-trend-legend[b-t5dv5bzgda] {
    display: flex;
    gap: 1rem;
    font-size: 0.78rem;
    color: var(--crm-text-3, #9ca3af);
    margin-top: 12px;
}

.ga-trend-legend > span[b-t5dv5bzgda] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ga-legend-swatch[b-t5dv5bzgda] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 3px;
}

.ga-legend-active[b-t5dv5bzgda] {
    background: var(--crm-bg, #f5f7fa);
    border: 1px solid var(--crm-border, #d8dee7);
}
/* /Pages/GovernmentAffairs/BillDetail.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────── */

.bd-header[b-edaa5vdwv1] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
}

.bd-header-left[b-edaa5vdwv1] {
    flex: 1 1 auto;
    min-width: 0;
}

.bd-header[b-edaa5vdwv1]  h1 {
    margin: 0;
    font-size: 1.6rem;
}

.bd-headline[b-edaa5vdwv1] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    margin-bottom: 0.35rem;
}

.bd-chips[b-edaa5vdwv1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.bd-chip[b-edaa5vdwv1] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid transparent;
}

.bd-chip-type[b-edaa5vdwv1] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2);
    border-color: var(--crm-border, #d8dee7);
}

.bd-chip-chamber[b-edaa5vdwv1] {
    background: rgba(31, 41, 55, 0.08);
    color: var(--crm-navy, #0f172a);
    border-color: rgba(31, 41, 55, 0.18);
}

.bd-chip-status[b-edaa5vdwv1] {
    background: rgba(13, 110, 253, 0.10);
    color: #0a58ca;
    border-color: rgba(13, 110, 253, 0.25);
}

.bd-chip-request[b-edaa5vdwv1] {
    background: rgba(217, 119, 6, 0.10);
    color: #b45309;
    border-color: rgba(217, 119, 6, 0.25);
}

.bd-chip-prime[b-edaa5vdwv1] {
    background: rgba(0, 197, 168, 0.12);
    color: var(--crm-teal-700, #00735f);
    border-color: rgba(0, 197, 168, 0.32);
}

.bd-chip-cosponsor[b-edaa5vdwv1] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2);
    border-color: var(--crm-border, #d8dee7);
}

.bd-chip-terminal[b-edaa5vdwv1] {
    background: var(--crm-navy, #0f172a);
    color: #fff;
    border-color: var(--crm-navy, #0f172a);
}

.bd-title[b-edaa5vdwv1] {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--crm-text-2, #4b5563);
    line-height: 1.4;
}

.bd-meta[b-edaa5vdwv1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.75rem;
    margin-top: 4px;
}

.bd-meta-item[b-edaa5vdwv1] {
    font-size: 0.78rem;
    color: var(--crm-text-3, #9ca3af);
}

.bd-header-actions[b-edaa5vdwv1] {
    flex: 0 0 auto;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 0.15rem;
}

/* ── Tab transitions ────────────────────────────────── */

.bd-tab-content[b-edaa5vdwv1] {
    animation: bd-tab-fade-in-b-edaa5vdwv1 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes bd-tab-fade-in-b-edaa5vdwv1 {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0);   }
}

@media (prefers-reduced-motion: reduce) {
    .bd-tab-content[b-edaa5vdwv1] {
        animation: none;
    }
}

/* ── Info panel + sections ─────────────────────────── */

.bd-info-panel[b-edaa5vdwv1] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    padding: 22px 26px;
    box-shadow: var(--crm-shadow-xs);
}

.bd-prop-section-title[b-edaa5vdwv1],
.bd-tab-title[b-edaa5vdwv1] {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.bd-prop-section-title[b-edaa5vdwv1]::before,
.bd-tab-title[b-edaa5vdwv1]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.bd-tab-head[b-edaa5vdwv1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    gap: 12px;
    flex-wrap: wrap;
}

.bd-tab-head .bd-tab-title[b-edaa5vdwv1] {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.bd-tab-count[b-edaa5vdwv1] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-2, #4b5563);
    background: var(--crm-bg, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0;
}

.bd-lead[b-edaa5vdwv1] {
    margin: 0 0 8px;
    color: var(--crm-text-1, #1f2937);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.5;
}

.bd-long-desc[b-edaa5vdwv1] {
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
    line-height: 1.55;
    white-space: pre-wrap;
}

.bd-empty[b-edaa5vdwv1] {
    text-align: center;
    padding: 36px 16px;
    color: var(--crm-text-3, #9ca3af);
}

.bd-empty i[b-edaa5vdwv1] {
    font-size: 1.75rem;
    display: block;
    margin-bottom: 8px;
    color: var(--crm-border-2, #c5d3e8);
}

.bd-empty p[b-edaa5vdwv1] {
    margin: 0;
    font-size: 0.85rem;
}

/* ── Toolbar (Bill text + Ask AI strip) ─────────────── */

.bd-toolbar[b-edaa5vdwv1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
}

.bd-toolbar-actions[b-edaa5vdwv1] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.bd-toolbar-hint[b-edaa5vdwv1] {
    font-size: 0.8rem;
    color: var(--crm-text-3, #9ca3af);
    align-self: center;
}

.bd-ask-strip[b-edaa5vdwv1] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.bd-ask-label[b-edaa5vdwv1] {
    font-size: 0.78rem;
    color: var(--crm-text-3, #9ca3af);
    margin-right: 0.25rem;
}

.bd-ask-label .bi[b-edaa5vdwv1] {
    color: var(--crm-teal-600, #009E88);
}

/* ── Sponsors + Documents grid ─────────────────────── */

.bd-grid[b-edaa5vdwv1] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 991.98px) {
    .bd-grid[b-edaa5vdwv1] {
        grid-template-columns: 1fr;
    }
}

/* ── Row lists ─────────────────────────────────────── */

.bd-row-list[b-edaa5vdwv1] {
    display: flex;
    flex-direction: column;
}

.bd-row[b-edaa5vdwv1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
}

.bd-row:last-child[b-edaa5vdwv1] {
    border-bottom: none;
}

.bd-row-stack[b-edaa5vdwv1] {
    flex-direction: column;
    align-items: stretch;
}

.bd-row-line[b-edaa5vdwv1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.bd-row-main[b-edaa5vdwv1] {
    min-width: 0;
    flex: 1 1 auto;
}

.bd-row-title[b-edaa5vdwv1] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
}

.bd-row-version[b-edaa5vdwv1] {
    color: var(--crm-text-3, #9ca3af);
    font-weight: 400;
}

.bd-row-sub[b-edaa5vdwv1] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
    margin-top: 2px;
}

.bd-row-sub-tiny[b-edaa5vdwv1] {
    font-size: 0.7rem;
    margin-top: 0;
    margin-bottom: 2px;
}

.bd-row-link[b-edaa5vdwv1] {
    text-decoration: none;
    color: inherit;
    transition: background 120ms ease;
    border-radius: 6px;
    padding: 10px 6px;
}

.bd-row-link:hover[b-edaa5vdwv1] {
    background: var(--crm-bg, #f5f7fa);
}

.bd-row-aside[b-edaa5vdwv1] {
    text-align: right;
    flex-shrink: 0;
}

.bd-row-aside-date[b-edaa5vdwv1] {
    font-size: 0.78rem;
    color: var(--crm-text-3, #9ca3af);
}

/* Comment-period chips */
.bd-comment-chip[b-edaa5vdwv1] {
    font-size: 0.72rem;
    font-weight: 600;
    margin-top: 2px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.bd-comment-chip-success[b-edaa5vdwv1] { color: #15803d; }
.bd-comment-chip-warning[b-edaa5vdwv1] { color: #b45309; }
.bd-comment-chip-danger[b-edaa5vdwv1]  { color: #b91c1c; }
.bd-comment-chip-closed[b-edaa5vdwv1]  { color: var(--crm-text-3, #9ca3af); }

/* ── Doc text panel ────────────────────────────────── */

.bd-doc-text-panel[b-edaa5vdwv1] {
    background: var(--crm-bg, #f5f7fa);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: 6px;
    padding: 0.75rem;
    margin-top: 6px;
}

.bd-doc-text[b-edaa5vdwv1] {
    max-height: 520px;
    overflow: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-family: var(--bs-font-monospace);
    font-size: 0.82rem;
    margin: 0;
    color: var(--crm-text-1, #1f2937);
}

.bd-spin[b-edaa5vdwv1] {
    display: inline-block;
    animation: bd-spin-kf-b-edaa5vdwv1 0.9s linear infinite;
}

@keyframes bd-spin-kf-b-edaa5vdwv1 {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* ── Internal tab — deep-style the four embedded panels
   (BillAssignment, BillPosition, BillTalkingPoint, StakeholderCommunication)
   so they adopt the unified info-panel chrome without rewriting each
   component. They all share the same .card / .card-header.bg-light /
   .card-body structure, so a single set of ::deep rules covers them all.
   ──────────────────────────────────────────────────── */

.bd-internal-stack[b-edaa5vdwv1] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.bd-internal-stack[b-edaa5vdwv1]  > * > .card,
.bd-internal-stack[b-edaa5vdwv1]  .card {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    box-shadow: var(--crm-shadow-xs);
    margin-bottom: 0;
    overflow: hidden;
}

.bd-internal-stack[b-edaa5vdwv1]  .card-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    padding: 12px 18px;
}

.bd-internal-stack[b-edaa5vdwv1]  .card-header.bg-light {
    background: transparent;
}

/* Title inside the card header — small uppercase-feel with teal accent bar
   matching the rest of the section-header pattern. The embedded panels use
   <strong> + <i> + text + count badge layout. */
.bd-internal-stack[b-edaa5vdwv1]  .card-header strong {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.bd-internal-stack[b-edaa5vdwv1]  .card-header strong::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

.bd-internal-stack[b-edaa5vdwv1]  .card-header strong i {
    color: var(--crm-teal-600, #009E88);
    font-size: 0.95rem;
}

/* Count badge → soft neutral pill matching .bd-tab-count */
.bd-internal-stack[b-edaa5vdwv1]  .card-header .badge.bg-secondary {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-2, #4b5563);
    background: var(--crm-bg, #f5f7fa) !important;
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0;
}

.bd-internal-stack[b-edaa5vdwv1]  .card-body {
    padding: 16px 18px;
}

.bd-internal-stack[b-edaa5vdwv1]  .card-body.border-bottom {
    border-bottom-color: var(--crm-border, #d8dee7) !important;
}

/* "No data" muted state inside an embedded card-body */
.bd-internal-stack[b-edaa5vdwv1]  .card-body.text-muted {
    color: var(--crm-text-3, #9ca3af) !important;
    font-size: 0.85rem;
}

/* Form labels inside the embedded inline-edit forms — match the
   subdued uppercase property-label aesthetic. */
.bd-internal-stack[b-edaa5vdwv1]  .form-label.small.text-muted {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
    margin-bottom: 4px;
}

/* "Owners" / "Backups" / "Watchers" sub-heads inside BillAssignmentPanel */
.bd-internal-stack[b-edaa5vdwv1]  .small.text-uppercase.text-muted.fw-semibold {
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--crm-text-3, #9ca3af);
}

/* Person chips (Owners/Backups/Watchers) — the role-coded badges stay
   colored but get rounded pill treatment and tighter padding. */
.bd-internal-stack[b-edaa5vdwv1]  .badge.bg-primary,
.bd-internal-stack[b-edaa5vdwv1]  .badge.bg-info,
.bd-internal-stack[b-edaa5vdwv1]  .badge.bg-success,
.bd-internal-stack[b-edaa5vdwv1]  .badge.bg-warning {
    border-radius: 999px !important;
    font-weight: 500;
    letter-spacing: 0.01em;
}
/* /Pages/GovernmentAffairs/LegislatorDetail.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────── */

.ld-header[b-te1uytknx2] {
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
}

.ld-header-left[b-te1uytknx2] {
    min-width: 0;
}

.ld-header[b-te1uytknx2]  h1 {
    margin: 0 0 0.4rem;
    font-size: 1.6rem;
}

.ld-meta[b-te1uytknx2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.75rem;
    margin-top: 4px;
}

.ld-meta-item[b-te1uytknx2] {
    font-size: 0.85rem;
    color: var(--crm-text-2);
}

.ld-meta-muted[b-te1uytknx2] {
    color: var(--crm-text-3, #9ca3af);
}

.ld-chips[b-te1uytknx2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
}

.ld-chip[b-te1uytknx2] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid transparent;
}

/* Chamber chip (House / Senate / Other) */
.ld-chip-chamber[b-te1uytknx2] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2);
    border-color: var(--crm-border, #d8dee7);
}

/* Party chips — color-coded by affiliation. */
.ld-chip-party-dem[b-te1uytknx2] {
    background: rgba(13, 110, 253, 0.12);
    color: #084298;
    border-color: rgba(13, 110, 253, 0.25);
}

.ld-chip-party-rep[b-te1uytknx2] {
    background: rgba(220, 53, 69, 0.10);
    color: #b91c1c;
    border-color: rgba(220, 53, 69, 0.25);
}

.ld-chip-party-ind[b-te1uytknx2] {
    background: rgba(217, 119, 6, 0.10);
    color: #b45309;
    border-color: rgba(217, 119, 6, 0.25);
}

.ld-chip-party-other[b-te1uytknx2] {
    background: rgba(99, 102, 241, 0.10);
    color: #4338ca;
    border-color: rgba(99, 102, 241, 0.25);
}

.ld-chip-party-unknown[b-te1uytknx2] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-3, #9ca3af);
    border-color: var(--crm-border, #d8dee7);
}

/* Role chips (Committee membership row right edge) */
.ld-chip-role-chair[b-te1uytknx2] {
    background: rgba(0, 197, 168, 0.12);
    color: var(--crm-teal-700, #00735f);
    border-color: rgba(0, 197, 168, 0.32);
}

.ld-chip-role-vicechair[b-te1uytknx2] {
    background: rgba(99, 102, 241, 0.10);
    color: #4338ca;
    border-color: rgba(99, 102, 241, 0.25);
}

.ld-chip-role-ranking[b-te1uytknx2] {
    background: rgba(217, 119, 6, 0.10);
    color: #b45309;
    border-color: rgba(217, 119, 6, 0.25);
}

.ld-chip-role-member[b-te1uytknx2] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2);
    border-color: var(--crm-border, #d8dee7);
}

/* ── Info-panel grid (Contact + Matched contact side by side) ── */

.ld-grid[b-te1uytknx2] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 767.98px) {
    .ld-grid[b-te1uytknx2] {
        grid-template-columns: 1fr;
    }
}

.ld-info-panel[b-te1uytknx2] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    padding: 22px 26px;
    box-shadow: var(--crm-shadow-xs);
}

.ld-prop-section-title[b-te1uytknx2] {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.ld-prop-section-title[b-te1uytknx2]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.ld-prop-section-head[b-te1uytknx2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
}

.ld-prop-section-head .ld-prop-section-title[b-te1uytknx2] {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
    flex: 1 1 auto;
}

.ld-prop-empty[b-te1uytknx2] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
}

.ld-prop-muted[b-te1uytknx2] {
    color: var(--crm-text-3, #9ca3af);
}

.ld-matched-contact[b-te1uytknx2] {
    margin-top: 4px;
}

.ld-matched-name[b-te1uytknx2] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    text-decoration: none;
}

.ld-matched-name:hover[b-te1uytknx2] {
    color: var(--crm-teal-600, #009E88);
    text-decoration: underline;
}

.ld-matched-meta[b-te1uytknx2] {
    font-size: 0.78rem;
    color: var(--crm-text-3, #9ca3af);
    margin-top: 2px;
}

/* ── Animatable property rows ───────────────────────── */

.ld-anim-dl[b-te1uytknx2] {
    display: flex;
    flex-direction: column;
}

.ld-anim-row[b-te1uytknx2] {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1),
                opacity 160ms ease,
                margin 220ms ease;
}

.ld-anim-row-inner[b-te1uytknx2] {
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(120px, max-content) 1fr;
    align-items: baseline;
    column-gap: 24px;
    padding: 5px 0;
    font-size: 0.85rem;
}

.ld-anim-row-inner > dt[b-te1uytknx2] {
    margin: 0;
    font-weight: 500;
    color: var(--crm-text-3, #9ca3af);
    white-space: nowrap;
}

.ld-anim-row-inner > dd[b-te1uytknx2] {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    line-height: 1.45;
}

.ld-anim-row-inner > dd a[b-te1uytknx2] {
    color: var(--crm-teal-700, #00735f);
    text-decoration: none;
}

.ld-anim-row-inner > dd a:hover[b-te1uytknx2] {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

/* ── Committees panel ──────────────────────────────── */

.ld-tab-head[b-te1uytknx2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    gap: 12px;
    flex-wrap: wrap;
}

.ld-tab-title[b-te1uytknx2] {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ld-tab-title[b-te1uytknx2]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.ld-tab-count[b-te1uytknx2] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-2, #4b5563);
    background: var(--crm-bg, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0;
}

.ld-empty[b-te1uytknx2] {
    text-align: center;
    padding: 36px 16px;
    color: var(--crm-text-3, #9ca3af);
}

.ld-empty i[b-te1uytknx2] {
    font-size: 1.75rem;
    display: block;
    margin-bottom: 8px;
    color: var(--crm-border-2, #c5d3e8);
}

.ld-empty p[b-te1uytknx2] {
    margin: 0;
    font-size: 0.85rem;
}

.ld-committee-list[b-te1uytknx2] {
    display: flex;
    flex-direction: column;
}

.ld-committee-row[b-te1uytknx2] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
}

.ld-committee-row:last-child[b-te1uytknx2] {
    border-bottom: none;
}

.ld-committee-name[b-te1uytknx2] {
    font-size: 0.9rem;
    color: var(--crm-navy, #0f172a);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Pages/Home.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════
   DASHBOARD SKELETONS
   ═══════════════════════════════════════════════════════════════════ */

.dash-skel-metric[b-h6x05ax07t] {
    height: 100px;
    border-radius: var(--crm-r);
    animation: crm-slide-up var(--crm-slow) var(--crm-ease) both;
}

.dash-skel-list[b-h6x05ax07t] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    animation: crm-slide-up var(--crm-slow) var(--crm-ease) both;
}

.dash-skel-list-header[b-h6x05ax07t] {
    height: 16px;
    width: 40%;
    border-radius: 4px;
    margin-bottom: 0.25rem;
}

.dash-skel-list-row[b-h6x05ax07t] {
    height: 12px;
    border-radius: 3px;
}

/* ═══════════════════════════════════════════════════════════════════
   GLOBAL SEARCH — command-centre aesthetic
   Layer stack: page bg → white bar → navy panel → white cards
   ═══════════════════════════════════════════════════════════════════ */

.gs-wrapper[b-h6x05ax07t] {
    position: relative;
}

/* ── Search bar ─────────────────────────────────────────────────────── */

.gs-bar[b-h6x05ax07t] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 2px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 13px 18px;
    box-shadow: 0 1px 4px rgba(13, 36, 71, 0.07);
    transition:
        border-color var(--crm-fast) ease,
        box-shadow    var(--crm-fast) ease;
}

.gs-bar:focus-within[b-h6x05ax07t] {
    border-color: var(--crm-teal);
    box-shadow:
        0 0 0 4px var(--crm-teal-glow),
        0 2px 12px rgba(13, 36, 71, 0.12);
}

.gs-icon[b-h6x05ax07t] {
    flex-shrink: 0;
    color: var(--crm-text-3);
    transition: color var(--crm-mid) ease;
}

.gs-bar:focus-within .gs-icon[b-h6x05ax07t] {
    color: var(--crm-teal);
}

.gs-input[b-h6x05ax07t] {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1rem;
    color: var(--crm-text);
    font-family: inherit;
    font-weight: 500;
}

.gs-input[b-h6x05ax07t]::placeholder {
    color: var(--crm-text-3);
    font-weight: 400;
}

.gs-spinner[b-h6x05ax07t] {
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    border: 2px solid rgba(0, 197, 168, 0.25);
    border-top-color: var(--crm-teal);
    border-radius: 50%;
    animation: gs-spin-b-h6x05ax07t 0.65s linear infinite;
}

@keyframes gs-spin-b-h6x05ax07t {
    to { transform: rotate(360deg); }
}

.gs-clear[b-h6x05ax07t] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: 50%;
    cursor: pointer;
    color: var(--crm-text-3);
    transition:
        color        var(--crm-fast) ease,
        background   var(--crm-fast) ease,
        border-color var(--crm-fast) ease;
}

.gs-clear:hover[b-h6x05ax07t] {
    color: var(--crm-text);
    background: var(--crm-border);
    border-color: transparent;
}

/* ── Results panel — rich navy backdrop ─────────────────────────────── */

.gs-results[b-h6x05ax07t] {
    margin-top: 6px;
    background: var(--crm-navy);
    border-radius: var(--crm-r);
    /* teal outline + deep shadow for elevation */
    box-shadow:
        0 0 0 1px rgba(0, 197, 168, 0.22),
        0 8px 24px rgba(13, 36, 71, 0.28),
        0 32px 64px rgba(13, 36, 71, 0.18);
    overflow: hidden;
    animation: gs-reveal-b-h6x05ax07t 0.18s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes gs-reveal-b-h6x05ax07t {
    from {
        opacity: 0;
        transform: translateY(-10px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.gs-no-results[b-h6x05ax07t] {
    padding: 28px 20px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.875rem;
    text-align: center;
    letter-spacing: 0.01em;
}

/* ── Group sections ──────────────────────────────────────────────────── */

.gs-group[b-h6x05ax07t] {
    padding: 14px 16px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.gs-group:last-child[b-h6x05ax07t] {
    border-bottom: none;
}

.gs-group-header[b-h6x05ax07t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.gs-group-label[b-h6x05ax07t] {
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--crm-teal);
}

.gs-group-more[b-h6x05ax07t] {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.38);
    text-decoration: none;
    transition: color var(--crm-fast) ease;
}

.gs-group-more:hover[b-h6x05ax07t] {
    color: var(--crm-teal);
}

/* ── Result cards — white tiles on dark ─────────────────────────────── */

.gs-cards[b-h6x05ax07t] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gs-card[b-h6x05ax07t] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    background: rgba(255, 255, 255, 0.97);
    border: 1.5px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--crm-r-sm);
    text-decoration: none;
    flex: 1 1 190px;
    min-width: 150px;
    max-width: 270px;
    /* staggered entrance */
    animation: gs-card-in-b-h6x05ax07t 0.22s cubic-bezier(0.16, 1, 0.3, 1) both;
    transition:
        transform     var(--crm-fast) ease,
        box-shadow    var(--crm-fast) ease,
        border-color  var(--crm-fast) ease;
}

/* stagger first 5 cards per group */
.gs-card:nth-child(1)[b-h6x05ax07t] { animation-delay: 0.04s; }
.gs-card:nth-child(2)[b-h6x05ax07t] { animation-delay: 0.08s; }
.gs-card:nth-child(3)[b-h6x05ax07t] { animation-delay: 0.12s; }
.gs-card:nth-child(4)[b-h6x05ax07t] { animation-delay: 0.16s; }
.gs-card:nth-child(5)[b-h6x05ax07t] { animation-delay: 0.20s; }

@keyframes gs-card-in-b-h6x05ax07t {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.gs-card:hover[b-h6x05ax07t] {
    transform: translateY(-2px);
    border-color: var(--crm-teal);
    box-shadow:
        0 4px 12px rgba(13, 36, 71, 0.2),
        0 0 0 1px var(--crm-teal);
}

/* ── Card icon badges ───────────────────────────────────────────────── */

.gs-card-icon[b-h6x05ax07t] {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gs-icon-account[b-h6x05ax07t] {
    background: color-mix(in srgb, var(--crm-navy) 10%, white);
    color: var(--crm-navy);
    box-shadow: inset 0 0 0 1px rgba(13, 36, 71, 0.12);
}

.gs-icon-contact[b-h6x05ax07t] {
    background: color-mix(in srgb, var(--crm-teal) 14%, white);
    color: var(--crm-teal-600);
    box-shadow: inset 0 0 0 1px rgba(0, 197, 168, 0.2);
}

.gs-icon-workgroup[b-h6x05ax07t] {
    background: color-mix(in srgb, #6366F1 12%, white);
    color: #4F46E5;
    box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.18);
}

.gs-icon-custom[b-h6x05ax07t] {
    background: color-mix(in srgb, #F59E0B 12%, white);
    color: #B45309;
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.18);
}

/* ── Card text ──────────────────────────────────────────────────────── */

.gs-card-text[b-h6x05ax07t] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.gs-card-name[b-h6x05ax07t] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--crm-navy);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.gs-card-sub[b-h6x05ax07t] {
    font-size: 0.7rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
    line-height: 1.3;
}
/* /Pages/Import/NarrativeImport.razor.rz.scp.css */
/* Narrative Import page — single stacked column. Pre-extract is a centered
   compose card so attention is on the paste; post-extract collapses the
   paste into a compact summary header and gives the review full width. */

.ni-page[b-4oixr3lnr2] {
    padding: 20px 24px 32px 24px;
    max-width: 1200px;
    margin: 0 auto;
}

.ni-page-header[b-4oixr3lnr2] {
    margin-bottom: 18px;
}

.ni-page-title[b-4oixr3lnr2] {
    margin: 0 0 6px 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
}

.ni-page-subtitle[b-4oixr3lnr2] {
    margin: 0;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.95rem;
}

/* ── Pre-extract compose card ────────────────────────── */

.ni-compose-shell[b-4oixr3lnr2] {
    display: flex;
    justify-content: center;
}

.ni-compose-card[b-4oixr3lnr2] {
    width: 100%;
    max-width: 760px;
    border-color: var(--crm-border, #e6eaf0);
}

.ni-textarea[b-4oixr3lnr2] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.9rem;
    line-height: 1.5;
    resize: vertical;
}

/* ── Post-extract pasted-text header ─────────────────── */

.ni-pasted-card[b-4oixr3lnr2] {
    margin-bottom: 18px;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: var(--crm-bg, #f5f7fa);
}

.ni-pasted-head[b-4oixr3lnr2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.ni-pasted-eyebrow[b-4oixr3lnr2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
}

.ni-pasted-eyebrow .bi[b-4oixr3lnr2] {
    color: var(--crm-teal-600, #009E88);
}

.ni-pasted-actions[b-4oixr3lnr2] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.ni-pasted-actions .btn-link[b-4oixr3lnr2] {
    text-decoration: none;
    color: var(--crm-text-2, #4b5563);
}

.ni-pasted-actions .btn-link:hover[b-4oixr3lnr2] {
    color: var(--crm-navy, #0f172a);
}

.ni-pasted-body[b-4oixr3lnr2] {
    margin: 10px 0 0 0;
    padding: 10px 12px;
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #e6eaf0);
    border-radius: 8px;
    max-height: 220px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.85rem;
    color: var(--crm-text-2, #374151);
}
/* /Pages/Leads/LeadDetail.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════
   LeadDetail · Scoped Styles
   ═══════════════════════════════════════════════════════════ */

/* ── Entrance animation ──────────────────────── */
.ld-anim[b-j16o3976hm] {
    animation: ld-fade-up-b-j16o3976hm 0.38s var(--crm-ease) both;
}

@keyframes ld-fade-up-b-j16o3976hm {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Header ──────────────────────────────────── */
.ld-header[b-j16o3976hm] {
    position: relative;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-sm);
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.ld-header-accent[b-j16o3976hm] {
    height: 4px;
    background: linear-gradient(90deg, var(--crm-teal), var(--crm-navy-400));
    transition: background var(--crm-mid) ease;
}

.ld-header-won .ld-header-accent[b-j16o3976hm] {
    background: linear-gradient(90deg, #059669, #34D399);
}

.ld-header-lost .ld-header-accent[b-j16o3976hm] {
    background: linear-gradient(90deg, #DC2626, #F87171);
}

.ld-header-content[b-j16o3976hm] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
}

.ld-header-left[b-j16o3976hm] {
    min-width: 0;
    flex: 1;
}

.ld-title-row[b-j16o3976hm] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.ld-title-row h1[b-j16o3976hm] {
    margin: 0;
    font-size: 1.6rem;
}

.ld-header-right[b-j16o3976hm] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
    flex-shrink: 0;
}

.ld-deal-value[b-j16o3976hm] {
    font-family: 'Outfit', sans-serif;
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--crm-navy);
    letter-spacing: -0.02em;
    line-height: 1;
}

.ld-actions[b-j16o3976hm] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* ── Badges ──────────────────────────────────── */
.ld-badges[b-j16o3976hm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

.ld-badge[b-j16o3976hm] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    border-radius: 100px;
    white-space: nowrap;
}

.ld-badge-stage[b-j16o3976hm] {
    background: var(--crm-surface-2);
    color: var(--crm-navy);
    border: 1px solid var(--crm-border-2);
}

.ld-badge-temp-cold[b-j16o3976hm] {
    background: #E8F4FD;
    color: #1565C0;
    border: 1px solid #BBDEFB;
}

.ld-badge-temp-warm[b-j16o3976hm] {
    background: #FFF3E0;
    color: #E65100;
    border: 1px solid #FFCC80;
}

.ld-badge-temp-hot[b-j16o3976hm] {
    background: #FFEBEE;
    color: #C62828;
    border: 1px solid #FFCDD2;
}

.ld-badge-won[b-j16o3976hm] {
    background: #D1FAE5;
    color: #065F46;
    border: 1px solid #A7F3D0;
}

.ld-badge-lost[b-j16o3976hm] {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FECACA;
}

.ld-badge-open[b-j16o3976hm] {
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
    border: 1px solid rgba(0, 197, 168, 0.2);
}

.ld-badge-activity[b-j16o3976hm] {
    background: var(--crm-surface-2);
    color: var(--crm-text-2);
    border: 1px solid var(--crm-border);
    text-transform: uppercase;
    font-size: 0.65rem;
    letter-spacing: 0.04em;
}

.ld-badge-urgent[b-j16o3976hm] { background: #FEE2E2; color: #991B1B; border: 1px solid #FECACA; }
.ld-badge-high[b-j16o3976hm]   { background: #FFF3E0; color: #E65100; border: 1px solid #FFCC80; }
.ld-badge-medium[b-j16o3976hm] { background: #E8F4FD; color: #1565C0; border: 1px solid #BBDEFB; }
.ld-badge-low[b-j16o3976hm]    { background: var(--crm-surface-2); color: var(--crm-text-3); border: 1px solid var(--crm-border); }

.ld-assigned[b-j16o3976hm] {
    font-size: 0.8rem;
    color: var(--crm-text-3);
    padding-left: 0.4rem;
    border-left: 1px solid var(--crm-border);
}

/* ── Outcome action buttons ─────────────────── */
.ld-btn-won[b-j16o3976hm] {
    background: #059669;
    border-color: #059669;
    color: white;
}
.ld-btn-won:hover[b-j16o3976hm] {
    background: #047857;
    border-color: #047857;
    color: white;
    transform: translateY(-1px);
    box-shadow: var(--crm-shadow-sm);
}

.ld-btn-lost[b-j16o3976hm] {
    background: transparent;
    border: 1px solid #DC2626;
    color: #DC2626;
}
.ld-btn-lost:hover[b-j16o3976hm] {
    background: #DC2626;
    color: white;
    transform: translateY(-1px);
    box-shadow: var(--crm-shadow-sm);
}

/* ── Inline badges (inside content) ──────────── */
.ld-inline-badge[b-j16o3976hm] {
    display: inline-flex;
    padding: 0.1rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 100px;
    margin-right: 0.4rem;
    vertical-align: middle;
}

.ld-inline-badge-ok[b-j16o3976hm] {
    background: #D1FAE5;
    color: #065F46;
}

/* ── Info Layout (sidebar + main) ────────────── */
.ld-info-layout[b-j16o3976hm] {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 900px) {
    .ld-info-layout[b-j16o3976hm] {
        grid-template-columns: 1fr;
    }
}

/* ── Sidebar ─────────────────────────────────── */
.ld-sidebar[b-j16o3976hm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ld-stat-card[b-j16o3976hm] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    padding: 0.85rem 1rem;
    transition: background var(--crm-fast) ease;
}

.ld-stat-card:first-child[b-j16o3976hm] {
    border-radius: var(--crm-r) var(--crm-r) 0 0;
}

.ld-stat-card:last-child[b-j16o3976hm] {
    border-radius: 0 0 var(--crm-r) var(--crm-r);
}

.ld-stat-card:only-child[b-j16o3976hm] {
    border-radius: var(--crm-r);
}

/* Collapse shared borders */
.ld-stat-card + .ld-stat-card[b-j16o3976hm] {
    border-top: none;
}

.ld-stat-card:hover[b-j16o3976hm] {
    background: var(--crm-bg);
}

.ld-stat-label[b-j16o3976hm] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--crm-text-3);
    margin-bottom: 0.15rem;
}

.ld-stat-value[b-j16o3976hm] {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--crm-navy);
    line-height: 1.3;
}

.ld-stat-money[b-j16o3976hm] {
    font-size: 1rem;
    letter-spacing: -0.01em;
}

.ld-stat-sub[b-j16o3976hm] {
    font-size: 0.72rem;
    color: var(--crm-text-3);
    margin-top: 0.1rem;
}

.ld-stat-overdue[b-j16o3976hm] {
    border-left: 3px solid #DC2626;
}

.ld-overdue-text[b-j16o3976hm] {
    color: #DC2626;
    font-weight: 600;
}

/* ── Main Content Sections ───────────────────── */
.ld-main[b-j16o3976hm] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ld-section[b-j16o3976hm] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 1.25rem 1.5rem;
    box-shadow: var(--crm-shadow-xs);
}

.ld-section-title[b-j16o3976hm] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--crm-text-3);
    margin: 0 0 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--crm-border);
}

/* Outcome section accents */
.ld-section-won[b-j16o3976hm] {
    border-left: 3px solid #059669;
}

.ld-section-lost[b-j16o3976hm] {
    border-left: 3px solid #DC2626;
}

/* ── Field Grid ──────────────────────────────── */
.ld-field-grid[b-j16o3976hm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 2rem;
}

.ld-field-wide[b-j16o3976hm] {
    grid-column: 1 / -1;
}

@media (max-width: 600px) {
    .ld-field-grid[b-j16o3976hm] {
        grid-template-columns: 1fr;
    }
}

.ld-field[b-j16o3976hm] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.ld-field-label[b-j16o3976hm] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
}

.ld-field-value[b-j16o3976hm] {
    font-size: 0.92rem;
    color: var(--crm-text);
    line-height: 1.4;
}

.ld-link-value[b-j16o3976hm] {
    color: var(--crm-navy-600);
    font-weight: 500;
}

.ld-field-empty[b-j16o3976hm] {
    font-size: 0.88rem;
    color: var(--crm-text-3);
    font-style: italic;
}

.ld-description[b-j16o3976hm] {
    font-size: 0.92rem;
    line-height: 1.65;
    color: var(--crm-text-2);
    white-space: pre-line;
    margin: 0;
}

/* ── Tags ────────────────────────────────────── */
.ld-tags[b-j16o3976hm] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.ld-tag[b-j16o3976hm] {
    display: inline-flex;
    padding: 0.2rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 500;
    background: var(--crm-bg);
    color: var(--crm-text-2);
    border: 1px solid var(--crm-border);
    border-radius: 100px;
}

/* ── Metadata footer ─────────────────────────── */
.ld-meta-footer[b-j16o3976hm] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    padding: 0.75rem 0 0;
    font-size: 0.75rem;
    color: var(--crm-text-3);
    border-top: 1px solid var(--crm-border);
}

/* ── Timeline (Activities + History) ─────────── */
.ld-timeline[b-j16o3976hm] {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding-left: 1.5rem;
}

.ld-timeline[b-j16o3976hm]::before {
    content: '';
    position: absolute;
    left: 7px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: var(--crm-border);
    border-radius: 1px;
}

.ld-timeline-item[b-j16o3976hm] {
    position: relative;
    padding: 0.75rem 0 0.75rem 1.25rem;
}

.ld-timeline-item + .ld-timeline-item[b-j16o3976hm] {
    border-top: 1px solid var(--crm-bg);
}

.ld-timeline-dot[b-j16o3976hm] {
    position: absolute;
    left: -1.5rem;
    top: 1rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--crm-border-2);
    border: 2px solid var(--crm-white);
    box-shadow: 0 0 0 2px var(--crm-border);
    z-index: 1;
}

.ld-timeline-content[b-j16o3976hm] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    padding: 0.75rem 1rem;
    transition: box-shadow var(--crm-fast) ease;
}

.ld-timeline-content:hover[b-j16o3976hm] {
    box-shadow: var(--crm-shadow-xs);
}

.ld-timeline-header[b-j16o3976hm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ld-timeline-meta[b-j16o3976hm] {
    display: flex;
    gap: 1rem;
    margin-top: 0.3rem;
    font-size: 0.78rem;
    color: var(--crm-text-3);
}

/* History arrow styling */
.ld-history-from[b-j16o3976hm] {
    font-weight: 600;
    color: var(--crm-text-2);
}

.ld-history-arrow[b-j16o3976hm] {
    color: var(--crm-teal);
    font-weight: 700;
}

.ld-history-to[b-j16o3976hm] {
    font-weight: 700;
    color: var(--crm-navy);
}

/* ── Task List ───────────────────────────────── */
.ld-task-form[b-j16o3976hm] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    box-shadow: var(--crm-shadow-xs);
}

.ld-form-label[b-j16o3976hm] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
}

.ld-task-list[b-j16o3976hm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ld-task-item[b-j16o3976hm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    padding: 0.7rem 1rem;
    transition: background var(--crm-fast) ease;
}

.ld-task-item:first-child[b-j16o3976hm] { border-radius: var(--crm-r) var(--crm-r) 0 0; }
.ld-task-item:last-child[b-j16o3976hm]  { border-radius: 0 0 var(--crm-r) var(--crm-r); }
.ld-task-item:only-child[b-j16o3976hm]  { border-radius: var(--crm-r); }
.ld-task-item + .ld-task-item[b-j16o3976hm] { border-top: none; }

.ld-task-item:hover[b-j16o3976hm] {
    background: var(--crm-bg);
}

.ld-task-done[b-j16o3976hm] {
    opacity: 0.6;
}

.ld-task-overdue[b-j16o3976hm] {
    border-left: 3px solid #DC2626;
}

.ld-task-left[b-j16o3976hm] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.ld-task-check[b-j16o3976hm] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid var(--crm-border-2);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--crm-fast) ease;
    flex-shrink: 0;
    color: transparent;
    font-size: 0.75rem;
    padding: 0;
}

.ld-task-check:hover[b-j16o3976hm] {
    border-color: var(--crm-teal);
    color: var(--crm-teal);
    background: var(--crm-teal-50);
}

.ld-task-checked[b-j16o3976hm] {
    border-color: var(--crm-teal);
    background: var(--crm-teal);
    color: white;
    cursor: default;
}

.ld-task-title[b-j16o3976hm] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--crm-text);
}

.ld-task-title-done[b-j16o3976hm] {
    text-decoration: line-through;
    color: var(--crm-text-3);
}

.ld-task-due[b-j16o3976hm] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

/* ── Empty State ─────────────────────────────── */
.ld-empty-state[b-j16o3976hm] {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--crm-text-3);
}

.ld-empty-icon[b-j16o3976hm] {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
    opacity: 0.4;
}

.ld-empty-state p[b-j16o3976hm] {
    margin: 0;
    font-size: 0.92rem;
}

/* ── Responsive ──────────────────────────────── */
@media (max-width: 575.98px) {
    .ld-header-content[b-j16o3976hm] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .ld-header-right[b-j16o3976hm] {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .ld-deal-value[b-j16o3976hm] {
        font-size: 1.3rem;
    }

    .ld-actions[b-j16o3976hm] {
        justify-content: flex-start;
    }
}
/* /Pages/Leads/LeadForm.razor.rz.scp.css */
/* ── Header ────────────────────────────────── */
.lf-header[b-ditxtzyahx] {
    margin-bottom: 24px;
}

.lf-header h1[b-ditxtzyahx] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--crm-navy);
    margin: 0;
}

/* ── Sections ──────────────────────────────── */
.lf-section[b-ditxtzyahx] {
    background: white;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 20px 24px;
    margin-bottom: 16px;
    box-shadow: var(--crm-shadow-xs);
}

.lf-section-title[b-ditxtzyahx] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border);
}

/* ── Labels ────────────────────────────────── */
.lf-label[b-ditxtzyahx] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--crm-text-2);
    margin-bottom: 4px;
}

.lf-label-sm[b-ditxtzyahx] {
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--crm-text-3);
    margin-bottom: 2px;
}

.lf-req[b-ditxtzyahx] {
    color: #E34850;
}


/* ── Temperature toggles ──────────────────── */
.lf-temp-group[b-ditxtzyahx] {
    display: flex;
    gap: 4px;
    border-radius: var(--crm-r-sm);
}

.lf-temp-btn[b-ditxtzyahx] {
    flex: 1;
    padding: 6px 8px;
    border: 1px solid var(--crm-border);
    background: white;
    font-size: 0.8rem;
    font-weight: 500;
    border-radius: var(--crm-r-sm);
    cursor: pointer;
    transition: all var(--crm-fast) ease;
    color: var(--crm-text-3);
    text-align: center;
}

.lf-temp-btn:hover[b-ditxtzyahx] {
    background: var(--crm-bg);
}

.lf-temp-cold.active[b-ditxtzyahx] {
    background: #E8F4FD;
    border-color: #5BA4CF;
    color: #1A6FAC;
}

.lf-temp-warm.active[b-ditxtzyahx] {
    background: #FFF3E0;
    border-color: #F5A623;
    color: #B87514;
}

.lf-temp-hot.active[b-ditxtzyahx] {
    background: #FDECEA;
    border-color: #E34850;
    color: #C62828;
}

/* ── Two-column layout ────────────────────── */
.lf-two-col[b-ditxtzyahx] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

@media (max-width: 768px) {
    .lf-two-col[b-ditxtzyahx] {
        grid-template-columns: 1fr;
    }
}

/* ── Cards grid ───────────────────────────── */
.lf-cards-grid[b-ditxtzyahx] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .lf-cards-grid[b-ditxtzyahx] {
        grid-template-columns: 1fr;
    }
}

/* ── Collapsible cards ────────────────────── */
.lf-card[b-ditxtzyahx] {
    background: white;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
    overflow: hidden;
}

.lf-card-header[b-ditxtzyahx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 24px;
    background: none;
    border: none;
    cursor: pointer;
    transition: background var(--crm-fast) ease;
}

.lf-card-header:hover[b-ditxtzyahx] {
    background: var(--crm-bg);
}

.lf-card-title[b-ditxtzyahx] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy);
}

.lf-chevron[b-ditxtzyahx] {
    font-size: 0.65rem;
    color: var(--crm-text-3);
    transition: transform var(--crm-mid) var(--crm-ease);
    transform: rotate(-90deg);
}

.lf-chevron.open[b-ditxtzyahx] {
    transform: rotate(0deg);
}

.lf-card-body[b-ditxtzyahx] {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--crm-mid) var(--crm-ease);
}

.lf-card-body.expanded[b-ditxtzyahx] {
    max-height: 500px;
}

.lf-card-inner[b-ditxtzyahx] {
    padding: 0 24px 20px;
    border-top: 1px solid var(--crm-border);
    padding-top: 16px;
}

/* ── Toggle check ─────────────────────────── */
.lf-toggle-check .form-check-input:checked[b-ditxtzyahx] {
    background-color: var(--crm-teal);
    border-color: var(--crm-teal);
}

.lf-toggle-check .form-check-label[b-ditxtzyahx] {
    font-size: 0.875rem;
    color: var(--crm-text-2);
}

/* ── Validation ───────────────────────────── */
.lf-validation-msg[b-ditxtzyahx] {
    font-size: 0.78rem;
    color: #E34850;
    margin-top: 4px;
}

/* ── Actions ──────────────────────────────── */
.lf-actions[b-ditxtzyahx] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 0 32px;
}
/* /Pages/Leads/LeadKanban.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   LeadKanban — pipeline board page styles
   ═══════════════════════════════════════════════════════ */

.lk-summary[b-c5i4jemb8l] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.lk-pill[b-c5i4jemb8l] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: 99px;
    font-size: 0.78rem;
}

.lk-pill-label[b-c5i4jemb8l] {
    color: var(--crm-text-3);
    font-weight: 500;
}

.lk-pill-value[b-c5i4jemb8l] {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    color: var(--crm-navy);
    font-variant-numeric: tabular-nums;
}
/* /Pages/Leads/LeadMetrics.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   LeadMetrics — pipeline analytics dashboard
   ═══════════════════════════════════════════════════════ */

/* ── Filter Bar ── */

.lm-filters[b-e7ylamtjah] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.lm-filter-select[b-e7ylamtjah] {
    max-width: 200px;
}

.lm-date-presets[b-e7ylamtjah] {
    display: flex;
    gap: 0.25rem;
}

/* ── Hero KPI Cards ── */

.lm-kpi-row[b-e7ylamtjah] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.875rem;
    margin-bottom: 1.25rem;
}

.lm-kpi[b-e7ylamtjah] {
    position: relative;
    overflow: hidden;
    border-radius: var(--crm-r);
    padding: 1.1rem 1.25rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    transition: transform var(--crm-mid) var(--crm-ease),
                box-shadow var(--crm-mid) var(--crm-ease);
}

.lm-kpi:hover[b-e7ylamtjah] {
    transform: translateY(-3px);
    box-shadow: var(--crm-shadow-lift);
}

.lm-kpi[b-e7ylamtjah]::after {
    content: '';
    position: absolute;
    top: -20px;
    right: -20px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(255,255,255,0.09);
    pointer-events: none;
}

.lm-kpi-navy[b-e7ylamtjah] { background: var(--crm-navy); }
.lm-kpi-teal[b-e7ylamtjah] { background: #009E88; }
.lm-kpi-green[b-e7ylamtjah] { background: #16a34a; }
.lm-kpi-amber[b-e7ylamtjah] { background: #d97706; }

.lm-kpi-label[b-e7ylamtjah] {
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.75;
}

.lm-kpi-value[b-e7ylamtjah] {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 1.75rem;
    letter-spacing: -0.02em;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.lm-kpi-sub[b-e7ylamtjah] {
    font-size: 0.72rem;
    opacity: 0.65;
}

/* ── Dashboard Grid ── */

.lm-row[b-e7ylamtjah] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
    margin-bottom: 0.875rem;
}

.lm-card[b-e7ylamtjah] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 1rem 1.25rem;
    box-shadow: var(--crm-shadow-xs);
}

.lm-card-wide[b-e7ylamtjah] {
    grid-column: span 1;
}

.lm-card-full[b-e7ylamtjah] {
    grid-column: 1 / -1;
}

.lm-card-title[b-e7ylamtjah] {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--crm-navy);
    margin: 0 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--crm-border);
}

.lm-card-subtitle[b-e7ylamtjah] {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 0.78rem;
    color: var(--crm-text-2);
    margin: 1rem 0 0.5rem;
}

/* ── Conversion Funnel ── */

.lm-funnel[b-e7ylamtjah] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: center;
}

.lm-funnel-tier[b-e7ylamtjah] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
}

.lm-funnel-bar[b-e7ylamtjah] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem 0.75rem;
    background: linear-gradient(90deg, var(--crm-navy), var(--crm-navy-600));
    color: #fff;
    border-radius: var(--crm-r-sm);
    min-height: 32px;
    transition: width var(--crm-slow) var(--crm-ease);
}

.lm-funnel-name[b-e7ylamtjah] {
    font-size: 0.74rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lm-funnel-count[b-e7ylamtjah] {
    font-size: 0.72rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    opacity: 0.85;
}

.lm-funnel-rate[b-e7ylamtjah] {
    font-size: 0.65rem;
    color: var(--crm-text-3);
    font-weight: 500;
}

/* ── Velocity summary ── */

.lm-velocity-summary[b-e7ylamtjah] {
    text-align: center;
    font-size: 0.78rem;
    color: var(--crm-text-2);
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--crm-border);
}

/* ── Tables ── */

.lm-table-wrap[b-e7ylamtjah] {
    overflow-x: auto;
}

.lm-table[b-e7ylamtjah] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}

.lm-table th[b-e7ylamtjah] {
    font-weight: 600;
    color: var(--crm-text-2);
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    padding: 0.45rem 0.5rem;
    border-bottom: 2px solid var(--crm-border);
    text-align: left;
    white-space: nowrap;
}

.lm-table td[b-e7ylamtjah] {
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid var(--crm-border);
    color: var(--crm-text);
    font-variant-numeric: tabular-nums;
}

.lm-table-sm td[b-e7ylamtjah],
.lm-table-sm th[b-e7ylamtjah] {
    padding: 0.3rem 0.4rem;
    font-size: 0.72rem;
}

.lm-owner-cell[b-e7ylamtjah] {
    font-weight: 600;
    color: var(--crm-navy);
}

.lm-clickable[b-e7ylamtjah] {
    cursor: pointer;
}

.lm-clickable:hover td[b-e7ylamtjah] {
    background: var(--crm-bg);
}

.lm-days-warn[b-e7ylamtjah] {
    display: inline-block;
    padding: 0.1rem 0.35rem;
    border-radius: 99px;
    background: #fef2f2;
    color: #dc2626;
    font-weight: 600;
    font-size: 0.68rem;
}

/* ── Empty state ── */

.lm-empty[b-e7ylamtjah] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    color: var(--crm-text-3);
    font-size: 0.82rem;
    font-style: italic;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .lm-row[b-e7ylamtjah] {
        grid-template-columns: 1fr;
    }

    .lm-kpi-row[b-e7ylamtjah] {
        grid-template-columns: repeat(2, 1fr);
    }

    .lm-filters[b-e7ylamtjah] {
        flex-direction: column;
        align-items: stretch;
    }

    .lm-filter-select[b-e7ylamtjah] {
        max-width: none;
    }
}
/* /Pages/Login.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════
   Login · Glassmorphism + Orchestrated Entrance
   The form internals are rendered by the shared <LoginForm/> child,
   so form rules are written as `.login-card-body ::deep …` to pierce
   the component boundary. Outer chrome (.login-stage/.login-card/
   .login-title) is owned directly by this page.
   ═══════════════════════════════════════════════════════════ */

.login-stage[b-rrpov3h6zh] {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  animation: crm-fade-in 0.5s var(--crm-ease) both;
}

/* ── Glass Card ── */

.login-card[b-rrpov3h6zh] {
  width: 100%;
  position: relative;
  background: var(--crm-glass-bg);
  backdrop-filter: blur(var(--crm-glass-blur));
  -webkit-backdrop-filter: blur(var(--crm-glass-blur));
  border: 1px solid transparent;
  border-radius: var(--crm-r-xl);
  box-shadow: 0 0 40px rgba(var(--crm-teal-rgb), 0.06),
              0 8px 32px rgba(0, 0, 0, 0.2);
  padding: 2.25rem 2rem 2rem;
  animation: crm-scale-up 0.6s var(--crm-ease) both 0.2s;
}

/* Animated gradient border sweep — single ambient loop */
.login-card[b-rrpov3h6zh]::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: var(--crm-r-xl);
  padding: 1px;
  background: linear-gradient(
    90deg,
    rgba(var(--crm-teal-rgb), 0.0) 0%,
    rgba(var(--crm-teal-rgb), 0.3) 25%,
    rgba(255, 255, 255, 0.15) 50%,
    rgba(var(--crm-teal-rgb), 0.3) 75%,
    rgba(var(--crm-teal-rgb), 0.0) 100%
  );
  background-size: 200% 100%;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  animation: crm-border-sweep 4s linear infinite 1s;
  pointer-events: none;
  z-index: 1;
}

.login-title[b-rrpov3h6zh] {
  font-family: 'Instrument Serif', serif;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 1.75rem;
  letter-spacing: -0.01em;
  animation: crm-fade-in 0.4s var(--crm-ease) both 0.35s;
}

/* ── Form Controls (dark bg overrides) ── */

.login-card-body[b-rrpov3h6zh]  .form-label {
  color: rgba(255, 255, 255, 0.55);
}

.login-card-body[b-rrpov3h6zh]  .form-control {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  border-radius: 8px;
  transition: border-color var(--crm-fast) ease,
              box-shadow var(--crm-mid) var(--crm-ease),
              background var(--crm-fast) ease;
}

.login-card-body[b-rrpov3h6zh]  .form-control::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

.login-card-body[b-rrpov3h6zh]  .form-control:focus {
  background: rgba(255, 255, 255, 0.09);
  border-color: var(--crm-teal);
  box-shadow: 0 0 0 3px var(--crm-teal-glow), 0 0 20px rgba(var(--crm-teal-rgb), 0.08);
  color: #fff;
}

/* ── Staggered Field Entrance ── */

.login-card-body[b-rrpov3h6zh]  .login-field:nth-child(1) { animation: crm-slide-up 0.4s var(--crm-ease) both 0.40s; }
.login-card-body[b-rrpov3h6zh]  .login-field:nth-child(2) { animation: crm-slide-up 0.4s var(--crm-ease) both 0.50s; }
.login-card-body[b-rrpov3h6zh]  .login-field:nth-child(3) { animation: crm-slide-up 0.4s var(--crm-ease) both 0.60s; }
.login-card-body[b-rrpov3h6zh]  .login-field:nth-child(4) { animation: crm-slide-up 0.4s var(--crm-ease) both 0.70s; }

/* ── Primary Button (gradient + hover glow) ── */

.login-card-body[b-rrpov3h6zh]  .login-btn-primary {
  background: linear-gradient(135deg, var(--crm-navy-600), var(--crm-teal-600)) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 600;
  border-radius: 8px;
  transition: transform var(--crm-fast) var(--crm-ease),
              box-shadow var(--crm-mid) var(--crm-ease),
              opacity var(--crm-fast) ease;
}

.login-card-body[b-rrpov3h6zh]  .login-btn-primary:hover:not(:disabled) {
  transform: scale(1.01);
  box-shadow: 0 0 32px rgba(var(--crm-teal-rgb), 0.3),
              0 0 8px rgba(var(--crm-teal-rgb), 0.2);
}

.login-card-body[b-rrpov3h6zh]  .login-btn-primary:active:not(:disabled) {
  transform: scale(0.99);
}

.login-card-body[b-rrpov3h6zh]  .login-btn-primary:disabled {
  opacity: 0.6;
}

/* ── SSO Button (dark bg variant) ── */

.login-card-body[b-rrpov3h6zh]  .login-btn-sso {
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 8px;
  transition: background var(--crm-fast) ease,
              border-color var(--crm-fast) ease;
}

.login-card-body[b-rrpov3h6zh]  .login-btn-sso:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}

/* ── Error Alert (dark bg) ── */

.login-card-body[b-rrpov3h6zh]  .login-alert {
  background: rgba(220, 38, 38, 0.12) !important;
  border-color: rgba(220, 38, 38, 0.3) !important;
  color: #FCA5A5 !important;
  border-radius: 8px;
  animation: crm-slide-up 0.3s var(--crm-ease) both;
}

/* ── Forgot Password ── */

.login-card-body[b-rrpov3h6zh]  .login-forgot {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
  transition: color var(--crm-fast) ease;
}

.login-card-body[b-rrpov3h6zh]  .login-forgot:hover {
  color: var(--crm-teal);
}

/* ── MFA Section ── */

.login-card-body[b-rrpov3h6zh]  .login-mfa-section {
  animation: crm-scale-up 0.4s var(--crm-ease) both;
}

.login-card-body[b-rrpov3h6zh]  .login-mfa-section .text-muted {
  color: rgba(255, 255, 255, 0.5) !important;
}

.login-card-body[b-rrpov3h6zh]  .login-mfa-code {
  letter-spacing: 0.3em;
  font-size: 1.25rem;
  text-align: center;
}

/* ── Link Buttons (dark bg) ── */

.login-card-body[b-rrpov3h6zh]  .login-link {
  color: var(--crm-teal) !important;
  text-decoration: none !important;
  transition: opacity var(--crm-fast) ease;
}

.login-card-body[b-rrpov3h6zh]  .login-link:hover {
  opacity: 0.8;
}

/* ── Validation Messages ── */

.login-card-body[b-rrpov3h6zh]  .validation-message {
  color: #FCA5A5;
}

/* ── Responsive ── */

@media (max-width: 640.98px) {
  .login-card[b-rrpov3h6zh] {
    padding: 1.5rem 1.25rem;
    margin: 0 0.75rem;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .login-card[b-rrpov3h6zh]::after {
    animation: none;
  }
}
/* /Pages/Member/Events/EventRegister.razor.rz.scp.css */
/* Member EventRegister — page-scoped extensions to the shared
   editorial registration system in wwwroot/css/registration.css.

   The page lives inside MemberLayout's centered .member-container,
   so it doesn't use .reg-shell. Instead the hero and grid share the
   container's gutter and the hero gets a framed inset look. */

[b-yvfyxgpur7] .reg-hero--inset {
    border-radius: var(--crm-r-lg, 16px);
    margin-bottom: 2.5rem;
}

[b-yvfyxgpur7] .reg-hero-inner--padded {
    padding: 0 2.5rem;
}

@media (max-width: 720px) {
    [b-yvfyxgpur7] .reg-hero-inner--padded {
        padding: 0 1.5rem;
    }
}

/* Back link above the wizard — sits above .reg-progress, distinct from the
   secondary CTA in the submit row so back-to-event is visually separate
   from back-to-previous-step. */
[b-yvfyxgpur7] .reg-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    color: var(--reg-ink-3);
    text-decoration: none;
    margin-bottom: 1.5rem;
    transition: color 200ms ease, transform 200ms ease;
}

[b-yvfyxgpur7] .reg-back-link:hover {
    color: var(--crm-navy, #0D2447);
}

[b-yvfyxgpur7] .reg-back-link:hover .reg-back-arrow {
    transform: translateX(-3px);
}

[b-yvfyxgpur7] .reg-back-arrow {
    display: inline-block;
    transition: transform 200ms ease;
}

/* Empty-state inside a section (e.g. step 2 with no event questions) */
[b-yvfyxgpur7] .reg-section-empty {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: 1.1rem;
    color: var(--reg-ink-3);
    margin: 0;
    padding: 1rem 0;
}

/* Free-event note shown on payment step when price <= 0 */
[b-yvfyxgpur7] .reg-free-note {
    border-top: 1px solid var(--reg-rule);
    border-bottom: 1px solid var(--reg-rule);
    padding: 1.75rem 0.25rem;
}

[b-yvfyxgpur7] .reg-free-note-eyebrow {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--crm-teal, #00C5A8);
    margin-bottom: 0.6rem;
}

[b-yvfyxgpur7] .reg-free-note-body {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: 'opsz' 36;
    font-size: 1.2rem;
    line-height: 1.5;
    color: var(--reg-ink);
    margin: 0;
    max-width: 50ch;
}

[b-yvfyxgpur7] .reg-free-note-body em {
    font-style: italic;
    color: var(--crm-navy, #0D2447);
}

/* Step-2 question label — shared CSS scopes label styling under .reg-field
   to children of .reg-field, but DynamicFieldInput's BS chrome eats that
   path. Expose an explicit label class so the section's question labels
   match the editorial caps treatment. */
[b-yvfyxgpur7] .reg-field-label {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--reg-ink-3);
    margin-bottom: 0.5rem;
}

/* Member container is narrower than the public shell (1100px vs 1180px)
   and the wizard benefits from a slightly tighter grid here too. */
@media (min-width: 881px) {
    [b-yvfyxgpur7] .reg-grid {
        gap: 3.5rem;
    }
    [b-yvfyxgpur7] .reg-summary-sticky {
        padding: 1.75rem;
    }
}
/* /Pages/Member/MemberAnnouncements.razor.rz.scp.css */
.member-news-item[b-d9ov5ggdtq] {
    margin-bottom: 1rem;
}

.member-news-head[b-d9ov5ggdtq] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.member-news-pin[b-d9ov5ggdtq] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-teal-600);
    background: var(--crm-teal-50);
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
}

.member-news-date[b-d9ov5ggdtq] {
    font-size: 0.82rem;
    color: var(--crm-text-3);
    margin: 0.3rem 0 0.75rem;
}

.member-news-body[b-d9ov5ggdtq] {
    color: var(--crm-text);
    line-height: 1.7;
}

.member-news-body[b-d9ov5ggdtq]  p:last-child {
    margin-bottom: 0;
}
/* /Pages/Member/MemberDocuments.razor.rz.scp.css */
.member-doc-list[b-daes0run4g] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-bottom: 1.5rem;
}

.member-doc-row[b-daes0run4g] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.9rem 1.1rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-sm);
    transition: box-shadow var(--crm-fast) ease, transform var(--crm-fast) ease;
}

.member-doc-row:hover[b-daes0run4g] {
    box-shadow: var(--crm-shadow-lg);
    transform: translateY(-1px);
}

.member-doc-icon[b-daes0run4g] {
    font-size: 1.4rem;
    color: var(--crm-teal-600);
    flex: 0 0 auto;
}

.member-doc-main[b-daes0run4g] {
    flex: 1 1 auto;
    min-width: 0;
}

.member-doc-title[b-daes0run4g] {
    font-weight: 600;
    color: var(--crm-text);
}

.member-doc-desc[b-daes0run4g] {
    font-size: 0.875rem;
    color: var(--crm-text-2);
    margin-top: 0.1rem;
}

.member-doc-meta[b-daes0run4g] {
    font-size: 0.78rem;
    color: var(--crm-text-3);
    margin-top: 0.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
/* /Pages/Member/MemberHome.razor.rz.scp.css */
.dash-metrics[b-e9t608n4f8] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.9rem;
    margin: 1.25rem 0 0.25rem;
}

.dash-metric[b-e9t608n4f8] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-sm);
    padding: 1rem 1.1rem;
}

.dash-metric-label[b-e9t608n4f8] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--crm-text-3);
}

.dash-metric-value[b-e9t608n4f8] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-size: 2rem;
    color: var(--crm-text);
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.dash-metric-tier[b-e9t608n4f8] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-teal-600);
    background: var(--crm-teal-50);
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
}

.dash-section[b-e9t608n4f8] {
    height: 100%;
}

.dash-section-head[b-e9t608n4f8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.dash-viewall[b-e9t608n4f8] {
    font-size: 0.82rem;
    color: var(--crm-teal-600);
    text-decoration: none;
}

.dash-viewall:hover[b-e9t608n4f8] { text-decoration: underline; }

.dash-list-row[b-e9t608n4f8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-top: 1px solid var(--crm-border);
    text-decoration: none;
    color: var(--crm-text);
}

.dash-list-row:first-of-type[b-e9t608n4f8] { border-top: none; }

.dash-list-title[b-e9t608n4f8] {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-list-meta[b-e9t608n4f8] {
    flex: 0 0 auto;
    font-size: 0.78rem;
    color: var(--crm-text-3);
}

@media (max-width: 640px) {
    .dash-metrics[b-e9t608n4f8] { grid-template-columns: 1fr; }
}
/* /Pages/Portal/PortalLogin.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════
   Member Portal · Sign In
   Editorial split-screen — aurora navy/teal hero + calm light form.
   Deliberately distinct from the staff login's dark glassmorphism.
   ═══════════════════════════════════════════════════════════════════ */

.portal-login[b-61oackk1sj] {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    min-height: 100vh;
    min-height: 100dvh;
    background: var(--crm-bg);
}

/* ─────────────────────────  HERO  ───────────────────────── */

.portal-hero[b-61oackk1sj] {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: #fff;
    isolation: isolate;
    background: var(--crm-navy-dark, #091A36);
}

.portal-hero-bg[b-61oackk1sj] {
    position: absolute;
    inset: 0;
    z-index: -1;
}

/* Drifting aurora blobs built from the brand palette */
.portal-aurora[b-61oackk1sj] {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.55;
    will-change: transform;
}

.portal-aurora-1[b-61oackk1sj] {
    width: 60%;
    height: 60%;
    top: -10%;
    left: -8%;
    background: radial-gradient(circle at center, var(--crm-teal, #00C5A8), transparent 68%);
    animation: portal-drift-1-b-61oackk1sj 18s var(--crm-ease) infinite alternate;
}

.portal-aurora-2[b-61oackk1sj] {
    width: 70%;
    height: 70%;
    bottom: -18%;
    right: -12%;
    background: radial-gradient(circle at center, var(--crm-navy-600, #1E3D70), transparent 66%);
    opacity: 0.85;
    animation: portal-drift-2-b-61oackk1sj 22s var(--crm-ease) infinite alternate;
}

.portal-aurora-3[b-61oackk1sj] {
    width: 45%;
    height: 45%;
    top: 38%;
    left: 36%;
    background: radial-gradient(circle at center, rgba(0, 197, 168, 0.5), transparent 70%);
    animation: portal-drift-3-b-61oackk1sj 16s var(--crm-ease) infinite alternate;
}

/* Faint engraved grid for depth/texture */
.portal-grid[b-61oackk1sj] {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 30% 30%, #000 0%, transparent 75%);
    -webkit-mask-image: radial-gradient(circle at 30% 30%, #000 0%, transparent 75%);
}

/* Film grain overlay */
.portal-grain[b-61oackk1sj] {
    position: absolute;
    inset: 0;
    opacity: 0.4;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.portal-hero-content[b-61oackk1sj] {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: clamp(2rem, 4vw, 4rem);
    gap: 2rem;
}

.portal-hero-brand[b-61oackk1sj] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    animation: crm-fade-in 0.6s var(--crm-ease) both 0.1s;
}

.portal-hero-logo[b-61oackk1sj] {
    height: 40px;
    width: auto;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    padding: 4px;
}

.portal-hero-appname[b-61oackk1sj] {
    font-weight: 600;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
    color: rgba(255, 255, 255, 0.92);
}

.portal-hero-copy[b-61oackk1sj] {
    margin-top: auto;
    margin-bottom: auto;
    max-width: 30ch;
}

.portal-hero-eyebrow[b-61oackk1sj] {
    text-transform: uppercase;
    letter-spacing: 0.22em;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--crm-teal, #00C5A8);
    margin: 0 0 1.1rem 0;
    animation: crm-slide-up 0.6s var(--crm-ease) both 0.2s;
}

.portal-hero-headline[b-61oackk1sj] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1.04;
    letter-spacing: -0.015em;
    margin: 0 0 1.4rem 0;
    color: #fff;
    animation: crm-slide-up 0.7s var(--crm-ease) both 0.3s;
}

.portal-hero-tagline[b-61oackk1sj] {
    font-size: 1.02rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.72);
    margin: 0 0 1.8rem 0;
    animation: crm-slide-up 0.7s var(--crm-ease) both 0.42s;
}

.portal-hero-points[b-61oackk1sj] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    animation: crm-slide-up 0.7s var(--crm-ease) both 0.54s;
}

.portal-hero-points li[b-61oackk1sj] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.8);
}

.portal-point-dot[b-61oackk1sj] {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--crm-teal, #00C5A8);
    box-shadow: 0 0 0 4px rgba(0, 197, 168, 0.16);
}

.portal-hero-foot[b-61oackk1sj] {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.45);
    animation: crm-fade-in 0.8s var(--crm-ease) both 0.7s;
}

/* ─────────────────────────  FORM PANEL  ───────────────────────── */

.portal-form-panel[b-61oackk1sj] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 3rem);
}

.portal-form-card[b-61oackk1sj] {
    width: 100%;
    max-width: 400px;
    animation: crm-fade-in 0.6s var(--crm-ease) both 0.25s;
}

.portal-form-brand[b-61oackk1sj] {
    display: none; /* shown only on mobile where the hero collapses */
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 2rem;
}

.portal-form-logo[b-61oackk1sj] {
    height: 36px;
    width: auto;
    border-radius: 8px;
}

.portal-form-appname[b-61oackk1sj] {
    font-weight: 600;
    color: var(--crm-text, #0D2447);
}

.portal-eyebrow[b-61oackk1sj] {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--crm-teal-600, #009E88);
    margin: 0 0 0.5rem 0;
}

.portal-form-title[b-61oackk1sj] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: 2.1rem;
    line-height: 1.1;
    letter-spacing: -0.015em;
    color: var(--crm-text, #0D2447);
    margin: 0 0 0.4rem 0;
}

.portal-form-sub[b-61oackk1sj] {
    color: var(--crm-text-2, #4A5B78);
    font-size: 0.95rem;
    margin: 0 0 1.75rem 0;
}

/* ── Shared <LoginForm/> styled for a light surface (pierce the child) ── */

.portal-form-card[b-61oackk1sj]  .login-field { margin-bottom: 1.1rem; }

.portal-form-card[b-61oackk1sj]  .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--crm-text-2, #4A5B78);
    margin-bottom: 0.35rem;
}

.portal-form-card[b-61oackk1sj]  .form-control {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #DCE5F0);
    border-radius: var(--crm-r, 10px);
    color: var(--crm-text, #0D2447);
    padding: 0.7rem 0.85rem;
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-mid) var(--crm-ease);
}

.portal-form-card[b-61oackk1sj]  .form-control::placeholder {
    color: var(--crm-text-3, #8A9BB5);
}

.portal-form-card[b-61oackk1sj]  .form-control:focus {
    border-color: var(--crm-teal, #00C5A8);
    box-shadow: 0 0 0 4px var(--crm-teal-glow, rgba(0, 197, 168, 0.18));
    outline: none;
}

.portal-form-card[b-61oackk1sj]  .login-btn-primary {
    background: linear-gradient(135deg, var(--crm-navy-600, #1E3D70), var(--crm-teal-600, #009E88)) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 600;
    border-radius: var(--crm-r, 10px);
    padding: 0.72rem 1rem;
    margin-top: 0.4rem;
    transition: transform var(--crm-fast) var(--crm-ease), box-shadow var(--crm-mid) var(--crm-ease), opacity var(--crm-fast) ease;
}

.portal-form-card[b-61oackk1sj]  .login-btn-primary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: var(--crm-shadow-lg);
}

.portal-form-card[b-61oackk1sj]  .login-btn-primary:active:not(:disabled) {
    transform: translateY(0);
}

.portal-form-card[b-61oackk1sj]  .login-btn-primary:disabled { opacity: 0.6; }

.portal-form-card[b-61oackk1sj]  .login-btn-sso {
    border: 1px solid var(--crm-border, #DCE5F0) !important;
    background: var(--crm-white, #fff) !important;
    color: var(--crm-text, #0D2447) !important;
    border-radius: var(--crm-r, 10px);
    padding: 0.65rem 1rem;
    font-weight: 600;
    transition: border-color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.portal-form-card[b-61oackk1sj]  .login-btn-sso:hover {
    border-color: var(--crm-teal, #00C5A8) !important;
    background: var(--crm-teal-50, rgba(0, 197, 168, 0.08)) !important;
}

.portal-form-card[b-61oackk1sj]  .login-alert {
    border-radius: var(--crm-r, 10px);
    font-size: 0.9rem;
}

.portal-form-card[b-61oackk1sj]  .login-forgot {
    font-size: 0.82rem;
    color: var(--crm-teal-600, #009E88);
    text-decoration: none;
}

.portal-form-card[b-61oackk1sj]  .login-forgot:hover { text-decoration: underline; }

.portal-form-card[b-61oackk1sj]  .login-link {
    color: var(--crm-teal-600, #009E88) !important;
    text-decoration: none !important;
}

.portal-form-card[b-61oackk1sj]  .login-mfa-code {
    letter-spacing: 0.3em;
    font-size: 1.25rem;
    text-align: center;
}

.portal-form-card[b-61oackk1sj]  .validation-message {
    color: #DC2626;
    font-size: 0.82rem;
}

.portal-form-card[b-61oackk1sj]  .login-form-footer { margin-top: 1.5rem; }

.portal-form-card[b-61oackk1sj]  .portal-help {
    text-align: center;
    font-size: 0.85rem;
    color: var(--crm-text-3, #8A9BB5);
    margin: 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--crm-border, #DCE5F0);
}

/* ─────────────────────────  MOTION  ───────────────────────── */

@keyframes portal-drift-1-b-61oackk1sj {
    from { transform: translate(0, 0) scale(1); }
    to   { transform: translate(8%, 6%) scale(1.12); }
}

@keyframes portal-drift-2-b-61oackk1sj {
    from { transform: translate(0, 0) scale(1); }
    to   { transform: translate(-6%, -8%) scale(1.1); }
}

@keyframes portal-drift-3-b-61oackk1sj {
    from { transform: translate(0, 0) scale(1); }
    to   { transform: translate(-10%, 8%) scale(1.18); }
}

/* ─────────────────────────  RESPONSIVE  ───────────────────────── */

@media (max-width: 980px) {
    .portal-login[b-61oackk1sj] {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }

    .portal-hero[b-61oackk1sj] {
        min-height: 240px;
    }

    .portal-hero-content[b-61oackk1sj] {
        padding: clamp(1.5rem, 5vw, 2.5rem);
        gap: 1.25rem;
    }

    .portal-hero-copy[b-61oackk1sj] { max-width: none; }

    .portal-hero-headline[b-61oackk1sj] { font-size: clamp(1.9rem, 6vw, 2.6rem); }

    .portal-hero-tagline[b-61oackk1sj],
    .portal-hero-points[b-61oackk1sj],
    .portal-hero-foot[b-61oackk1sj] { display: none; }

    .portal-form-brand[b-61oackk1sj] { display: flex; }
}

@media (max-width: 980px) and (min-width: 561px) {
    /* On tablets keep a one-line tagline for a touch more warmth */
    .portal-hero-tagline[b-61oackk1sj] { display: block; margin-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .portal-aurora[b-61oackk1sj] { animation: none; }
    .portal-form-card[b-61oackk1sj],
    .portal-hero-brand[b-61oackk1sj],
    .portal-hero-eyebrow[b-61oackk1sj],
    .portal-hero-headline[b-61oackk1sj],
    .portal-hero-tagline[b-61oackk1sj],
    .portal-hero-points[b-61oackk1sj],
    .portal-hero-foot[b-61oackk1sj] { animation: none; }
}
/* /Pages/Profile.razor.rz.scp.css */
/* ── Profile avatar ─────────────────────────────────── */

.profile-avatar-row[b-v67opqz45u] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, var(--crm-navy) 0%, var(--crm-navy-600, #1a3d6e) 100%);
    border-radius: var(--crm-r-sm);
    margin-bottom: 0.5rem;
    color: #fff;
}

.profile-avatar-lg[b-v67opqz45u] {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    border: 2px solid rgba(255,255,255,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: 700;
    flex-shrink: 0;
    color: #fff;
}

.profile-full-name[b-v67opqz45u]  { font-size: 1.05rem; font-weight: 600; }
.profile-email[b-v67opqz45u]      { font-size: 0.82rem; opacity: 0.8; }
.profile-title-display[b-v67opqz45u] { font-size: 0.82rem; opacity: 0.7; font-style: italic; margin-top: 0.1rem; }

/* ── Email field (disabled) ─────────────────────────── */

.profile-email-input[b-v67opqz45u] {
    background: var(--crm-bg) !important;
    color: var(--crm-text-2) !important;
    cursor: not-allowed;
}

/* ── Notifications placeholder ──────────────────────── */

.notifications-placeholder[b-v67opqz45u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
    text-align: center;
    gap: 0.75rem;
}

.notif-icon[b-v67opqz45u] {
    font-size: 2.5rem;
    opacity: 0.35;
    margin-bottom: 0.5rem;
}

/* ── Notification preference groups ──────────────── */

.em-notif-groups[b-v67opqz45u] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
}

.em-notif-group[b-v67opqz45u] {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    overflow: hidden;
    background: var(--crm-white);
}

.em-notif-group-header[b-v67opqz45u] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.9rem;
    background: var(--crm-bg);
    border-bottom: 1px solid var(--crm-border);
    font-family: 'Outfit', sans-serif;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--crm-text-3);
}

.em-notif-group-header i[b-v67opqz45u] {
    font-size: 0.85rem;
    color: var(--crm-navy-400);
}

.em-notif-group-body[b-v67opqz45u] {
    display: flex;
    flex-direction: column;
}

.em-notif-toggle[b-v67opqz45u] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.9rem;
    cursor: pointer;
    transition: background-color var(--crm-fast) ease;
    font-size: 0.85rem;
    color: var(--crm-text);
    border-bottom: 1px solid var(--crm-border);
    margin: 0;
}

.em-notif-toggle:last-child[b-v67opqz45u] { border-bottom: none; }

.em-notif-toggle:hover[b-v67opqz45u] { background: var(--crm-bg); }

/* ── Notification label with hint ──────────────────── */

.notif-label[b-v67opqz45u] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.notif-hint[b-v67opqz45u] {
    font-size: 0.74rem;
    color: var(--crm-text-3);
    line-height: 1.3;
    opacity: 0.8;
}

/* ── Notification section description ──────────────── */

.notif-desc[b-v67opqz45u] {
    font-size: 0.82rem;
    color: var(--crm-text-3);
    margin-bottom: 1.25rem;
    line-height: 1.5;
}

/* ── Save button row ───────────────────────────────── */

.notif-actions[b-v67opqz45u] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding-top: 1.75rem;
    margin-top: 1.75rem;
    border-top: 1px solid var(--crm-border);
}
/* /Pages/Public/PacHosting.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────
   HHFPAC — Editorial donation hosting page
   Brand palette extracted from the official HHFPAC logo:
     deep blue · light blue (wave) · PAC red (wave + accent)
   Skill: design-taste-frontend (DV=8, MI=6, VD=4)
   ───────────────────────────────────────────────────────── */

.pac-root[b-b7241tr1gf] {
    /* Brand */
    --pac-blue:       #1463A5;
    --pac-blue-deep:  #0F4F87;
    --pac-blue-darker:#0A1A2E;
    --pac-blue-light: #5DA9DD;
    --pac-blue-soft:  rgba(20, 99, 165, 0.10);
    --pac-blue-glow:  rgba(20, 99, 165, 0.22);
    --pac-red:        #D7282E;
    --pac-red-deep:   #B22228;
    --pac-red-soft:   rgba(215, 40, 46, 0.10);

    /* Surface */
    --pac-ink:        #0A1A2E;
    --pac-ink-2:      #1A2840;
    --pac-ink-3:      #485874;
    --pac-ink-4:      #8B97AE;
    --pac-line:       #E5E1D6;
    --pac-line-2:     #D8D2C0;
    --pac-paper:      #F4F1E8;
    --pac-paper-2:    #ECE7D8;
    --pac-paper-3:    #FDFBF5;

    /* Diffusion shadows tinted to ink */
    --pac-shadow-soft: 0 20px 40px -18px rgba(10, 26, 51, 0.10),
                       0 4px 12px -6px rgba(10, 26, 51, 0.05);
    --pac-shadow-card: 0 24px 60px -20px rgba(10, 26, 51, 0.18),
                       0 6px 14px -8px rgba(10, 26, 51, 0.06);

    --pac-radius-sm: 14px;
    --pac-radius:    20px;
    --pac-radius-lg: 28px;
    --pac-radius-xl: 36px;

    --pac-ease: cubic-bezier(0.16, 1, 0.3, 1);

    color: var(--pac-ink);
    font-family: 'Outfit', system-ui, -apple-system, sans-serif;
    font-feature-settings: "ss01", "cv11";
    background: var(--pac-paper);
    min-height: 100dvh;
}

.pac-root--locked[b-b7241tr1gf] {
    background: linear-gradient(180deg, #07142A 0%, var(--pac-blue-darker) 70%, var(--pac-blue-deep) 100%);
    min-height: 100dvh;
    color: #ffffff;
}

/* ─────────────────────────────────────────────────────────
   Reveals — shared utility
   ───────────────────────────────────────────────────────── */

[data-pac-reveal][b-b7241tr1gf] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.85s var(--pac-ease),
                transform 0.95s var(--pac-ease);
    transition-delay: var(--pac-reveal-delay, 0ms);
    will-change: opacity, transform;
}

[data-pac-reveal].pac-reveal--in[b-b7241tr1gf] {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    [data-pac-reveal][b-b7241tr1gf] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ─────────────────────────────────────────────────────────
   Gate (asymmetric — left text, right glass card)
   ───────────────────────────────────────────────────────── */

.pac-gate[b-b7241tr1gf] {
    min-height: 100dvh;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    overflow: hidden;
    padding: clamp(2rem, 5vw, 5rem);
    gap: clamp(2rem, 6vw, 6rem);
}

.pac-gate-orb[b-b7241tr1gf] {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    opacity: 0.55;
    pointer-events: none;
    animation: pac-drift-b-b7241tr1gf 22s ease-in-out infinite;
}

.pac-gate-orb--a[b-b7241tr1gf] {
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, var(--pac-blue-glow) 0%, transparent 65%);
    top: -160px;
    left: -120px;
}

.pac-gate-orb--b[b-b7241tr1gf] {
    width: 640px;
    height: 640px;
    background: radial-gradient(circle, var(--pac-red-soft) 0%, transparent 65%);
    bottom: -200px;
    right: -180px;
    animation-delay: -11s;
}

.pac-gate-card[b-b7241tr1gf] {
    position: relative;
    z-index: 2;
    grid-column: 2;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border-radius: var(--pac-radius-xl);
    padding: 3rem;
    max-width: 480px;
    width: 100%;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),
                0 30px 80px rgba(0, 0, 0, 0.45);
    animation: pac-rise-b-b7241tr1gf 0.7s var(--pac-ease) both;
}

.pac-gate-side[b-b7241tr1gf] {
    grid-column: 1;
    position: relative;
    z-index: 2;
    color: rgba(255, 255, 255, 0.85);
    max-width: 540px;
    justify-self: end;
    animation: pac-rise-b-b7241tr1gf 0.7s var(--pac-ease) both;
}

.pac-gate-logo[b-b7241tr1gf] {
    display: block;
    height: 88px;
    width: auto;
    background: #ffffff;
    border-radius: 18px;
    padding: 12px 20px;
    margin-bottom: 2rem;
    box-shadow: 0 16px 40px -14px rgba(0, 0, 0, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.pac-gate-meta[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin: 2rem 0 1.75rem;
    padding: 1.25rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.pac-gate-meta-item[b-b7241tr1gf] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pac-gate-meta-item dt[b-b7241tr1gf] {
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 500;
    margin: 0;
}

.pac-gate-meta-item dd[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: 1.5rem;
    color: #ffffff;
    margin: 0;
    line-height: 1;
    letter-spacing: -0.015em;
    font-variant-numeric: tabular-nums;
}

.pac-gate-mark[b-b7241tr1gf] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 0.75rem;
}

.pac-gate-card-title[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: 1.7rem;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 0.5rem 0;
}

.pac-gate-card-sub[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 0 0 1.5rem 0;
}

.pac-gate-card-foot[b-b7241tr1gf] {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.74rem;
    line-height: 1.55;
}

.pac-gate-mark-dot[b-b7241tr1gf] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pac-blue-light);
    box-shadow: 0 0 0 3px rgba(93, 169, 221, 0.22);
    animation: pac-pulse-b-b7241tr1gf 2.4s ease-in-out infinite;
}

.pac-gate-title[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(2rem, 3.4vw, 2.6rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 1rem 0;
}

.pac-gate-sub[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.94rem;
    line-height: 1.6;
    margin: 0 0 1.5rem 0;
    max-width: 420px;
}

.pac-gate-form[b-b7241tr1gf] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.pac-gate-label[b-b7241tr1gf] {
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 0.2rem;
}

.pac-gate-input[b-b7241tr1gf] {
    width: 100%;
    padding: 0.95rem 1.1rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--pac-radius-sm);
    color: #ffffff;
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.2s var(--pac-ease), box-shadow 0.2s var(--pac-ease), background 0.2s var(--pac-ease);
}

.pac-gate-input[b-b7241tr1gf]::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.pac-gate-input:focus[b-b7241tr1gf] {
    outline: none;
    border-color: var(--pac-blue-light);
    box-shadow: 0 0 0 4px var(--pac-blue-soft);
    background: rgba(255, 255, 255, 0.07);
}

.pac-gate-input--error[b-b7241tr1gf] {
    border-color: var(--pac-red);
    box-shadow: 0 0 0 4px var(--pac-red-soft);
}

.pac-gate-error[b-b7241tr1gf] {
    color: #F4A8A8;
    font-size: 0.84rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.2rem 0 0;
}

.pac-gate-submit[b-b7241tr1gf] {
    margin-top: 1rem;
    background: var(--pac-blue);
    color: #ffffff;
    border: none;
    border-radius: var(--pac-radius-sm);
    padding: 0.95rem 1.4rem;
    font-weight: 600;
    font-size: 0.98rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: transform 0.2s var(--pac-ease), background 0.2s var(--pac-ease), box-shadow 0.2s var(--pac-ease);
    font-family: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.pac-gate-submit:hover[b-b7241tr1gf] {
    background: var(--pac-blue-deep);
    transform: translateY(-1px);
}

.pac-gate-submit:active[b-b7241tr1gf] {
    transform: translateY(0) scale(0.99);
}

.pac-gate-fineprint[b-b7241tr1gf] {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.78rem;
    line-height: 1.6;
}

.pac-gate-fineprint a[b-b7241tr1gf] {
    color: var(--pac-blue-light);
    text-decoration: none;
}

.pac-gate-fineprint a:hover[b-b7241tr1gf] {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .pac-gate[b-b7241tr1gf] {
        grid-template-columns: 1fr;
        align-content: center;
        padding: 2rem 1.25rem;
    }
    .pac-gate-card[b-b7241tr1gf],
    .pac-gate-side[b-b7241tr1gf] {
        grid-column: 1;
        justify-self: stretch;
        max-width: 100%;
    }
    .pac-gate-side[b-b7241tr1gf] {
        margin-bottom: 1rem;
    }
}

/* ─────────────────────────────────────────────────────────
   Hero — asymmetric split: left text, right activity feed
   ───────────────────────────────────────────────────────── */

.pac-hero[b-b7241tr1gf] {
    position: relative;
    min-height: 100dvh;
    color: #ffffff;
    background: linear-gradient(180deg, #07142A 0%, var(--pac-blue-darker) 60%, var(--pac-blue-deep) 100%);
    overflow: hidden;
    padding: clamp(6rem, 9vw, 7rem) 0 3rem;
    display: flex;
    flex-direction: column;
}

.pac-hero-bg[b-b7241tr1gf] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.pac-hero-grid[b-b7241tr1gf] {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(ellipse 80% 60% at 70% 40%, black 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 70% 40%, black 30%, transparent 75%);
}

.pac-hero-glow[b-b7241tr1gf] {
    position: absolute;
    width: 800px;
    height: 800px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--pac-blue-glow) 0%, transparent 65%);
    filter: blur(40px);
    top: -250px;
    right: -180px;
    opacity: 0.55;
}

/* ─── Sticky nav with real logo + active section indicator ─── */

.pac-nav[b-b7241tr1gf] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 0.65rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background 0.32s var(--pac-ease),
                border-color 0.32s var(--pac-ease),
                padding 0.32s var(--pac-ease),
                box-shadow 0.32s var(--pac-ease);
}

.pac-nav[b-b7241tr1gf]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(244, 241, 232, 0.78);
    backdrop-filter: blur(18px) saturate(1.3);
    -webkit-backdrop-filter: blur(18px) saturate(1.3);
    opacity: 0;
    transition: opacity 0.32s var(--pac-ease);
    pointer-events: none;
    z-index: -1;
}

.pac-nav--stuck[b-b7241tr1gf] {
    border-bottom-color: rgba(20, 99, 165, 0.10);
    box-shadow: 0 8px 24px -16px rgba(10, 26, 51, 0.18);
    padding: 0.4rem 2rem;
}

.pac-nav--stuck[b-b7241tr1gf]::before {
    opacity: 1;
}

.pac-nav-mark[b-b7241tr1gf] {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    padding: 0.7rem 1.2rem;
    border-radius: 16px;
    box-shadow: 0 12px 32px -12px rgba(0, 0, 0, 0.4),
                inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 0.2s var(--pac-ease),
                box-shadow 0.32s var(--pac-ease),
                padding 0.32s var(--pac-ease);
    position: relative;
}

.pac-nav-mark img[b-b7241tr1gf] {
    height: 56px;
    width: auto;
    display: block;
    transition: height 0.32s var(--pac-ease);
}

.pac-nav--stuck .pac-nav-mark[b-b7241tr1gf] {
    padding: 0.4rem 0.85rem;
    box-shadow: 0 6px 18px -8px rgba(10, 26, 51, 0.18),
                inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.pac-nav--stuck .pac-nav-mark img[b-b7241tr1gf] {
    height: 38px;
}

.pac-nav-mark:hover[b-b7241tr1gf] {
    transform: translateY(-1px);
    box-shadow: 0 14px 36px -10px rgba(0, 0, 0, 0.5);
}

.pac-nav-links[b-b7241tr1gf] {
    display: flex;
    gap: 0.2rem;
    align-items: center;
    position: relative;
}

.pac-nav-link[b-b7241tr1gf] {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 500;
    font-family: inherit;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.22s var(--pac-ease), background 0.22s var(--pac-ease);
    position: relative;
}

.pac-nav-link:hover[b-b7241tr1gf] {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
}

.pac-nav-link--active[b-b7241tr1gf] {
    color: #ffffff;
}

.pac-nav--stuck .pac-nav-link[b-b7241tr1gf] {
    color: var(--pac-ink-3);
}

.pac-nav--stuck .pac-nav-link:hover[b-b7241tr1gf] {
    color: var(--pac-ink);
    background: rgba(20, 99, 165, 0.06);
}

.pac-nav--stuck .pac-nav-link--active[b-b7241tr1gf] {
    color: var(--pac-blue-deep);
}

.pac-nav-link--cta[b-b7241tr1gf] {
    background: var(--pac-blue);
    color: #ffffff;
    font-weight: 600;
    margin-left: 0.4rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18),
                0 6px 18px -8px rgba(20, 99, 165, 0.55);
    transition: background 0.22s var(--pac-ease),
                transform 0.22s var(--pac-ease),
                box-shadow 0.22s var(--pac-ease);
}

.pac-nav-link--cta:hover[b-b7241tr1gf] {
    background: var(--pac-blue-deep);
    color: #ffffff;
    transform: translateY(-1px);
}

.pac-nav-link--cta:active[b-b7241tr1gf] {
    transform: translateY(0) scale(0.98);
}

.pac-nav--stuck .pac-nav-link--cta[b-b7241tr1gf] {
    color: #ffffff;
}

.pac-nav--stuck .pac-nav-link--cta:hover[b-b7241tr1gf] {
    color: #ffffff;
}

/* The CTA owns its own background, so the active indicator should hide
   when Contribute is active to avoid double-highlight. */
.pac-nav-link--cta.pac-nav-link--active ~ .pac-nav-indicator[b-b7241tr1gf] {
    opacity: 0 !important;
}

/* Sliding active-section indicator — animates between nav links */
.pac-nav-indicator[b-b7241tr1gf] {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--pac-blue-light);
    border-radius: 2px;
    opacity: 0;
    transform-origin: left center;
    transition: left 0.42s var(--pac-ease),
                width 0.42s var(--pac-ease),
                opacity 0.32s var(--pac-ease),
                background 0.32s var(--pac-ease);
    pointer-events: none;
}

.pac-nav-indicator[b-b7241tr1gf]::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 2px;
    background: var(--pac-blue-light);
    box-shadow: 0 0 12px var(--pac-blue-light);
    animation: pac-nav-ind-pulse-b-b7241tr1gf 2.4s ease-in-out infinite;
    opacity: 0.6;
}

.pac-nav--stuck .pac-nav-indicator[b-b7241tr1gf] {
    background: var(--pac-blue);
}

.pac-nav--stuck .pac-nav-indicator[b-b7241tr1gf]::before {
    background: var(--pac-blue);
    box-shadow: 0 0 10px rgba(20, 99, 165, 0.45);
}

@keyframes pac-nav-ind-pulse-b-b7241tr1gf {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 0.9; }
}

/* Hero scroll cue — bottom-centered, fades out as user scrolls */
.pac-hero-scroll-cue[b-b7241tr1gf] {
    position: absolute;
    bottom: 1.2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 500;
    z-index: 3;
    animation: pac-rise-b-b7241tr1gf 1.4s 1.2s var(--pac-ease) both;
    pointer-events: none;
}

.pac-hero-scroll-cue-label[b-b7241tr1gf] {
    opacity: 0.85;
}

.pac-hero-scroll-cue-rail[b-b7241tr1gf] {
    position: relative;
    width: 1px;
    height: 44px;
    background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.18) 18%, rgba(255, 255, 255, 0.18) 82%, transparent 100%);
    overflow: hidden;
}

.pac-hero-scroll-cue-trace[b-b7241tr1gf] {
    position: absolute;
    top: -50%;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(180deg, transparent 0%, var(--pac-blue-light) 100%);
    animation: pac-scroll-trace-b-b7241tr1gf 2.4s cubic-bezier(0.66, 0, 0.34, 1) infinite;
}

@keyframes pac-scroll-trace-b-b7241tr1gf {
    0% { transform: translateY(0); opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { transform: translateY(300%); opacity: 0; }
}

/* ─── Hero grid ─── */

.pac-hero-grid-wrap[b-b7241tr1gf] {
    position: relative;
    z-index: 2;
    flex: 1;
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: clamp(2rem, 6vw, 5rem) 2rem clamp(2rem, 4vw, 3rem);
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

.pac-hero-text[b-b7241tr1gf] {
    max-width: 620px;
    animation: pac-rise-b-b7241tr1gf 0.9s 0.05s var(--pac-ease) both;
    will-change: transform;
}

.pac-hero-eyebrow[b-b7241tr1gf] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.4rem 0.95rem;
    border-radius: 999px;
    font-size: 0.74rem;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(10px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.pac-hero-eyebrow-dot[b-b7241tr1gf] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pac-blue-light);
    box-shadow: 0 0 0 3px rgba(93, 169, 221, 0.22);
    animation: pac-pulse-b-b7241tr1gf 2.4s ease-in-out infinite;
}

.pac-hero-title[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(2.6rem, 5.5vw, 4.6rem);
    line-height: 1;
    letter-spacing: -0.025em;
    color: #ffffff;
    margin: 1.5rem 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.05em;
}

.pac-hero-title span[b-b7241tr1gf] {
    display: block;
}

.pac-hero-title-accent[b-b7241tr1gf] {
    color: var(--pac-blue-light);
    font-style: italic;
    font-weight: 400;
}

.pac-hero-lede[b-b7241tr1gf] {
    font-size: 1.1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    max-width: 52ch;
    margin: 0 0 2rem;
}

.pac-hero-cta-row[b-b7241tr1gf] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}

.pac-btn[b-b7241tr1gf] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.4rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.94rem;
    text-decoration: none;
    transition: transform 0.2s var(--pac-ease), box-shadow 0.2s var(--pac-ease), background 0.2s var(--pac-ease);
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.pac-btn--primary[b-b7241tr1gf] {
    background: var(--pac-blue);
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18),
                0 8px 20px -8px rgba(20, 99, 165, 0.5);
}

.pac-btn--primary:hover[b-b7241tr1gf] {
    background: var(--pac-blue-deep);
    transform: translateY(-1px);
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18),
                0 12px 28px -10px rgba(20, 99, 165, 0.55);
}

.pac-btn--primary:active[b-b7241tr1gf] {
    transform: translateY(0) scale(0.985);
}

.pac-btn--ghost[b-b7241tr1gf] {
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.pac-btn--ghost:hover[b-b7241tr1gf] {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

.pac-btn--ghost:active[b-b7241tr1gf] {
    transform: scale(0.985);
}

/* Hero stats — divide-y, no card boxes */
.pac-hero-stats[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin: 0;
    padding: 0 1.25rem;
}

.pac-hero-stat[b-b7241tr1gf] {
    background: transparent;
    padding: 1.1rem 1.25rem;
    position: relative;
}

.pac-hero-stat:first-child[b-b7241tr1gf] {
    padding-left: 0;
}

.pac-hero-stat:last-child[b-b7241tr1gf] {
    padding-right: 0;
}

.pac-hero-stat:not(:last-child)[b-b7241tr1gf]::after {
    content: "";
    position: absolute;
    right: 0;
    top: 22%;
    bottom: 22%;
    width: 1px;
    background: rgba(255, 255, 255, 0.08);
}

.pac-hero-stat dt[b-b7241tr1gf] {
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    margin-bottom: 0.3rem;
    font-weight: 500;
}

.pac-hero-stat dd[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: 1.7rem;
    color: #ffffff;
    margin: 0;
    line-height: 1;
    letter-spacing: -0.015em;
    font-variant-numeric: tabular-nums;
}

/* ─── Hero feed — "Intelligent List" archetype ─── */

.pac-hero-feed[b-b7241tr1gf] {
    position: relative;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--pac-radius-lg);
    padding: 1.4rem;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),
                0 24px 60px -20px rgba(0, 0, 0, 0.4);
    animation: pac-rise-b-b7241tr1gf 1s 0.2s var(--pac-ease) both;
    will-change: transform;
}

.pac-hero-feed-head[b-b7241tr1gf] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 0.75rem;
}

.pac-hero-feed-pulse[b-b7241tr1gf] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pac-blue-light);
    box-shadow: 0 0 0 3px rgba(93, 169, 221, 0.28);
    animation: pac-pulse-b-b7241tr1gf 1.6s ease-in-out infinite;
}

.pac-hero-feed-label[b-b7241tr1gf] {
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    flex: 1;
}

.pac-hero-feed-time[b-b7241tr1gf] {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.4);
    font-family: 'SF Mono', Menlo, Consolas, monospace;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.pac-hero-feed-list[b-b7241tr1gf] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.pac-hero-feed-item[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    animation: pac-feed-rise-b-b7241tr1gf 0.8s var(--pac-ease) both;
    animation-delay: calc(var(--i, 0) * 130ms + 0.4s);
}

.pac-hero-feed-item:last-child[b-b7241tr1gf] {
    border-bottom: none;
}

.pac-hero-feed-mark[b-b7241tr1gf] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.pac-hero-feed-mark[data-tone="0"][b-b7241tr1gf] { background: rgba(20, 99, 165, 0.35); border-color: rgba(20, 99, 165, 0.5); }
.pac-hero-feed-mark[data-tone="1"][b-b7241tr1gf] { background: rgba(255, 255, 255, 0.06); }
.pac-hero-feed-mark[data-tone="2"][b-b7241tr1gf] { background: rgba(93, 169, 221, 0.25); border-color: rgba(93, 169, 221, 0.4); }

.pac-hero-feed-name[b-b7241tr1gf] {
    font-size: 0.92rem;
    font-weight: 500;
    color: #ffffff;
    line-height: 1.2;
}

.pac-hero-feed-org[b-b7241tr1gf] {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 1px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 220px;
}

.pac-hero-feed-amount[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-size: 1.15rem;
    font-weight: 400;
    color: var(--pac-blue-light);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}

.pac-hero-feed-foot[b-b7241tr1gf] {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 0.84rem;
    color: rgba(255, 255, 255, 0.6);
    text-align: center;
    line-height: 1.4;
}

.pac-hero-feed-foot-num[b-b7241tr1gf] {
    color: var(--pac-blue-light);
    font-weight: 600;
    margin-right: 0.25rem;
}

@media (max-width: 960px) {
    .pac-hero-grid-wrap[b-b7241tr1gf] {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .pac-hero-stats[b-b7241tr1gf] {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ─────────────────────────────────────────────────────────
   Section primitives
   ───────────────────────────────────────────────────────── */

.pac-section-eyebrow[b-b7241tr1gf] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--pac-red);
    display: inline-block;
    margin-bottom: 1.2rem;
    position: relative;
    padding-left: 1.5rem;
}

.pac-section-eyebrow[b-b7241tr1gf]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.1rem;
    height: 1px;
    background: var(--pac-red);
}

.pac-section-eyebrow--invert[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.7);
}

.pac-section-eyebrow--invert[b-b7241tr1gf]::before {
    background: rgba(255, 255, 255, 0.5);
}

.pac-section-title[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.9rem, 4.2vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.018em;
    color: var(--pac-ink);
    margin: 0 0 1rem;
    max-width: 880px;
}

.pac-section-title em[b-b7241tr1gf] {
    font-style: italic;
    color: var(--pac-blue);
    font-weight: 400;
}

.pac-section-lede[b-b7241tr1gf] {
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--pac-ink-3);
    max-width: 60ch;
    margin: 0 0 2.5rem;
}

/* ─────────────────────────────────────────────────────────
   Impact — asymmetric, no card boxes
   ───────────────────────────────────────────────────────── */

.pac-impact[b-b7241tr1gf] {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(3rem, 7vw, 6rem) 2rem clamp(3rem, 5vw, 4rem);
}

.pac-impact-grid-wrap[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: end;
}

.pac-impact-intro .pac-section-title[b-b7241tr1gf] {
    margin-bottom: 1.25rem;
}

.pac-impact-stats[b-b7241tr1gf] {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--pac-line);
}

.pac-impact-row[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: baseline;
    gap: 1.5rem;
    padding: 1.4rem 0;
    border-bottom: 1px solid var(--pac-line);
}

.pac-impact-row--hero[b-b7241tr1gf] {
    padding: 1.6rem 0 1.8rem;
}

.pac-impact-row-label[b-b7241tr1gf] {
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--pac-ink-3);
}

.pac-impact-row--hero .pac-impact-row-label[b-b7241tr1gf] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--pac-ink-4);
}

.pac-impact-row-value[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(2.6rem, 5.5vw, 4.4rem);
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--pac-ink);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.pac-impact-row-value--small[b-b7241tr1gf] {
    font-size: 2rem;
}

.pac-impact-row-value--split[b-b7241tr1gf] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.25rem;
    color: var(--pac-ink);
}

.pac-impact-d[b-b7241tr1gf] {
    color: var(--pac-blue);
    font-weight: 600;
}

.pac-impact-r[b-b7241tr1gf] {
    color: var(--pac-red);
    font-weight: 600;
}

.pac-impact-row-divider[b-b7241tr1gf] {
    width: 1px;
    height: 1rem;
    background: var(--pac-line-2);
}

.pac-impact-currency[b-b7241tr1gf] {
    font-size: 0.55em;
    color: var(--pac-blue);
    margin-right: 0.04em;
    vertical-align: 0.25em;
}

@media (max-width: 900px) {
    .pac-impact-grid-wrap[b-b7241tr1gf] {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .pac-impact-row-value--small[b-b7241tr1gf] {
        font-size: 1.5rem;
    }
}

/* ─────────────────────────────────────────────────────────
   Pillars — editorial spread
   ───────────────────────────────────────────────────────── */

.pac-pillars[b-b7241tr1gf] {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(3rem, 7vw, 6rem) 2rem;
}

.pac-pillars-intro[b-b7241tr1gf] {
    margin-bottom: clamp(3rem, 6vw, 5rem);
    max-width: 720px;
}

.pac-pillar[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: 0.5fr 1.5fr;
    gap: clamp(2rem, 5vw, 5rem);
    padding: clamp(2rem, 4vw, 3rem) 0;
    border-top: 1px solid var(--pac-line);
    align-items: start;
}

.pac-pillar:last-child[b-b7241tr1gf] {
    border-bottom: 1px solid var(--pac-line);
}

.pac-pillar--right .pac-pillar-num[b-b7241tr1gf] {
    text-align: left;
}

.pac-pillar--left[b-b7241tr1gf] {
    grid-template-columns: 1.5fr 0.5fr;
}

.pac-pillar--left .pac-pillar-text[b-b7241tr1gf] {
    grid-column: 1;
    grid-row: 1;
}

.pac-pillar--left .pac-pillar-num[b-b7241tr1gf] {
    grid-column: 2;
    grid-row: 1;
    text-align: right;
}

.pac-pillar-num[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-size: clamp(2.6rem, 5vw, 4rem);
    line-height: 1;
    color: var(--pac-blue);
    font-style: italic;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    opacity: 0.9;
}

.pac-pillar-text[b-b7241tr1gf] {
    max-width: 60ch;
}

.pac-pillar-title[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.6rem, 2.6vw, 2.1rem);
    line-height: 1.1;
    letter-spacing: -0.018em;
    color: var(--pac-ink);
    margin: 0 0 0.85rem;
}

.pac-pillar-body[b-b7241tr1gf] {
    color: var(--pac-ink-3);
    font-size: 1rem;
    line-height: 1.65;
    margin: 0;
}

@media (max-width: 800px) {
    .pac-pillar[b-b7241tr1gf],
    .pac-pillar--left[b-b7241tr1gf] {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    .pac-pillar--left .pac-pillar-text[b-b7241tr1gf],
    .pac-pillar--left .pac-pillar-num[b-b7241tr1gf] {
        grid-column: 1;
        text-align: left;
    }
    .pac-pillar--left .pac-pillar-num[b-b7241tr1gf] {
        grid-row: 1;
    }
    .pac-pillar--left .pac-pillar-text[b-b7241tr1gf] {
        grid-row: 2;
    }
}

/* ─────────────────────────────────────────────────────────
   Tiers — asymmetric bento
   ───────────────────────────────────────────────────────── */

.pac-tiers[b-b7241tr1gf] {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(3rem, 6vw, 5rem) 2rem;
}

.pac-tiers-intro[b-b7241tr1gf] {
    margin-bottom: 2.5rem;
    max-width: 640px;
}

.pac-tier-bento[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: minmax(180px, auto);
    gap: 0.75rem;
}

.pac-tier[b-b7241tr1gf] {
    background: var(--pac-paper-3);
    border: 1px solid var(--pac-line);
    border-radius: var(--pac-radius-lg);
    padding: 1.6rem 1.5rem;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: transform 0.25s var(--pac-ease), box-shadow 0.25s var(--pac-ease), border-color 0.25s var(--pac-ease);
    box-shadow: var(--pac-shadow-soft);
}

.pac-tier:hover[b-b7241tr1gf] {
    transform: translateY(-2px);
    box-shadow: var(--pac-shadow-card);
    border-color: rgba(20, 99, 165, 0.32);
}

.pac-tier--primary[b-b7241tr1gf] {
    grid-column: span 3;
    grid-row: span 2;
    background: linear-gradient(150deg, var(--pac-blue-darker) 0%, var(--pac-blue-deep) 100%);
    color: #ffffff;
    border-color: transparent;
    padding: 2.5rem 2.25rem;
    box-shadow: var(--pac-shadow-card),
                inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.pac-tier--primary[b-b7241tr1gf]::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, var(--pac-blue-glow) 0%, transparent 65%);
    filter: blur(20px);
    pointer-events: none;
}

.pac-tier--small[b-b7241tr1gf] {
    grid-column: span 3;
}

@media (min-width: 1100px) {
    .pac-tier--small:nth-of-type(2)[b-b7241tr1gf],
    .pac-tier--small:nth-of-type(3)[b-b7241tr1gf] {
        grid-column: span 3;
    }
    .pac-tier--small:nth-of-type(4)[b-b7241tr1gf],
    .pac-tier--small:nth-of-type(5)[b-b7241tr1gf],
    .pac-tier--small:nth-of-type(6)[b-b7241tr1gf] {
        grid-column: span 2;
    }
    .pac-tier--small:nth-of-type(7)[b-b7241tr1gf],
    .pac-tier--small:nth-of-type(8)[b-b7241tr1gf] {
        grid-column: span 3;
    }
}

.pac-tier-rank[b-b7241tr1gf] {
    font-family: 'SF Mono', Menlo, Consolas, monospace;
    font-size: 0.74rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: var(--pac-ink-4);
    margin-bottom: 1rem;
}

.pac-tier--primary .pac-tier-rank[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.5);
}

.pac-tier-name[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.3rem, 1.8vw, 1.6rem);
    color: var(--pac-ink);
    line-height: 1.1;
    letter-spacing: -0.015em;
    margin: 0;
}

.pac-tier--primary .pac-tier-name[b-b7241tr1gf] {
    color: #ffffff;
    font-size: clamp(2.2rem, 3.5vw, 2.8rem);
}

.pac-tier-range[b-b7241tr1gf] {
    color: var(--pac-ink-4);
    font-size: 0.85rem;
    font-weight: 500;
    margin-top: 0.25rem;
    margin-bottom: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.pac-tier--primary .pac-tier-range[b-b7241tr1gf] {
    color: var(--pac-blue-light);
    font-size: 1.1rem;
    margin-top: 0.4rem;
    margin-bottom: 1.5rem;
}

.pac-tier-blurb[b-b7241tr1gf] {
    color: var(--pac-ink-3);
    font-size: 0.9rem;
    line-height: 1.55;
    margin-bottom: 1.25rem;
    flex: 1;
}

.pac-tier--primary .pac-tier-blurb[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.02rem;
    max-width: 38ch;
    line-height: 1.6;
}

.pac-tier-foot[b-b7241tr1gf] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.pac-tier-foot-label[b-b7241tr1gf] {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.05em;
}

.pac-tier-foot-num[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-size: 1.6rem;
    color: var(--pac-blue-light);
    margin-left: auto;
    line-height: 1;
}

.pac-tier-pick[b-b7241tr1gf] {
    background: transparent;
    border: 1px solid var(--pac-line);
    color: var(--pac-ink);
    padding: 0.6rem 0.9rem;
    border-radius: var(--pac-radius-sm);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    transition: background 0.2s var(--pac-ease), border-color 0.2s var(--pac-ease), color 0.2s var(--pac-ease), transform 0.2s var(--pac-ease);
    font-family: inherit;
    align-self: flex-start;
}

.pac-tier-pick:hover[b-b7241tr1gf] {
    background: var(--pac-blue);
    color: #ffffff;
    border-color: var(--pac-blue);
}

.pac-tier-pick:active[b-b7241tr1gf] {
    transform: scale(0.98);
}

.pac-tier-pick--primary[b-b7241tr1gf] {
    background: var(--pac-blue);
    border-color: var(--pac-blue);
    color: #ffffff;
    padding: 0.85rem 1.4rem;
    font-size: 0.95rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.pac-tier-pick--primary:hover[b-b7241tr1gf] {
    background: var(--pac-blue-light);
    border-color: var(--pac-blue-light);
    color: var(--pac-blue-darker);
    transform: translateY(-1px);
}

@media (max-width: 1099px) {
    .pac-tier-bento[b-b7241tr1gf] {
        grid-template-columns: repeat(2, 1fr);
    }
    .pac-tier--primary[b-b7241tr1gf] {
        grid-column: span 2;
        grid-row: auto;
    }
    .pac-tier--small[b-b7241tr1gf] {
        grid-column: span 1;
    }
}

@media (max-width: 600px) {
    .pac-tier-bento[b-b7241tr1gf] {
        grid-template-columns: 1fr;
    }
    .pac-tier--primary[b-b7241tr1gf],
    .pac-tier--small[b-b7241tr1gf] {
        grid-column: span 1;
    }
}

/* ─────────────────────────────────────────────────────────
   Form
   ───────────────────────────────────────────────────────── */

.pac-form[b-b7241tr1gf] {
    background: var(--pac-blue-darker);
    color: #ffffff;
    padding: clamp(4rem, 8vw, 7rem) 2rem;
    margin-top: 4rem;
    position: relative;
    overflow: hidden;
}

.pac-form[b-b7241tr1gf]::before {
    content: "";
    position: absolute;
    top: -200px;
    left: 50%;
    width: 800px;
    height: 800px;
    transform: translateX(-50%);
    background: radial-gradient(circle, var(--pac-blue-glow) 0%, transparent 60%);
    pointer-events: none;
}

.pac-form-shell[b-b7241tr1gf] {
    position: relative;
    max-width: 880px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--pac-radius-xl);
    padding: clamp(2rem, 4vw, 3.25rem);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06),
                0 30px 80px -30px rgba(0, 0, 0, 0.4);
}

.pac-form-header[b-b7241tr1gf] {
    margin-bottom: 2.5rem;
    max-width: 56ch;
}

.pac-form-header .pac-section-eyebrow[b-b7241tr1gf] {
    color: var(--pac-blue-light);
}

.pac-form-header .pac-section-eyebrow[b-b7241tr1gf]::before {
    background: var(--pac-blue-light);
}

.pac-form-title[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.9rem, 3.6vw, 2.6rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 1rem 0 0.75rem;
}

.pac-form-lede[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.96rem;
    margin: 0;
    line-height: 1.6;
}

.pac-form-body[b-b7241tr1gf] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.pac-form-step[b-b7241tr1gf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.pac-form-step:first-child[b-b7241tr1gf] {
    margin-top: 0;
}

.pac-form-step-num[b-b7241tr1gf] {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--pac-blue-soft);
    color: var(--pac-blue-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid rgba(93, 169, 221, 0.3);
}

.pac-form-step-label[b-b7241tr1gf] {
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    letter-spacing: 0.01em;
}

.pac-amount-grid[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 0.5rem;
}

.pac-amount[b-b7241tr1gf] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #ffffff;
    padding: 0.95rem 1rem;
    border-radius: var(--pac-radius-sm);
    font-weight: 600;
    font-size: 0.98rem;
    cursor: pointer;
    transition: background 0.2s var(--pac-ease), border-color 0.2s var(--pac-ease), transform 0.2s var(--pac-ease);
    font-family: inherit;
    text-align: center;
}

.pac-amount:hover[b-b7241tr1gf] {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.16);
}

.pac-amount:active[b-b7241tr1gf] {
    transform: scale(0.98);
}

.pac-amount--selected[b-b7241tr1gf] {
    background: var(--pac-blue);
    color: #ffffff;
    border-color: var(--pac-blue);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.pac-amount--selected:hover[b-b7241tr1gf] {
    background: var(--pac-blue-deep);
    border-color: var(--pac-blue-deep);
}

.pac-amount--custom[b-b7241tr1gf] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.85rem 1rem;
}

.pac-amount-prefix[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.4);
    font-weight: 600;
}

.pac-amount--custom input[b-b7241tr1gf] {
    background: transparent;
    border: none;
    color: #ffffff;
    font: inherit;
    width: 100%;
    outline: none;
    font-weight: 600;
}

.pac-amount--custom input[b-b7241tr1gf]::placeholder {
    color: rgba(255, 255, 255, 0.3);
    font-weight: 500;
}

.pac-amount--custom.pac-amount--selected .pac-amount-prefix[b-b7241tr1gf],
.pac-amount--custom.pac-amount--selected input[b-b7241tr1gf],
.pac-amount--custom.pac-amount--selected input[b-b7241tr1gf]::placeholder {
    color: #ffffff;
}

.pac-toggle-row[b-b7241tr1gf] {
    display: flex;
    gap: 0.4rem;
    margin-top: 0.5rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--pac-radius-sm);
    padding: 0.25rem;
}

.pac-toggle[b-b7241tr1gf] {
    flex: 1;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.55);
    padding: 0.6rem 1rem;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s var(--pac-ease), color 0.2s var(--pac-ease);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    font-family: inherit;
    font-size: 0.92rem;
}

.pac-toggle--active[b-b7241tr1gf] {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.pac-toggle--active i[b-b7241tr1gf] {
    color: var(--pac-blue-light);
}

.pac-input-grid[b-b7241tr1gf] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
}

.pac-input-group[b-b7241tr1gf] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pac-input-group--full[b-b7241tr1gf] {
    grid-column: 1 / -1;
}

.pac-input-label[b-b7241tr1gf] {
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.6);
}

.pac-input[b-b7241tr1gf] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #ffffff;
    padding: 0.85rem 1rem;
    border-radius: var(--pac-radius-sm);
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.2s var(--pac-ease), background 0.2s var(--pac-ease), box-shadow 0.2s var(--pac-ease);
    width: 100%;
}

.pac-input[b-b7241tr1gf]::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.pac-input:focus[b-b7241tr1gf] {
    outline: none;
    border-color: var(--pac-blue-light);
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 0 0 3px var(--pac-blue-soft);
}

select.pac-input option[b-b7241tr1gf] {
    background: var(--pac-blue-darker);
    color: #ffffff;
}

.pac-input-help[b-b7241tr1gf] {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.4);
}

.pac-checkbox[b-b7241tr1gf] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.9rem;
    cursor: pointer;
    user-select: none;
    margin-top: 0.5rem;
}

.pac-checkbox input[b-b7241tr1gf] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    background: transparent;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    margin-top: 1px;
    transition: background 0.15s var(--pac-ease), border-color 0.15s var(--pac-ease);
}

.pac-checkbox input:checked[b-b7241tr1gf] {
    background: var(--pac-blue);
    border-color: var(--pac-blue);
}

.pac-checkbox input:checked[b-b7241tr1gf]::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.pac-checkbox span[b-b7241tr1gf] {
    display: none;
}

.pac-legal[b-b7241tr1gf] {
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--pac-radius);
    padding: 1.25rem 1.4rem;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.82rem;
    line-height: 1.6;
    margin-top: 0.5rem;
}

.pac-legal p[b-b7241tr1gf] {
    margin: 0 0 0.75rem;
}

.pac-legal p:last-child[b-b7241tr1gf] {
    margin-bottom: 0;
}

.pac-legal strong[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.78);
    font-weight: 600;
}

.pac-summary-bar[b-b7241tr1gf] {
    margin-top: 1.5rem;
    background: rgba(20, 99, 165, 0.08);
    border: 1px solid rgba(20, 99, 165, 0.32);
    border-radius: var(--pac-radius);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.pac-summary-amount[b-b7241tr1gf] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-size: 2rem;
    font-weight: 400;
    color: #ffffff;
    line-height: 1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.pac-summary-recurring[b-b7241tr1gf] {
    font-size: 0.65em;
    color: rgba(255, 255, 255, 0.55);
    margin-left: 0.25rem;
    font-style: italic;
}

.pac-summary-sub[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.86rem;
    margin-top: 0.25rem;
}

.pac-summary-btn[b-b7241tr1gf] {
    background: var(--pac-blue);
    color: #ffffff;
    border: none;
    padding: 0.95rem 1.5rem;
    border-radius: var(--pac-radius-sm);
    font-weight: 600;
    font-size: 0.96rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: transform 0.2s var(--pac-ease), background 0.2s var(--pac-ease), opacity 0.2s var(--pac-ease);
    font-family: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18),
                0 8px 20px -8px rgba(20, 99, 165, 0.5);
}

.pac-summary-btn:hover:not(:disabled)[b-b7241tr1gf] {
    background: var(--pac-blue-deep);
    transform: translateY(-1px);
}

.pac-summary-btn:active:not(:disabled)[b-b7241tr1gf] {
    transform: translateY(0) scale(0.985);
}

.pac-summary-btn:disabled[b-b7241tr1gf] {
    opacity: 0.35;
    cursor: not-allowed;
    box-shadow: none;
}

/* ─────────────────────────────────────────────────────────
   Contributors marquee
   ───────────────────────────────────────────────────────── */

.pac-contributors[b-b7241tr1gf] {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(4rem, 7vw, 6rem) 2rem clamp(2rem, 4vw, 3rem);
    overflow: hidden;
}

.pac-contributors-intro[b-b7241tr1gf] {
    margin-bottom: 2rem;
    max-width: 60ch;
}

.pac-contributor-marquee[b-b7241tr1gf] {
    margin-top: 1.5rem;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent 0, black 8%, black 92%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, black 8%, black 92%, transparent 100%);
}

.pac-contributor-track[b-b7241tr1gf] {
    display: flex;
    gap: 0.5rem;
    width: max-content;
    animation: pac-marquee-b-b7241tr1gf 65s linear infinite;
}

.pac-contributor-chip[b-b7241tr1gf] {
    background: var(--pac-paper-3);
    border: 1px solid var(--pac-line);
    color: var(--pac-ink);
    padding: 0.55rem 1rem;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 500;
    white-space: nowrap;
}

/* ─────────────────────────────────────────────────────────
   Footer
   ───────────────────────────────────────────────────────── */

.pac-footer[b-b7241tr1gf] {
    background: var(--pac-blue-darker);
    color: rgba(255, 255, 255, 0.6);
    padding: 4rem 2rem 2rem;
}

.pac-footer-grid[b-b7241tr1gf] {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pac-footer-logo[b-b7241tr1gf] {
    display: block;
    width: auto;
    height: 64px;
    background: #ffffff;
    border-radius: 12px;
    padding: 8px 14px;
    margin-bottom: 1.25rem;
    box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.4);
    object-fit: contain;
}

.pac-footer-tag[b-b7241tr1gf] {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.92rem;
    line-height: 1.55;
    max-width: 320px;
    margin: 0;
}

.pac-footer-col h4[b-b7241tr1gf] {
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin: 0 0 0.85rem;
}

.pac-footer-col p[b-b7241tr1gf] {
    margin: 0;
    line-height: 1.7;
    font-size: 0.9rem;
}

.pac-footer-col a[b-b7241tr1gf] {
    color: var(--pac-blue-light);
    text-decoration: none;
}

.pac-footer-col a:hover[b-b7241tr1gf] {
    text-decoration: underline;
}

.pac-footer-bar[b-b7241tr1gf] {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 1.5rem;
    color: rgba(255, 255, 255, 0.35);
    font-size: 0.8rem;
    text-align: center;
}

/* ─────────────────────────────────────────────────────────
   Animations
   ───────────────────────────────────────────────────────── */

@keyframes pac-rise-b-b7241tr1gf {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pac-feed-rise-b-b7241tr1gf {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pac-pulse-b-b7241tr1gf {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.65; }
}

@keyframes pac-drift-b-b7241tr1gf {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(40px, -30px) scale(1.08); }
}

@keyframes pac-marquee-b-b7241tr1gf {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ─────────────────────────────────────────────────────────
   Responsive
   ───────────────────────────────────────────────────────── */

@media (max-width: 900px) {
    .pac-input-grid[b-b7241tr1gf] {
        grid-template-columns: 1fr;
    }
    .pac-footer-grid[b-b7241tr1gf] {
        grid-template-columns: 1fr 1fr;
    }
    .pac-form-shell[b-b7241tr1gf] {
        padding: 2rem 1.25rem;
    }
    .pac-nav[b-b7241tr1gf] {
        padding: 0.5rem 1rem;
    }
    .pac-nav--stuck[b-b7241tr1gf] {
        padding: 0.4rem 1rem;
    }
    .pac-nav-mark[b-b7241tr1gf] {
        padding: 0.45rem 0.85rem;
        border-radius: 12px;
    }
    .pac-nav-mark img[b-b7241tr1gf] {
        height: 38px;
    }
    .pac-nav--stuck .pac-nav-mark[b-b7241tr1gf] {
        padding: 0.35rem 0.65rem;
    }
    .pac-nav--stuck .pac-nav-mark img[b-b7241tr1gf] {
        height: 28px;
    }
    .pac-nav-links[b-b7241tr1gf] {
        gap: 0;
    }
    .pac-nav-link:not(.pac-nav-link--cta)[b-b7241tr1gf] {
        display: none;
    }
    .pac-nav-link--cta[b-b7241tr1gf] {
        font-size: 0.85rem;
        padding: 0.5rem 1rem;
        margin-left: 0;
    }
    .pac-nav-indicator[b-b7241tr1gf] {
        display: none;
    }

    .pac-hero[b-b7241tr1gf] {
        padding: clamp(5rem, 14vw, 6rem) 0 2.5rem;
    }
    .pac-hero-grid-wrap[b-b7241tr1gf] {
        padding: 1.5rem 1.25rem 1.5rem;
        gap: 2rem;
    }
    .pac-hero-stats[b-b7241tr1gf] {
        padding: 0;
        margin-top: 0.5rem;
    }
    .pac-hero-stat[b-b7241tr1gf] {
        padding: 0.85rem 0.75rem;
    }
    .pac-hero-stat:first-child[b-b7241tr1gf] {
        padding-left: 0;
    }
    .pac-hero-stat:last-child[b-b7241tr1gf] {
        padding-right: 0;
    }
    .pac-hero-stat dt[b-b7241tr1gf] {
        font-size: 0.62rem;
        letter-spacing: 0.1em;
    }
    .pac-hero-stat dd[b-b7241tr1gf] {
        font-size: 1.3rem;
    }
    .pac-hero-feed[b-b7241tr1gf] {
        padding: 1.1rem;
    }
    .pac-hero-feed-org[b-b7241tr1gf] {
        max-width: 180px;
    }
    .pac-hero-scroll-cue[b-b7241tr1gf] {
        bottom: 1rem;
    }
    .pac-hero-scroll-cue-rail[b-b7241tr1gf] {
        height: 32px;
    }

    .pac-tier--primary[b-b7241tr1gf] {
        padding: 1.75rem 1.4rem;
    }
    .pac-tier--primary .pac-tier-name[b-b7241tr1gf] {
        font-size: 1.85rem;
    }
    .pac-impact[b-b7241tr1gf] {
        padding: clamp(3rem, 8vw, 5rem) 1.25rem 2.5rem;
    }
    .pac-pillars[b-b7241tr1gf] {
        padding: clamp(3rem, 7vw, 5rem) 1.25rem;
    }
    .pac-tiers[b-b7241tr1gf] {
        padding: clamp(2.5rem, 6vw, 4rem) 1.25rem;
    }
    .pac-form[b-b7241tr1gf] {
        padding: clamp(3rem, 7vw, 5rem) 1.25rem;
    }
    .pac-contributors[b-b7241tr1gf] {
        padding: clamp(3rem, 6vw, 4rem) 1.25rem 2rem;
    }
    .pac-footer[b-b7241tr1gf] {
        padding: 3rem 1.25rem 1.5rem;
    }
}

@media (max-width: 540px) {
    .pac-footer-grid[b-b7241tr1gf] {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .pac-summary-bar[b-b7241tr1gf] {
        flex-direction: column;
        align-items: stretch;
    }
    .pac-summary-btn[b-b7241tr1gf] {
        width: 100%;
        justify-content: center;
    }
    .pac-gate[b-b7241tr1gf] {
        padding: 1.5rem 1rem;
        gap: 1.5rem;
    }
    .pac-gate-card[b-b7241tr1gf] {
        padding: 1.75rem 1.4rem;
    }
    .pac-gate-logo[b-b7241tr1gf] {
        height: 64px;
        padding: 8px 14px;
        margin-bottom: 1.25rem;
    }
    .pac-gate-meta[b-b7241tr1gf] {
        gap: 0.75rem;
        padding: 1rem 0;
    }
    .pac-gate-meta-item dd[b-b7241tr1gf] {
        font-size: 1.2rem;
    }
    .pac-gate-meta-item dt[b-b7241tr1gf] {
        font-size: 0.62rem;
    }
    .pac-amount-grid[b-b7241tr1gf] {
        grid-template-columns: 1fr 1fr;
    }
    .pac-toggle[b-b7241tr1gf] {
        font-size: 0.85rem;
    }
}
/* /Pages/Public/PacThanks.razor.rz.scp.css */
.pac-thanks[b-y47bqdyx7j] {
    --pac-navy: #0A1A2E;
    --pac-blue: #1463A5;
    --pac-blue-deep: #0F4F87;
    --pac-blue-light: #5DA9DD;
    --pac-blue-soft: rgba(20, 99, 165, 0.18);
    --pac-teal: #1463A5;
    --pac-teal-deep: #0F4F87;
    --pac-teal-soft: rgba(20, 99, 165, 0.18);

    min-height: 100dvh;
    position: relative;
    background: linear-gradient(180deg, #0b1d3a 0%, #0F2A55 100%);
    color: #ffffff;
    font-family: 'Outfit', system-ui, -apple-system, sans-serif;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.pac-thanks-bg[b-y47bqdyx7j] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.pac-thanks-grid[b-y47bqdyx7j] {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 75%);
}

.pac-thanks-glow[b-y47bqdyx7j] {
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--pac-teal-soft) 0%, transparent 65%);
    filter: blur(40px);
    top: -150px;
    left: 50%;
    transform: translateX(-50%);
}

.pac-thanks-glow--alt[b-y47bqdyx7j] {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(226, 183, 101, 0.16) 0%, transparent 65%);
    top: auto;
    left: auto;
    transform: none;
    bottom: -100px;
    right: -100px;
}

.pac-thanks-nav[b-y47bqdyx7j] {
    position: relative;
    z-index: 2;
    padding: 1.5rem 2rem;
}

.pac-thanks-mark[b-y47bqdyx7j] {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    padding: 0.55rem 1rem;
    border-radius: 14px;
    box-shadow: 0 12px 32px -12px rgba(0, 0, 0, 0.4),
                inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 0.2s var(--pac-ease), box-shadow 0.2s var(--pac-ease);
    text-decoration: none;
}

.pac-thanks-mark img[b-y47bqdyx7j] {
    height: 42px;
    width: auto;
    display: block;
}

.pac-thanks-mark:hover[b-y47bqdyx7j] {
    transform: translateY(-1px);
    box-shadow: 0 14px 36px -10px rgba(0, 0, 0, 0.5);
}

@media (max-width: 540px) {
    .pac-thanks-mark[b-y47bqdyx7j] {
        padding: 0.45rem 0.85rem;
        border-radius: 12px;
    }
    .pac-thanks-mark img[b-y47bqdyx7j] {
        height: 34px;
    }
}

.pac-thanks-main[b-y47bqdyx7j] {
    position: relative;
    z-index: 2;
    flex: 1;
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
    padding: 2rem 2rem 3rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pac-thanks-checkmark[b-y47bqdyx7j] {
    width: 88px;
    height: 88px;
    margin-bottom: 1.75rem;
    animation: pac-thanks-rise-b-y47bqdyx7j 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pac-thanks-checkmark svg[b-y47bqdyx7j] {
    width: 100%;
    height: 100%;
}

.pac-thanks-checkmark circle[b-y47bqdyx7j] {
    fill: none;
    stroke: var(--pac-teal);
    stroke-width: 2;
    stroke-dasharray: 176;
    stroke-dashoffset: 176;
    animation: pac-thanks-circle-b-y47bqdyx7j 0.6s 0.1s ease-out forwards;
}

.pac-thanks-checkmark path[b-y47bqdyx7j] {
    fill: none;
    stroke: var(--pac-teal);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: pac-thanks-check-b-y47bqdyx7j 0.4s 0.6s ease-out forwards;
}

.pac-thanks-eyebrow[b-y47bqdyx7j] {
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--pac-teal);
    animation: pac-thanks-rise-b-y47bqdyx7j 0.7s 0.2s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pac-thanks-title[b-y47bqdyx7j] {
    font-family: 'Instrument Serif', Georgia, serif;
    font-weight: 400;
    font-size: clamp(2.4rem, 6vw, 4rem);
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: #ffffff;
    margin: 1rem 0 2rem;
    animation: pac-thanks-rise-b-y47bqdyx7j 0.8s 0.3s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pac-thanks-title em[b-y47bqdyx7j] {
    font-style: italic;
    color: var(--pac-teal);
    font-weight: 400;
}

.pac-thanks-receipt[b-y47bqdyx7j] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 1.5rem 1.75rem;
    width: 100%;
    max-width: 460px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    margin-bottom: 1rem;
    animation: pac-thanks-rise-b-y47bqdyx7j 0.85s 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pac-thanks-receipt-row[b-y47bqdyx7j] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pac-thanks-receipt-row:last-child[b-y47bqdyx7j] {
    border-bottom: none;
}

.pac-thanks-receipt-label[b-y47bqdyx7j] {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.85rem;
}

.pac-thanks-receipt-value[b-y47bqdyx7j] {
    color: #ffffff;
    font-weight: 500;
    font-size: 0.95rem;
}

.pac-thanks-receipt-mono[b-y47bqdyx7j] {
    font-family: 'SF Mono', Menlo, Consolas, monospace;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.7);
}

.pac-thanks-demo[b-y47bqdyx7j] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(254, 243, 199, 0.08);
    border: 1px solid rgba(254, 243, 199, 0.2);
    color: #FCD34D;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    font-size: 0.78rem;
    margin-bottom: 1.75rem;
    animation: pac-thanks-rise-b-y47bqdyx7j 0.9s 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pac-thanks-message[b-y47bqdyx7j] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    line-height: 1.65;
    max-width: 520px;
    margin: 0 0 2rem;
    animation: pac-thanks-rise-b-y47bqdyx7j 0.95s 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pac-thanks-actions[b-y47bqdyx7j] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
    animation: pac-thanks-rise-b-y47bqdyx7j 1s 0.65s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pac-thanks-btn[b-y47bqdyx7j] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.4rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    font-family: inherit;
}

.pac-thanks-btn--primary[b-y47bqdyx7j] {
    background: linear-gradient(135deg, var(--pac-teal) 0%, #06A892 100%);
    color: var(--pac-navy);
    box-shadow: 0 8px 24px rgba(0, 197, 168, 0.32);
}

.pac-thanks-btn--primary:hover[b-y47bqdyx7j] {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(0, 197, 168, 0.45);
    color: var(--pac-navy);
}

.pac-thanks-btn--ghost[b-y47bqdyx7j] {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.pac-thanks-btn--ghost:hover[b-y47bqdyx7j] {
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
}

.pac-thanks-toast[b-y47bqdyx7j] {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(15, 42, 85, 0.92);
    border: 1px solid var(--pac-teal-soft);
    color: #ffffff;
    padding: 0.75rem 1.25rem;
    border-radius: 999px;
    font-size: 0.9rem;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    animation: pac-thanks-toast-b-y47bqdyx7j 0.3s ease both;
    z-index: 1000;
}

.pac-thanks-toast i[b-y47bqdyx7j] {
    color: var(--pac-teal);
}

.pac-thanks-footer[b-y47bqdyx7j] {
    position: relative;
    z-index: 2;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.82rem;
    padding: 1.5rem 2rem 2rem;
}

@keyframes pac-thanks-rise-b-y47bqdyx7j {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pac-thanks-pulse-b-y47bqdyx7j {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.7; }
}

@keyframes pac-thanks-circle-b-y47bqdyx7j {
    to { stroke-dashoffset: 0; }
}

@keyframes pac-thanks-check-b-y47bqdyx7j {
    to { stroke-dashoffset: 0; }
}

@keyframes pac-thanks-toast-b-y47bqdyx7j {
    from { opacity: 0; transform: translate(-50%, 10px); }
    to { opacity: 1; transform: translate(-50%, 0); }
}
/* /Pages/Public/PublicEventRegister.razor.rz.scp.css */
/* PublicEventRegister — page-scoped tweaks only.
   The shared editorial system lives in wwwroot/css/registration.css.
   Note: ::deep is required here because styles authored in a Razor
   component scoped CSS file otherwise get a unique attribute that the
   plain class names below wouldn't match. */

[b-vcqiqsinaw] .reg-page {
    /* Already styled by the shared file; this is a no-op anchor so the
       Public layout's body color doesn't bleed through during transitions. */
    background: var(--reg-bg, #F7F5F0);
}

/* Public hero only ever uses the immersive variant — anchor any
   page-specific overrides here if cover images need future tuning. */
[b-vcqiqsinaw] .reg-hero--cover {
    background-color: var(--crm-navy, #0D2447);
}
/* /Pages/Public/PublicEventRegistrationConfirmed.razor.rz.scp.css */
/* Public confirmation page — same editorial vocabulary as register */

[b-k1pgsdu9rl] .conf-shell {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 1.75rem;
}

[b-k1pgsdu9rl] .conf-loading {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    padding: 6rem 0;
}
[b-k1pgsdu9rl] .conf-loading-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--crm-navy, #0D2447);
    animation: conf-dot-b-k1pgsdu9rl 1.2s ease-in-out infinite both;
    opacity: 0.4;
}
[b-k1pgsdu9rl] .conf-loading-dot:nth-child(1) { animation-delay: -0.32s; }
[b-k1pgsdu9rl] .conf-loading-dot:nth-child(2) { animation-delay: -0.16s; }
@keyframes conf-dot-b-k1pgsdu9rl {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.3; }
    40% { transform: scale(1); opacity: 1; }
}

/* ── Hero ─────────────────────────────────────────────── */
[b-k1pgsdu9rl] .conf-hero {
    position: relative;
    color: white;
    padding: 6rem 0 4.5rem;
    background:
        radial-gradient(ellipse at 30% 20%, color-mix(in srgb, var(--crm-teal, #00C5A8) 40%, transparent) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 90%, color-mix(in srgb, var(--crm-teal, #00C5A8) 22%, transparent) 0%, transparent 60%),
        linear-gradient(135deg, var(--crm-navy, #0D2447) 0%, color-mix(in srgb, var(--crm-navy, #0D2447) 65%, black) 100%);
    text-align: center;
    overflow: hidden;
}

[b-k1pgsdu9rl] .conf-hero-inner {
    position: relative;
    z-index: 2;
    animation: conf-fade-up-b-k1pgsdu9rl 0.8s ease-out both;
}

[b-k1pgsdu9rl] .conf-check {
    width: 88px;
    height: 88px;
    margin-bottom: 1.5rem;
    display: inline-block;
}

[b-k1pgsdu9rl] .conf-check-circle {
    fill: none;
    stroke: white;
    stroke-width: 2;
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    animation: conf-circle-draw-b-k1pgsdu9rl 700ms 200ms ease-out forwards;
    opacity: 0.85;
}

[b-k1pgsdu9rl] .conf-check-path {
    fill: none;
    stroke: var(--crm-teal, #00C5A8);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: conf-path-draw-b-k1pgsdu9rl 450ms 800ms ease-out forwards;
}

@keyframes conf-circle-draw-b-k1pgsdu9rl {
    to { stroke-dashoffset: 0; }
}
@keyframes conf-path-draw-b-k1pgsdu9rl {
    to { stroke-dashoffset: 0; }
}

[b-k1pgsdu9rl] .conf-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    opacity: 0.85;
    margin-bottom: 1rem;
}

[b-k1pgsdu9rl] .conf-display {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: 'opsz' 144;
    font-weight: 400;
    font-size: clamp(2.25rem, 5vw, 4rem);
    line-height: 1.05;
    letter-spacing: -0.025em;
    margin: 0 auto 1rem;
    max-width: 22ch;
    text-wrap: balance;
}

[b-k1pgsdu9rl] .conf-subhead {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: 'opsz' 36;
    font-style: italic;
    font-size: 1.15rem;
    line-height: 1.5;
    max-width: 50ch;
    margin: 0 auto;
    opacity: 0.92;
}

/* ── Body ─────────────────────────────────────────────── */
[b-k1pgsdu9rl] .conf-body {
    padding-top: 4rem;
    padding-bottom: 6rem;
    max-width: 720px;
}

[b-k1pgsdu9rl] .conf-recap, [b-k1pgsdu9rl] .conf-calendar, [b-k1pgsdu9rl] .conf-share {
    margin-bottom: 3.5rem;
}

[b-k1pgsdu9rl] .conf-recap-head {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    padding-bottom: 0.75rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

[b-k1pgsdu9rl] .conf-section-num {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: 1rem;
    color: var(--crm-teal, #00C5A8);
}

[b-k1pgsdu9rl] .conf-section-title {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: 'opsz' 72;
    font-weight: 500;
    font-size: 1.4rem;
    margin: 0;
    letter-spacing: -0.015em;
    color: #1a1a1a;
}

[b-k1pgsdu9rl] .conf-event-title {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: 'opsz' 72;
    font-weight: 500;
    font-size: 1.85rem;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0 0 1.5rem;
    color: #1a1a1a;
}

[b-k1pgsdu9rl] .conf-event-meta {
    display: grid;
    gap: 1.25rem;
}

[b-k1pgsdu9rl] .conf-meta-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 1.5rem;
    align-items: baseline;
}

[b-k1pgsdu9rl] .conf-meta-label {
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6b6b6b;
}

[b-k1pgsdu9rl] .conf-meta-val {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: 'opsz' 36;
    font-size: 1.1rem;
    line-height: 1.45;
    color: #1a1a1a;
}

/* ── CTAs ─────────────────────────────────────────────── */
[b-k1pgsdu9rl] .conf-cal-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-items: center;
}

[b-k1pgsdu9rl] .conf-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--crm-navy, #0D2447);
    color: white;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    border: none;
    padding: 0.85rem 1.75rem;
    cursor: pointer;
    transition: background 200ms ease, box-shadow 250ms ease;
    text-decoration: none;
}

[b-k1pgsdu9rl] .conf-cta:hover {
    background: color-mix(in srgb, var(--crm-navy, #0D2447) 85%, var(--crm-teal, #00C5A8));
    box-shadow: 0 8px 28px -10px color-mix(in srgb, var(--crm-navy, #0D2447) 60%, transparent);
}

[b-k1pgsdu9rl] .conf-cta-arrow {
    display: inline-block;
    transition: transform 200ms ease;
}

[b-k1pgsdu9rl] .conf-cta:hover .conf-cta-arrow {
    transform: translateY(2px);
}

[b-k1pgsdu9rl] .conf-cta-secondary {
    color: #6b6b6b;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    text-decoration: underline;
    text-decoration-color: rgba(0,0,0,0.2);
    text-underline-offset: 4px;
    transition: color 200ms ease, text-decoration-color 200ms ease;
}

[b-k1pgsdu9rl] .conf-cta-secondary:hover {
    color: var(--crm-navy, #0D2447);
    text-decoration-color: var(--crm-navy, #0D2447);
}

/* ── Empty ────────────────────────────────────────────── */
[b-k1pgsdu9rl] .conf-empty {
    text-align: center;
    padding: 6rem 2rem;
}

[b-k1pgsdu9rl] .conf-empty-title {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: 'opsz' 144;
    font-weight: 400;
    font-size: clamp(2.5rem, 5vw, 4rem);
    margin: 0 0 1rem;
    letter-spacing: -0.02em;
}

[b-k1pgsdu9rl] .conf-empty-body {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    color: #6b6b6b;
    font-size: 1.15rem;
}

@keyframes conf-fade-up-b-k1pgsdu9rl {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Mobile ───────────────────────────────────────────── */
@media (max-width: 720px) {
    [b-k1pgsdu9rl] .conf-hero { padding: 4rem 0 3rem; }
    [b-k1pgsdu9rl] .conf-meta-row {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }
    [b-k1pgsdu9rl] .conf-cal-row { gap: 1rem; }
}
/* /Pages/Reports/FieldHistoryReport.razor.rz.scp.css */
.fhr-page[b-cfbdb1px71] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.5rem 0;
    animation: crm-fade-in var(--crm-fast) var(--crm-ease) both;
}

.fhr-back[b-cfbdb1px71] {
    font-size: 0.78rem;
    color: var(--crm-text-3);
    text-decoration: none;
}

.fhr-back:hover[b-cfbdb1px71] { color: var(--crm-teal-600); }

.fhr-title[b-cfbdb1px71] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--crm-navy);
    margin: 0.4rem 0 0.3rem;
}

.fhr-sub[b-cfbdb1px71] {
    color: var(--crm-text-2);
    font-size: 0.85rem;
    margin: 0;
    max-width: 60ch;
}

.fhr-filters[b-cfbdb1px71] {
    display: flex;
    gap: 0.85rem;
    align-items: flex-end;
    flex-wrap: wrap;
    margin: 1.25rem 0 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    background: var(--crm-bg);
}

.fhr-filter[b-cfbdb1px71] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 140px;
}

.fhr-filter label[b-cfbdb1px71] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--crm-text-3);
    font-weight: 600;
}

.fhr-filter select[b-cfbdb1px71],
.fhr-filter input[b-cfbdb1px71] {
    padding: 0.3rem 0.5rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    background: var(--crm-white);
    font-size: 0.85rem;
}

.fhr-filter-actions[b-cfbdb1px71] {
    flex-direction: row;
    gap: 0.4rem;
    min-width: auto;
}

.fhr-empty[b-cfbdb1px71] {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--crm-text-2);
    background: var(--crm-bg);
    border-radius: var(--crm-r);
}

.fhr-empty-hint[b-cfbdb1px71] {
    font-size: 0.85rem;
    color: var(--crm-text-3);
    margin-top: 0.4rem;
}

.fhr-table-wrap[b-cfbdb1px71] {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    overflow: hidden;
    background: var(--crm-white);
}

.fhr-table[b-cfbdb1px71] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.fhr-table thead th[b-cfbdb1px71] {
    text-align: left;
    padding: 0.6rem 0.85rem;
    background: var(--crm-bg);
    color: var(--crm-text-3);
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--crm-border);
}

.fhr-table tbody td[b-cfbdb1px71] {
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid var(--crm-border-2, #e9ecef);
    vertical-align: top;
    animation: crm-slide-in-row var(--crm-fast) var(--crm-ease) both;
    animation-delay: var(--fhr-row-delay, 0ms);
}

.fhr-when[b-cfbdb1px71] {
    display: block;
    color: var(--crm-text);
    font-weight: 500;
}

.fhr-when-sub[b-cfbdb1px71] {
    display: block;
    color: var(--crm-text-3);
    font-size: 0.75rem;
}

.fhr-backdated[b-cfbdb1px71] {
    display: block;
    color: var(--crm-teal-600);
    font-weight: 500;
}

.fhr-entity[b-cfbdb1px71] { color: var(--crm-text-2); }
.fhr-id[b-cfbdb1px71]     { font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 0.78rem; color: var(--crm-text-3); }
.fhr-source[b-cfbdb1px71] { color: var(--crm-text-3); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; }

.fhr-added[b-cfbdb1px71]   { color: var(--crm-teal-600); font-weight: 500; }
.fhr-removed[b-cfbdb1px71] { color: #c0392b; font-weight: 500; }
.fhr-was[b-cfbdb1px71]     { color: var(--crm-text-3); font-size: 0.85em; }

.fhr-loadmore[b-cfbdb1px71] {
    margin-top: 0.85rem;
    width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .fhr-page[b-cfbdb1px71],
    .fhr-table tbody td[b-cfbdb1px71] { animation: none; }
}
/* /Pages/Reports/LegislativeAffairs.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════
   Legislative Affairs — Scoped Styles
   ═══════════════════════════════════════════════════════════ */

/* ── Page header ── */

.la-header[b-rav560ndno] {
    padding-bottom: 1.25rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--crm-border);
}

.la-header-icon[b-rav560ndno] {
    width: 48px;
    height: 48px;
    border-radius: var(--crm-r-sm);
    background: var(--crm-teal-50);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.la-subtitle[b-rav560ndno] {
    font-size: 0.875rem;
    color: var(--crm-text-2);
    margin: 0.25rem 0 0;
    max-width: 540px;
}

/* ── Selector panel ── */

.la-selector-panel[b-rav560ndno] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
    animation: crm-fade-in var(--crm-mid) var(--crm-ease) both;
}

.la-selector-label[b-rav560ndno] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--crm-text-3);
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

/* ── Result count pill ── */

.la-result-count[b-rav560ndno] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--crm-text-2);
    background: var(--crm-surface-2);
    border-radius: 20px;
    padding: 0.3rem 0.85rem;
    margin-bottom: 1rem;
}

.la-result-count strong[b-rav560ndno] {
    color: var(--crm-navy);
}

/* ── Legislator cards ── */

.la-leg-card[b-rav560ndno] {
    margin-bottom: 1rem;
    animation: crm-slide-up var(--crm-slow) var(--crm-ease) both;
}

.la-leg-card:nth-child(1)[b-rav560ndno] { animation-delay: 0.00s; }
.la-leg-card:nth-child(2)[b-rav560ndno] { animation-delay: 0.06s; }
.la-leg-card:nth-child(3)[b-rav560ndno] { animation-delay: 0.12s; }
.la-leg-card:nth-child(4)[b-rav560ndno] { animation-delay: 0.18s; }
.la-leg-card:nth-child(5)[b-rav560ndno] { animation-delay: 0.24s; }
.la-leg-card:nth-child(n+6)[b-rav560ndno] { animation-delay: 0.30s; }

.la-leg-header[b-rav560ndno] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.la-leg-identity[b-rav560ndno] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.la-leg-avatar[b-rav560ndno] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--crm-navy);
    color: rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    flex-shrink: 0;
}

[b-rav560ndno] .la-leg-name {
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    color: var(--crm-navy);
    transition: color var(--crm-fast) ease;
}

[b-rav560ndno] .la-leg-name:hover {
    color: var(--crm-teal-600);
}

.la-district-tag[b-rav560ndno] {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--crm-text-2);
    background: var(--crm-surface-2);
    border-radius: 4px;
    padding: 0.2rem 0.55rem;
}

/* ── Hospital card (result) ── */

.la-hospital-card[b-rav560ndno] {
    animation: crm-slide-up var(--crm-slow) var(--crm-ease) both;
}

.la-hospital-header[b-rav560ndno] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ── Skeleton loading ── */

.la-skel-block[b-rav560ndno] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    animation: crm-fade-in var(--crm-mid) var(--crm-ease) both;
}

.la-skel-card[b-rav560ndno] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 1.25rem;
}

.la-skel-bar[b-rav560ndno] {
    height: 14px;
    border-radius: var(--crm-r-sm);
}

.la-skel-bar-lg[b-rav560ndno] {
    height: 18px;
    border-radius: var(--crm-r-sm);
}

/* ── Empty states ── */

.la-empty[b-rav560ndno] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: var(--crm-text-3);
    animation: crm-fade-in var(--crm-mid) var(--crm-ease) both;
}

.la-empty-icon[b-rav560ndno] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--crm-surface-2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.25rem;
    opacity: 0.7;
}

.la-empty p[b-rav560ndno] {
    margin: 0;
    font-size: 0.875rem;
}

/* ── Committee badge in hospital table ── */

[b-rav560ndno] .la-committee-badge {
    display: inline-block;
    background: var(--crm-surface-2);
    color: var(--crm-text-2);
    border: 1px solid var(--crm-border);
    border-radius: 20px;
    padding: 0.15rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 500;
    margin: 0.1rem 0.15rem;
    white-space: nowrap;
}
/* /Pages/ResetPassword.razor.rz.scp.css */
.rp-success[b-bkgn1d7i17] {
    text-align: center;
    padding: 1rem 0 0.5rem;
}

.rp-success-icon[b-bkgn1d7i17] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
    margin-bottom: 1rem;
}

.rp-success-text[b-bkgn1d7i17] {
    font-size: 0.92rem;
    color: var(--crm-text);
    line-height: 1.5;
    margin-bottom: 0.25rem;
}
/* /Pages/Staff/StaffDetail.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────── */

.cd-header[b-61dus1e0hs] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
}

.cd-header-left[b-61dus1e0hs] {
    min-width: 0;
    flex: 1;
}

.cd-header[b-61dus1e0hs]  h1 {
    margin: 0 0 0.4rem;
    font-size: 1.6rem;
}

.cd-meta[b-61dus1e0hs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.75rem;
    margin-top: 4px;
}

.cd-meta-item[b-61dus1e0hs] {
    font-size: 0.85rem;
    color: var(--crm-text-2);
}

/* Type / role chips — same palette family as other detail pages.
   Roles get a distinctive accent so they read separately from
   the department chip. */
.cd-types[b-61dus1e0hs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
}

.cd-type-chip[b-61dus1e0hs] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid transparent;
}

.cd-type-default[b-61dus1e0hs] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2);
    border-color: var(--crm-border, #d8dee7);
}

.cd-type-role[b-61dus1e0hs] {
    background: rgba(99, 102, 241, 0.10);
    color: #4338ca;
    border-color: rgba(99, 102, 241, 0.25);
}

.cd-actions[b-61dus1e0hs] {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
    padding-top: 0.15rem;
    align-items: center;
}

/* ── Tab transitions ────────────────────────────────── */

.cd-tab-content[b-61dus1e0hs] {
    animation: cd-tab-fade-in-b-61dus1e0hs 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes cd-tab-fade-in-b-61dus1e0hs {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0);   }
}

@media (prefers-reduced-motion: reduce) {
    .cd-tab-content[b-61dus1e0hs] {
        animation: none;
    }
}

/* ── Info-tab utility row (show-all-fields toggle) ──── */

.cd-info-utility-row[b-61dus1e0hs] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.cd-info-utility-left[b-61dus1e0hs] {
    flex: 1 1 auto;
    min-width: 0;
}

.cd-info-utility-right[b-61dus1e0hs] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    margin-left: auto;
}

.cd-show-all-toggle[b-61dus1e0hs] {
    background: none;
    border: 1px solid transparent;
    color: var(--crm-text-3, #9ca3af);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.cd-show-all-toggle:hover[b-61dus1e0hs] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-navy, #0f172a);
    border-color: var(--crm-border, #d8dee7);
}

/* ── Info panel & sections ─────────────────────────── */

.cd-info-panel[b-61dus1e0hs] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    padding: 22px 26px;
    box-shadow: var(--crm-shadow-xs);
}

.cd-prop-section-title[b-61dus1e0hs] {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-prop-section-title[b-61dus1e0hs]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.cd-prop-empty[b-61dus1e0hs] {
    color: var(--crm-text-3, #9ca3af);
}

/* Inline chip cluster (used in the Roles property value). */
.cd-inline-chips[b-61dus1e0hs] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
}

/* ── Animatable property rows ───────────────────────── */

.cd-anim-dl[b-61dus1e0hs] {
    display: flex;
    flex-direction: column;
}

.cd-anim-row[b-61dus1e0hs] {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1),
                opacity 160ms ease,
                margin 220ms ease;
}

.cd-anim-row.is-hidden[b-61dus1e0hs] {
    grid-template-rows: 0fr;
    opacity: 0;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
}

.cd-anim-row-inner[b-61dus1e0hs] {
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(140px, max-content) 1fr;
    align-items: baseline;
    column-gap: 24px;
    padding: 5px 0;
    font-size: 0.85rem;
}

.cd-anim-row-inner > dt[b-61dus1e0hs] {
    margin: 0;
    font-weight: 500;
    color: var(--crm-text-3, #9ca3af);
    white-space: nowrap;
}

.cd-anim-row-inner > dd[b-61dus1e0hs] {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    line-height: 1.45;
}

.cd-anim-row-inner > dd a[b-61dus1e0hs] {
    color: var(--crm-teal-700, #00735f);
    text-decoration: none;
}

.cd-anim-row-inner > dd a:hover[b-61dus1e0hs] {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

.cd-anim-row.is-hidden .cd-anim-row-inner[b-61dus1e0hs] {
    padding-top: 0;
    padding-bottom: 0;
}

/* ── Tab head with title + search ──────────────────── */

.cd-tab-head[b-61dus1e0hs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    gap: 12px;
    flex-wrap: wrap;
}

.cd-tab-title[b-61dus1e0hs] {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.cd-tab-title[b-61dus1e0hs]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.cd-tab-count[b-61dus1e0hs] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-2, #4b5563);
    background: var(--crm-bg, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0;
}

.cd-tab-search[b-61dus1e0hs] {
    flex: 1 1 auto;
    max-width: 320px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--crm-bg, #f5f7fa);
    border: 1px solid transparent;
    border-radius: 6px;
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.cd-tab-search:focus-within[b-61dus1e0hs] {
    background: var(--crm-white, #fff);
    border-color: var(--crm-border-2, #c5d3e8);
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.cd-tab-search i[b-61dus1e0hs] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
}

.cd-tab-search input[b-61dus1e0hs] {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    font-size: 0.85rem;
    color: var(--crm-text-1, #1f2937);
}

.cd-tab-search input[b-61dus1e0hs]::placeholder {
    color: var(--crm-text-3, #9ca3af);
}

.cd-empty[b-61dus1e0hs] {
    text-align: center;
    padding: 36px 16px;
    color: var(--crm-text-3, #9ca3af);
}

.cd-empty i[b-61dus1e0hs] {
    font-size: 1.75rem;
    display: block;
    margin-bottom: 8px;
    color: var(--crm-border-2, #c5d3e8);
}

.cd-empty p[b-61dus1e0hs] {
    margin: 0;
    font-size: 0.85rem;
}

/* ── Activity rows (Activities tab) ─────────────────── */

.cd-activity-rows[b-61dus1e0hs] {
    display: flex;
    flex-direction: column;
}

.cd-activity-row[b-61dus1e0hs] {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    gap: 14px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
}

.cd-activity-row:last-child[b-61dus1e0hs] {
    border-bottom: none;
}

.cd-activity-row.is-done .cd-activity-subject[b-61dus1e0hs] {
    color: var(--crm-text-3, #9ca3af);
    text-decoration: line-through;
}

.cd-activity-date[b-61dus1e0hs] {
    text-align: center;
    color: var(--crm-text-2, #4b5563);
    padding: 6px 8px;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 8px;
    line-height: 1;
}

.cd-activity-date-day[b-61dus1e0hs] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--crm-navy, #0f172a);
}

.cd-activity-date-mon[b-61dus1e0hs] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.cd-activity-main[b-61dus1e0hs] {
    min-width: 0;
}

.cd-activity-head[b-61dus1e0hs] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.cd-activity-subject[b-61dus1e0hs] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
}

.cd-activity-sub[b-61dus1e0hs] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
    margin-top: 2px;
}

.cd-activity-sub-sep[b-61dus1e0hs] {
    margin: 0 6px;
    color: var(--crm-border-2, #c5d3e8);
}

/* Activity type chips — soft pill colors per type. Defaults to neutral
   for unknown ActivityType values. */

.cd-activity-type-chip[b-61dus1e0hs] {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 999px;
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2, #4b5563);
    border: 1px solid var(--crm-border, #d8dee7);
}

.cd-activity-type-call[b-61dus1e0hs] {
    background: rgba(0, 197, 168, 0.10);
    color: var(--crm-teal-700, #00735f);
    border-color: rgba(0, 197, 168, 0.25);
}

.cd-activity-type-email[b-61dus1e0hs] {
    background: rgba(99, 102, 241, 0.10);
    color: #4338ca;
    border-color: rgba(99, 102, 241, 0.25);
}

.cd-activity-type-meeting[b-61dus1e0hs] {
    background: rgba(217, 119, 6, 0.10);
    color: #b45309;
    border-color: rgba(217, 119, 6, 0.25);
}

.cd-activity-type-task[b-61dus1e0hs] {
    background: rgba(14, 116, 144, 0.10);
    color: #0e7490;
    border-color: rgba(14, 116, 144, 0.25);
}

.cd-activity-type-note[b-61dus1e0hs] {
    background: rgba(31, 41, 55, 0.06);
    color: var(--crm-navy, #0f172a);
    border-color: rgba(31, 41, 55, 0.16);
}

/* Status chips (Done badge inside activity head) */
.cd-chip[b-61dus1e0hs] {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid transparent;
}

.cd-chip-success[b-61dus1e0hs] {
    background: rgba(0, 197, 168, 0.12);
    color: var(--crm-teal-700, #00735f);
    border-color: rgba(0, 197, 168, 0.32);
}

/* ── Embedded RelatedObjectsPanel ─────────────────────
   Strip the navy header, adopt the section-title style with teal
   accent bar. */

.cd-panel-section[b-61dus1e0hs] {
    min-width: 0;
}

.cd-panel-section[b-61dus1e0hs]  .rop-container {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
}

.cd-panel-section[b-61dus1e0hs]  .rop-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    border-radius: 0;
    padding: 0 0 10px 0;
    margin-bottom: 14px;
}

.cd-panel-section[b-61dus1e0hs]  .rop-title {
    color: var(--crm-navy, #0f172a);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    text-transform: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-panel-section[b-61dus1e0hs]  .rop-title::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

.cd-panel-section[b-61dus1e0hs]  .rop-header .btn-primary {
    background: var(--crm-teal, #00C5A8);
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-white, #fff);
    font-weight: 600;
    font-size: 0.78rem;
}

.cd-panel-section[b-61dus1e0hs]  .rop-header .btn-primary:hover {
    background: var(--crm-teal-600, #009E88);
    border-color: var(--crm-teal-600, #009E88);
}

.cd-panel-section[b-61dus1e0hs]  .rop-item {
    border-bottom-color: var(--crm-border);
    padding: 10px 14px;
}

.cd-panel-section[b-61dus1e0hs]  .rop-item:hover {
    background: var(--crm-teal-50);
}

.cd-panel-section[b-61dus1e0hs]  .rop-item-name {
    color: var(--crm-navy);
    font-weight: 600;
}

.cd-panel-section[b-61dus1e0hs]  .rop-empty {
    padding: 20px 14px;
    text-align: center;
    color: var(--crm-text-3);
}

/* ── Responsive ─────────────────────────────────────── */

@media (max-width: 575.98px) {
    .cd-header[b-61dus1e0hs] {
        flex-direction: column;
        gap: 0.75rem;
    }
}
/* /Pages/Visits/VisitDetail.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────── */

.vd-header[b-iapgeczbuc] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
}

.vd-header-left[b-iapgeczbuc] {
    min-width: 0;
    flex: 1;
}

.vd-header[b-iapgeczbuc]  h1 {
    margin: 0.15rem 0 0.5rem;
    font-size: 1.6rem;
}

.vd-meta[b-iapgeczbuc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
    margin-top: 4px;
}

.vd-meta-item[b-iapgeczbuc] {
    font-size: 0.85rem;
    color: var(--crm-text-2);
}

.vd-meta-muted[b-iapgeczbuc] {
    color: var(--crm-text-3, #9ca3af);
}

/* ── Labeled fact rows (header narrative grid) ───────────
   Two-column layout: small uppercase label, value. Reads
   cleanly even when a viewer hasn't seen the tool before.
   Single column under 480px so labels don't crowd values
   into 30-char ribbons on phones. */

.vd-facts[b-iapgeczbuc] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.35rem 1rem;
    margin: 0.4rem 0 0;
    max-width: 760px;
}

.vd-fact-row[b-iapgeczbuc] {
    display: contents;
}

.vd-facts dt[b-iapgeczbuc] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--crm-text-3, #6b7280);
    margin: 0;
    padding-top: 2px;
    white-space: nowrap;
}

.vd-facts dd[b-iapgeczbuc] {
    margin: 0;
    font-size: 0.9rem;
    color: var(--crm-text);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.vd-fact-chips[b-iapgeczbuc] {
    gap: 0.3rem;
}

.vd-audience-chip[b-iapgeczbuc] {
    font-size: 0.78rem;
    font-weight: 500;
    padding: 0.3rem 0.5rem;
}

@media (max-width: 480px) {
    .vd-facts[b-iapgeczbuc] {
        grid-template-columns: 1fr;
        gap: 0.15rem 0;
    }

    .vd-fact-row[b-iapgeczbuc] {
        margin-bottom: 0.5rem;
    }
}

/* Destructive item inside the header's kebab menu. */
.vd-action-danger[b-iapgeczbuc] {
    color: var(--bs-danger, #dc3545) !important;
}

.vd-action-danger:hover[b-iapgeczbuc] {
    color: var(--bs-danger, #dc3545) !important;
    background: rgba(220, 53, 69, 0.08) !important;
}

.vd-action-danger i[b-iapgeczbuc] {
    color: inherit !important;
}

.vd-actions[b-iapgeczbuc] {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
    padding-top: 0.15rem;
    align-items: center;
}

/* ── Show-all-fields toggle ─────────────────────────── */

.vd-utility-row[b-iapgeczbuc] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.vd-show-all-toggle[b-iapgeczbuc] {
    background: none;
    border: 1px solid transparent;
    color: var(--crm-text-3, #9ca3af);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.vd-show-all-toggle:hover[b-iapgeczbuc] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-navy, #0f172a);
    border-color: var(--crm-border, #d8dee7);
}

/* ── Info panel & sections ─────────────────────────── */

.vd-info-panel[b-iapgeczbuc] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    padding: 22px 26px;
    box-shadow: var(--crm-shadow-xs);
}

.vd-prop-section-spaced[b-iapgeczbuc] {
    margin-top: 22px;
}

.vd-prop-section-head[b-iapgeczbuc] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
}

.vd-prop-section-head .vd-prop-section-title[b-iapgeczbuc] {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
    flex: 1 1 auto;
}

.vd-prop-section-title[b-iapgeczbuc],
.vd-section-title[b-iapgeczbuc] {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.vd-prop-section-title[b-iapgeczbuc]::before,
.vd-section-title[b-iapgeczbuc]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

.vd-prop-notes[b-iapgeczbuc] {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    font-size: 0.85rem;
    line-height: 1.5;
    white-space: pre-wrap;
}

/* Status chips (Follow-up section head) */
.vd-chip[b-iapgeczbuc] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid transparent;
}

.vd-chip-success[b-iapgeczbuc] {
    background: rgba(0, 197, 168, 0.12);
    color: var(--crm-teal-700, #00735f);
    border-color: rgba(0, 197, 168, 0.32);
}

.vd-chip-danger[b-iapgeczbuc] {
    background: rgba(220, 53, 69, 0.10);
    color: #b91c1c;
    border-color: rgba(220, 53, 69, 0.25);
}

/* ── Section head with title + search input ────────── */

.vd-section-head[b-iapgeczbuc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 8px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    gap: 12px;
    flex-wrap: wrap;
}

.vd-section-head .vd-section-title[b-iapgeczbuc] {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.vd-section-search[b-iapgeczbuc] {
    flex: 1 1 auto;
    max-width: 320px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--crm-bg, #f5f7fa);
    border: 1px solid transparent;
    border-radius: 6px;
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.vd-section-search:focus-within[b-iapgeczbuc] {
    background: var(--crm-white, #fff);
    border-color: var(--crm-border-2, #c5d3e8);
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.vd-section-search i[b-iapgeczbuc] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
}

.vd-section-search input[b-iapgeczbuc] {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    font-size: 0.85rem;
    color: var(--crm-text-1, #1f2937);
}

.vd-section-search input[b-iapgeczbuc]::placeholder {
    color: var(--crm-text-3, #9ca3af);
}

/* ── Animatable property rows ───────────────────────── */

.vd-anim-dl[b-iapgeczbuc] {
    display: flex;
    flex-direction: column;
}

.vd-anim-row[b-iapgeczbuc] {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1),
                opacity 160ms ease,
                margin 220ms ease;
}

.vd-anim-row.is-hidden[b-iapgeczbuc] {
    grid-template-rows: 0fr;
    opacity: 0;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
}

.vd-anim-row-inner[b-iapgeczbuc] {
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(140px, max-content) 1fr;
    align-items: baseline;
    column-gap: 24px;
    padding: 5px 0;
    font-size: 0.85rem;
}

.vd-anim-row-inner > dt[b-iapgeczbuc],
.vd-anim-row-inner[b-iapgeczbuc]  dt {
    margin: 0;
    font-weight: 500;
    color: var(--crm-text-3, #9ca3af);
    white-space: nowrap;
}

.vd-anim-row-inner > dd[b-iapgeczbuc],
.vd-anim-row-inner[b-iapgeczbuc]  dd {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    line-height: 1.45;
}

.vd-anim-row-inner > dd a[b-iapgeczbuc],
.vd-anim-row-inner[b-iapgeczbuc]  dd a {
    color: var(--crm-teal-700, #00735f);
    text-decoration: none;
}

.vd-anim-row-inner > dd a:hover[b-iapgeczbuc],
.vd-anim-row-inner[b-iapgeczbuc]  dd a:hover {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

.vd-anim-row.is-hidden .vd-anim-row-inner[b-iapgeczbuc] {
    padding-top: 0;
    padding-bottom: 0;
}

.vd-anim-row-inner > dt[class*="col-"][b-iapgeczbuc],
.vd-anim-row-inner > dd[class*="col-"][b-iapgeczbuc],
.vd-anim-row-inner[b-iapgeczbuc]  dt[class*="col-"],
.vd-anim-row-inner[b-iapgeczbuc]  dd[class*="col-"] {
    flex: unset;
    max-width: unset;
    padding: 0;
}

/* ── Attendees / Staff grid ─────────────────────────── */

.vd-panels-grid[b-iapgeczbuc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

.vd-panel-section[b-iapgeczbuc] {
    min-width: 0;
}

/* Embedded RelatedObjectsPanel — strip its navy header, adopt the
   new section-header pattern with teal accent bar. */

.vd-panel-section[b-iapgeczbuc]  .rop-container {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
}

.vd-panel-section[b-iapgeczbuc]  .rop-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    border-radius: 0;
    padding: 0 0 10px 0;
    margin-bottom: 14px;
}

.vd-panel-section[b-iapgeczbuc]  .rop-title {
    color: var(--crm-navy, #0f172a);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    text-transform: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.vd-panel-section[b-iapgeczbuc]  .rop-title::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

.vd-panel-section[b-iapgeczbuc]  .rop-header .btn-primary {
    background: var(--crm-teal, #00C5A8);
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-white, #fff);
    font-weight: 600;
    font-size: 0.78rem;
}

.vd-panel-section[b-iapgeczbuc]  .rop-header .btn-primary:hover {
    background: var(--crm-teal-600, #009E88);
    border-color: var(--crm-teal-600, #009E88);
}

.vd-panel-section[b-iapgeczbuc]  .rop-item {
    border-bottom-color: var(--crm-border);
    padding: 10px 14px;
}

.vd-panel-section[b-iapgeczbuc]  .rop-item:hover {
    background: var(--crm-teal-50);
}

.vd-panel-section[b-iapgeczbuc]  .rop-item-name {
    color: var(--crm-navy);
    font-weight: 600;
}

.vd-panel-section[b-iapgeczbuc]  .rop-empty {
    padding: 20px 14px;
    text-align: center;
    color: var(--crm-text-3);
}

/* ── Responsive ─────────────────────────────────────── */

@media (max-width: 767.98px) {
    .vd-panels-grid[b-iapgeczbuc] {
        grid-template-columns: 1fr;
    }

    .vd-header[b-iapgeczbuc] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .vd-actions[b-iapgeczbuc] {
        align-self: flex-end;
    }
}
/* /Pages/Workgroups/WorkgroupDetail.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────── */

.wg-header[b-cs0ifkrguu] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-xs);
}

.wg-header-left[b-cs0ifkrguu] {
    min-width: 0;
    flex: 1;
}

.wg-header[b-cs0ifkrguu]  h1 {
    margin: 0.15rem 0 0.5rem;
    font-size: 1.6rem;
}

.wg-meta[b-cs0ifkrguu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
    margin-top: 4px;
}

.wg-meta-item[b-cs0ifkrguu] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--crm-text-2);
    text-decoration: none;
}

.wg-meta-link[b-cs0ifkrguu] {
    color: var(--crm-teal-700, #00735f);
    transition: color var(--crm-fast, 140ms) ease;
}

.wg-meta-link:hover[b-cs0ifkrguu] {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

.wg-meta-link .bi[b-cs0ifkrguu] {
    color: var(--crm-teal-600, #009E88);
    font-size: 0.95rem;
}

.wg-description[b-cs0ifkrguu] {
    flex-basis: 100%;
    color: var(--crm-text-2);
    line-height: 1.5;
}

/* Destructive item inside the header's kebab menu. */
.wg-action-danger[b-cs0ifkrguu] {
    color: var(--bs-danger, #dc3545) !important;
}

.wg-action-danger:hover[b-cs0ifkrguu] {
    color: var(--bs-danger, #dc3545) !important;
    background: rgba(220, 53, 69, 0.08) !important;
}

.wg-action-danger i[b-cs0ifkrguu] {
    color: inherit !important;
}

.wg-actions[b-cs0ifkrguu] {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
    padding-top: 0.15rem;
    align-items: center;
}

/* ── Utility row (show-all-fields toggle) ─────────────
   Only renders when there's at least one empty custom field to hide. */

.wg-utility-row[b-cs0ifkrguu] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.wg-show-all-toggle[b-cs0ifkrguu] {
    background: none;
    border: 1px solid transparent;
    color: var(--crm-text-3, #9ca3af);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.wg-show-all-toggle:hover[b-cs0ifkrguu] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-navy, #0f172a);
    border-color: var(--crm-border, #d8dee7);
}

/* ── Info panel ───────────────────────────────────────
   Single white surface that wraps a section. Sections inside use the
   same header treatment as detail pages: small navy title with a 3px
   teal accent bar, hairline rule below. */

.wg-info-panel[b-cs0ifkrguu] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: var(--crm-r, 10px);
    padding: 22px 26px;
    box-shadow: var(--crm-shadow-xs);
}

.wg-prop-section-title[b-cs0ifkrguu],
.wg-section-title[b-cs0ifkrguu] {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0f172a);
    display: flex;
    align-items: center;
    gap: 8px;
}

.wg-prop-section-title[b-cs0ifkrguu]::before,
.wg-section-title[b-cs0ifkrguu]::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
}

/* Section head wrapper for sections that need a row layout (title +
   search input, etc.) similar to the detail-page `cd-tab-head`. */

.wg-section-head[b-cs0ifkrguu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 8px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    gap: 12px;
    flex-wrap: wrap;
}

.wg-section-head .wg-section-title[b-cs0ifkrguu] {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.wg-section-search[b-cs0ifkrguu] {
    flex: 1 1 auto;
    max-width: 320px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--crm-bg, #f5f7fa);
    border: 1px solid transparent;
    border-radius: 6px;
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.wg-section-search:focus-within[b-cs0ifkrguu] {
    background: var(--crm-white, #fff);
    border-color: var(--crm-border-2, #c5d3e8);
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.wg-section-search i[b-cs0ifkrguu] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
}

.wg-section-search input[b-cs0ifkrguu] {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    font-size: 0.85rem;
    color: var(--crm-text-1, #1f2937);
}

.wg-section-search input[b-cs0ifkrguu]::placeholder {
    color: var(--crm-text-3, #9ca3af);
}

/* ── Animatable property rows ─────────────────────────
   grid-template-rows 1fr → 0fr for height collapse, coupled with
   opacity fade. Same engine as AccountDetail / ContactDetail. */

.wg-anim-dl[b-cs0ifkrguu] {
    display: flex;
    flex-direction: column;
}

.wg-anim-row[b-cs0ifkrguu] {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1),
                opacity 160ms ease,
                margin 220ms ease;
}

.wg-anim-row.is-hidden[b-cs0ifkrguu] {
    grid-template-rows: 0fr;
    opacity: 0;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
}

.wg-anim-row-inner[b-cs0ifkrguu] {
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(140px, max-content) 1fr;
    align-items: baseline;
    column-gap: 24px;
    padding: 5px 0;
    font-size: 0.85rem;
}

.wg-anim-row-inner > dt[b-cs0ifkrguu],
.wg-anim-row-inner[b-cs0ifkrguu]  dt {
    margin: 0;
    font-weight: 500;
    color: var(--crm-text-3, #9ca3af);
    white-space: nowrap;
}

.wg-anim-row-inner > dd[b-cs0ifkrguu],
.wg-anim-row-inner[b-cs0ifkrguu]  dd {
    margin: 0;
    color: var(--crm-text-1, #1f2937);
    line-height: 1.45;
}

.wg-anim-row-inner > dd a[b-cs0ifkrguu],
.wg-anim-row-inner[b-cs0ifkrguu]  dd a {
    color: var(--crm-teal-700, #00735f);
    text-decoration: none;
}

.wg-anim-row-inner > dd a:hover[b-cs0ifkrguu],
.wg-anim-row-inner[b-cs0ifkrguu]  dd a:hover {
    color: var(--crm-teal, #00C5A8);
    text-decoration: underline;
}

.wg-anim-row.is-hidden .wg-anim-row-inner[b-cs0ifkrguu] {
    padding-top: 0;
    padding-bottom: 0;
}

.wg-anim-row-inner > dt[class*="col-"][b-cs0ifkrguu],
.wg-anim-row-inner > dd[class*="col-"][b-cs0ifkrguu],
.wg-anim-row-inner[b-cs0ifkrguu]  dt[class*="col-"],
.wg-anim-row-inner[b-cs0ifkrguu]  dd[class*="col-"] {
    flex: unset;
    max-width: unset;
    padding: 0;
}

/* ── Members grid: side-by-side, stack on narrow ────── */

.wg-panels-grid[b-cs0ifkrguu] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

.wg-panel-section[b-cs0ifkrguu] {
    min-width: 0;
}

/* Embedded RelatedObjectsPanel — strip its navy header, adopt the
   new section-header pattern with teal accent bar. */

.wg-panel-section[b-cs0ifkrguu]  .rop-container {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
}

.wg-panel-section[b-cs0ifkrguu]  .rop-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    border-radius: 0;
    padding: 0 0 10px 0;
    margin-bottom: 14px;
}

.wg-panel-section[b-cs0ifkrguu]  .rop-title {
    color: var(--crm-navy, #0f172a);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    text-transform: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.wg-panel-section[b-cs0ifkrguu]  .rop-title::before {
    content: "";
    width: 3px;
    height: 14px;
    background: var(--crm-teal, #00C5A8);
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

.wg-panel-section[b-cs0ifkrguu]  .rop-header .btn-primary {
    background: var(--crm-teal, #00C5A8);
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-white, #fff);
    font-weight: 600;
    font-size: 0.78rem;
}

.wg-panel-section[b-cs0ifkrguu]  .rop-header .btn-primary:hover {
    background: var(--crm-teal-600, #009E88);
    border-color: var(--crm-teal-600, #009E88);
}

.wg-panel-section[b-cs0ifkrguu]  .rop-item {
    border-bottom-color: var(--crm-border);
    padding: 10px 14px;
}

.wg-panel-section[b-cs0ifkrguu]  .rop-item:hover {
    background: var(--crm-teal-50);
}

.wg-panel-section[b-cs0ifkrguu]  .rop-item-name {
    color: var(--crm-navy);
    font-weight: 600;
}

.wg-panel-section[b-cs0ifkrguu]  .rop-empty {
    padding: 20px 14px;
    text-align: center;
    color: var(--crm-text-3);
}

/* Embedded form (SendEmailForm) — flatten its card chrome to a
   borderless inline section that fits the panel. */

.wg-embedded-form[b-cs0ifkrguu]  .card {
    border: none;
    box-shadow: none;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 8px;
    margin-top: 0;
    margin-bottom: 0;
}

.wg-embedded-form[b-cs0ifkrguu]  .card-header {
    background: transparent;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    padding: 8px 14px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
}

.wg-embedded-form[b-cs0ifkrguu]  .card-body {
    padding: 14px;
}

/* ── Responsive: stack on narrow screens ────────────── */

@media (max-width: 767.98px) {
    .wg-panels-grid[b-cs0ifkrguu] {
        grid-template-columns: 1fr;
    }

    .wg-header[b-cs0ifkrguu] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .wg-actions[b-cs0ifkrguu] {
        align-self: flex-end;
    }
}
/* /Shared/AccountContactsPanel.razor.rz.scp.css */
.acp-cardinality-hint[b-7p7jb7x6u3] {
    font-size: 0.72rem;
    color: var(--crm-text-3);
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.acp-other-header[b-7p7jb7x6u3] {
    border-left-color: var(--crm-border) !important;
    opacity: 0.85;
}

.acp-empty[b-7p7jb7x6u3] {
    padding: 12px 16px;
    margin: 0;
    font-size: 0.8rem;
    color: var(--crm-text-3);
}

.acp-list[b-7p7jb7x6u3] {
    padding: 4px 0;
}

.acp-item[b-7p7jb7x6u3] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-bottom: 1px solid var(--crm-border);
    transition: background var(--crm-fast) ease;
}

.acp-item:last-child[b-7p7jb7x6u3] {
    border-bottom: none;
}

.acp-item:hover[b-7p7jb7x6u3] {
    background: var(--crm-bg);
}

.acp-item-editing[b-7p7jb7x6u3] {
    background: color-mix(in srgb, var(--crm-teal) 6%, transparent);
}

.acp-item-main[b-7p7jb7x6u3] {
    flex: 1;
    min-width: 0;
}

.acp-item-name[b-7p7jb7x6u3] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-navy);
    text-decoration: none;
}

.acp-item-name:hover[b-7p7jb7x6u3] {
    text-decoration: underline;
}

.acp-item-subtitle[b-7p7jb7x6u3] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
    margin-left: 6px;
}

.acp-item-labels[b-7p7jb7x6u3] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    flex: 1;
}

.acp-label-check[b-7p7jb7x6u3] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid var(--crm-border);
    background: white;
    margin: 2px;
}

.acp-label-check:hover[b-7p7jb7x6u3] {
    background: var(--crm-bg);
}

.acp-edit-labels-btn[b-7p7jb7x6u3] {
    color: var(--crm-border);
    padding: 0 2px;
    line-height: 1;
    font-size: 0.75rem;
}

.acp-edit-labels-btn:hover[b-7p7jb7x6u3] {
    color: var(--crm-navy);
}

.acp-done-btn[b-7p7jb7x6u3] {
    font-size: 0.75rem;
    padding: 0 4px;
    color: var(--crm-navy);
}

.acp-remove-btn[b-7p7jb7x6u3] {
    flex-shrink: 0;
    padding: 0 6px;
    line-height: 1.4;
    font-size: 1rem;
}

.acp-add-form-wrapper[b-7p7jb7x6u3] {
    border-top: 1px solid var(--crm-border);
    background: var(--crm-bg);
}

/* ── Section shells (Executive / Board / Other) ────────────────── */

.acp-section[b-7p7jb7x6u3] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 14px 16px 12px;
    box-shadow: var(--crm-shadow-xs);
}

.acp-section-head[b-7p7jb7x6u3] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--crm-border);
}

.acp-section-title[b-7p7jb7x6u3] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--crm-navy);
    letter-spacing: 0.01em;
}

.acp-section-title-muted[b-7p7jb7x6u3] {
    color: var(--crm-text-2);
    font-weight: 500;
}

.acp-section-count[b-7p7jb7x6u3] {
    font-size: 0.72rem;
    color: var(--crm-text-3);
    font-weight: 500;
}

/* ── Executive Team — dense 2-column role/person rows ──────────── */

.acp-exec-grid[b-7p7jb7x6u3] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
}

@media (min-width: 900px) {
    .acp-exec-grid[b-7p7jb7x6u3] {
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
    }
}

.acp-exec-row[b-7p7jb7x6u3] {
    display: grid;
    grid-template-columns: 88px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 7px 2px;
    border-bottom: 1px solid var(--crm-border);
    min-height: 36px;
}

.acp-exec-row:last-child[b-7p7jb7x6u3],
.acp-exec-grid > .acp-exec-row:nth-last-child(-n+2)[b-7p7jb7x6u3] {
    border-bottom: none;
}

.acp-exec-row-vacant .acp-exec-role[b-7p7jb7x6u3] {
    color: var(--crm-text-3);
}

.acp-exec-role[b-7p7jb7x6u3] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--crm-text-2);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.acp-exec-holder[b-7p7jb7x6u3] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.acp-exec-person[b-7p7jb7x6u3] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.acp-exec-person-name[b-7p7jb7x6u3] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-navy);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acp-exec-person-name:hover[b-7p7jb7x6u3] {
    text-decoration: underline;
}

.acp-exec-person-sub[b-7p7jb7x6u3] {
    font-size: 0.72rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acp-exec-assign[b-7p7jb7x6u3] {
    background: none;
    border: none;
    padding: 0;
    font-size: 0.78rem;
    color: var(--crm-text-3);
    font-style: italic;
    cursor: pointer;
    text-align: left;
}

.acp-exec-assign:hover[b-7p7jb7x6u3] {
    color: var(--crm-teal);
    text-decoration: underline;
}

.acp-exec-vacant-label[b-7p7jb7x6u3] {
    font-size: 0.78rem;
    color: var(--crm-text-3);
    font-style: italic;
}

.acp-exec-actions[b-7p7jb7x6u3] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.acp-exec-action[b-7p7jb7x6u3] {
    background: none;
    border: 1px solid transparent;
    padding: 2px 8px;
    font-size: 0.7rem;
    color: var(--crm-text-2);
    border-radius: var(--crm-r-sm);
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--crm-fast) ease, border-color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.acp-exec-row:hover .acp-exec-action[b-7p7jb7x6u3] {
    opacity: 1;
    border-color: var(--crm-border);
}

.acp-exec-action:hover[b-7p7jb7x6u3] {
    background: var(--crm-bg);
    color: var(--crm-navy);
}

.acp-exec-action-ea[b-7p7jb7x6u3] {
    color: var(--crm-teal-600, #009E88);
}

.acp-exec-action-ea:hover[b-7p7jb7x6u3] {
    color: var(--crm-teal, #00C5A8);
    border-color: var(--crm-teal, #00C5A8);
}

.acp-exec-remove[b-7p7jb7x6u3] {
    background: none;
    border: none;
    color: var(--crm-text-3);
    padding: 0 4px;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--crm-fast) ease, color var(--crm-fast) ease;
}

/* Executive Assistant sub-row — indented under each exec's name in the
   holder column. Smaller type so the grid still reads as 10 exec seats
   at a glance even when assistants are filled. */
.acp-exec-ea[b-7p7jb7x6u3] {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    font-size: 0.78rem;
    color: var(--crm-text-2);
    margin-top: 1px;
}

.acp-exec-ea-arrow[b-7p7jb7x6u3] {
    color: var(--crm-text-3);
    font-size: 0.85rem;
    line-height: 1;
}

.acp-exec-ea-tag[b-7p7jb7x6u3] {
    font-size: 0.66rem;
    font-weight: 600;
    color: var(--crm-text-3);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    background: var(--crm-bg);
    border-radius: var(--crm-r-sm);
}

.acp-exec-ea-name[b-7p7jb7x6u3] {
    font-size: 0.82rem;
    color: var(--crm-navy);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.acp-exec-ea-name:hover[b-7p7jb7x6u3] {
    text-decoration: underline;
}

.acp-exec-row:hover .acp-exec-remove[b-7p7jb7x6u3] {
    opacity: 1;
}

.acp-exec-remove:hover[b-7p7jb7x6u3] {
    color: #c0392b;
}

/* ── Board — officer strip + member roster ─────────────────────── */

.acp-board-officers[b-7p7jb7x6u3] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}

@media (min-width: 720px) {
    .acp-board-officers[b-7p7jb7x6u3] {
        grid-template-columns: repeat(4, 1fr);
    }
}

.acp-officer[b-7p7jb7x6u3] {
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: 78px;
    position: relative;
    transition: border-color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.acp-officer:hover[b-7p7jb7x6u3] {
    border-color: var(--crm-border-2);
}

.acp-officer-vacant[b-7p7jb7x6u3] {
    background: transparent;
    border-style: dashed;
}

.acp-officer-role[b-7p7jb7x6u3] {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--crm-text-2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.acp-officer-name[b-7p7jb7x6u3] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-navy);
    text-decoration: none;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acp-officer-name:hover[b-7p7jb7x6u3] {
    text-decoration: underline;
}

.acp-officer-sub[b-7p7jb7x6u3] {
    font-size: 0.72rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acp-officer-actions[b-7p7jb7x6u3] {
    position: absolute;
    top: 6px;
    right: 6px;
    display: flex;
    gap: 2px;
    opacity: 0;
    transition: opacity var(--crm-fast) ease;
}

.acp-officer:hover .acp-officer-actions[b-7p7jb7x6u3] {
    opacity: 1;
}

.acp-officer-replace[b-7p7jb7x6u3] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    padding: 1px 6px;
    font-size: 0.68rem;
    color: var(--crm-text-2);
    border-radius: var(--crm-r-sm);
    cursor: pointer;
}

.acp-officer-replace:hover[b-7p7jb7x6u3] {
    background: var(--crm-bg);
    color: var(--crm-navy);
}

.acp-officer-remove[b-7p7jb7x6u3] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    padding: 0 6px;
    font-size: 0.8rem;
    color: var(--crm-text-3);
    line-height: 1.3;
    border-radius: var(--crm-r-sm);
    cursor: pointer;
}

.acp-officer-remove:hover[b-7p7jb7x6u3] {
    color: #c0392b;
    border-color: #c0392b;
}

.acp-officer-assign[b-7p7jb7x6u3] {
    background: none;
    border: none;
    padding: 0;
    font-size: 0.8rem;
    color: var(--crm-text-3);
    font-style: italic;
    cursor: pointer;
    text-align: left;
    margin-top: 4px;
}

.acp-officer-assign:hover[b-7p7jb7x6u3] {
    color: var(--crm-teal);
    text-decoration: underline;
}

.acp-officer-vacant-label[b-7p7jb7x6u3] {
    font-size: 0.8rem;
    color: var(--crm-text-3);
    font-style: italic;
    margin-top: 4px;
}

/* Board member roster */
.acp-board-members-head[b-7p7jb7x6u3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 6px;
    margin-bottom: 6px;
}

.acp-board-members-title[b-7p7jb7x6u3] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--crm-text-2);
}

.acp-member-grid[b-7p7jb7x6u3] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px;
}

.acp-member-tile[b-7p7jb7x6u3] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    min-width: 0;
    transition: border-color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.acp-member-tile:hover[b-7p7jb7x6u3] {
    border-color: var(--crm-border-2);
    background: var(--crm-bg);
}

.acp-member-avatar[b-7p7jb7x6u3] {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--crm-surface-2);
    color: var(--crm-text-2);
    font-size: 0.7rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
}

.acp-member-body[b-7p7jb7x6u3] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.acp-member-name[b-7p7jb7x6u3] {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--crm-navy);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acp-member-name:hover[b-7p7jb7x6u3] {
    text-decoration: underline;
}

.acp-member-sub[b-7p7jb7x6u3] {
    font-size: 0.7rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acp-member-remove[b-7p7jb7x6u3] {
    background: none;
    border: none;
    color: var(--crm-text-3);
    padding: 0 4px;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--crm-fast) ease, color var(--crm-fast) ease;
}

.acp-member-tile:hover .acp-member-remove[b-7p7jb7x6u3] {
    opacity: 1;
}

.acp-member-remove:hover[b-7p7jb7x6u3] {
    color: #c0392b;
}

/* Inline add forms shown under the purpose-built sections */
.acp-inline-form[b-7p7jb7x6u3] {
    margin-top: 12px;
    padding: 12px;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
}

.acp-inline-form-title[b-7p7jb7x6u3] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--crm-text-2);
    margin-bottom: 8px;
}

.acp-empty-inline[b-7p7jb7x6u3] {
    padding: 8px 0;
}

/* Other Contacts section body (formerly an unstyled card) */
.acp-other-body[b-7p7jb7x6u3] {
    padding: 0;
}

.acp-section-other[b-7p7jb7x6u3] {
    opacity: 0.92;
}

/* ── Other Roles — flat exec-grid styling + section search ──────── */

/* Inline capacity chip sitting next to the role label in the left
   cell, e.g. "TRUSTEES 9/10". Mirrors the muted typographic tone of
   .acp-exec-role so it reads as part of the same chip, not a badge. */
.acp-exec-role-cap[b-7p7jb7x6u3] {
    margin-left: 6px;
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--crm-text-3);
    letter-spacing: 0;
    text-transform: none;
}

.acp-exec-role-cap-full[b-7p7jb7x6u3] {
    color: #92400E;
}

/* Section-level search field — only shown when the role list is long
   enough to need it. Inlines into .acp-section-head, either inside
   .acp-section-controls or standalone (in which case margin-left:auto
   pushes it to the right edge). */
.acp-section-search[b-7p7jb7x6u3] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-fast) ease;
}

.acp-section-head > .acp-section-search[b-7p7jb7x6u3] {
    margin-left: auto;
}

.acp-section-search:focus-within[b-7p7jb7x6u3] {
    border-color: var(--crm-teal);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--crm-teal) 18%, transparent);
}

.acp-section-search > i[b-7p7jb7x6u3] {
    color: var(--crm-text-3);
    font-size: 0.8rem;
}

.acp-section-search-input[b-7p7jb7x6u3] {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.78rem;
    color: var(--crm-text);
    padding: 1px 0;
    min-width: 180px;
    font-family: inherit;
}

.acp-section-search-input[b-7p7jb7x6u3]::placeholder {
    color: var(--crm-text-3);
    font-style: italic;
}

.acp-section-search-clear[b-7p7jb7x6u3] {
    background: none;
    border: none;
    color: var(--crm-text-3);
    font-size: 1rem;
    line-height: 1;
    padding: 0 2px;
    cursor: pointer;
}

.acp-section-search-clear:hover[b-7p7jb7x6u3] {
    color: var(--crm-navy);
}

/* Inline add-contact form when launched from an Other Roles row. Spans
   the full grid width and pushes following rows down. */
.acp-add-form-other[b-7p7jb7x6u3] {
    grid-column: 1 / -1;
    padding: 8px 2px;
    border-bottom: 1px solid var(--crm-border);
}

/* ── Other Roles row overrides ──────────────────────────────────────
   Exec Team's 88px role column suits short canonical names ("CEO",
   "CFO"). Customer-defined Other Roles can be 30–40 characters and
   wrap to 4 lines at 88px — widen to 180px and clamp to 2 lines with
   ellipsis. The grid is reused; only the row template changes. */
.acp-other-grid[b-7p7jb7x6u3] {
    /* On wide screens the exec grid is 2-col. Bump the column-gap a
       little so the two role groups don't read as one wide row. */
    column-gap: 28px;
}

.acp-other-row[b-7p7jb7x6u3] {
    grid-template-columns: 180px 1fr auto;
}

.acp-other-role[b-7p7jb7x6u3] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 6px;
    /* override Exec's nowrap; long admin labels need to wrap */
    white-space: normal;
}

.acp-other-role-name[b-7p7jb7x6u3] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    line-height: 1.2;
}

/* Inline "+" affordance on the role label — hover-revealed so it doesn't
   clutter the chip at rest. Replaces the v1 trailing "+ Add another" row,
   which ate 30+px of vertical space per uncapped role. */
.acp-other-add-inline[b-7p7jb7x6u3] {
    margin-left: 2px;
    background: none;
    border: 1px solid transparent;
    color: var(--crm-text-3);
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1;
    padding: 0 5px;
    border-radius: var(--crm-r-sm);
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--crm-fast) ease, color var(--crm-fast) ease,
                border-color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.acp-other-row:hover .acp-other-add-inline[b-7p7jb7x6u3],
.acp-other-add-inline:focus-visible[b-7p7jb7x6u3] {
    opacity: 1;
}

.acp-other-add-inline:hover[b-7p7jb7x6u3] {
    color: var(--crm-teal);
    border-color: var(--crm-teal);
    background: color-mix(in srgb, var(--crm-teal) 8%, transparent);
}

/* Right-aligned controls cluster in the section header (search field +
   eye-icon vacant toggle). Replaces the older standalone search and the
   under-grid "Show N vacant roles" button. */
.acp-section-controls[b-7p7jb7x6u3] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Eye-icon toggle that expands/collapses the vacant-role rows. Mirrors
   the empty-fields toggle on the Info tab so users see the same visual
   affordance in both places. */
.acp-section-toggle[b-7p7jb7x6u3] {
    background: none;
    border: 1px solid transparent;
    color: var(--crm-text-3);
    width: 28px;
    height: 28px;
    border-radius: var(--crm-r-sm);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color var(--crm-fast) ease, background var(--crm-fast) ease,
                border-color var(--crm-fast) ease;
}

.acp-section-toggle i[b-7p7jb7x6u3] {
    font-size: 0.95rem;
}

.acp-section-toggle:hover[b-7p7jb7x6u3] {
    color: var(--crm-teal);
    border-color: var(--crm-border);
    background: var(--crm-bg);
}

.acp-section-toggle.is-active[b-7p7jb7x6u3] {
    color: var(--crm-teal);
}

/* Collapse animation for vacant rows. Same recipe as the Info tab's
   .cd-anim-row: animate grid-template-rows from 1fr → 0fr so the row
   smoothly heights out without measuring its content, with opacity and
   margin fading in lockstep. The inner wrapper carries min-height:0 +
   overflow:hidden so the content clips cleanly during the collapse. */
.acp-anim-row[b-7p7jb7x6u3] {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1),
                opacity 160ms ease,
                margin 220ms ease;
}

.acp-anim-row.is-hidden[b-7p7jb7x6u3] {
    grid-template-rows: 0fr;
    opacity: 0;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
}

.acp-anim-row-inner[b-7p7jb7x6u3] {
    min-height: 0;
    overflow: hidden;
}

/* ── Other Contacts — responsive multi-column card grid ─────────── */

.acp-other-grid-list[b-7p7jb7x6u3] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px 16px;
    padding: 2px 0;
}

@media (min-width: 720px) {
    .acp-other-grid-list[b-7p7jb7x6u3] { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1180px) {
    .acp-other-grid-list[b-7p7jb7x6u3] { grid-template-columns: 1fr 1fr 1fr; }
}

.acp-other-card[b-7p7jb7x6u3] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: baseline;
    column-gap: 10px;
    padding: 6px 2px;
    border-bottom: 1px solid var(--crm-border);
    min-width: 0;
}

.acp-other-card:last-child[b-7p7jb7x6u3] {
    border-bottom: none;
}

.acp-other-name[b-7p7jb7x6u3] {
    grid-column: 1;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--crm-navy);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.acp-other-name:hover[b-7p7jb7x6u3] {
    text-decoration: underline;
}

.acp-other-title[b-7p7jb7x6u3] {
    grid-column: 1;
    font-size: 0.72rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    margin-top: 1px;
}

.acp-other-remove[b-7p7jb7x6u3] {
    grid-column: 2;
    grid-row: 1 / span 2;
    background: none;
    border: 1px solid transparent;
    color: var(--crm-text-3);
    font-size: 1rem;
    line-height: 1;
    padding: 0 6px;
    border-radius: var(--crm-r-sm);
    cursor: pointer;
    opacity: 0;
    align-self: center;
    transition: opacity var(--crm-fast) ease, color var(--crm-fast) ease,
                border-color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.acp-other-card:hover .acp-other-remove[b-7p7jb7x6u3],
.acp-other-remove:focus-visible[b-7p7jb7x6u3] {
    opacity: 1;
}

.acp-other-remove:hover[b-7p7jb7x6u3] {
    color: #991B1B;
    border-color: #FCA5A5;
    background: #FEF2F2;
}

/* Header "+ Add" button for Other Contacts — sits next to search and
   count, low-weight to match the section's de-emphasized treatment. */
.acp-other-add[b-7p7jb7x6u3] {
    background: none;
    border: 1px solid var(--crm-border);
    color: var(--crm-text-2);
    font-size: 0.78rem;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: var(--crm-r-sm);
    cursor: pointer;
    transition: color var(--crm-fast) ease, border-color var(--crm-fast) ease;
}

.acp-other-add:hover[b-7p7jb7x6u3] {
    color: var(--crm-teal);
    border-color: var(--crm-teal);
}
/* /Shared/AccountCustomObjectPanel.razor.rz.scp.css */
.acp-other-header[b-g7tnvp3do5] {
    border-left-color: var(--crm-border) !important;
    opacity: 0.85;
}

.acp-empty[b-g7tnvp3do5] {
    padding: 12px 16px;
    margin: 0;
    font-size: 0.8rem;
    color: var(--crm-text-3);
}

.acp-list[b-g7tnvp3do5] {
    padding: 4px 0;
}

.acp-item[b-g7tnvp3do5] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-bottom: 1px solid var(--crm-border);
    transition: background var(--crm-fast) ease;
}

.acp-item:last-child[b-g7tnvp3do5] {
    border-bottom: none;
}

.acp-item:hover[b-g7tnvp3do5] {
    background: var(--crm-bg);
}

.acp-item-editing[b-g7tnvp3do5] {
    background: color-mix(in srgb, var(--crm-teal) 6%, transparent);
}

.acp-item-main[b-g7tnvp3do5] {
    flex: 1;
    min-width: 0;
}

.acp-item-name[b-g7tnvp3do5] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-navy);
    text-decoration: none;
}

.acp-item-name:hover[b-g7tnvp3do5] {
    text-decoration: underline;
}

.acp-item-subtitle[b-g7tnvp3do5] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
    margin-left: 6px;
}

.acp-item-labels[b-g7tnvp3do5] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    flex: 1;
}

.acp-label-check[b-g7tnvp3do5] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid var(--crm-border);
    background: white;
    margin: 2px;
}

.acp-label-check:hover[b-g7tnvp3do5] {
    background: var(--crm-bg);
}

.acp-edit-labels-btn[b-g7tnvp3do5] {
    color: var(--crm-border);
    padding: 0 2px;
    line-height: 1;
    font-size: 0.75rem;
}

.acp-edit-labels-btn:hover[b-g7tnvp3do5] {
    color: var(--crm-navy);
}

.acp-done-btn[b-g7tnvp3do5] {
    font-size: 0.75rem;
    padding: 0 4px;
    color: var(--crm-navy);
}

.acp-remove-btn[b-g7tnvp3do5] {
    flex-shrink: 0;
    padding: 0 6px;
    line-height: 1.4;
    font-size: 1rem;
}

.acp-add-form-wrapper[b-g7tnvp3do5] {
    border-top: 1px solid var(--crm-border);
    background: var(--crm-bg);
}
/* /Shared/AccountEngagementPanel.razor.rz.scp.css */
/* Engagement pill — compact inline summary; expands into a popover
   that overlays content below rather than pushing layout. */

.aep-anchor[b-hnt38m6r0t] {
    position: relative;
    display: inline-flex;
}

.aep-summary[b-hnt38m6r0t] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: 999px;
    text-align: left;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--crm-text-2, #4b5563);
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
    white-space: nowrap;
}

.aep-summary:hover[b-hnt38m6r0t],
.aep-summary.is-active[b-hnt38m6r0t] {
    background: var(--crm-bg, #f5f7fa);
    border-color: var(--crm-border-2, #c5d3e8);
}

.aep-summary.is-active[b-hnt38m6r0t] {
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.aep-summary-label[b-hnt38m6r0t] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.aep-summary-label .bi[b-hnt38m6r0t] {
    color: var(--crm-teal-600, #009E88);
}

.aep-summary-score[b-hnt38m6r0t] {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--crm-navy, #0f172a);
    font-variant-numeric: tabular-nums;
}

.aep-summary-breakdown[b-hnt38m6r0t] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.8rem;
}

.aep-dot[b-hnt38m6r0t] {
    color: var(--crm-border-2, #c5d3e8);
}

.aep-summary-when[b-hnt38m6r0t] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
}

.aep-summary-chev[b-hnt38m6r0t] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), color 140ms ease;
}

.aep-summary.is-active .aep-summary-chev[b-hnt38m6r0t] {
    transform: rotate(180deg);
    color: var(--crm-navy);
}

/* ── Popover ──────────────────────────────────────────
   Anchored below-right of the pill so it sits over the page content
   instead of moving it. Two-layer shadow, off-white surface with
   backdrop blur to match the DataActionsMenu treatment. */

.aep-popover[b-hnt38m6r0t] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 420px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 120px);
    display: flex;
    flex-direction: column;
    z-index: 1050;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 16px 32px -10px rgba(15, 23, 42, 0.22);
    transform-origin: top right;
    animation: aep-popover-in-b-hnt38m6r0t 180ms cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

@keyframes aep-popover-in-b-hnt38m6r0t {
    from { opacity: 0; transform: translateY(-6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

.aep-popover-head[b-hnt38m6r0t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    background: var(--crm-bg, #f5f7fa);
}

.aep-popover-title[b-hnt38m6r0t] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.aep-popover-title .bi[b-hnt38m6r0t] {
    color: var(--crm-teal-600, #009E88);
}

.aep-popover-actions[b-hnt38m6r0t] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.aep-popover-body[b-hnt38m6r0t] {
    padding: 14px 16px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.aep-backdrop[b-hnt38m6r0t] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}
/* /Shared/AccountHierarchyPanel.razor.rz.scp.css */
/* Pill — sits in the AccountDetail utility row next to Engagement.
   Same shape language: rounded inline-flex pill, muted defaults,
   active state when the popover is open. */

.ahp-anchor[b-47270rf115] {
    position: relative;
    display: inline-flex;
}

.ahp-pill[b-47270rf115] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: 999px;
    text-align: left;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--crm-text-2, #4b5563);
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
    white-space: nowrap;
}

.ahp-pill:hover[b-47270rf115],
.ahp-pill.is-active[b-47270rf115] {
    background: var(--crm-bg, #f5f7fa);
    border-color: var(--crm-border-2, #c5d3e8);
}

.ahp-pill.is-active[b-47270rf115] {
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.ahp-pill-label[b-47270rf115] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ahp-pill-label .bi[b-47270rf115] {
    color: var(--crm-teal-600, #009E88);
}

.ahp-pill-count[b-47270rf115] {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--crm-navy, #0f172a);
    background: var(--crm-bg, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
}

.ahp-pill-hint[b-47270rf115] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #9ca3af);
    font-style: italic;
}

.ahp-pill-chev[b-47270rf115] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), color 140ms ease;
}

.ahp-pill.is-active .ahp-pill-chev[b-47270rf115] {
    transform: rotate(180deg);
    color: var(--crm-navy);
}

/* ── Popover ──────────────────────────────────────────
   Larger than the engagement popover since the hierarchy tree can be
   wide. Right-anchored to the pill; overlays content below. */

.ahp-popover[b-47270rf115] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 480px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 120px);
    display: flex;
    flex-direction: column;
    z-index: 1050;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 16px 32px -10px rgba(15, 23, 42, 0.22);
    transform-origin: top right;
    animation: ahp-popover-in-b-47270rf115 180ms cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

@keyframes ahp-popover-in-b-47270rf115 {
    from { opacity: 0; transform: translateY(-6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

.ahp-popover-head[b-47270rf115] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    background: var(--crm-bg, #f5f7fa);
}

.ahp-popover-title[b-47270rf115] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ahp-popover-title .bi[b-47270rf115] {
    color: var(--crm-teal-600, #009E88);
}

.ahp-popover-actions[b-47270rf115] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.ahp-popover-body[b-47270rf115] {
    padding: 14px 16px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.ahp-backdrop[b-47270rf115] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}
/* /Shared/AccountLeadershipStrip.razor.rz.scp.css */
/* Pill — matches the visual shape of Engagement / Hierarchy pills in
   the AccountDetail utility row. */

.als-anchor[b-dg7znuyun5] {
    position: relative;
    display: inline-flex;
}

.als-pill[b-dg7znuyun5] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #d8dee7);
    border-radius: 999px;
    text-align: left;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--crm-text-2, #4b5563);
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
    white-space: nowrap;
}

.als-pill:hover[b-dg7znuyun5],
.als-pill.is-active[b-dg7znuyun5] {
    background: var(--crm-bg, #f5f7fa);
    border-color: var(--crm-border-2, #c5d3e8);
}

.als-pill.is-active[b-dg7znuyun5] {
    box-shadow: 0 0 0 3px rgba(0, 197, 168, 0.12);
}

.als-pill-label[b-dg7znuyun5] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.als-pill-label .bi[b-dg7znuyun5] {
    color: var(--crm-teal-600, #009E88);
}

.als-pill-count[b-dg7znuyun5] {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--crm-navy, #0f172a);
    background: var(--crm-bg, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
}

.als-pill-chev[b-dg7znuyun5] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.85rem;
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), color 140ms ease;
}

.als-pill.is-active .als-pill-chev[b-dg7znuyun5] {
    transform: rotate(180deg);
    color: var(--crm-navy);
}

/* ── Popover ──────────────────────────────────────────
   Anchored below-LEFT of the pill since leadership sits at the left
   end of the utility row (or wherever placed). */

.als-popover[b-dg7znuyun5] {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 320px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 120px);
    display: flex;
    flex-direction: column;
    z-index: 1050;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 16px 32px -10px rgba(15, 23, 42, 0.22);
    transform-origin: top left;
    animation: als-popover-in-b-dg7znuyun5 180ms cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

@keyframes als-popover-in-b-dg7znuyun5 {
    from { opacity: 0; transform: translateY(-6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

.als-popover-head[b-dg7znuyun5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
    background: var(--crm-bg, #f5f7fa);
}

.als-popover-title[b-dg7znuyun5] {
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.als-popover-title .bi[b-dg7znuyun5] {
    color: var(--crm-teal-600, #009E88);
}

.als-popover-body[b-dg7znuyun5] {
    padding: 8px 12px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.als-backdrop[b-dg7znuyun5] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

/* Seat rows inside the popover */
.als-seat-row[b-dg7znuyun5] {
    display: grid;
    grid-template-columns: 96px 1fr;
    align-items: baseline;
    gap: 12px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--crm-border, #d8dee7);
}

.als-seat-row:last-child[b-dg7znuyun5] {
    border-bottom: none;
}

.als-seat-role[b-dg7znuyun5] {
    font-size: 0.66rem;
    font-weight: 700;
    color: var(--crm-text-3, #9ca3af);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.als-seat-name[b-dg7znuyun5] {
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--crm-navy, #0f172a);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.als-seat-name:hover[b-dg7znuyun5] {
    color: var(--crm-teal-600, #009E88);
    text-decoration: underline;
}

/* Empty-state CTA — adopts the pill silhouette but with a dashed
   border so it reads as "fill this in." */
.als-empty-cta[b-dg7znuyun5] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--crm-teal-700, #00735f);
    background: var(--crm-white, #fff);
    border: 1px dashed var(--crm-border-2, #c5d3e8);
    border-radius: 999px;
    cursor: pointer;
    transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.als-empty-cta:hover[b-dg7znuyun5] {
    background: var(--crm-teal-50, #e6f9f5);
    border-color: var(--crm-teal, #00C5A8);
    border-style: solid;
    color: var(--crm-teal-600, #009E88);
}

.als-empty-cta .bi[b-dg7znuyun5] {
    font-size: 0.95rem;
}
/* /Shared/ActivityCommentThread.razor.rz.scp.css */
/* ── Toggle button ────────────────────────────── */
.act-toggle[b-2mq6b2jh76] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
    padding: 0.2rem 0;
    background: none;
    border: none;
    font-family: 'Outfit', sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: color var(--crm-fast) ease;
}

.act-toggle:hover[b-2mq6b2jh76] {
    color: var(--crm-navy);
}

/* ── Thread container ────────────────────────── */
.act-thread[b-2mq6b2jh76] {
    margin-top: 0.6rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    background: var(--crm-bg);
}

.act-thread-header[b-2mq6b2jh76] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem 0.7rem;
    border-bottom: 1px solid var(--crm-border);
}

.act-thread-title[b-2mq6b2jh76] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
}

.act-collapse-btn[b-2mq6b2jh76] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    background: none;
    border: 1px solid transparent;
    border-radius: var(--crm-r-sm);
    color: var(--crm-text-3);
    cursor: pointer;
    transition: all var(--crm-fast) ease;
}

.act-collapse-btn:hover[b-2mq6b2jh76] {
    background: var(--crm-white);
    border-color: var(--crm-border);
    color: var(--crm-text);
}

/* ── Comment list ────────────────────────────── */
.act-comment-list[b-2mq6b2jh76] {
    padding: 0.5rem 0.7rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.act-comment[b-2mq6b2jh76] {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--crm-border);
}

.act-comment:last-child[b-2mq6b2jh76] {
    border-bottom: none;
    padding-bottom: 0;
}

/* ── Comment header ──────────────────────────── */
.act-comment-header[b-2mq6b2jh76] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.act-comment-author[b-2mq6b2jh76] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--crm-text);
}

.act-comment-time[b-2mq6b2jh76] {
    font-size: 0.7rem;
    color: var(--crm-text-3);
}

.act-comment-edited[b-2mq6b2jh76] {
    font-size: 0.65rem;
    font-style: italic;
    color: var(--crm-text-3);
    opacity: 0.7;
}

.act-comment-edit-btn[b-2mq6b2jh76] {
    background: none;
    border: none;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--crm-text-3);
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    transition: color var(--crm-fast) ease;
}

.act-comment-edit-btn:hover[b-2mq6b2jh76] {
    color: var(--crm-navy);
}

/* ── Comment body ────────────────────────────── */
.act-comment-body[b-2mq6b2jh76] {
    margin: 0.2rem 0 0;
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--crm-text-2);
    white-space: pre-line;
}

/* ── Comment edit ────────────────────────────── */
.act-comment-edit[b-2mq6b2jh76] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.act-comment-edit-actions[b-2mq6b2jh76] {
    display: flex;
    gap: 0.3rem;
    justify-content: flex-end;
}

/* ── Comment type badges ─────────────────────── */
.act-type-badge[b-2mq6b2jh76] {
    display: inline-block;
    font-family: 'Outfit', sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    line-height: 1.4;
}

.act-type-followupneeded[b-2mq6b2jh76] {
    background: #FFF7ED;
    color: #C2410C;
    border: 1px solid #FDBA74;
}

.act-type-keyinsight[b-2mq6b2jh76] {
    background: #EFF6FF;
    color: #1D4ED8;
    border: 1px solid #93C5FD;
}

.act-type-actionitem[b-2mq6b2jh76] {
    background: #FEF2F2;
    color: #B91C1C;
    border: 1px solid #FCA5A5;
}

/* ── Reactions row ───────────────────────────── */
.act-reactions[b-2mq6b2jh76] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.3rem;
    min-height: 22px;
}

.act-reaction-pill[b-2mq6b2jh76] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.4rem;
    border: 1px solid var(--crm-border);
    border-radius: 999px;
    background: var(--crm-white);
    cursor: pointer;
    transition: all var(--crm-fast) ease;
    font-size: 0.72rem;
    line-height: 1;
}

.act-reaction-pill:hover[b-2mq6b2jh76] {
    border-color: var(--crm-navy);
    background: #F0F4F8;
}

.act-reaction-pill--active[b-2mq6b2jh76] {
    border-color: var(--crm-teal);
    background: #ECFDF5;
}

.act-reaction-pill--active:hover[b-2mq6b2jh76] {
    border-color: var(--crm-teal);
    background: #D1FAE5;
}

.act-reaction-emoji[b-2mq6b2jh76] {
    font-size: 0.78rem;
    line-height: 1;
}

.act-reaction-count[b-2mq6b2jh76] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--crm-text-2);
}

/* ── Reaction add button + picker ────────────── */
.act-reaction-add-wrap[b-2mq6b2jh76] {
    position: relative;
    display: inline-flex;
}

.act-reaction-add[b-2mq6b2jh76] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 1px dashed var(--crm-border);
    border-radius: 999px;
    background: none;
    color: var(--crm-text-3);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--crm-fast) ease;
}

.act-reaction-add:hover[b-2mq6b2jh76] {
    border-color: var(--crm-navy);
    color: var(--crm-navy);
    background: var(--crm-white);
}

.act-reaction-picker[b-2mq6b2jh76] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    display: flex;
    gap: 0.15rem;
    padding: 0.3rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    box-shadow: var(--crm-shadow-xs);
    z-index: 10;
    white-space: nowrap;
}

.act-reaction-picker-btn[b-2mq6b2jh76] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: var(--crm-r-sm);
    background: none;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background var(--crm-fast) ease;
}

.act-reaction-picker-btn:hover[b-2mq6b2jh76] {
    background: var(--crm-bg);
}

/* ── Compose area ────────────────────────────── */
.act-compose[b-2mq6b2jh76] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.5rem 0.7rem;
    border-top: 1px solid var(--crm-border);
    background: var(--crm-white);
}

.act-compose-types[b-2mq6b2jh76] {
    display: flex;
    gap: 0.3rem;
}

.act-compose-type-btn[b-2mq6b2jh76] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 0.12rem 0.45rem;
    border-radius: 3px;
    cursor: pointer;
    transition: all var(--crm-fast) ease;
    opacity: 0.55;
}

.act-compose-type-btn:hover[b-2mq6b2jh76] {
    opacity: 0.85;
}

.act-compose-type-btn--active[b-2mq6b2jh76] {
    opacity: 1;
}

.act-compose-row[b-2mq6b2jh76] {
    display: flex;
    gap: 0.4rem;
}

.act-compose-input[b-2mq6b2jh76] {
    flex: 1;
    font-size: 0.82rem;
    resize: none;
    min-height: 32px;
}

.act-compose-btn[b-2mq6b2jh76] {
    align-self: flex-end;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.25rem 0.7rem;
}
/* /Shared/ActivityForm.razor.rz.scp.css */
.af-pickers[b-rj4f2xgrmf] {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    padding-left: .5rem;
    border-left: 1px solid var(--crm-border);
}

@media (max-width: 991.98px) {
    /* Below lg breakpoint the right column wraps under the left column.
       Drop the divider so the pickers don't look stranded. */
    .af-pickers[b-rj4f2xgrmf] {
        padding-left: 0;
        border-left: 0;
        padding-top: .5rem;
        border-top: 1px solid var(--crm-border);
    }
}

.af-picker-block[b-rj4f2xgrmf] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.af-picker-block .form-label[b-rj4f2xgrmf] {
    margin-bottom: 0;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--crm-text-3);
    font-weight: 600;
}
/* /Shared/ActivityListItem.razor.rz.scp.css */
.ali-row[b-88avo4585s] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}

.ali-content[b-88avo4585s] {
    flex: 1;
    min-width: 0;
}

.ali-header[b-88avo4585s] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

.ali-subject[b-88avo4585s] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.9rem;
    color: var(--crm-text);
}

.ali-rollup-badge[b-88avo4585s] {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    font-size: .68rem;
    font-weight: 500;
    color: var(--crm-navy);
    background: var(--crm-teal-50, color-mix(in srgb, var(--crm-teal) 8%, transparent));
    border: 1px solid color-mix(in srgb, var(--crm-teal) 25%, transparent);
    border-radius: 999px;
    padding: .1rem .5rem;
    text-decoration: none;
    line-height: 1.4;
}

.ali-rollup-badge:hover[b-88avo4585s] {
    background: color-mix(in srgb, var(--crm-teal) 16%, transparent);
    color: var(--crm-navy);
}

.ali-rollup-badge i[b-88avo4585s] {
    font-size: .65rem;
}

.ali-type-badge[b-88avo4585s] {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.15rem 0.45rem;
    border-radius: var(--crm-r-sm);
}

.ali-type-call[b-88avo4585s]    { background: var(--crm-navy-400); color: #fff; }
.ali-type-email[b-88avo4585s]   { background: #6366F1; color: #fff; }
.ali-type-meeting[b-88avo4585s] { background: var(--crm-teal); color: #fff; }
.ali-type-note[b-88avo4585s]    { background: var(--crm-border-2); color: var(--crm-text-2); }

.ali-done-badge[b-88avo4585s] {
    background: #059669;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.1rem 0.35rem;
    border-radius: var(--crm-r-sm);
}

.ali-notes[b-88avo4585s] {
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
    color: var(--crm-text-3);
    line-height: 1.45;
    white-space: pre-line;
}

.ali-meta[b-88avo4585s] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.3rem;
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.ali-meta-item[b-88avo4585s] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.ali-meta-link[b-88avo4585s] {
    color: var(--crm-navy);
    text-decoration: none;
    font-weight: 500;
}

.ali-meta-link:hover[b-88avo4585s] {
    text-decoration: underline;
}

.ali-created[b-88avo4585s] {
    opacity: 0.7;
}

.ali-actions[b-88avo4585s] {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity var(--crm-fast) ease;
}

:hover > .ali-row > .ali-actions[b-88avo4585s],
.ali-actions:focus-within[b-88avo4585s] {
    opacity: 1;
}

.ali-action-btn[b-88avo4585s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: var(--crm-r-sm);
    color: var(--crm-text-3);
    background: transparent;
    border: 1px solid transparent;
    transition: all var(--crm-fast) ease;
}

.ali-action-btn:hover[b-88avo4585s] {
    background: var(--crm-bg);
    border-color: var(--crm-border);
    color: var(--crm-text);
}

.ali-done-btn:hover[b-88avo4585s] {
    color: #059669;
    border-color: #059669;
    background: #ecfdf5;
}

.ali-delete-btn:hover[b-88avo4585s] {
    color: #DC2626;
    border-color: #DC2626;
    background: #fef2f2;
}
/* /Shared/AiAssistantDock.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────
   AI Assistant Dock — everpresent, draggable, resizable.
   Anchored bottom-right of the viewport. Uses existing
   --crm-* tokens from app.css so it matches the app theme.
   ───────────────────────────────────────────────────────── */

.ai-dock[b-zomap9ng16] {
    position: fixed;
    right: var(--dock-x, 24px);
    bottom: var(--dock-y, 24px);
    z-index: 1050;
    font-family: inherit;
    user-select: text;
    /* Animate the pill ↔ panel transition. Only the size + border-radius
       need transitioning; content children fade in separately. Skipping
       `right`/`bottom` so live drag stays pixel-exact. */
    transition:
        width 0.22s cubic-bezier(0.16, 1, 0.3, 1),
        height 0.22s cubic-bezier(0.16, 1, 0.3, 1),
        border-radius 0.18s ease;
    will-change: width, height;
}

/* Suppress transitions while the user is dragging/resizing — JS sets this
   class via the pointer handlers so the dock tracks the pointer exactly
   without easing lag. */
.ai-dock--interacting[b-zomap9ng16] {
    transition: none !important;
}

/* ── Collapsed state: round teal pill ────────────────────────────── */
.ai-dock--pill[b-zomap9ng16] {
    width: 56px;
    height: 56px;
    /* No overflow: hidden here — the pill has nothing to clip, and the
       drop-shadow (6px offset + 18px blur + hover bump) needs to render
       outside the 56×56 box. */
}

.ai-dock-pill[b-zomap9ng16] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    animation: ai-dock-fade-in-b-zomap9ng16 0.2s ease-out;
    border: none;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg, #00C5A8 0%, #0D2447 100%);
    box-shadow: 0 6px 18px rgba(0, 197, 168, 0.35), 0 2px 6px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ai-dock-pill:hover[b-zomap9ng16] {
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 10px 22px rgba(0, 197, 168, 0.45), 0 3px 8px rgba(0, 0, 0, 0.25);
}

/* ── Expanded state: the panel ───────────────────────────────────── */
.ai-dock--open[b-zomap9ng16] {
    width: var(--dock-w, 380px);
    height: var(--dock-h, 560px);
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18), 0 6px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ai-dock-header[b-zomap9ng16] {
    padding: 0.65rem 0.9rem;
    background: linear-gradient(135deg, #0D2447, #143a6b);
    color: #fff;
    cursor: grab;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    animation: ai-dock-fade-in-b-zomap9ng16 0.2s ease-out 0.05s backwards;
}

@keyframes ai-dock-fade-in-b-zomap9ng16 {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ai-dock-header:active[b-zomap9ng16] {
    cursor: grabbing;
}

.ai-dock-title[b-zomap9ng16] {
    display: flex;
    align-items: center;
    min-width: 0;
}

.ai-dock-context[b-zomap9ng16] {
    font-size: 0.72rem;
    padding: 0.1rem 0.45rem;
    background: rgba(0, 197, 168, 0.15);
    color: #7df0d9;
    border-radius: 999px;
    border: 1px solid rgba(0, 197, 168, 0.25);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
}

.ai-dock-header-actions[b-zomap9ng16] {
    display: flex;
    gap: 0.25rem;
}

.ai-dock-iconbtn[b-zomap9ng16] {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.75);
    width: 28px;
    height: 28px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
}

.ai-dock-iconbtn:hover[b-zomap9ng16] {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

/* ── Turn list ───────────────────────────────────────────────────── */
.ai-dock-turns[b-zomap9ng16] {
    flex: 1;
    overflow-y: auto;
    padding: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    background: var(--bs-tertiary-bg, #f7f8fa);
}

.ai-turn[b-zomap9ng16] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ai-turn--user[b-zomap9ng16] { align-items: flex-end; }
.ai-turn--assistant[b-zomap9ng16] { align-items: flex-start; }

.ai-bubble[b-zomap9ng16] {
    max-width: 88%;
    padding: 0.55rem 0.8rem;
    border-radius: 12px;
    font-size: 0.9rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.ai-bubble--user[b-zomap9ng16] {
    background: #0D2447;
    color: #fff;
    border-bottom-right-radius: 4px;
}

.ai-bubble--assistant[b-zomap9ng16] {
    background: #fff;
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color-translucent, #e5e7eb);
    border-bottom-left-radius: 4px;
}

.ai-bubble--error[b-zomap9ng16] {
    background: rgba(220, 53, 69, 0.08);
    color: #a32a37;
    border: 1px solid rgba(220, 53, 69, 0.25);
}

/* ── Tool invocation card (read tools) ───────────────────────────── */
.ai-tool-card[b-zomap9ng16] {
    width: 88%;
    background: rgba(13, 36, 71, 0.03);
    border: 1px solid var(--bs-border-color-translucent);
    border-left: 3px solid #00C5A8;
    border-radius: 8px;
    padding: 0.45rem 0.7rem;
    font-size: 0.8rem;
}

.ai-tool-card--write[b-zomap9ng16] {
    border-left-color: #ffb020;
    background: rgba(255, 176, 32, 0.06);
}

.ai-tool-card-head[b-zomap9ng16] {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    color: var(--bs-body-color);
}

.ai-tool-card-summary[b-zomap9ng16] {
    color: var(--bs-secondary-color, #6b7280);
}

.ai-tool-card-details[b-zomap9ng16] {
    margin-top: 0.35rem;
    font-size: 0.72rem;
}

.ai-tool-card-details > summary[b-zomap9ng16] {
    cursor: pointer;
    color: var(--bs-secondary-color, #6b7280);
    user-select: none;
    list-style: none;
    padding: 0.1rem 0.25rem;
    border-radius: 4px;
}

.ai-tool-card-details > summary[b-zomap9ng16]::-webkit-details-marker {
    display: none;
}

.ai-tool-card-details > summary[b-zomap9ng16]::before {
    content: "▸";
    display: inline-block;
    width: 0.9rem;
    color: var(--bs-secondary-color, #6b7280);
}

.ai-tool-card-details[open] > summary[b-zomap9ng16]::before {
    content: "▾";
}

.ai-tool-card-details > summary:hover[b-zomap9ng16] {
    background: rgba(13, 36, 71, 0.04);
}

.ai-tool-card-section-label[b-zomap9ng16] {
    margin-top: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.65rem;
    color: var(--bs-secondary-color, #6b7280);
}

.ai-tool-card-json[b-zomap9ng16] {
    margin: 0.15rem 0 0.35rem 0;
    padding: 0.4rem 0.55rem;
    background: rgba(13, 36, 71, 0.05);
    border-radius: 6px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.7rem;
    line-height: 1.35;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 14rem;
    overflow: auto;
}

/* ── Confirmation card (write tools) ─────────────────────────────── */
.ai-confirm-card[b-zomap9ng16] {
    width: 92%;
    background: #fffbea;
    border: 1px solid #f5d67a;
    border-radius: 10px;
    padding: 0.7rem 0.85rem;
    font-size: 0.87rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Safety-check flagged a potential mismatch. Shift from amber to red accent. */
.ai-confirm-card--warned[b-zomap9ng16] {
    background: #fff0ed;
    border-color: #f0a8a0;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.12);
}

.ai-confirm-warning[b-zomap9ng16] {
    background: rgba(220, 53, 69, 0.08);
    border: 1px solid rgba(220, 53, 69, 0.25);
    border-radius: 6px;
    padding: 0.4rem 0.55rem;
    color: #991b1b;
    font-size: 0.8rem;
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    line-height: 1.35;
}

.ai-confirm-head[b-zomap9ng16] {
    display: flex;
    align-items: center;
    color: #856404;
}

.ai-confirm-list[b-zomap9ng16] {
    background: #fff;
    border: 1px solid #f1e0a3;
    border-radius: 6px;
    max-height: 180px;
    overflow-y: auto;
    padding: 0.2rem 0.4rem;
}

.ai-confirm-item[b-zomap9ng16] {
    padding: 0.3rem 0.2rem;
    border-bottom: 1px solid #faf0cb;
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.8rem;
}

.ai-confirm-item:last-child[b-zomap9ng16] { border-bottom: none; }

.ai-confirm-item-title[b-zomap9ng16] {
    color: var(--bs-body-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1 auto;
    min-width: 0;
}

.ai-confirm-item-state[b-zomap9ng16] {
    color: var(--bs-secondary-color);
    white-space: nowrap;
    font-size: 0.75rem;
}

.ai-confirm-overflow[b-zomap9ng16] {
    text-align: center;
    padding: 0.3rem;
    font-size: 0.75rem;
    color: var(--bs-secondary-color);
}

.ai-confirm-actions[b-zomap9ng16] {
    display: flex;
    gap: 0.4rem;
    justify-content: flex-end;
}

/* ── Thread switcher (slides over the turns area) ────────────────── */
.ai-dock-threadlist[b-zomap9ng16] {
    position: absolute;
    top: 54px; /* sits under the header */
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bs-body-bg, #fff);
    border-top: 1px solid var(--bs-border-color);
    display: flex;
    flex-direction: column;
    z-index: 2;
    animation: ai-dock-slide-in-b-zomap9ng16 0.15s ease;
}

@keyframes ai-dock-slide-in-b-zomap9ng16 {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ai-dock-threadlist-head[b-zomap9ng16] {
    padding: 0.65rem 0.9rem;
    background: linear-gradient(135deg, #0D2447, #143a6b);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ai-dock-iconbtn--dark[b-zomap9ng16] {
    color: rgba(255, 255, 255, 0.75);
}

.ai-dock-threadlist-items[b-zomap9ng16] {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1;
}

.ai-dock-threadlist-item[b-zomap9ng16] {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    transition: background 0.15s;
}

.ai-dock-threadlist-item:hover[b-zomap9ng16] {
    background: var(--bs-tertiary-bg, #f7f8fa);
}

.ai-dock-threadlist-item--active[b-zomap9ng16] {
    background: rgba(0, 197, 168, 0.08);
    border-left: 3px solid var(--crm-teal, #00C5A8);
}

.ai-dock-threadlist-pick[b-zomap9ng16] {
    flex: 1;
    background: none;
    border: none;
    text-align: left;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    min-width: 0;
}

.ai-dock-threadlist-pick:disabled[b-zomap9ng16] { cursor: wait; opacity: 0.6; }

.ai-dock-threadlist-title[b-zomap9ng16] {
    font-size: 0.87rem;
    font-weight: 500;
    color: var(--bs-body-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ai-dock-threadlist-meta[b-zomap9ng16] {
    font-size: 0.72rem;
    color: var(--bs-secondary-color, #6b7280);
    margin-top: 0.12rem;
}

.ai-dock-threadlist-del[b-zomap9ng16] {
    background: none;
    border: none;
    color: var(--bs-secondary-color, #6b7280);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    margin-right: 0.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ai-dock-threadlist-del:hover[b-zomap9ng16] {
    background: rgba(220, 53, 69, 0.08);
    color: #a32a37;
}

.ai-dock-threadlist-empty[b-zomap9ng16] {
    padding: 1.5rem;
    text-align: center;
    color: var(--bs-secondary-color);
    font-size: 0.85rem;
}

/* ── Confirmation edit area ──────────────────────────────────────── */
.ai-confirm-edit[b-zomap9ng16] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.ai-confirm-edit-label[b-zomap9ng16] {
    font-size: 0.72rem;
    color: var(--bs-secondary-color);
}

.ai-confirm-edit-textarea[b-zomap9ng16] {
    font-family: var(--bs-font-monospace, ui-monospace, monospace);
    font-size: 0.75rem;
    resize: vertical;
}

.ai-confirm-edit-error[b-zomap9ng16] {
    font-size: 0.72rem;
    color: #a32a37;
    background: rgba(220, 53, 69, 0.08);
    border-radius: 4px;
    padding: 0.25rem 0.45rem;
}

.ai-confirm-edit-formwrap[b-zomap9ng16] {
    background: #fff;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 6px;
    padding: 0.55rem 0.7rem;
}

.ai-confirm-edit-toggle[b-zomap9ng16] {
    background: none;
    border: none;
    color: var(--bs-primary, #0d2447);
    font-size: 0.72rem;
    padding: 0.15rem 0;
    cursor: pointer;
    text-decoration: underline;
    align-self: flex-start;
}

.ai-confirm-edit-toggle:hover[b-zomap9ng16] {
    color: var(--crm-teal, #00C5A8);
}

/* ── Schema-driven form ──────────────────────────────────────────── */
.ai-sf[b-zomap9ng16] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.ai-sf-row[b-zomap9ng16] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.ai-sf-label[b-zomap9ng16] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--bs-body-color);
    margin-bottom: 0;
    text-transform: none;
}

.ai-sf-required[b-zomap9ng16] {
    color: #a32a37;
    margin-left: 0.15rem;
}

.ai-sf-hint[b-zomap9ng16] {
    font-size: 0.7rem;
    color: var(--bs-secondary-color, #6b7280);
    line-height: 1.3;
}

.ai-sf-array[b-zomap9ng16] {
    font-family: inherit;
}

.ai-sf-empty[b-zomap9ng16] {
    font-size: 0.78rem;
    color: var(--bs-secondary-color);
    font-style: italic;
}

/* ── Input composer ──────────────────────────────────────────────── */
.ai-dock-input[b-zomap9ng16] {
    border-top: 1px solid var(--bs-border-color);
    padding: 0.7rem 0.85rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ai-dock-input textarea[b-zomap9ng16] {
    resize: none;
    border-radius: 8px;
}

.ai-dock-input-row[b-zomap9ng16] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ai-dock-input-left[b-zomap9ng16] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Voice (mic + listening indicator + TTS toggle) ──────────────── */
.ai-dock-iconbtn--on[b-zomap9ng16] {
    background: rgba(0, 197, 168, 0.18);
    color: #7df0d9;
}

.ai-voice-mic[b-zomap9ng16] {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--bs-border-color);
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-secondary-color, #6b7280);
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.ai-voice-mic:hover[b-zomap9ng16] {
    background: rgba(13, 36, 71, 0.05);
    color: #0D2447;
}

.ai-voice-mic--on[b-zomap9ng16] {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
    animation: ai-voice-pulse-btn-b-zomap9ng16 1.2s ease-in-out infinite;
}

.ai-voice-mic--on:hover[b-zomap9ng16] {
    background: #b02635;
    color: #fff;
}

.ai-voice-speaker[b-zomap9ng16] {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--bs-border-color);
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-secondary-color, #6b7280);
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.ai-voice-speaker:hover[b-zomap9ng16] {
    background: rgba(13, 36, 71, 0.05);
    color: #0D2447;
}

.ai-voice-speaker--on[b-zomap9ng16] {
    background: rgba(0, 197, 168, 0.12);
    border-color: rgba(0, 197, 168, 0.45);
    color: #007a68;
}

.ai-voice-speaker--on:hover[b-zomap9ng16] {
    background: rgba(0, 197, 168, 0.22);
    color: #006455;
}

@keyframes ai-voice-pulse-btn-b-zomap9ng16 {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.6); }
    50%      { box-shadow: 0 0 0 7px rgba(220, 53, 69, 0); }
}

.ai-voice-autosend[b-zomap9ng16] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    user-select: none;
    cursor: pointer;
    margin: 0;
}

.ai-voice-autosend input[type="checkbox"][b-zomap9ng16] {
    margin: 0;
}

.ai-voice-listening[b-zomap9ng16] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.6rem;
    margin-bottom: 0.4rem;
    background: rgba(220, 53, 69, 0.08);
    border: 1px solid rgba(220, 53, 69, 0.25);
    border-radius: 8px;
    font-size: 0.8rem;
    color: #991b1b;
    font-weight: 500;
}

.ai-voice-hint[b-zomap9ng16] {
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--bs-secondary-color, #6b7280);
    margin-left: auto;
}

.ai-voice-pulse[b-zomap9ng16] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #dc3545;
    display: inline-block;
    animation: ai-voice-pulse-dot-b-zomap9ng16 1s ease-in-out infinite;
}

@keyframes ai-voice-pulse-dot-b-zomap9ng16 {
    0%, 100% { transform: scale(1); opacity: 1; }
    50%      { transform: scale(1.3); opacity: 0.5; }
}

.ai-voice-error[b-zomap9ng16] {
    margin-bottom: 0.4rem;
    padding: 0.5rem 0.65rem;
    background: #fff3cd;
    border: 1px solid #f5d67a;
    border-left: 3px solid #d68f00;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #5a4300;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.ai-voice-error-head[b-zomap9ng16] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.ai-voice-error-head strong[b-zomap9ng16] {
    color: #4a3700;
}

.ai-voice-error-body[b-zomap9ng16] {
    font-size: 0.72rem;
    line-height: 1.35;
    color: #5a4300;
}

.ai-voice-error-details[b-zomap9ng16] {
    font-size: 0.7rem;
    color: #7a5e00;
}

.ai-voice-error-details summary[b-zomap9ng16] {
    cursor: pointer;
    user-select: none;
    padding: 0.1rem 0;
}

.ai-voice-error-details code[b-zomap9ng16] {
    display: block;
    margin-top: 0.2rem;
    padding: 0.25rem 0.4rem;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 3px;
    font-size: 0.68rem;
    color: #4a3700;
    word-break: break-word;
}

.ai-voice-settings-btn[b-zomap9ng16] {
    padding: 0.15rem 0.35rem;
    color: var(--bs-secondary-color, #6b7280);
}

.ai-voice-settings-btn:hover[b-zomap9ng16] {
    color: #0D2447;
}

.ai-voice-settings[b-zomap9ng16] {
    background: var(--bs-tertiary-bg, #f7f8fa);
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
    padding: 0.65rem 0.8rem;
    margin-bottom: 0.45rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ai-voice-settings-head[b-zomap9ng16] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    color: var(--bs-body-color);
}

.ai-voice-settings-row[b-zomap9ng16] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    cursor: pointer;
    user-select: none;
    font-size: 0.82rem;
    margin: 0;
}

.ai-voice-settings-row input[type="checkbox"][b-zomap9ng16] {
    margin-top: 0.2rem;
    flex-shrink: 0;
}

.ai-voice-settings-row small[b-zomap9ng16] {
    font-size: 0.7rem;
    line-height: 1.3;
}

/* ── Resize handle (bottom-right / inside-top-left visually since we anchor BR) ── */
.ai-dock-resize[b-zomap9ng16] {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 18px;
    height: 18px;
    cursor: nwse-resize;
    color: rgba(255, 255, 255, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    transform: rotate(90deg);
}

.ai-dock-resize:hover[b-zomap9ng16] {
    color: rgba(255, 255, 255, 0.9);
}

/* ── Spinner ─────────────────────────────────────────────────────── */
.ai-spin[b-zomap9ng16] {
    display: inline-block;
    animation: ai-spin-kf-b-zomap9ng16 0.9s linear infinite;
}

@keyframes ai-spin-kf-b-zomap9ng16 {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* ── Car mode ─────────────────────────────────────────────────────── */

/* Highlight the car-mode row in the voice settings popover so the
   "single-tap hands-free" affordance reads at a glance. */
.ai-voice-settings-row--carmode[b-zomap9ng16] {
    background: rgba(0, 197, 168, 0.08);
    border: 1px solid rgba(0, 197, 168, 0.25);
    border-radius: 8px;
    padding: 0.55rem 0.6rem;
    margin-bottom: 0.4rem;
}
.ai-voice-settings-row--carmode strong[b-zomap9ng16] {
    color: #007a68;
}

/* In-row chip surfacing car-mode status with one-tap exit. Doubles as a
   reminder when the user has switched away from voice for a moment. */
.ai-dock-carmode-chip[b-zomap9ng16] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(0, 197, 168, 0.12);
    border: 1px solid rgba(0, 197, 168, 0.4);
    color: #007a68;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.ai-dock-carmode-chip:hover[b-zomap9ng16] {
    background: rgba(0, 197, 168, 0.22);
    border-color: rgba(0, 197, 168, 0.6);
}
.ai-dock-carmode-chip-x[b-zomap9ng16] {
    font-size: 0.7rem;
    opacity: 0.7;
}

/* When car mode is on, scale the voice surface up across viewports. The
   hides keep the dock minimally chromed so the user can glance at the
   transcript and tap the mic without hunting. */
.ai-dock--carmode .ai-voice-mic[b-zomap9ng16] {
    width: 64px;
    height: 64px;
    font-size: 1.55rem;
}
.ai-dock--carmode .ai-voice-speaker[b-zomap9ng16] {
    width: 56px;
    height: 56px;
    font-size: 1.35rem;
}
.ai-dock--carmode .ai-dock-input-row .btn-primary[b-zomap9ng16],
.ai-dock--carmode .ai-dock-input-row .btn-outline-danger[b-zomap9ng16] {
    min-height: 56px;
    font-size: 1rem;
}
.ai-dock--carmode .ai-bubble[b-zomap9ng16] {
    font-size: 1.05rem;
    line-height: 1.55;
}
/* Chrome hidden in car mode: thread switcher, settings gear (the popover
   already exposes the toggle), the resize affordance. Header keeps
   minimize/close so the dock can still be backgrounded or dismissed. */
.ai-dock--carmode .ai-dock-context[b-zomap9ng16],
.ai-dock--carmode .ai-voice-settings-btn[b-zomap9ng16],
.ai-dock--carmode .ai-dock-resize[b-zomap9ng16] {
    display: none;
}
.ai-dock--carmode .ai-dock-header-actions .ai-dock-iconbtn[title="Conversation history"][b-zomap9ng16],
.ai-dock--carmode .ai-dock-header-actions .ai-dock-iconbtn[title="New chat"][b-zomap9ng16] {
    display: none;
}

/* Bigger still on mobile, where car mode is the most likely use case. */
@media (max-width: 640px) {
    .ai-dock--carmode .ai-voice-mic[b-zomap9ng16] {
        width: 76px;
        height: 76px;
        font-size: 1.75rem;
    }
    .ai-dock--carmode .ai-voice-speaker[b-zomap9ng16] {
        width: 64px;
        height: 64px;
        font-size: 1.45rem;
    }
}

/* ── Mobile: dock becomes a true bottom sheet ────────────────────── */
@media (max-width: 640px) {
    .ai-dock--open[b-zomap9ng16] {
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto;
        width: 100% !important;
        height: 90vh !important;
        border-radius: 16px 16px 0 0;
        border-bottom: none;
        box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.18);
    }
    .ai-dock-header[b-zomap9ng16] {
        cursor: default;
        position: relative;
    }
    /* Drag-handle pill at the top of the sheet */
    .ai-dock-header[b-zomap9ng16]::before {
        content: '';
        position: absolute;
        top: 6px;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 4px;
        border-radius: 2px;
        background: rgba(255, 255, 255, 0.35);
    }
    .ai-dock-resize[b-zomap9ng16] { display: none; }

    /* Mobile voice prominence: enlarge mic/speaker to ≥48px touch targets,
       give the settings gear a real 44px tap zone. */
    .ai-voice-mic[b-zomap9ng16] {
        width: 52px;
        height: 52px;
        font-size: 1.35rem;
    }
    .ai-voice-speaker[b-zomap9ng16] {
        width: 48px;
        height: 48px;
        font-size: 1.2rem;
    }
    .ai-voice-settings-btn[b-zomap9ng16] {
        width: 44px;
        height: 44px;
        padding: 0;
        font-size: 1.1rem;
    }
    .ai-dock-input-row[b-zomap9ng16] {
        gap: 0.5rem;
        align-items: center;
    }
    .ai-dock-input-left[b-zomap9ng16] {
        gap: 0.5rem;
    }
    .ai-dock-input-row .btn-primary[b-zomap9ng16],
    .ai-dock-input-row .btn-outline-danger[b-zomap9ng16] {
        min-height: 48px;
        padding: 0.5rem 1rem;
    }
}

/* ── Progress indicator ─────────────────────────────────────────────────
   Shown while a turn is in flight so the user always has visible feedback
   even when ShowToolActivity is off. Live label switches between "Thinking…"
   and tool-specific verbs as the agent loop progresses. */
.ai-progress-indicator[b-zomap9ng16] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    background: rgba(0, 197, 168, 0.08);
    border: 1px solid rgba(0, 197, 168, 0.25);
    border-radius: 999px;
    color: var(--bs-secondary-color, #4b5563);
    font-size: 0.78rem;
    font-style: italic;
    max-width: 88%;
}

/* ── Mailto card ────────────────────────────────────────────────────────
   Rendered when compose_mailto_link returns a result. Always visible
   (independent of ShowToolActivity) so the user can act on it. The button
   is a real anchor — the OS handles the mailto: protocol natively. */
.ai-mailto-card[b-zomap9ng16] {
    width: 88%;
    background: linear-gradient(135deg, rgba(0, 197, 168, 0.08), rgba(13, 36, 71, 0.04));
    border: 1px solid rgba(0, 197, 168, 0.35);
    border-radius: 10px;
    padding: 0.7rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ai-mailto-card--empty[b-zomap9ng16] {
    background: rgba(120, 120, 120, 0.06);
    border-color: var(--bs-border-color-translucent);
    color: var(--bs-secondary-color, #6b7280);
    font-size: 0.85rem;
    flex-direction: row;
    align-items: center;
}

.ai-mailto-btn[b-zomap9ng16] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.45rem 0.85rem;
    background: #0d2447;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    border-radius: 6px;
    align-self: flex-start;
    transition: transform 80ms ease-out, box-shadow 80ms ease-out;
}

.ai-mailto-btn:hover[b-zomap9ng16] {
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(13, 36, 71, 0.25);
}

.ai-mailto-meta[b-zomap9ng16] {
    color: var(--bs-secondary-color, #6b7280);
    font-size: 0.75rem;
}

.ai-mailto-warn[b-zomap9ng16] {
    color: #b06a00;
}
/* /Shared/ArchiveCascadeModal.razor.rz.scp.css */
/* Cascade modal — one section per non-empty child-type list. Collapsible via
   the native <details> element so the user can fold sections away on records
   with sprawling cascades, and so keyboard users can navigate efficiently. */

.archive-cascade-section[b-z6bkrcac7q] {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    background: var(--bs-body-bg, #fff);
}

.archive-cascade-section[open][b-z6bkrcac7q] {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.archive-cascade-section-head[b-z6bkrcac7q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.85rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.archive-cascade-section-head[b-z6bkrcac7q]::-webkit-details-marker {
    display: none;
}

.archive-cascade-section-head[b-z6bkrcac7q]::before {
    content: "\F285"; /* bi-chevron-right */
    font-family: "bootstrap-icons";
    margin-right: 0.4rem;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.85rem;
    transition: transform 0.15s ease;
    display: inline-block;
}

.archive-cascade-section[open] > .archive-cascade-section-head[b-z6bkrcac7q]::before {
    transform: rotate(90deg);
}

.archive-cascade-section-title[b-z6bkrcac7q] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 500;
    font-size: 0.95rem;
}

.archive-cascade-section-title i[b-z6bkrcac7q] {
    color: var(--bs-secondary-color, #6c757d);
}

.archive-cascade-count[b-z6bkrcac7q] {
    background: var(--bs-secondary-bg, #e9ecef);
    color: var(--bs-body-color, #212529);
    border-radius: 999px;
    padding: 0.05rem 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
    margin-left: 0.25rem;
}

.archive-cascade-toggle-all[b-z6bkrcac7q] {
    margin: 0;
}

.archive-cascade-list[b-z6bkrcac7q] {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0.85rem 0.6rem;
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    max-height: 18rem;
    overflow-y: auto;
}

.archive-cascade-item[b-z6bkrcac7q] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0;
    margin: 0;
    cursor: pointer;
}

.archive-cascade-item:hover .archive-cascade-item-name[b-z6bkrcac7q] {
    color: var(--bs-primary, #0d6efd);
}

.archive-cascade-item-name[b-z6bkrcac7q] {
    transition: color 0.1s ease;
}

.archive-cascade-item-friendly[b-z6bkrcac7q] {
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.78rem;
    margin-left: 0.4rem;
    font-variant-numeric: tabular-nums;
}
/* /Shared/ArchivedBanner.razor.rz.scp.css */
/* Banner shape — distinguishable from a destructive alert (archive is
   reversible) but clearly elevated above informational notices. The slate
   palette signals "retired but preserved" rather than "danger". */

.archived-banner[b-o97fiplra8] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.65rem 1rem;
    background: linear-gradient(180deg, #f3f4f6 0%, #ebedf0 100%);
    border: 1px solid #d6d9de;
    border-left: 4px solid #6c757d;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    color: #495057;
}

.archived-banner-icon[b-o97fiplra8] {
    font-size: 1.4rem;
    color: #6c757d;
    flex: 0 0 auto;
}

.archived-banner-text[b-o97fiplra8] {
    flex: 1 1 auto;
    min-width: 0;
}

.archived-banner-title[b-o97fiplra8] {
    font-weight: 600;
    color: #343a40;
    font-size: 0.95rem;
}

.archived-banner-meta[b-o97fiplra8] {
    color: #6c757d;
    font-size: 0.85rem;
    margin-top: 0.1rem;
}

.archived-banner-meta strong[b-o97fiplra8] {
    color: #495057;
    font-weight: 600;
}

.archived-banner-actions[b-o97fiplra8] {
    flex: 0 0 auto;
}
/* /Shared/ArchivedReveal.razor.rz.scp.css */
/* Subtle bar at the bottom of a related-records section. The collapsed state
   reads like a quiet annotation — "this section has archived items, click to
   see them" — not as a primary action. */

.archived-reveal[b-1gsbrodgsh] {
    margin-top: 0.4rem;
}

.archived-reveal-body[b-1gsbrodgsh] {
    margin-bottom: 0.4rem;
}

.archived-reveal-toggle[b-1gsbrodgsh] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: transparent;
    border: 1px dashed #d6d9de;
    color: #6c757d;
    padding: 0.3rem 0.7rem;
    border-radius: 0.4rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background-color 0.1s ease, color 0.1s ease, border-color 0.1s ease;
}

.archived-reveal-toggle:hover[b-1gsbrodgsh] {
    background: #f3f4f6;
    color: #495057;
    border-color: #b6bcc4;
}

.archived-reveal-toggle i[b-1gsbrodgsh] {
    font-size: 0.85rem;
}

.archived-reveal-action[b-1gsbrodgsh] {
    color: #0d6efd;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
/* /Shared/Breadcrumb.razor.rz.scp.css */
.app-breadcrumb[b-8g4ifqp44t] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: var(--crm-text-3);
    letter-spacing: 0.01em;
}

.app-breadcrumb a[b-8g4ifqp44t] {
    color: var(--crm-navy-400);
    text-decoration: none;
    transition: color var(--crm-fast) var(--crm-ease);
}

.app-breadcrumb a:hover[b-8g4ifqp44t] {
    color: var(--crm-teal-600);
}

.app-breadcrumb-sep[b-8g4ifqp44t] {
    opacity: 0.4;
}
/* /Shared/CollapsibleCard.razor.rz.scp.css */
.crm-cc[b-apj06r936p] {
  background: var(--crm-white);
  border: 1px solid var(--crm-border);
  border-radius: 0.5rem;
  margin-bottom: 16px;
  box-shadow: 0 1px 2px rgba(13, 36, 71, 0.04);
  overflow: hidden;
}

.crm-cc__header[b-apj06r936p] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 14px 22px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background-color 120ms ease;
}

/* Left cluster: title + section-meta. Takes the available horizontal space. */
.crm-cc__header-start[b-apj06r936p] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
}

/* Right cluster: pill + chevron. Anchors to the right edge of the header,
   creating clear visual separation from the title. */
.crm-cc__header-end[b-apj06r936p] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 0 0 auto;
}

.crm-cc__header:hover[b-apj06r936p],
.crm-cc__header:focus-visible[b-apj06r936p] {
  background: var(--crm-surface-2);
  outline: none;
}

.crm-cc__title[b-apj06r936p] {
  flex: 0 0 auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--crm-text);
}

/* Static section summary (e.g. "3 selected • 2 custom fields"). Lives in the
   left cluster next to the title, fills available width, ellipses on overflow. */
.crm-cc__summary[b-apj06r936p] {
  flex: 1 1 auto;
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--crm-text-3);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Inline modified-field display (1-2 fields). Lives in the RIGHT cluster
   alongside the pill, so it takes only its natural width. Field names read
   in body weight; the " · unsaved" suffix in muted weight defers to them. */
.crm-cc__inline-modified[b-apj06r936p] {
  flex: 0 0 auto;
  font-size: 0.82rem;
  font-weight: 400;
  white-space: nowrap;
}

.crm-cc__inline-modified .crm-cc__modified-fields[b-apj06r936p] {
  color: var(--crm-text);
  font-weight: 500;
}

.crm-cc__inline-modified .crm-cc__modified-suffix[b-apj06r936p] {
  color: var(--crm-text-3);
  font-weight: 400;
}

/* Required-missing dot. Sits flush right of the title, before the summary. */
.crm-cc__required-dot[b-apj06r936p] {
  flex: 0 0 auto;
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #F59E0B;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
  animation: crm-cc-pulse-b-apj06r936p 1.2s ease-out 1;
}

@keyframes crm-cc-pulse-b-apj06r936p {
  0%   { box-shadow: 0 0 0 0    rgba(245, 158, 11, 0.55); }
  60%  { box-shadow: 0 0 0 8px  rgba(245, 158, 11, 0.0); }
  100% { box-shadow: 0 0 0 3px  rgba(245, 158, 11, 0.18); }
}

/* Unsaved-changes pill. Shown in collapsed (count ≥ 3) and expanded (count > 0)
   states so the user has a live counter while editing within the card. */
.crm-cc__changes-pill[b-apj06r936p] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 22px;
  padding: 0 10px 0 8px;
  font-size: 0.74rem;
  font-weight: 500;
  color: var(--crm-text);
  background: var(--crm-surface-2);
  border: 1px solid var(--crm-border);
  border-radius: 999px;
  animation: crm-fade-in 160ms ease;
}

/* Tiny status dot inside the pill — pulses gently to signal "live / unsaved". */
.crm-cc__changes-dot[b-apj06r936p] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--crm-teal, #0fb39e);
  box-shadow: 0 0 0 0 rgba(15, 179, 158, 0.5);
  animation: crm-cc-dot-pulse-b-apj06r936p 2.4s ease-out infinite;
}

@keyframes crm-cc-dot-pulse-b-apj06r936p {
  0%   { box-shadow: 0 0 0 0    rgba(15, 179, 158, 0.45); }
  60%  { box-shadow: 0 0 0 6px  rgba(15, 179, 158, 0.0); }
  100% { box-shadow: 0 0 0 0    rgba(15, 179, 158, 0.0); }
}

@media (prefers-reduced-motion: reduce) {
  .crm-cc__changes-dot[b-apj06r936p] { animation: none; }
}

.crm-cc__chevron[b-apj06r936p] {
  flex: 0 0 auto;
  font-size: 0.85rem;
  color: var(--crm-text-3);
  transition: transform 160ms ease;
}

.crm-cc--expanded .crm-cc__chevron[b-apj06r936p] {
  transform: rotate(180deg);
}

.crm-cc--expanded .crm-cc__header[b-apj06r936p] {
  border-bottom: 1px solid var(--crm-border);
}

.crm-cc__body[b-apj06r936p] {
  padding: 18px 24px 22px;
  animation: crm-slide-up 180ms ease;
}
/* /Shared/ContactAddInlineForm.razor.rz.scp.css */
.rop-add-panel[b-c0q02rpnkd] {
    padding: 12px 16px;
}

.rop-add-tabs[b-c0q02rpnkd] {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}

.rop-add-tab[b-c0q02rpnkd] {
    background: none;
    border: 1px solid var(--crm-border);
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 0.8rem;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: all var(--crm-fast) ease;
}

.rop-add-tab.active[b-c0q02rpnkd] {
    background: var(--crm-navy);
    color: white;
    border-color: var(--crm-navy);
}

.rop-add-tab:hover:not(.active)[b-c0q02rpnkd] {
    background: var(--crm-bg);
}

.rop-search-row[b-c0q02rpnkd] {
    position: relative;
    margin-bottom: 8px;
}

.rop-searching-indicator[b-c0q02rpnkd] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.rop-results[b-c0q02rpnkd] {
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid var(--crm-border);
    border-radius: 6px;
    background: white;
    margin-bottom: 8px;
}

.rop-result-item[b-c0q02rpnkd] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    cursor: pointer;
    border-bottom: 1px solid var(--crm-border);
    transition: background var(--crm-fast) ease;
}

.rop-result-item:last-child[b-c0q02rpnkd] {
    border-bottom: none;
}

.rop-result-item:hover[b-c0q02rpnkd] {
    background: var(--crm-bg);
}

.rop-result-item.selected[b-c0q02rpnkd] {
    background: color-mix(in srgb, var(--crm-teal) 10%, white);
}

.rop-result-name[b-c0q02rpnkd] {
    font-size: 0.875rem;
    font-weight: 500;
}

.rop-result-subtitle[b-c0q02rpnkd] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.rop-label-section[b-c0q02rpnkd] {
    margin: 10px 0 8px;
}

.rop-label-section-title[b-c0q02rpnkd] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--crm-text-2);
    display: block;
    margin-bottom: 6px;
}

.rop-label-options[b-c0q02rpnkd] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.rop-label-check[b-c0q02rpnkd] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid var(--crm-border);
    background: white;
    margin: 2px;
}

.rop-label-check:hover[b-c0q02rpnkd] {
    background: var(--crm-bg);
}

/* ── Create-new expanded form ───────────────────────── */

.rop-create-form[b-c0q02rpnkd] {
    margin-top: 2px;
}

.rop-field-label[b-c0q02rpnkd] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--crm-text-3, #9ca3af);
    text-transform: uppercase;
    margin-bottom: 3px;
}

.rop-required[b-c0q02rpnkd] {
    color: var(--crm-teal-600, #009E88);
    font-size: 0.8rem;
    margin-left: 1px;
}

.rop-field-hint[b-c0q02rpnkd] {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--crm-teal-700, #00735f);
    background: rgba(0, 197, 168, 0.10);
    padding: 1px 6px;
    border-radius: 999px;
    text-transform: none;
}

.rop-add-actions[b-c0q02rpnkd] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}
/* /Shared/CsvDropZone.razor.rz.scp.css */
.csv-drop-zone[b-fr2e2ndtut] {
    position: relative;
}

.csv-drop-zone.csv-drop-zone--active[b-fr2e2ndtut] {
    outline: 2px dashed var(--crm-teal, #00C5A8);
    outline-offset: -2px;
    border-radius: var(--crm-r, 10px);
}

/* Overlay hidden by default, visible only when JS adds the active class */
.csv-drop-overlay[b-fr2e2ndtut] {
    position: absolute;
    inset: 0;
    background: rgba(0, 197, 168, 0.06);
    border-radius: var(--crm-r, 10px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 50;
    pointer-events: none;
}

.csv-drop-zone--active .csv-drop-overlay[b-fr2e2ndtut] {
    display: flex;
}

.csv-drop-overlay-inner[b-fr2e2ndtut] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.5rem 2rem;
    background: var(--crm-white, #fff);
    border: 2px dashed var(--crm-teal, #00C5A8);
    border-radius: var(--crm-r, 10px);
    box-shadow: var(--crm-shadow-lift);
    color: var(--crm-teal-600, #009E88);
    font-family: 'Outfit', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
}

.csv-drop-overlay-inner i[b-fr2e2ndtut] {
    font-size: 1.75rem;
}
/* /Shared/CsvImportWizard.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   Import Wizard — Full-screen modal overlay
   Refined utilitarian: dense, clear, every control visible
   ═══════════════════════════════════════════════════════ */

/* ── Overlay & Shell ─────────────────────────────────── */

.iw-overlay[b-sot3gahefe] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    background: rgba(9, 26, 54, 0.55);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: stretch;
    justify-content: center;
    animation: iwFadeIn-b-sot3gahefe 0.2s ease;
}

@keyframes iwFadeIn-b-sot3gahefe {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.iw-shell[b-sot3gahefe] {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100vh;
    background: var(--crm-bg, #F2F6FC);
    overflow: hidden;
}

/* ── Header ──────────────────────────────────────────── */

.iw-header[b-sot3gahefe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 1.5rem;
    background: var(--crm-white, #fff);
    border-bottom: 1px solid var(--crm-border, #DCE5F0);
    flex-shrink: 0;
}

.iw-header-left[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.iw-header-icon[b-sot3gahefe] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--crm-r-sm, 6px);
    background: linear-gradient(135deg, rgba(0,197,168,0.12) 0%, rgba(0,197,168,0.04) 100%);
    color: var(--crm-teal, #00C5A8);
    font-size: 0.95rem;
}

.iw-header-title[b-sot3gahefe] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--crm-navy, #0D2447);
    letter-spacing: -0.01em;
}

.iw-close-btn[b-sot3gahefe] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: none;
    background: transparent;
    border-radius: var(--crm-r-sm, 6px);
    color: var(--crm-text-3, #8A9BB5);
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.iw-close-btn:hover[b-sot3gahefe] {
    background: var(--crm-bg, #F2F6FC);
    color: var(--crm-navy, #0D2447);
}

/* ── Step Rail ───────────────────────────────────────── */

.iw-step-rail[b-sot3gahefe] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0.6rem 1.5rem;
    background: var(--crm-white, #fff);
    border-bottom: 1px solid var(--crm-border, #DCE5F0);
    flex-shrink: 0;
}

.iw-step[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
}

.iw-step-dot[b-sot3gahefe] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    font-family: 'Outfit', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    background: var(--crm-surface-2, #E6EEF8);
    color: var(--crm-text-3, #8A9BB5);
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.iw-step.active .iw-step-dot[b-sot3gahefe] {
    background: var(--crm-navy, #0D2447);
    color: #fff;
    box-shadow: 0 0 0 3px rgba(13,36,71,0.12);
}

.iw-step.done .iw-step-dot[b-sot3gahefe] {
    background: var(--crm-teal, #00C5A8);
    color: #fff;
}

.iw-step-name[b-sot3gahefe] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--crm-text-3, #8A9BB5);
    transition: color 0.2s ease;
}

.iw-step.active .iw-step-name[b-sot3gahefe] {
    color: var(--crm-navy, #0D2447);
    font-weight: 600;
}

.iw-step.done .iw-step-name[b-sot3gahefe] {
    color: var(--crm-teal, #00C5A8);
}

.iw-step-line[b-sot3gahefe] {
    width: 2.5rem;
    height: 2px;
    background: var(--crm-border, #DCE5F0);
    margin: 0 0.5rem;
    border-radius: 1px;
    transition: background 0.25s ease;
    flex-shrink: 0;
}

.iw-step-line.done[b-sot3gahefe] {
    background: var(--crm-teal, #00C5A8);
}

/* ── Body (scrollable) ───────────────────────────────── */

.iw-body[b-sot3gahefe] {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}

.iw-section[b-sot3gahefe] {
    max-width: 960px;
    margin: 0 auto;
    padding: 1.25rem 1.5rem;
}

.iw-section-wide[b-sot3gahefe] {
    max-width: 100%;
    margin: 0;
    padding: 1rem 1.5rem;
}

/* Upload step: full width so the file preview can stretch horizontally,
   and flex-column so the preview can fill the remaining vertical space.
   Height is locked to 100% of the (already-bounded) iw-body so the inner
   preview's horizontal scrollbar stays inside the visible viewport instead
   of getting pushed below the fold. */
.iw-section-upload[b-sot3gahefe] {
    max-width: 100%;
    margin: 0;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    box-sizing: border-box;
}

/* Keep the drop zone visually compact even when the section is wide —
   a 1600px wide drop target looks silly. */
.iw-section-upload .iw-upload-zone[b-sot3gahefe] {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
}

/* ── Footer (sticky) ─────────────────────────────────── */

.iw-footer[b-sot3gahefe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 1.5rem;
    background: var(--crm-white, #fff);
    border-top: 1px solid var(--crm-border, #DCE5F0);
    box-shadow: 0 -2px 8px rgba(13,36,71,0.04);
    flex-shrink: 0;
}

.iw-footer-actions[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ── Upload Zone ─────────────────────────────────────── */

.iw-upload-zone[b-sot3gahefe] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 2rem;
    border: 2px dashed var(--crm-border-2, #C5D3E8);
    border-radius: var(--crm-r, 10px);
    background: var(--crm-white, #fff);
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.iw-upload-zone:hover[b-sot3gahefe] {
    border-color: var(--crm-teal, #00C5A8);
    background: rgba(0, 197, 168, 0.03);
    box-shadow: 0 0 0 4px rgba(0, 197, 168, 0.06);
}

.iw-file-input[b-sot3gahefe] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.iw-upload-icon[b-sot3gahefe] {
    font-size: 2.2rem;
    color: var(--crm-teal, #00C5A8);
    margin-bottom: 0.4rem;
    opacity: 0.65;
}

.iw-upload-text[b-sot3gahefe] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.88rem;
    color: var(--crm-text-2, #4A5B78);
    margin: 0;
}

.iw-upload-hint[b-sot3gahefe] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.76rem;
    color: var(--crm-text-3, #8A9BB5);
    margin: 0.2rem 0 0;
}

/* ── Cards ───────────────────────────────────────────── */

.iw-card[b-sot3gahefe] {
    border: 1px solid var(--crm-border, #DCE5F0);
    border-radius: var(--crm-r, 10px);
    background: var(--crm-white, #fff);
    overflow: hidden;
    box-shadow: var(--crm-shadow-xs, 0 1px 3px rgba(13,36,71,0.05));
}

.iw-card-head[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.9rem;
    background: var(--crm-bg, #F2F6FC);
    border-bottom: 1px solid var(--crm-border, #DCE5F0);
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-navy, #0D2447);
}

.iw-card-body[b-sot3gahefe] {
    padding: 0.75rem 0.9rem;
}

/* ── Mapping export / import buttons ─────────────────── */

.iw-mapping-actions[b-sot3gahefe] {
    margin-left: auto;
    display: flex;
    gap: 0.4rem;
}

.iw-mapping-action-btn[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border: 1px solid var(--crm-border, #DCE5F0);
    background: #FFFFFF;
    border-radius: 4px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    color: var(--crm-text-2, #4A5B78);
    cursor: pointer;
    transition: border-color 100ms, color 100ms, background 100ms;
}

.iw-mapping-action-btn:hover[b-sot3gahefe] {
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-teal, #00C5A8);
}

.iw-mapping-action-import[b-sot3gahefe] {
    margin-bottom: 0;
}

/* ── Column Mapping Rows ─────────────────────────────── */

.iw-map-row[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--crm-border, #DCE5F0);
}

.iw-map-row:last-child[b-sot3gahefe] {
    border-bottom: none;
}

.iw-map-source[b-sot3gahefe] {
    flex: 0 0 160px;
    display: flex;
    align-items: center;
}

.iw-map-csv-tag[b-sot3gahefe] {
    display: inline-block;
    font-family: 'SF Mono', 'Cascadia Code', 'Fira Code', monospace;
    font-size: 0.78rem;
    color: var(--crm-text-2, #4A5B78);
    background: var(--crm-bg, #F2F6FC);
    padding: 0.15rem 0.55rem;
    border-radius: var(--crm-r-sm, 6px);
    border: 1px solid var(--crm-border, #DCE5F0);
}

.iw-map-arrow[b-sot3gahefe] {
    color: var(--crm-text-3, #8A9BB5);
    font-size: 0.75rem;
    flex-shrink: 0;
}

.iw-map-target[b-sot3gahefe] {
    flex: 1;
    max-width: 260px;
}

.iw-map-badges[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: auto;
}

.iw-conf-badge[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.5rem;
    border-radius: 20px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.iw-conf-exact[b-sot3gahefe]  { background: #E8FBF5; color: #047857; border: 1px solid #6EE7B7; }
.iw-conf-fuzzy[b-sot3gahefe]  { background: #FFF8E1; color: #92400E; border: 1px solid #FCD34D; }
.iw-conf-low[b-sot3gahefe]    { background: var(--crm-bg, #F2F6FC); color: var(--crm-text-3); border: 1px solid var(--crm-border); }
.iw-conf-custom[b-sot3gahefe] { background: #EFF6FF; color: #1E40AF; border: 1px solid #93C5FD; }

/* ── Summary Chips ───────────────────────────────────── */

.iw-summary-bar[b-sot3gahefe] {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    align-items: center;
}

.iw-chip[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.iw-chip-create[b-sot3gahefe]  { background: #E8FBF5; color: #047857; border: 1px solid #6EE7B7; }
.iw-chip-update[b-sot3gahefe]  { background: #EFF6FF; color: #1E40AF; border: 1px solid #93C5FD; }
.iw-chip-skip[b-sot3gahefe]    { background: var(--crm-bg); color: var(--crm-text-2); border: 1px solid var(--crm-border); }
.iw-chip-error[b-sot3gahefe]   { background: #FEF2F2; color: #991B1B; border: 1px solid #FCA5A5; }

/* Filterable chips — clickable summary chips above the preview table that
   toggle a row filter. The active chip gets a stronger border + ring so it
   reads as "applied" vs the inert sibling chips. */
button.iw-chip-filter[b-sot3gahefe] {
    cursor: pointer;
    transition: transform .08s ease, box-shadow .12s ease, filter .12s ease;
}

button.iw-chip-filter:hover[b-sot3gahefe] {
    filter: brightness(0.96);
    transform: translateY(-1px);
}

button.iw-chip-filter.iw-chip-active[b-sot3gahefe] {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.08);
    border-width: 1.5px;
    font-weight: 700;
}

/* Error-row marker — replaces the row checkbox to signal "won't import". */
.iw-row-error-mark[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    color: #991B1B;
    font-size: 0.95rem;
    cursor: not-allowed;
}

/* ── Preview Table ───────────────────────────────────── */

.iw-preview-wrap[b-sot3gahefe] {
    border: 1px solid var(--crm-border, #DCE5F0);
    border-radius: var(--crm-r, 10px);
    background: var(--crm-white, #fff);
    overflow: hidden;
    box-shadow: var(--crm-shadow-xs);
}

.iw-preview-scroll[b-sot3gahefe] {
    max-height: calc(100vh - 310px);
    overflow-y: auto;
    overflow-x: auto;
}

.iw-ptable[b-sot3gahefe] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
    margin: 0;
}

.iw-ptable thead th[b-sot3gahefe] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--crm-text-3, #8A9BB5);
    background: var(--crm-bg, #F2F6FC);
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid var(--crm-border, #DCE5F0);
    position: sticky;
    top: 0;
    z-index: 2;
    white-space: nowrap;
}

.iw-ptable tbody td[b-sot3gahefe] {
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid var(--crm-border, #DCE5F0);
    vertical-align: top;
    color: var(--crm-text, #0D2447);
}

.iw-ptable tbody tr:last-child td[b-sot3gahefe] {
    border-bottom: none;
}

.iw-ptable tbody tr:hover[b-sot3gahefe] {
    background: rgba(0, 197, 168, 0.025);
}

.iw-ptable tbody tr.iw-row-excluded[b-sot3gahefe] {
    opacity: 0.35;
}

.iw-ptable tbody tr.iw-row-excluded:hover[b-sot3gahefe] {
    opacity: 0.5;
}

/* ── Action Badges ───────────────────────────────────── */

.iw-action[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.iw-action-create[b-sot3gahefe] { background: #E8FBF5; color: #047857; }
.iw-action-update[b-sot3gahefe] { background: #EFF6FF; color: #1E40AF; }
.iw-action-skip[b-sot3gahefe]   { background: var(--crm-bg); color: var(--crm-text-3); }
.iw-action-error[b-sot3gahefe]  { background: #FEF2F2; color: #991B1B; }

/* ── Org Match Cell ──────────────────────────────────── */

.iw-org-match[b-sot3gahefe] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 200px;
}

.iw-org-confidence[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.7rem;
    font-weight: 600;
}

.iw-org-conf-exact[b-sot3gahefe]    { color: #047857; }
.iw-org-conf-likely[b-sot3gahefe]   { color: #1E40AF; }
.iw-org-conf-possible[b-sot3gahefe] { color: #92400E; }
.iw-org-conf-none[b-sot3gahefe]     { color: #991B1B; }

.iw-org-name[b-sot3gahefe] {
    font-size: 0.8rem;
    color: var(--crm-text, #0D2447);
    font-weight: 500;
}

.iw-org-select[b-sot3gahefe] {
    font-size: 0.78rem;
    padding: 0.2rem 0.4rem;
    border: 1px solid var(--crm-border-2, #C5D3E8);
    border-radius: var(--crm-r-sm, 6px);
    background: var(--crm-white, #fff);
    color: var(--crm-text, #0D2447);
    max-width: 220px;
}

.iw-org-select:focus[b-sot3gahefe] {
    border-color: var(--crm-teal, #00C5A8);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 197, 168, 0.15);
}

/* "Find account…" / 🔍 inline button when no auto-match was found and the
   user wants to search for the correct account by hand. */
.iw-org-search-btn[b-sot3gahefe] {
    align-self: flex-start;
    background: transparent;
    border: 1px dashed var(--crm-border-2, #C5D3E8);
    border-radius: var(--crm-r-sm, 6px);
    color: var(--crm-text-2, #4B5C7A);
    cursor: pointer;
    font-size: 0.72rem;
    padding: 0.15rem 0.45rem;
    margin-top: 0.15rem;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.iw-org-search-btn:hover[b-sot3gahefe] {
    color: var(--crm-teal, #00C5A8);
    border-color: var(--crm-teal, #00C5A8);
    background: rgba(0, 197, 168, 0.06);
}

/* Per-row search popover (OrgSearchPopover.razor). Anchored visually below
   the dropdown; for now a stacked block — overlay positioning would need a
   portal which the existing table layout doesn't have. */
.iw-org-search-pop[b-sot3gahefe] {
    margin-top: 0.35rem;
    border: 1px solid var(--crm-teal, #00C5A8);
    background: var(--crm-white, #fff);
    border-radius: var(--crm-r-sm, 6px);
    box-shadow: 0 6px 20px rgba(13, 36, 71, 0.12);
    min-width: 240px;
    max-width: 320px;
    overflow: hidden;
}

.iw-org-search-pop-head[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.35rem 0.45rem;
    border-bottom: 1px solid var(--crm-border-2, #E2E8F0);
    background: var(--crm-bg-2, #F8FAFC);
}

.iw-org-search-input[b-sot3gahefe] {
    flex: 1 1 auto;
    border: 1px solid var(--crm-border-2, #C5D3E8);
    border-radius: var(--crm-r-sm, 6px);
    font-size: 0.78rem;
    padding: 0.2rem 0.4rem;
    min-width: 0;
}

.iw-org-search-input:focus[b-sot3gahefe] {
    outline: none;
    border-color: var(--crm-teal, #00C5A8);
    box-shadow: 0 0 0 2px rgba(0, 197, 168, 0.15);
}

.iw-org-search-spinner[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
}

.iw-org-search-close[b-sot3gahefe] {
    background: transparent;
    border: none;
    color: var(--crm-text-3, #7088A8);
    cursor: pointer;
    font-size: 0.85rem;
    padding: 0.15rem 0.25rem;
    border-radius: 4px;
}

.iw-org-search-close:hover[b-sot3gahefe] {
    color: var(--crm-text, #0D2447);
    background: rgba(13, 36, 71, 0.06);
}

.iw-org-search-pop-body[b-sot3gahefe] {
    max-height: 240px;
    overflow-y: auto;
}

.iw-org-search-item[b-sot3gahefe] {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--crm-border-2, #EEF2F7);
    padding: 0.4rem 0.55rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.iw-org-search-item:last-child[b-sot3gahefe] {
    border-bottom: none;
}

.iw-org-search-item:hover[b-sot3gahefe] {
    background: rgba(0, 197, 168, 0.08);
}

.iw-org-search-item-name[b-sot3gahefe] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--crm-text, #0D2447);
}

.iw-org-search-item-meta[b-sot3gahefe] {
    font-size: 0.72rem;
    color: var(--crm-text-3, #7088A8);
}

.iw-org-search-empty[b-sot3gahefe] {
    padding: 0.6rem;
    text-align: center;
    color: var(--crm-text-3, #7088A8);
    font-size: 0.78rem;
}

/* ── Label Cell ──────────────────────────────────────── */

.iw-label-tag[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    background: rgba(0, 197, 168, 0.1);
    color: var(--crm-teal-600, #009E88);
    border: 1px solid rgba(0, 197, 168, 0.25);
}

.iw-label-none[b-sot3gahefe] {
    font-size: 0.75rem;
    color: var(--crm-text-3, #8A9BB5);
    font-style: italic;
}

.iw-label-displace[b-sot3gahefe] {
    font-size: 0.7rem;
    color: #DC2626;
    margin-top: 0.15rem;
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

/* ── Inline Edit Field ───────────────────────────────── */

.iw-inline-input[b-sot3gahefe] {
    font-size: 0.8rem;
    padding: 0.15rem 0.35rem;
    border: 1px solid transparent;
    border-radius: var(--crm-r-sm, 6px);
    background: transparent;
    color: var(--crm-text, #0D2447);
    width: 100%;
    transition: all 0.15s ease;
}

.iw-inline-input:hover[b-sot3gahefe] {
    background: var(--crm-bg, #F2F6FC);
    border-color: var(--crm-border, #DCE5F0);
}

.iw-inline-input:focus[b-sot3gahefe] {
    background: var(--crm-white, #fff);
    border-color: var(--crm-teal, #00C5A8);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 197, 168, 0.12);
}

/* ── Type Tag Banner ─────────────────────────────────── */

.iw-tag-banner[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.9rem;
    border-radius: var(--crm-r-sm, 6px);
    background: linear-gradient(135deg, rgba(0,197,168,0.06) 0%, rgba(13,36,71,0.03) 100%);
    border: 1px solid rgba(0, 197, 168, 0.2);
    border-left: 3px solid var(--crm-teal, #00C5A8);
    font-size: 0.82rem;
    color: var(--crm-text-2, #4A5B78);
}

.iw-tag-banner i[b-sot3gahefe] {
    color: var(--crm-teal, #00C5A8);
}

.iw-tag-toggle[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid var(--crm-border, #DCE5F0);
    background: var(--crm-white);
    color: var(--crm-text-2);
    transition: all 0.15s ease;
}

.iw-tag-toggle.on[b-sot3gahefe] {
    background: var(--crm-teal, #00C5A8);
    border-color: var(--crm-teal);
    color: #fff;
}

/* ── Label Changes (Step 3) ──────────────────────────── */

.iw-lc-card[b-sot3gahefe] {
    border: 1px solid var(--crm-border, #DCE5F0);
    border-radius: var(--crm-r, 10px);
    background: var(--crm-white, #fff);
    padding: 0.75rem 1rem;
    margin-bottom: 0.6rem;
    box-shadow: var(--crm-shadow-xs);
}

.iw-lc-header[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

.iw-lc-arrow[b-sot3gahefe] {
    color: var(--crm-text-3);
    font-size: 0.85rem;
}

.iw-lc-form[b-sot3gahefe] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: end;
}

.iw-lc-form > div[b-sot3gahefe] {
    flex: 1;
    min-width: 160px;
}

.iw-lc-label[b-sot3gahefe] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3, #8A9BB5);
    margin-bottom: 0.2rem;
}

/* ── Commit Results ──────────────────────────────────── */

.iw-results[b-sot3gahefe] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 0;
    gap: 1rem;
}

.iw-results-icon[b-sot3gahefe] {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    background: linear-gradient(135deg, rgba(0,197,168,0.15) 0%, rgba(0,197,168,0.05) 100%);
    color: var(--crm-teal, #00C5A8);
}

.iw-results-title[b-sot3gahefe] {
    font-family: 'Outfit', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--crm-navy, #0D2447);
}

/* ── Spinner ─────────────────────────────────────────── */

.iw-spinner-area[b-sot3gahefe] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 0;
    gap: 0.75rem;
    color: var(--crm-text-3);
    font-size: 0.85rem;
}

/* ── Unmapped hint ───────────────────────────────────── */

.iw-unmapped-hint[b-sot3gahefe] {
    margin-top: 0.6rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--crm-border, #DCE5F0);
    font-size: 0.78rem;
    color: var(--crm-text-3, #8A9BB5);
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

/* ── Match % indicator ───────────────────────────────── */

.iw-match-pct[b-sot3gahefe] {
    font-size: 0.68rem;
    color: var(--crm-text-3);
    font-weight: 500;
}

/* ── File preview card ───────────────────────────────── */

.iw-file-card[b-sot3gahefe] {
    margin-top: 0;
    /* Let the preview card grow to fill remaining vertical space in the
       flex-column section so the rows aren't squeezed into a 180px window.
       min-height: 0 lets the flex item shrink past its content size so the
       inner overflow:auto scroll container can actually scroll. */
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.iw-file-meta[b-sot3gahefe] {
    font-size: 0.78rem;
    color: var(--crm-text-3);
    margin-left: auto;
}

.iw-file-preview-scroll[b-sot3gahefe] {
    /* flex:1 1 0 + min-height:0 lets this container shrink to fit the
       parent's available height (rather than expanding to fit content),
       which keeps the horizontal scrollbar inside the visible viewport. */
    flex: 1 1 0;
    min-height: 0;
    overflow: auto;
}

.iw-file-preview-table[b-sot3gahefe] {
    font-size: 0.78rem;
    border-collapse: separate;
    border-spacing: 0;
}

.iw-file-preview-table th[b-sot3gahefe] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    background: var(--crm-bg, #F2F6FC);
    padding: 0.5rem 0.65rem;
    /* Sticky header so column names stay visible while scrolling rows. */
    position: sticky;
    top: 0;
    z-index: 1;
    box-shadow: inset 0 -1px 0 var(--crm-border, #DCE5F0);
}

.iw-file-preview-table td[b-sot3gahefe] {
    color: var(--crm-text-2);
    padding: 0.4rem 0.65rem;
    border-bottom: 1px solid var(--crm-border, #DCE5F0);
    white-space: nowrap;
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.iw-file-preview-more[b-sot3gahefe] {
    text-align: center;
    color: var(--crm-text-3);
    font-size: 0.74rem;
    padding: 0.5rem;
    font-style: italic;
}

/* ── Error alert ─────────────────────────────────────── */

.iw-error-card[b-sot3gahefe] {
    max-width: 560px;
    margin: 0 auto;
}

.iw-error-row[b-sot3gahefe] {
    font-size: 0.8rem;
    padding: 0.3rem 0;
    border-bottom: 1px solid var(--crm-border, #DCE5F0);
}

.iw-error-row:last-child[b-sot3gahefe] {
    border-bottom: none;
}

/* ── Multi-value match chips ── */

.iw-mv-chip[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.45rem;
    border-radius: 10px;
    font-size: 0.72rem;
    margin: 0.1rem 0;
    background: var(--crm-surface-2, #F0F4FA);
    color: var(--crm-text-1, #1E293B);
    border: 1px solid var(--crm-border, #DCE5F0);
}

.iw-mv-chip.iw-mv-exact[b-sot3gahefe] {
    background: #DCFCE7;
    border-color: #86EFAC;
    color: #166534;
}

.iw-mv-chip.iw-mv-likely[b-sot3gahefe] {
    background: #DBEAFE;
    border-color: #93C5FD;
    color: #1E40AF;
}

.iw-mv-chip.iw-mv-possible[b-sot3gahefe] {
    background: #FEF9C3;
    border-color: #FDE68A;
    color: #854D0E;
}

.iw-mv-chip.iw-mv-none[b-sot3gahefe] {
    background: #FEE2E2;
    border-color: #FCA5A5;
    color: #991B1B;
    font-style: italic;
}

.iw-mv-conf[b-sot3gahefe] {
    font-size: 0.62rem;
    opacity: 0.7;
    margin-left: 0.15rem;
}

/* ── AI enhancement affordances ─────────────────────────── */

.iw-ai-card[b-sot3gahefe] {
    margin-top: 0.75rem;
    border: 1px solid rgba(0, 197, 168, 0.35);
    background: linear-gradient(180deg, rgba(0, 197, 168, 0.04), transparent);
}

.iw-ai-hint[b-sot3gahefe] {
    margin-top: 0.4rem;
    padding: 0.35rem 0.6rem;
    font-size: 0.78rem;
    background: rgba(0, 197, 168, 0.08);
    border-left: 3px solid var(--crm-teal);
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.iw-ai-badge[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-left: 0.4rem;
    padding: 0.08rem 0.4rem;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--crm-teal);
    background: rgba(0, 197, 168, 0.12);
    border: 1px solid rgba(0, 197, 168, 0.35);
    border-radius: 9px;
    cursor: help;
}

.iw-ai-narrative[b-sot3gahefe] {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    padding: 0.7rem 0.9rem;
    font-size: 0.82rem;
    line-height: 1.45;
    background: linear-gradient(180deg, rgba(0, 197, 168, 0.06), rgba(0, 197, 168, 0.02));
    border: 1px solid rgba(0, 197, 168, 0.3);
    border-radius: 6px;
}

.iw-ai-narrative-close[b-sot3gahefe] {
    background: none;
    border: none;
    padding: 0.1rem 0.3rem;
    color: var(--crm-text-3);
    cursor: pointer;
    border-radius: 3px;
    font-size: 0.9rem;
    line-height: 1;
    flex-shrink: 0;
}

.iw-ai-narrative-close:hover[b-sot3gahefe] {
    background: rgba(0, 0, 0, 0.05);
    color: var(--crm-text-1);
}

.iw-ai-warn-chip[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-top: 0.25rem;
    padding: 0.08rem 0.35rem;
    font-size: 0.62rem;
    font-weight: 600;
    color: #A16207;
    background: #FEF3C7;
    border-radius: 8px;
    cursor: help;
    white-space: pre-line;
}

/* ── Migrate (schema-assist) step ───────────────────────── */

.iw-mig-card[b-sot3gahefe] {
    border: 1px solid var(--crm-border, #E4E9F1);
    border-radius: var(--crm-r-sm, 6px);
    background: #FFFFFF;
    margin-bottom: 0.85rem;
    overflow: hidden;
}

.iw-mig-card-header[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.85rem;
    background: linear-gradient(135deg, rgba(0,197,168,0.04) 0%, rgba(13,36,71,0.02) 100%);
    border-bottom: 1px solid var(--crm-border, #E4E9F1);
}

.iw-mig-kind[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.45rem;
    font-size: 0.66rem;
    font-weight: 700;
    border-radius: 4px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.iw-mig-kind-extend[b-sot3gahefe] {
    background: rgba(0, 197, 168, 0.12);
    color: var(--crm-teal, #00C5A8);
}

.iw-mig-kind-create[b-sot3gahefe] {
    background: rgba(108, 92, 231, 0.12);
    color: #6C5CE7;
}

.iw-mig-kind-fold[b-sot3gahefe] {
    background: rgba(245, 158, 11, 0.14);
    color: #B45309;
}

.iw-mig-kind-unsorted[b-sot3gahefe] {
    background: rgba(124, 138, 163, 0.14);
    color: #4A5B78;
}

.iw-fold-props-head[b-sot3gahefe],
.iw-fold-row[b-sot3gahefe] {
    display: grid;
    grid-template-columns: 36px 200px 1fr 110px;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0;
    font-size: 0.82rem;
}

.iw-fold-props-head[b-sot3gahefe] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3, #7C8AA3);
    border-bottom: 1px solid var(--crm-border, #E4E9F1);
    margin-bottom: 0.2rem;
}

.iw-fold-row + .iw-fold-row[b-sot3gahefe] {
    border-top: 1px dashed var(--crm-border, #E4E9F1);
}

.iw-mig-title[b-sot3gahefe] {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--crm-text-1, #0D2447);
}

.iw-mig-title-input[b-sot3gahefe] {
    flex: 0 1 240px;
    padding: 0.2rem 0.5rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--crm-text-1, #0D2447);
    border: 1px solid var(--crm-border, #E4E9F1);
    border-radius: 4px;
    background: #FFFFFF;
}

.iw-mig-title-input:focus[b-sot3gahefe] {
    outline: none;
    border-color: var(--crm-teal, #00C5A8);
    box-shadow: 0 0 0 2px rgba(0, 197, 168, 0.12);
}

.iw-mig-source[b-sot3gahefe] {
    margin-left: auto;
    font-size: 0.72rem;
    color: var(--crm-text-3, #7C8AA3);
    cursor: help;
}

.iw-mig-reject[b-sot3gahefe] {
    margin-left: 0.4rem;
    padding: 0.12rem 0.5rem;
    font-size: 0.72rem;
}

.iw-mig-card-rejected[b-sot3gahefe] {
    opacity: 0.55;
    background: #FAFBFC;
}

.iw-mig-card-rejected .iw-mig-card-header[b-sot3gahefe] {
    background: none;
}

.iw-mig-props[b-sot3gahefe] {
    padding: 0.5rem 0.85rem 0.8rem;
}

.iw-mig-props-head[b-sot3gahefe],
.iw-mig-props[b-sot3gahefe]  .iw-prop-row {
    display: grid;
    grid-template-columns: 36px 180px 1fr 130px 1fr;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0;
    font-size: 0.82rem;
}

.iw-mig-props-head[b-sot3gahefe] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3, #7C8AA3);
    border-bottom: 1px solid var(--crm-border, #E4E9F1);
    margin-bottom: 0.2rem;
}

.iw-mig-props[b-sot3gahefe]  .iw-prop-row + .iw-prop-row {
    border-top: 1px dashed var(--crm-border, #E4E9F1);
}

.iw-mig-props[b-sot3gahefe]  .iw-prop-row-rejected {
    opacity: 0.45;
}

.iw-mig-props[b-sot3gahefe]  .iw-prop-csv-col {
    font-family: var(--crm-font-mono, monospace);
    font-size: 0.78rem;
    color: var(--crm-text-2, #4A5B78);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.iw-mig-props[b-sot3gahefe]  .iw-prop-csv-col i {
    color: var(--crm-text-3, #7C8AA3);
    margin-right: 0.3rem;
}

.iw-mig-props[b-sot3gahefe]  .iw-prop-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.74rem;
    color: var(--crm-text-3, #7C8AA3);
    overflow: hidden;
}

.iw-mig-props[b-sot3gahefe]  .iw-prop-rate {
    flex-shrink: 0;
    padding: 0.08rem 0.4rem;
    border-radius: 8px;
    background: rgba(0, 197, 168, 0.1);
    color: var(--crm-teal, #00C5A8);
    font-weight: 600;
}

.iw-mig-props[b-sot3gahefe]  .iw-prop-samples {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: help;
}

.iw-mig-props[b-sot3gahefe]  .iw-prop-options {
    grid-column: 3 / -1;
    padding-top: 0.3rem;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    align-items: center;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-chip {
    padding: 0.15rem 0.55rem;
    border-radius: 12px;
    border: 1px solid var(--crm-border, #E4E9F1);
    background: #FFFFFF;
    font-size: 0.74rem;
    color: var(--crm-text-2, #4A5B78);
    cursor: pointer;
    transition: background 100ms, color 100ms, border-color 100ms;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-chip:hover {
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-text-1, #0D2447);
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-chip.on {
    background: rgba(0, 197, 168, 0.14);
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-teal, #00C5A8);
    font-weight: 600;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-add {
    border: 1px dashed var(--crm-border, #E4E9F1);
    background: transparent;
    padding: 0.15rem 0.55rem;
    border-radius: 12px;
    font-size: 0.74rem;
    color: var(--crm-text-3, #7C8AA3);
    min-width: 120px;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-add:focus {
    outline: none;
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-text-2, #4A5B78);
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-empty {
    margin-top: 0.25rem;
    font-size: 0.72rem;
    color: var(--crm-text-3, #7C8AA3);
    font-style: italic;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-delim-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    margin-bottom: 0.3rem;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-delim-label {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3, #7C8AA3);
    margin-right: 0.15rem;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-delim-chip {
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    border: 1px solid var(--crm-border, #E4E9F1);
    background: #FFFFFF;
    font-family: var(--crm-font-mono, monospace);
    font-size: 0.7rem;
    color: var(--crm-text-2, #4A5B78);
    cursor: pointer;
    transition: background 100ms, color 100ms, border-color 100ms;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-delim-chip:hover {
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-text-1, #0D2447);
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-delim-chip.on {
    background: rgba(0, 197, 168, 0.14);
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-teal, #00C5A8);
    font-weight: 600;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-delim-custom {
    border: 1px dashed var(--crm-border, #E4E9F1);
    background: transparent;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-family: var(--crm-font-mono, monospace);
    font-size: 0.7rem;
    color: var(--crm-text-3, #7C8AA3);
    width: 80px;
}

.iw-mig-props[b-sot3gahefe]  .iw-opt-delim-custom:focus {
    outline: none;
    border-color: var(--crm-teal, #00C5A8);
    color: var(--crm-text-2, #4A5B78);
}

.iw-prop-with-move[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.iw-prop-with-move[b-sot3gahefe] >  .iw-prop-row {
    flex: 1 1 auto;
}

.iw-prop-move-select[b-sot3gahefe] {
    flex: 0 0 auto;
    padding: 0.18rem 0.4rem;
    font-size: 0.72rem;
    border: 1px solid var(--crm-border, #E4E9F1);
    background: #FFFFFF;
    border-radius: 4px;
    color: var(--crm-text-3, #7C8AA3);
    cursor: pointer;
    transition: color 100ms, border-color 100ms;
}

.iw-prop-move-select:hover[b-sot3gahefe],
.iw-prop-move-select:focus[b-sot3gahefe] {
    color: var(--crm-text-1, #0D2447);
    border-color: var(--crm-teal, #00C5A8);
    outline: none;
}

.iw-mig-actions[b-sot3gahefe] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.iw-empty[b-sot3gahefe] {
    padding: 1rem;
    text-align: center;
    color: var(--crm-text-3, #7C8AA3);
    font-style: italic;
}

.iw-mig-handled-banner[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.65rem;
    border-radius: var(--crm-r-sm, 6px);
    background: rgba(108, 92, 231, 0.06);
    border: 1px solid rgba(108, 92, 231, 0.18);
    font-size: 0.78rem;
    color: var(--crm-text-2, #4A5B78);
}

.iw-mig-handled-banner i[b-sot3gahefe] {
    color: #6C5CE7;
}

.iw-mig-handled-toggle[b-sot3gahefe] {
    padding: 0;
    font-size: 0.78rem;
    color: #6C5CE7;
    text-decoration: none;
}

.iw-mig-handled-toggle:hover[b-sot3gahefe] {
    text-decoration: underline;
}

.iw-map-row-handled[b-sot3gahefe] {
    background: rgba(108, 92, 231, 0.03);
    border-left: 2px solid rgba(108, 92, 231, 0.4);
    padding-left: 0.5rem;
}

.iw-map-info[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: 4px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--crm-text-3, #7C8AA3);
    border-radius: 4px;
    cursor: pointer;
    transition: color 120ms, background 120ms;
}

.iw-map-info:hover[b-sot3gahefe] {
    color: var(--crm-teal, #00C5A8);
    background: rgba(0, 197, 168, 0.1);
}

.iw-sample-col-title[b-sot3gahefe] {
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3, #7C8AA3);
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.iw-sample-list[b-sot3gahefe] {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid var(--crm-border, #E4E9F1);
    border-radius: 6px;
    overflow: hidden;
    max-height: 280px;
    overflow-y: auto;
}

.iw-sample-list li[b-sot3gahefe] {
    padding: 0.4rem 0.65rem;
    font-size: 0.82rem;
    font-family: var(--crm-font-mono, monospace);
    color: var(--crm-text-1, #0D2447);
    border-bottom: 1px solid var(--crm-border, #E4E9F1);
}

.iw-sample-list li:last-child[b-sot3gahefe] {
    border-bottom: none;
}

.iw-sample-list li:nth-child(even)[b-sot3gahefe] {
    background: #FAFBFC;
}

.iw-val-chip[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    padding: 0 0.35rem;
    border-radius: 4px;
    font-size: 0.74rem;
    cursor: help;
}

.iw-val-match[b-sot3gahefe] {
    color: #15803D;
    background: rgba(34, 197, 94, 0.12);
}

.iw-val-mismatch[b-sot3gahefe] {
    color: #B91C1C;
    background: rgba(239, 68, 68, 0.12);
}

.iw-val-partial[b-sot3gahefe] {
    color: #A16207;
    background: #FEF3C7;
}

.iw-map-multi-panel[b-sot3gahefe] {
    margin: -0.25rem 0 0.65rem 1.5rem;
    padding: 0.5rem 0.75rem;
    border-left: 2px solid rgba(0, 197, 168, 0.4);
    background: rgba(0, 197, 168, 0.04);
    border-radius: 0 4px 4px 0;
    font-size: 0.78rem;
}

.iw-map-multi-row[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 0.25rem 0;
}

.iw-map-multi-label[b-sot3gahefe] {
    color: var(--crm-text-3, #7C8AA3);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.66rem;
    min-width: 96px;
}

.iw-delim-chip[b-sot3gahefe] {
    padding: 0.15rem 0.55rem;
    border-radius: 4px;
    border: 1px solid var(--crm-border, #E4E9F1);
    background: #FFFFFF;
    font-size: 0.74rem;
    cursor: pointer;
    color: var(--crm-text-2, #4A5B78);
}

.iw-delim-chip.on[b-sot3gahefe],
.iw-delim-chip:hover[b-sot3gahefe] {
    border-color: var(--crm-teal, #00C5A8);
    background: rgba(0, 197, 168, 0.12);
    color: var(--crm-text-1, #0D2447);
}

.iw-delim-custom[b-sot3gahefe] {
    display: inline-block;
}

.iw-map-multi-preview[b-sot3gahefe] {
    margin-left: 0.5rem;
    font-family: var(--crm-font-mono, monospace);
    font-size: 0.72rem;
    color: var(--crm-text-3, #7C8AA3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 320px;
}

/* ── Grouped resolver panels (Preview step) ───────────────────────────── */

.iw-resolve-panel[b-sot3gahefe] {
    border: 1px solid var(--crm-border, #DCE2EB);
    border-radius: 6px;
    background: var(--crm-bg-1, #FFFFFF);
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.iw-resolve-header[b-sot3gahefe] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    background: var(--crm-bg-2, #F5F7FA);
    cursor: pointer;
    user-select: none;
    font-size: 0.86rem;
    color: var(--crm-text-1, #1E2A3A);
}

.iw-resolve-header:hover[b-sot3gahefe] {
    background: var(--crm-bg-3, #EDF1F6);
}

.iw-resolve-header i[b-sot3gahefe] {
    color: var(--crm-text-3, #7C8AA3);
    font-size: 0.85rem;
}

.iw-resolve-summary[b-sot3gahefe] {
    margin-left: auto;
    font-size: 0.76rem;
    color: var(--crm-text-3, #7C8AA3);
    font-weight: 400;
}

.iw-resolve-table[b-sot3gahefe] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.iw-resolve-table thead th[b-sot3gahefe] {
    text-align: left;
    padding: 0.4rem 0.75rem;
    font-weight: 500;
    font-size: 0.74rem;
    color: var(--crm-text-3, #7C8AA3);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: var(--crm-bg-1, #FFFFFF);
    border-bottom: 1px solid var(--crm-border, #DCE2EB);
}

.iw-resolve-table tbody td[b-sot3gahefe] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--crm-border-1, #EEF1F5);
    vertical-align: middle;
}

.iw-resolve-table tbody tr:last-child td[b-sot3gahefe] {
    border-bottom: none;
}

.iw-resolve-source[b-sot3gahefe] {
    font-family: var(--crm-font-mono, monospace);
    color: var(--crm-text-2, #4A5568);
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.iw-resolve-count[b-sot3gahefe] {
    color: var(--crm-text-1, #1E2A3A);
    font-weight: 500;
}

.iw-resolve-diverged[b-sot3gahefe] {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.05rem 0.4rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--crm-orange-2, #B45309);
    background: var(--crm-orange-bg, #FEF3C7);
    border-radius: 10px;
}

.iw-resolve-current[b-sot3gahefe] {
    color: var(--crm-text-2, #4A5568);
}

/* ── Row detail trigger + modal ───────────────────────────────────────── */

.iw-action-cell[b-sot3gahefe] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.iw-row-detail-btn[b-sot3gahefe] {
    appearance: none;
    background: transparent;
    border: 1px solid transparent;
    color: var(--crm-text-3, #7C8AA3);
    padding: 0.1rem 0.3rem;
    border-radius: 4px;
    cursor: pointer;
    line-height: 1;
    font-size: 0.82rem;
}

.iw-row-detail-btn:hover[b-sot3gahefe] {
    color: var(--crm-teal, #0D9488);
    background: var(--crm-bg-2, #F5F7FA);
    border-color: var(--crm-border, #DCE2EB);
}

.iw-detail-table[b-sot3gahefe] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.iw-detail-table th[b-sot3gahefe] {
    text-align: left;
    font-weight: 500;
    color: var(--crm-text-3, #7C8AA3);
    padding: 0.35rem 0.6rem 0.35rem 0;
    vertical-align: middle;
    width: 35%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 0;
}

.iw-detail-table td[b-sot3gahefe] {
    padding: 0.25rem 0;
    vertical-align: middle;
    color: var(--crm-text-1, #1E2A3A);
}

.iw-detail-table tbody tr[b-sot3gahefe] {
    border-bottom: 1px solid var(--crm-border-1, #EEF1F5);
}

.iw-detail-table tbody tr:last-child[b-sot3gahefe] {
    border-bottom: none;
}

.iw-detail-csv td[b-sot3gahefe] {
    word-break: break-word;
    color: var(--crm-text-2, #4A5568);
    font-family: var(--crm-font-mono, monospace);
    font-size: 0.78rem;
}

.iw-detail-empty td[b-sot3gahefe],
.iw-detail-empty th[b-sot3gahefe] {
    color: var(--crm-text-4, #A0AEC0);
}

.iw-detail-tags[b-sot3gahefe] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.4rem;
}

/* ── Batched-import progress animations ─────────────────────────────── */

/* Striped shimmer on the progress bar while auto-pilot is running so the
   user has continuous visual confirmation the system is working even when
   the percentage isn't advancing (mid-analyze, mid-commit). */
@keyframes iw-batch-progress-shimmer-b-sot3gahefe {
    0% { background-position: 200% 0; }
    100% { background-position: 0 0; }
}

.iw-batch-progress-bar[b-sot3gahefe] {
    background-image: linear-gradient(
        90deg,
        var(--crm-teal) 0%,
        rgba(255, 255, 255, 0.35) 50%,
        var(--crm-teal) 100%
    );
}

/* Pulse the pill that the auto-pilot is actively working on. Subtle so it
   reads as activity, not a notification. */
@keyframes iw-batch-pill-pulse-b-sot3gahefe {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(33, 150, 160, 0.45); }
    50%      { transform: scale(1.08); box-shadow: 0 0 0 4px rgba(33, 150, 160, 0); }
}

.iw-batch-pill-pulse[b-sot3gahefe] {
    animation: iw-batch-pill-pulse-b-sot3gahefe 1.4s ease-in-out infinite;
}

/* Clickable action chip on preview rows so users can override the
   analyzer's Update suggestion. Subtle hover lifts the chip to read as
   interactive without overpowering the regular static-chip styling. */
.iw-action-toggle[b-sot3gahefe] {
    cursor: pointer;
    border: 1px dashed transparent;
    padding: .15rem .45rem;
    line-height: 1.1;
    transition: background-color 150ms ease, border-color 150ms ease, transform 100ms ease;
}

.iw-action-toggle:hover[b-sot3gahefe] {
    border-color: currentColor;
    transform: translateY(-1px);
}
/* /Shared/CustomObjectAddInlineForm.razor.rz.scp.css */
.rop-add-panel[b-agh3g56kh1] {
    padding: 12px 16px;
}

.rop-add-tabs[b-agh3g56kh1] {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}

.rop-add-tab[b-agh3g56kh1] {
    background: none;
    border: 1px solid var(--crm-border);
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 0.8rem;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: all var(--crm-fast) ease;
}

.rop-add-tab.active[b-agh3g56kh1] {
    background: var(--crm-navy);
    color: white;
    border-color: var(--crm-navy);
}

.rop-add-tab:hover:not(.active)[b-agh3g56kh1] {
    background: var(--crm-bg);
}

.rop-search-row[b-agh3g56kh1] {
    position: relative;
    margin-bottom: 8px;
}

.rop-searching-indicator[b-agh3g56kh1] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.rop-results[b-agh3g56kh1] {
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid var(--crm-border);
    border-radius: 6px;
    background: white;
    margin-bottom: 8px;
}

.rop-result-item[b-agh3g56kh1] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    cursor: pointer;
    border-bottom: 1px solid var(--crm-border);
    transition: background var(--crm-fast) ease;
}

.rop-result-item:last-child[b-agh3g56kh1] {
    border-bottom: none;
}

.rop-result-item:hover[b-agh3g56kh1] {
    background: var(--crm-bg);
}

.rop-result-item.selected[b-agh3g56kh1] {
    background: color-mix(in srgb, var(--crm-teal) 10%, white);
}

.rop-result-name[b-agh3g56kh1] {
    font-size: 0.875rem;
    font-weight: 500;
}

.rop-result-subtitle[b-agh3g56kh1] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.rop-label-section[b-agh3g56kh1] {
    margin: 10px 0 8px;
}

.rop-label-section-title[b-agh3g56kh1] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--crm-text-2);
    display: block;
    margin-bottom: 6px;
}

.rop-label-options[b-agh3g56kh1] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.rop-label-check[b-agh3g56kh1] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid var(--crm-border);
    background: white;
    margin: 2px;
}

.rop-label-check:hover[b-agh3g56kh1] {
    background: var(--crm-bg);
}

.rop-add-actions[b-agh3g56kh1] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}
/* /Shared/Dashboard/DashboardCardConfig.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   DashboardCardConfig — adaptive card configuration form
   ═══════════════════════════════════════════════════════ */

.db-config[b-ygsuxyy3rj] {
    animation: db-config-in-b-ygsuxyy3rj 0.2s var(--crm-ease) both;
}

@keyframes db-config-in-b-ygsuxyy3rj {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Color swatch picker ── */

.db-config__colors[b-ygsuxyy3rj] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.db-config__color-swatch[b-ygsuxyy3rj] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid transparent;
    cursor: pointer;
    transition:
        transform var(--crm-fast) ease,
        border-color var(--crm-fast) ease,
        box-shadow var(--crm-fast) ease;
    position: relative;
    overflow: hidden;
}

.db-config__color-swatch:hover[b-ygsuxyy3rj] {
    transform: scale(1.15);
}

.db-config__color-swatch.active[b-ygsuxyy3rj] {
    border-color: var(--crm-navy);
    box-shadow: 0 0 0 2px var(--crm-white), 0 0 0 4px var(--crm-navy);
    transform: scale(1.1);
}

/* Extra color variants not in the default text-bg set */
.db-config__swatch-danger[b-ygsuxyy3rj] {
    background: #EF4444 !important;
}

.db-config__swatch-secondary[b-ygsuxyy3rj] {
    background: var(--crm-text-3) !important;
}

/* ── Quick links editor ── */

.db-config__links[b-ygsuxyy3rj] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.db-config__link-row[b-ygsuxyy3rj] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.db-config__link-row .form-control[b-ygsuxyy3rj] {
    flex: 1;
}

.db-config__link-row .btn[b-ygsuxyy3rj] {
    flex-shrink: 0;
}
/* /Shared/Dashboard/DashboardCardPicker.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   DashboardCardPicker — card type selection modal
   ═══════════════════════════════════════════════════════ */

.db-picker__grid[b-5lpitofhv4] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.db-picker__option[b-5lpitofhv4] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 1rem;
    border: 1.5px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    background: var(--crm-white);
    cursor: pointer;
    text-align: left;
    transition:
        border-color var(--crm-fast) ease,
        background-color var(--crm-fast) ease,
        transform var(--crm-fast) ease,
        box-shadow var(--crm-fast) ease;
}

.db-picker__option:hover[b-5lpitofhv4] {
    border-color: var(--crm-teal);
    background: var(--crm-teal-50);
    transform: translateX(4px);
    box-shadow: var(--crm-shadow-xs);
}

.db-picker__icon[b-5lpitofhv4] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: var(--crm-r-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.db-picker__icon--metric[b-5lpitofhv4] {
    background: color-mix(in srgb, var(--crm-navy) 10%, white);
    color: var(--crm-navy);
    box-shadow: inset 0 0 0 1px rgba(13, 36, 71, 0.12);
}

.db-picker__icon--list[b-5lpitofhv4] {
    background: color-mix(in srgb, var(--crm-teal) 12%, white);
    color: var(--crm-teal-600);
    box-shadow: inset 0 0 0 1px rgba(0, 197, 168, 0.2);
}

.db-picker__icon--tasks[b-5lpitofhv4] {
    background: color-mix(in srgb, #6366F1 10%, white);
    color: #4F46E5;
    box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.18);
}

.db-picker__icon--links[b-5lpitofhv4] {
    background: color-mix(in srgb, #F59E0B 10%, white);
    color: #B45309;
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.18);
}

.db-picker__text[b-5lpitofhv4] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.db-picker__text strong[b-5lpitofhv4] {
    font-size: 0.9rem;
    color: var(--crm-navy);
}

.db-picker__text small[b-5lpitofhv4] {
    font-size: 0.78rem;
    color: var(--crm-text-2);
    line-height: 1.3;
}
/* /Shared/Dashboard/DashboardEditor.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   DashboardEditor — customize mode panel
   ═══════════════════════════════════════════════════════ */

.db-editor[b-j5peike2ie] {
    background: var(--crm-white);
    border: 2px dashed var(--crm-border-2);
    border-radius: var(--crm-r);
    padding: 1.25rem;
    animation: db-editor-in-b-j5peike2ie 0.25s var(--crm-ease) both;
}

@keyframes db-editor-in-b-j5peike2ie {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.db-editor__header[b-j5peike2ie] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--crm-border);
}

.db-editor__title[b-j5peike2ie] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--crm-navy);
    margin: 0;
    display: flex;
    align-items: center;
}

.db-editor__item-content[b-j5peike2ie] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-text);
}

.db-editor__type-badge[b-j5peike2ie] {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 20px;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: var(--crm-surface-2);
    color: var(--crm-text-2);
    border: 1px solid var(--crm-border);
    flex-shrink: 0;
}

.db-editor__item-title[b-j5peike2ie] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.db-editor__add-btn[b-j5peike2ie] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.65rem;
    margin-top: 0.5rem;
    border: 1.5px dashed var(--crm-border-2);
    border-radius: var(--crm-r-sm);
    background: transparent;
    color: var(--crm-text-2);
    font-family: 'Outfit', sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition:
        color var(--crm-fast) ease,
        border-color var(--crm-fast) ease,
        background-color var(--crm-fast) ease;
}

.db-editor__add-btn:hover[b-j5peike2ie] {
    color: var(--crm-teal-600);
    border-color: var(--crm-teal);
    background: var(--crm-teal-50);
}
/* /Shared/Dashboard/DashboardMetricCard.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   DashboardMetricCard — clickable stat tile
   Inherits text-bg-* theme from app.css stat card styles
   ═══════════════════════════════════════════════════════ */

.db-metric[b-l66jydv297] {
    position: relative;
    overflow: hidden;
    border-radius: var(--crm-r);
    padding: 1.25rem;
    cursor: pointer;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    min-height: 100px;
    transition:
        transform var(--crm-mid) var(--crm-ease),
        box-shadow var(--crm-mid) var(--crm-ease);
}

.db-metric:hover[b-l66jydv297] {
    transform: translateY(-4px) scale(1.015);
    box-shadow: var(--crm-shadow-lift);
}

.db-metric:active[b-l66jydv297] {
    transform: translateY(-1px) scale(1.005);
    transition-duration: 0.08s;
}

.db-metric:focus-visible[b-l66jydv297] {
    outline: 2px solid var(--crm-teal);
    outline-offset: 2px;
}

/* Decorative circle — matches app.css stat card accent */
.db-metric[b-l66jydv297]::after {
    content: '';
    position: absolute;
    top: -24px;
    right: -24px;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: rgba(255,255,255,0.09);
    pointer-events: none;
}

/* Second decorative element — subtle diagonal line */
.db-metric[b-l66jydv297]::before {
    content: '';
    position: absolute;
    bottom: -12px;
    left: -12px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255,255,255,0.045);
    pointer-events: none;
}

.db-metric__body[b-l66jydv297] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    position: relative;
    z-index: 1;
}

.db-metric__label[b-l66jydv297] {
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.72;
}

.db-metric__count[b-l66jydv297] {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    letter-spacing: -0.03em;
    line-height: 1;
}

/* Arrow indicator */
.db-metric__arrow[b-l66jydv297] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    font-size: 0.8rem;
    opacity: 0;
    transform: translateX(-6px);
    transition:
        opacity var(--crm-mid) var(--crm-ease),
        transform var(--crm-mid) var(--crm-ease);
}

.db-metric:hover .db-metric__arrow[b-l66jydv297] {
    opacity: 1;
    transform: translateX(0);
}

/* Loading skeleton pulse */
.db-metric__count--skeleton[b-l66jydv297] {
    display: inline-block;
    width: 60px;
    height: 2.4rem;
    background: rgba(255,255,255,0.15);
    border-radius: var(--crm-r-sm);
    animation: db-pulse-b-l66jydv297 1.2s ease-in-out infinite;
}

@keyframes db-pulse-b-l66jydv297 {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 0.8; }
}

/* ── Loading state ── */
.db-metric--loading[b-l66jydv297] {
    pointer-events: none;
}
/* /Shared/Dashboard/DashboardMyActivities.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   DashboardMyActivities — activity list card
   ═══════════════════════════════════════════════════════ */

.db-list[b-votgelamee] {
    height: 100%;
}

.db-list:hover[b-votgelamee] {
    transform: none;
    box-shadow: var(--crm-shadow-sm);
}
/* /Shared/Dashboard/DashboardQuickLinks.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   DashboardQuickLinks — curated link card
   ═══════════════════════════════════════════════════════ */

.db-list[b-87zqut91a7] {
    height: 100%;
}

.db-list:hover[b-87zqut91a7] {
    transform: none;
    box-shadow: var(--crm-shadow-sm);
}

.db-quick-link[b-87zqut91a7] {
    display: flex;
    align-items: center;
    color: var(--crm-navy-600);
    font-weight: 500;
    font-size: 0.9rem;
    text-decoration: none;
    transition: color var(--crm-fast) ease;
}

.db-quick-link:hover[b-87zqut91a7] {
    color: var(--crm-teal-600);
}

.db-quick-link__icon[b-87zqut91a7] {
    color: var(--crm-text-3);
    font-size: 0.75rem;
    transition: color var(--crm-fast) ease, transform var(--crm-fast) ease;
}

.db-quick-link:hover .db-quick-link__icon[b-87zqut91a7] {
    color: var(--crm-teal);
    transform: translate(1px, -1px);
}
/* /Shared/Dashboard/DashboardRecentList.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   DashboardRecentList — list card for recent items
   ═══════════════════════════════════════════════════════ */

.db-list[b-qmdfex11zd] {
    height: 100%;
}

/* Prevent the hover lift from the global .card:hover */
.db-list:hover[b-qmdfex11zd] {
    transform: none;
    box-shadow: var(--crm-shadow-sm);
}
/* /Shared/DataActionsMenu.razor.rz.scp.css */
.data-actions-menu[b-h5xhcvz777] {
    position: relative;
    display: inline-block;
}

/* ── Toggle ─────────────────────────────────────────────────────────
   Borderless at rest so the kebab recedes into the header. Hover lifts
   it to a subtle pill; the open state inverts to filled navy so the
   user always knows the menu is theirs. */

.data-actions-toggle[b-h5xhcvz777] {
    background: transparent;
    border: 1px solid transparent;
    color: var(--crm-text-2, #4b5563);
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: var(--crm-r-sm, 6px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.data-actions-toggle:hover[b-h5xhcvz777] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-navy, #0f172a);
}

.data-actions-toggle:focus-visible[b-h5xhcvz777] {
    outline: 2px solid var(--crm-teal, #00C5A8);
    outline-offset: 2px;
}

.data-actions-menu.is-open .data-actions-toggle[b-h5xhcvz777] {
    background: var(--crm-navy, #1f2937);
    color: #fff;
    border-color: var(--crm-navy, #1f2937);
}

.data-actions-toggle .bi[b-h5xhcvz777] {
    font-size: 1.05rem;
    line-height: 1;
}

/* ── Panel ──────────────────────────────────────────────────────────
   Off-white surface with backdrop blur reads as a raised plate, not a
   stark card. Two-layer shadow: a tight contact + a soft ambient. */

.data-actions-panel[b-h5xhcvz777] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1050;
    min-width: 200px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 12px 24px -8px rgba(15, 23, 42, 0.18);
    padding: 6px;
    transform-origin: top right;
    animation: dam-reveal-b-h5xhcvz777 140ms cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes dam-reveal-b-h5xhcvz777 {
    from { opacity: 0; transform: translateY(-4px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

.data-actions-backdrop[b-h5xhcvz777] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

/* ── Section label ──────────────────────────────────────────────────
   Tiny uppercase tag at the top of the panel; converts the surface
   from "list of buttons" into "menu with grouping intent." */

.data-actions-section-label[b-h5xhcvz777] {
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--crm-text-3, #9ca3af);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 8px 10px 4px;
}

/* ── Menu items ─────────────────────────────────────────────────────
   Grid with a fixed icon column forces vertical alignment regardless
   of which Bootstrap icon is used. Lighter font weight + tighter
   padding moves the rows from "form buttons" to "menu items." */

.data-actions-panel .btn[b-h5xhcvz777],
.data-actions-panel a.btn[b-h5xhcvz777],
.data-actions-panel a[b-h5xhcvz777] {
    border: none;
    background: transparent;
    color: var(--crm-text-1, #1f2937);
    font-weight: 450;
    font-size: 0.82rem;
    letter-spacing: 0.005em;
    padding: 7px 10px;
    border-radius: 6px;
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: center;
    gap: 10px;
    text-align: left;
    width: 100%;
    cursor: pointer;
    text-decoration: none;
    transition: background 120ms ease, color 120ms ease;
}

.data-actions-panel .btn i[b-h5xhcvz777],
.data-actions-panel a i[b-h5xhcvz777] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.92rem;
    line-height: 1;
    justify-self: center;
    transition: color 120ms ease;
}

.data-actions-panel .btn:hover:not(:disabled)[b-h5xhcvz777],
.data-actions-panel a:hover[b-h5xhcvz777] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-navy, #0f172a);
}

.data-actions-panel .btn:hover:not(:disabled) i[b-h5xhcvz777],
.data-actions-panel a:hover i[b-h5xhcvz777] {
    color: var(--crm-teal-600, #009E88);
}

.data-actions-panel .btn:disabled[b-h5xhcvz777] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Divider — ready for grouped/destructive items as menus grow. */
.data-actions-panel hr[b-h5xhcvz777] {
    margin: 4px 2px;
    border: 0;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}
/* /Shared/DynamicFieldDisplay.razor.rz.scp.css */
/* DynamicFieldDisplay — value row + info affordance + sub-property summary */

.dfd-value-row[b-4spi8jveol] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.dfd-value[b-4spi8jveol] {
    display: inline;
    word-break: break-word;
}

.dfd-info-btn[b-4spi8jveol] {
    background: transparent;
    border: none;
    color: var(--crm-text-3);
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background-color var(--crm-fast) ease, color var(--crm-fast) ease, transform var(--crm-fast) var(--crm-ease);
}

.dfd-info-btn:hover[b-4spi8jveol],
.dfd-info-btn:focus-visible[b-4spi8jveol] {
    background: rgba(var(--crm-teal-rgb), 0.12);
    color: var(--crm-teal-600);
    outline: none;
    transform: scale(1.08);
}

.dfd-info-btn i[b-4spi8jveol] {
    font-size: 0.95rem;
}

.dfd-meta-summary[b-4spi8jveol] {
    display: block;
    margin-top: 0.18rem;
    font-size: 0.78rem;
    color: var(--crm-text-3);
    line-height: 1.35;
}

.dfd-meta-pair b[b-4spi8jveol] {
    color: var(--crm-text-2);
    font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
    .dfd-info-btn[b-4spi8jveol] { transition: none; }
    .dfd-info-btn:hover[b-4spi8jveol], .dfd-info-btn:focus-visible[b-4spi8jveol] { transform: none; }
}
/* /Shared/DynamicFieldInput.razor.rz.scp.css */
.dyn-multi-picker[b-0hhdin7xfk] {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 6px;
    padding: 8px;
    background: var(--bs-body-bg, #fff);
}

.dyn-multi-chips[b-0hhdin7xfk] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 6px;
}

.dyn-multi-chip[b-0hhdin7xfk] {
    display: inline-flex;
    align-items: center;
    padding: 4px 4px 4px 8px;
    font-weight: 500;
}

.dyn-multi-chip .btn-close[b-0hhdin7xfk] {
    width: 0.6em;
    height: 0.6em;
    padding: 0;
    opacity: 0.85;
}

.dyn-multi-results[b-0hhdin7xfk] {
    max-height: 220px;
    overflow-y: auto;
    margin-top: 6px;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 4px;
    background: var(--bs-body-bg, #fff);
}

.dyn-multi-result[b-0hhdin7xfk] {
    display: block;
    width: 100%;
    text-align: left;
    padding: 6px 10px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--bs-border-color-translucent, #f0f0f0);
    cursor: pointer;
    font-size: 0.9rem;
}

.dyn-multi-result:last-child[b-0hhdin7xfk] {
    border-bottom: 0;
}

.dyn-multi-result:hover[b-0hhdin7xfk],
.dyn-multi-result:focus-visible[b-0hhdin7xfk] {
    background: var(--bs-secondary-bg, #f5f5f5);
}

.dyn-multi-hint[b-0hhdin7xfk] {
    background: var(--bs-light, #fafafa);
    border-top: 1px solid var(--bs-border-color-translucent, #f0f0f0);
}

/* Sub-property accordion — smooth-height via grid-template-rows trick */
.dyn-sub-accordion[b-0hhdin7xfk] {
    margin-top: 0.4rem;
    border-top: 1px dashed var(--crm-border, #e3e6eb);
    padding-top: 0.4rem;
}

.dyn-sub-toggle[b-0hhdin7xfk] {
    background: transparent;
    border: none;
    padding: 0.25rem 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--crm-teal-600, #097a6b);
    font-size: 0.8rem;
    cursor: pointer;
    transition: color var(--crm-fast, 120ms) ease;
}

.dyn-sub-toggle:hover[b-0hhdin7xfk],
.dyn-sub-toggle:focus-visible[b-0hhdin7xfk] {
    color: var(--crm-teal, #0fb39e);
    outline: none;
}

.dyn-sub-chevron[b-0hhdin7xfk] {
    transition: transform var(--crm-fast, 120ms) var(--crm-ease, ease);
}

.dyn-sub-open .dyn-sub-chevron[b-0hhdin7xfk] {
    transform: rotate(180deg);
}

.dyn-sub-title[b-0hhdin7xfk] { font-weight: 600; }
.dyn-sub-count[b-0hhdin7xfk] {
    color: var(--crm-text-3, #6b7280);
    font-weight: 400;
    font-size: 0.74rem;
}
.dyn-sub-count-muted[b-0hhdin7xfk] { font-style: italic; }

.dyn-sub-grid[b-0hhdin7xfk] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--crm-fast, 120ms) var(--crm-ease, ease);
}

.dyn-sub-open .dyn-sub-grid[b-0hhdin7xfk] {
    grid-template-rows: 1fr;
}

.dyn-sub-body[b-0hhdin7xfk] {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 0.5rem;
}

.dyn-sub-field[b-0hhdin7xfk] {
    display: grid;
    grid-template-columns: minmax(7rem, 9rem) 1fr;
    gap: 0.5rem;
    align-items: center;
}

.dyn-sub-label[b-0hhdin7xfk] {
    font-size: 0.78rem;
    color: var(--crm-text-2, #4b5563);
    font-weight: 500;
    margin: 0;
}

@media (prefers-reduced-motion: reduce) {
    .dyn-sub-grid[b-0hhdin7xfk],
    .dyn-sub-chevron[b-0hhdin7xfk] { transition: none; }
}

/* ─────────────────────────────────────────────────────────
   Tiered Dropdown / MultiSelect (pills · popover · typeahead)
   ───────────────────────────────────────────────────────── */

/* Pill row — tiny option sets (≤5). Selectable buttons, active state lights up. */
.dyn-pill-row[b-0hhdin7xfk] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.dyn-pill[b-0hhdin7xfk] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 6px 14px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--crm-text-2);
    background: var(--crm-white);
    border: 1px solid var(--crm-border-2);
    border-radius: 999px;
    cursor: pointer;
    line-height: 1.4;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, transform 120ms ease;
}

.dyn-pill:hover[b-0hhdin7xfk],
.dyn-pill:focus-visible[b-0hhdin7xfk] {
    color: var(--crm-text);
    background: var(--crm-surface-2);
    border-color: var(--crm-text-3);
    outline: none;
}

.dyn-pill:active[b-0hhdin7xfk] {
    transform: scale(0.98);
}

.dyn-pill.active[b-0hhdin7xfk] {
    color: var(--crm-white);
    background: var(--crm-teal, #0fb39e);
    border-color: var(--crm-teal, #0fb39e);
}

.dyn-pill-check[b-0hhdin7xfk] {
    font-size: 0.85rem;
}

/* Popover container — wraps trigger + chips + panel. Position root for absolute panel. */
.dyn-pop[b-0hhdin7xfk] {
    position: relative;
}

/* Selected-chips row (MultiSelect only). Sits above the trigger. */
.dyn-pop-chips[b-0hhdin7xfk] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.dyn-pop-chip[b-0hhdin7xfk] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 4px 4px 10px;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--crm-text);
    background: var(--crm-surface-2);
    border: 1px solid var(--crm-border);
    border-radius: 999px;
}

.dyn-pop-chip-x[b-0hhdin7xfk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    padding: 0;
    color: var(--crm-text-3);
    background: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}

.dyn-pop-chip-x:hover[b-0hhdin7xfk],
.dyn-pop-chip-x:focus-visible[b-0hhdin7xfk] {
    color: var(--crm-text);
    background: var(--crm-border);
    outline: none;
}

.dyn-pop-chip-x .bi[b-0hhdin7xfk] {
    font-size: 0.85rem;
}

/* Trigger — looks like an input. */
.dyn-pop-trigger[b-0hhdin7xfk] {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    padding: 0.4rem 0.7rem;
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--crm-text);
    background: var(--crm-white);
    border: 1px solid var(--crm-border-2);
    border-radius: 0.5rem;
    cursor: pointer;
    text-align: left;
    transition: border-color 120ms ease, background-color 120ms ease, box-shadow 160ms ease;
}

.dyn-pop-trigger:hover[b-0hhdin7xfk] {
    border-color: var(--crm-text-3);
}

.dyn-pop-trigger:focus-visible[b-0hhdin7xfk] {
    border-color: var(--crm-teal, #0fb39e);
    box-shadow: 0 0 0 3px rgba(15, 179, 158, 0.15);
    outline: none;
}

.dyn-pop-trigger--empty .dyn-pop-trigger-text[b-0hhdin7xfk] {
    color: var(--crm-text-3);
}

.dyn-pop-trigger-text[b-0hhdin7xfk] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dyn-pop-trigger-icon[b-0hhdin7xfk] {
    flex: 0 0 auto;
    color: var(--crm-text-3);
    font-size: 0.85rem;
    transition: transform 160ms ease;
}

/* Backdrop — transparent click-capture. */
.dyn-pop-backdrop[b-0hhdin7xfk] {
    position: fixed;
    inset: 0;
    background: transparent;
    z-index: 900;
    animation: crm-fade-in 120ms ease;
}

/* Popover panel — anchored below the trigger. */
.dyn-pop-panel[b-0hhdin7xfk] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 901;
    min-width: 240px;
    max-height: 320px;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: 0.55rem;
    box-shadow:
        0 12px 28px rgba(13, 36, 71, 0.12),
        0 2px 6px rgba(13, 36, 71, 0.06);
    transform-origin: top left;
    animation: crm-pop-scale-b-0hhdin7xfk 140ms cubic-bezier(0.16, 0.84, 0.44, 1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

@keyframes crm-pop-scale-b-0hhdin7xfk {
    from { opacity: 0; transform: scale(0.96) translateY(-4px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}

.dyn-pop-search[b-0hhdin7xfk] {
    width: 100%;
    padding: 0.55rem 0.75rem;
    font-size: 0.88rem;
    color: var(--crm-text);
    background: var(--crm-white);
    border: none;
    border-bottom: 1px solid var(--crm-border);
    outline: none;
}

.dyn-pop-search[b-0hhdin7xfk]::placeholder {
    color: var(--crm-text-3);
}

.dyn-pop-search:focus[b-0hhdin7xfk] {
    background: var(--crm-surface-2);
}

.dyn-pop-list[b-0hhdin7xfk] {
    overflow-y: auto;
    flex: 1 1 auto;
    padding: 4px 0;
}

.dyn-pop-option[b-0hhdin7xfk] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.45rem 0.85rem;
    font-size: 0.88rem;
    color: var(--crm-text);
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
    transition: background-color 100ms ease;
}

.dyn-pop-option:hover[b-0hhdin7xfk],
.dyn-pop-option:focus-visible[b-0hhdin7xfk] {
    background: var(--crm-surface-2);
    outline: none;
}

/* Label fills available row width so it sits immediately next to the check. */
.dyn-pop-option-label[b-0hhdin7xfk] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Trailing check icon on the Dropdown (single-select) selected row. */
.dyn-pop-option-trailing[b-0hhdin7xfk] {
    flex: 0 0 auto;
    color: var(--crm-teal, #0fb39e);
    font-size: 1rem;
}

.dyn-pop-option--selected[b-0hhdin7xfk] {
    color: var(--crm-text);
    font-weight: 500;
    background: var(--crm-surface-2);
}

.dyn-pop-option--selected:hover[b-0hhdin7xfk] {
    background: var(--crm-surface-2);
}

.dyn-pop-option--selected .bi-check-square-fill[b-0hhdin7xfk] {
    color: var(--crm-teal, #0fb39e);
}

.dyn-pop-option-check[b-0hhdin7xfk] {
    flex: 0 0 auto;
    width: 1.1rem;
    color: var(--crm-text-3);
    font-size: 1.05rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.dyn-pop-option--clear[b-0hhdin7xfk] {
    color: var(--crm-text-3);
    font-style: italic;
    border-bottom: 1px solid var(--crm-border);
    margin-bottom: 4px;
}

.dyn-pop-option--clear:hover[b-0hhdin7xfk] {
    color: var(--crm-text);
}

.dyn-pop-empty[b-0hhdin7xfk] {
    padding: 1rem 0.85rem;
    font-size: 0.85rem;
    color: var(--crm-text-3);
    text-align: center;
}

@media (prefers-reduced-motion: reduce) {
    .dyn-pop-panel[b-0hhdin7xfk],
    .dyn-pop-backdrop[b-0hhdin7xfk],
    .dyn-pop-trigger-icon[b-0hhdin7xfk] { animation: none; transition: none; }
}
/* /Shared/EffectiveDateInput.razor.rz.scp.css */
.crm-eff-date[b-scsxo6cy69] {
  position: relative;
  display: inline-flex;
}

/* ── Toggle chip ──────────────────────────────────────────── */

.crm-eff-date__toggle[b-scsxo6cy69] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.9rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--crm-text-2);
  background: var(--crm-white);
  border: 1px dashed var(--crm-border-2);
  border-radius: 999px;
  cursor: pointer;
  transition: background-color 120ms ease,
              border-color 120ms ease,
              color 120ms ease,
              transform 120ms ease,
              box-shadow 160ms ease;
}

.crm-eff-date__toggle:hover[b-scsxo6cy69],
.crm-eff-date__toggle:focus-visible[b-scsxo6cy69] {
  color: var(--crm-text);
  background: var(--crm-surface-2);
  border-color: var(--crm-text-3);
  outline: none;
}

.crm-eff-date__toggle:active[b-scsxo6cy69] {
  transform: scale(0.98);
}

.crm-eff-date__toggle .bi[b-scsxo6cy69] {
  font-size: 1rem;
  color: var(--crm-text-3);
}

/* "Set" variant: chip becomes solid + navy when a date has been chosen,
   so the user can tell at a glance that this save will carry a backdate. */
.crm-eff-date__toggle--set[b-scsxo6cy69] {
  color: var(--crm-text);
  background: var(--crm-surface-2);
  border-style: solid;
  border-color: var(--crm-border-2);
  box-shadow: inset 0 0 0 1px var(--crm-border);
}

.crm-eff-date__toggle--set .bi[b-scsxo6cy69] {
  color: var(--crm-text);
}

.crm-eff-date__toggle-edit[b-scsxo6cy69] {
  font-size: 0.7rem !important;
  margin-left: 0.15rem;
  opacity: 0.6;
}

/* ── Backdrop & panel ─────────────────────────────────────── */

.crm-eff-date__backdrop[b-scsxo6cy69] {
  position: fixed;
  inset: 0;
  background: transparent;
  z-index: 900;
  cursor: default;
  animation: crm-fade-in 120ms ease;
}

.crm-eff-date__panel[b-scsxo6cy69] {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  z-index: 901;
  width: 360px;
  max-width: calc(100vw - 32px);
  padding: 0.95rem 1.05rem 1rem;
  background: var(--crm-white);
  border: 1px solid var(--crm-border);
  border-radius: 0.65rem;
  box-shadow:
    0 12px 28px rgba(13, 36, 71, 0.12),
    0 2px 6px rgba(13, 36, 71, 0.06);
  transform-origin: top right;
  animation: crm-eff-pop-b-scsxo6cy69 160ms cubic-bezier(0.16, 0.84, 0.44, 1);
}

@keyframes crm-eff-pop-b-scsxo6cy69 {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(-4px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.crm-eff-date__panel-header[b-scsxo6cy69] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.7rem;
}

.crm-eff-date__panel-title[b-scsxo6cy69] {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--crm-text);
}

.crm-eff-date__close[b-scsxo6cy69] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  font-size: 0.7rem;
  color: var(--crm-text-3);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0.4rem;
  cursor: pointer;
  transition: background-color 120ms ease, color 120ms ease;
}

.crm-eff-date__close:hover[b-scsxo6cy69],
.crm-eff-date__close:focus-visible[b-scsxo6cy69] {
  color: var(--crm-text);
  background: var(--crm-surface-2);
  outline: none;
}

.crm-eff-date__row + .crm-eff-date__row[b-scsxo6cy69] {
  margin-top: 0.7rem;
}

.crm-eff-date__label[b-scsxo6cy69] {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--crm-text-2);
}

.crm-eff-date__hint[b-scsxo6cy69] {
  margin-top: 0.7rem;
  font-size: 0.75rem;
  color: var(--crm-text-3);
  line-height: 1.45;
}

.crm-eff-date__footer[b-scsxo6cy69] {
  margin-top: 0.9rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--crm-border);
  display: flex;
  justify-content: flex-end;
}

.crm-eff-date__clear[b-scsxo6cy69] {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--crm-text-3);
  background: transparent;
  border: 1px solid var(--crm-border);
  border-radius: 0.4rem;
  padding: 0.3rem 0.65rem;
  cursor: pointer;
  transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.crm-eff-date__clear:hover[b-scsxo6cy69],
.crm-eff-date__clear:focus-visible[b-scsxo6cy69] {
  color: var(--crm-text);
  border-color: var(--crm-text-3);
  background: var(--crm-surface-2);
  outline: none;
}
/* /Shared/EntitySearchSelect.razor.rz.scp.css */
.esp-container[b-cvogts9x6q] {
    position: relative;
}

/* ── Search ───────────────────────────────── */
.esp-search-wrap[b-cvogts9x6q] {
    position: relative;
}

.esp-search-icon[b-cvogts9x6q] {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.82rem;
    opacity: 0.4;
    color: var(--crm-text-3);
    pointer-events: none;
}

.esp-search-input[b-cvogts9x6q] {
    padding-left: 32px !important;
    font-size: 0.9rem;
    border-color: var(--crm-border-2);
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-fast) ease;
}

.esp-search-input:focus[b-cvogts9x6q] {
    border-color: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-teal-glow);
}

/* ── Dense: keep the default search-state height, but compact the *selected* chip so it
      doesn't balloon ~15px taller than the search box once a value is picked. ─── */
.esp-dense .esp-selected[b-cvogts9x6q] {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.esp-dense .esp-selected-avatar[b-cvogts9x6q] {
    width: 28px;
    height: 28px;
    font-size: 0.74rem;
}

/* Keep the label on one line (long "Name (email)" values otherwise wrap and re-inflate the chip). */
.esp-dense .esp-selected-name[b-cvogts9x6q] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.esp-spinner[b-cvogts9x6q] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid var(--crm-border);
    border-top-color: var(--crm-teal);
    border-radius: 50%;
    animation: esp-spin-b-cvogts9x6q 0.6s linear infinite;
}

@keyframes esp-spin-b-cvogts9x6q {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* ── Dropdown ─────────────────────────────── */
.esp-dropdown[b-cvogts9x6q] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1050;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    background: var(--crm-white);
    box-shadow: var(--crm-shadow);
    animation: esp-drop-in-b-cvogts9x6q var(--crm-fast) var(--crm-ease) both;
}

@keyframes esp-drop-in-b-cvogts9x6q {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Result Items ─────────────────────────── */
.esp-result-item[b-cvogts9x6q] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    border-bottom: 1px solid var(--crm-border);
    transition: background var(--crm-fast) ease;
}

.esp-result-item:last-child[b-cvogts9x6q] {
    border-bottom: none;
}

.esp-result-item:hover[b-cvogts9x6q] {
    background: var(--crm-teal-50);
}

.esp-result-item.highlighted[b-cvogts9x6q] {
    background: var(--crm-teal-50);
    border-left: 2px solid var(--crm-teal);
    padding-left: 10px;
}

.esp-result-avatar[b-cvogts9x6q] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--crm-navy);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 600;
    flex-shrink: 0;
    text-transform: uppercase;
}

.esp-result-avatar.esp-avatar-square[b-cvogts9x6q] {
    border-radius: var(--crm-r-sm);
    background: var(--crm-navy-600);
}

.esp-result-info[b-cvogts9x6q] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.esp-result-name[b-cvogts9x6q] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.esp-result-subtitle[b-cvogts9x6q] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Selected State ───────────────────────── */
.esp-selected[b-cvogts9x6q] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--crm-teal-50);
    border: 1px solid color-mix(in srgb, var(--crm-teal) 30%, transparent);
    border-radius: var(--crm-r-sm);
    animation: esp-fade-in-b-cvogts9x6q var(--crm-fast) ease both;
}

.esp-selected.esp-disabled[b-cvogts9x6q] {
    opacity: 0.65;
    pointer-events: none;
}

@keyframes esp-fade-in-b-cvogts9x6q {
    from { opacity: 0; }
    to { opacity: 1; }
}

.esp-selected-avatar[b-cvogts9x6q] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--crm-teal);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    flex-shrink: 0;
    text-transform: uppercase;
}

.esp-selected-avatar.esp-avatar-square[b-cvogts9x6q] {
    border-radius: var(--crm-r-sm);
}

.esp-selected-info[b-cvogts9x6q] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.esp-selected-name[b-cvogts9x6q] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--crm-text);
}

.esp-selected-detail[b-cvogts9x6q] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.esp-clear-btn[b-cvogts9x6q] {
    background: none;
    border: none;
    color: var(--crm-text-3);
    cursor: pointer;
    font-size: 0.85rem;
    padding: 4px;
    border-radius: 4px;
    line-height: 1;
    transition: color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.esp-clear-btn:hover[b-cvogts9x6q] {
    color: var(--crm-text);
    background: rgba(0, 0, 0, 0.06);
}

/* ── No Results ───────────────────────────── */
.esp-no-results[b-cvogts9x6q] {
    font-size: 0.8rem;
    color: var(--crm-text-3);
    padding: 12px;
    margin: 0;
}
/* /Shared/EntityTokenSearchSelect.razor.rz.scp.css */
.esp-container[b-8yedoqsqra] {
    position: relative;
}

/* ── Search ───────────────────────────────── */
.esp-search-wrap[b-8yedoqsqra] {
    position: relative;
}

.esp-search-icon[b-8yedoqsqra] {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.82rem;
    opacity: 0.4;
    color: var(--crm-text-3);
    pointer-events: none;
}

.esp-search-input[b-8yedoqsqra] {
    padding-left: 32px !important;
    font-size: 0.9rem;
    border-color: var(--crm-border-2);
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-fast) ease;
}

.esp-search-input:focus[b-8yedoqsqra] {
    border-color: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-teal-glow);
}

.esp-spinner[b-8yedoqsqra] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid var(--crm-border);
    border-top-color: var(--crm-teal);
    border-radius: 50%;
    animation: esp-spin-b-8yedoqsqra 0.6s linear infinite;
}

@keyframes esp-spin-b-8yedoqsqra {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* ── Dropdown ─────────────────────────────── */
.esp-dropdown[b-8yedoqsqra] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1050;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    background: var(--crm-white);
    box-shadow: var(--crm-shadow);
    animation: esp-drop-in-b-8yedoqsqra var(--crm-fast) var(--crm-ease) both;
}

@keyframes esp-drop-in-b-8yedoqsqra {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ── Result Items ─────────────────────────── */
.esp-result-item[b-8yedoqsqra] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    border-bottom: 1px solid var(--crm-border);
    transition: background var(--crm-fast) ease;
}

.esp-result-item:last-child[b-8yedoqsqra] {
    border-bottom: none;
}

.esp-result-item:hover[b-8yedoqsqra] {
    background: var(--crm-teal-50);
}

.esp-result-item.highlighted[b-8yedoqsqra] {
    background: var(--crm-teal-50);
    border-left: 2px solid var(--crm-teal);
    padding-left: 10px;
}

.esp-result-avatar[b-8yedoqsqra] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--crm-navy);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 600;
    flex-shrink: 0;
    text-transform: uppercase;
}

.esp-result-info[b-8yedoqsqra] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.esp-result-name[b-8yedoqsqra] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.esp-result-subtitle[b-8yedoqsqra] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Selected State ───────────────────────── */
.esp-selected[b-8yedoqsqra] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--crm-teal-50);
    border: 1px solid color-mix(in srgb, var(--crm-teal) 30%, transparent);
    border-radius: var(--crm-r-sm);
    animation: esp-fade-in-b-8yedoqsqra var(--crm-fast) ease both;
}

@keyframes esp-fade-in-b-8yedoqsqra {
    from { opacity: 0; }
    to { opacity: 1; }
}

.esp-selected-avatar[b-8yedoqsqra] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--crm-teal);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    flex-shrink: 0;
    text-transform: uppercase;
}

.esp-selected-info[b-8yedoqsqra] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.esp-selected-name[b-8yedoqsqra] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--crm-text);
}

.esp-selected-detail[b-8yedoqsqra] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.esp-clear-btn[b-8yedoqsqra] {
    background: none;
    border: none;
    color: var(--crm-text-3);
    cursor: pointer;
    font-size: 0.85rem;
    padding: 4px;
    border-radius: 4px;
    line-height: 1;
    transition: color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.esp-clear-btn:hover[b-8yedoqsqra] {
    color: var(--crm-text);
    background: rgba(0, 0, 0, 0.06);
}

/* ── No Results ───────────────────────────── */
.esp-no-results[b-8yedoqsqra] {
    font-size: 0.8rem;
    color: var(--crm-text-3);
    padding: 12px;
    margin: 0;
}
/* /Shared/ExtractionProgressIndicator.razor.rz.scp.css */
/* Extraction progress indicator — appears below the paste textarea while the
   server is calling the AI. Combines a phase label, an elapsed timer, a smooth
   progress bar, and ghost skeleton cards so the user feels real movement
   during the 8–15s wait instead of staring at a spinner. */

.epi-card[b-1n6ktz1nfw] {
    margin-top: 16px;
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: linear-gradient(180deg, rgba(0, 197, 168, 0.05), transparent 60%);
}

.epi-head[b-1n6ktz1nfw] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.epi-phase[b-1n6ktz1nfw] {
    flex: 1 1 auto;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    font-size: 0.95rem;
}

.epi-elapsed[b-1n6ktz1nfw] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.85rem;
    color: var(--crm-text-2, #4b5563);
    background: var(--crm-bg, #f5f7fa);
    border-radius: 999px;
    padding: 2px 10px;
}

/* ── Animated dots (lives next to the phase label) ───── */

.epi-dots[b-1n6ktz1nfw] {
    display: inline-flex;
    align-items: flex-end;
    gap: 3px;
    height: 14px;
}

.epi-dots span[b-1n6ktz1nfw] {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--crm-teal-600, #009E88);
    animation: epi-bounce-b-1n6ktz1nfw 1.2s infinite ease-in-out both;
}

.epi-dots span:nth-child(1)[b-1n6ktz1nfw] { animation-delay: -0.32s; }
.epi-dots span:nth-child(2)[b-1n6ktz1nfw] { animation-delay: -0.16s; }
.epi-dots span:nth-child(3)[b-1n6ktz1nfw] { animation-delay: 0s; }

@keyframes epi-bounce-b-1n6ktz1nfw {
    0%, 80%, 100% { transform: scale(0.4); opacity: 0.5; }
    40%           { transform: scale(1);   opacity: 1; }
}

/* ── Progress bar ─────────────────────────────────────── */

.epi-progress[b-1n6ktz1nfw] {
    height: 6px;
    border-radius: 999px;
    background: var(--crm-border, #e6eaf0);
    overflow: hidden;
    position: relative;
}

.epi-progress-fill[b-1n6ktz1nfw] {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--crm-teal-600, #009E88), #34d399);
    transition: width 280ms ease;
    position: relative;
    overflow: hidden;
}

/* Subtle sweeping shimmer on the bar so even tiny tick advances feel alive. */
.epi-progress-fill[b-1n6ktz1nfw]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.35) 50%,
        transparent 100%);
    animation: epi-sweep-b-1n6ktz1nfw 1.6s linear infinite;
}

@keyframes epi-sweep-b-1n6ktz1nfw {
    from { transform: translateX(-100%); }
    to   { transform: translateX(100%); }
}

.epi-hint[b-1n6ktz1nfw] {
    margin-top: 8px;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
    line-height: 1.45;
}

/* ── Skeleton (ghost cards) ───────────────────────────── */

.epi-skeleton[b-1n6ktz1nfw] {
    margin-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.epi-skel-group-header[b-1n6ktz1nfw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--crm-border, #e6eaf0);
    margin-bottom: 2px;
}

.epi-skel-card[b-1n6ktz1nfw] {
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: var(--crm-white, #fff);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.epi-skel-card-head[b-1n6ktz1nfw] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.epi-skel-chip[b-1n6ktz1nfw] {
    width: 70px;
    height: 18px;
    border-radius: 999px;
}

.epi-skel-pill[b-1n6ktz1nfw] {
    width: 110px;
    height: 18px;
    border-radius: 999px;
}

.epi-skel-bar[b-1n6ktz1nfw] {
    background: var(--crm-bg, #f5f7fa);
    border-radius: 6px;
}

.epi-skel-change[b-1n6ktz1nfw] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    align-items: stretch;
}

.epi-skel-change-box[b-1n6ktz1nfw] {
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--crm-bg, #f5f7fa);
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 64px;
}

.epi-skel-change-box-strong[b-1n6ktz1nfw] {
    background: rgba(0, 197, 168, 0.06);
    border: 1px solid rgba(0, 197, 168, 0.18);
}

.epi-skel-arrow[b-1n6ktz1nfw] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--crm-text-3, #9ca3af);
    font-size: 1rem;
    width: 32px;
}

@media (max-width: 700px) {
    .epi-skel-change[b-1n6ktz1nfw] {
        grid-template-columns: 1fr;
    }
    .epi-skel-arrow[b-1n6ktz1nfw] {
        transform: rotate(90deg);
    }
}

/* Shimmer animation for skeleton bars — moves an angled gradient across
   each bar so the whole skeleton breathes during the wait. */

.epi-skel-shimmer[b-1n6ktz1nfw] {
    position: relative;
    overflow: hidden;
    background-color: var(--crm-bg, #f5f7fa);
}

.epi-skel-shimmer[b-1n6ktz1nfw]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(0, 0, 0, 0.05) 30%,
        rgba(0, 0, 0, 0.05) 50%,
        transparent 100%);
    transform: translateX(-100%);
    animation: epi-shimmer-b-1n6ktz1nfw 1.4s ease-in-out infinite;
}

@keyframes epi-shimmer-b-1n6ktz1nfw {
    from { transform: translateX(-100%); }
    to   { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
    .epi-dots span[b-1n6ktz1nfw],
    .epi-progress-fill[b-1n6ktz1nfw]::after,
    .epi-skel-shimmer[b-1n6ktz1nfw]::after {
        animation: none;
    }
}
/* /Shared/FieldDefinitionForm.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   FieldDefinitionForm — add/edit field card
   ═══════════════════════════════════════════════════════ */

.fdf-card[b-558vzc92hn] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-left: 3px solid var(--crm-teal);
    border-radius: var(--crm-r);
    padding: 1.15rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.fdf-row[b-558vzc92hn] {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.fdf-row-secondary[b-558vzc92hn] {
    padding-top: 0.5rem;
    border-top: 1px solid var(--crm-border);
}

.fdf-field[b-558vzc92hn] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.fdf-field-label[b-558vzc92hn] { flex: 2; min-width: 160px; }
.fdf-field-type[b-558vzc92hn] { flex: 1; min-width: 120px; }
.fdf-field-applicable[b-558vzc92hn] { flex: 1; min-width: 120px; }
.fdf-field-key[b-558vzc92hn] { flex: 1; min-width: 140px; }
.fdf-field-options[b-558vzc92hn] { flex: 2; min-width: 200px; }

.fdf-field-required[b-558vzc92hn] {
    flex: 0 0 auto;
    min-width: 100px;
}

.fdf-label[b-558vzc92hn] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--crm-text-2);
    margin: 0;
}

.fdf-required-mark[b-558vzc92hn] {
    color: #c0392b;
}

/* Key preview */
.fdf-key-preview[b-558vzc92hn] {
    display: flex;
    align-items: center;
    padding: 0.3rem 0.55rem;
    min-height: 1.875rem;
    background: var(--crm-bg);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
    font-size: 0.78rem;
    color: var(--crm-text-2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdf-hint[b-558vzc92hn] {
    font-size: 0.7rem;
    color: var(--crm-text-3);
    font-style: italic;
}

/* Toggle switch */
.fdf-toggle[b-558vzc92hn] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    cursor: pointer;
    padding-top: 0.3rem;
    user-select: none;
}

.fdf-toggle input[b-558vzc92hn] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.fdf-toggle-track[b-558vzc92hn] {
    position: relative;
    width: 2rem;
    height: 1.1rem;
    background: var(--crm-border-2);
    border-radius: 0.55rem;
    transition: background-color var(--crm-fast) ease;
    flex-shrink: 0;
}

.fdf-toggle input:checked + .fdf-toggle-track[b-558vzc92hn] {
    background: var(--crm-teal);
}

.fdf-toggle-thumb[b-558vzc92hn] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 0.85rem;
    height: 0.85rem;
    background: var(--crm-white);
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
    transition: transform var(--crm-fast) var(--crm-ease);
}

.fdf-toggle input:checked + .fdf-toggle-track .fdf-toggle-thumb[b-558vzc92hn] {
    transform: translateX(0.9rem);
}

.fdf-toggle-label[b-558vzc92hn] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--crm-text-2);
}

/* Row 3 — feature opt-ins (Track changes / Add supporting details) */
.fdf-row-history[b-558vzc92hn] {
    padding-top: 0.5rem;
    border-top: 1px solid var(--crm-border);
    flex-direction: column;
    gap: 0.5rem;
}

.fdf-toggle-feature[b-558vzc92hn] {
    align-items: flex-start;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    background: var(--crm-bg);
    transition: background-color var(--crm-fast) ease, border-color var(--crm-fast) ease;
}

.fdf-toggle-feature:hover[b-558vzc92hn] {
    background: var(--crm-white);
    border-color: var(--crm-border-2);
}

.fdf-toggle-feature .fdf-toggle-track[b-558vzc92hn] {
    margin-top: 0.18rem;
}

.fdf-toggle-content[b-558vzc92hn] {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.fdf-toggle-title[b-558vzc92hn] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--crm-text);
}

.fdf-toggle-sub[b-558vzc92hn] {
    font-size: 0.72rem;
    color: var(--crm-text-2);
    line-height: 1.35;
}

/* Sub-property editor card */
.fdf-subprop-card[b-558vzc92hn] {
    border: 1px solid var(--crm-border);
    border-left: 3px solid var(--crm-teal);
    border-radius: var(--crm-r-sm);
    padding: 0.7rem 0.85rem;
    background: var(--crm-bg);
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    animation: crm-fade-in var(--crm-fast) var(--crm-ease) both;
}

.fdf-subprop-header[b-558vzc92hn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fdf-subprop-title[b-558vzc92hn] {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--crm-text-2);
}

.fdf-subprop-add[b-558vzc92hn] {
    background: transparent;
    border: 1px dashed var(--crm-border-2);
    color: var(--crm-teal-600);
    padding: 0.25rem 0.6rem;
    border-radius: var(--crm-r-sm);
    font-size: 0.78rem;
    cursor: pointer;
    transition: background-color var(--crm-fast) ease, border-color var(--crm-fast) ease;
}

.fdf-subprop-add:hover[b-558vzc92hn] {
    background: rgba(var(--crm-teal-rgb), 0.08);
    border-color: var(--crm-teal);
}

.fdf-subprop-add i[b-558vzc92hn] {
    margin-right: 0.25rem;
    font-size: 0.85rem;
}

.fdf-subprop-empty[b-558vzc92hn] {
    font-size: 0.78rem;
    color: var(--crm-text-3);
    font-style: italic;
    padding: 0.4rem 0;
}

.fdf-subprop-table[b-558vzc92hn] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.fdf-subprop-row[b-558vzc92hn] {
    display: grid;
    grid-template-columns: 1.5rem minmax(0, 2fr) minmax(0, 1.2fr) 7rem 1.6rem;
    gap: 0.45rem;
    align-items: center;
    padding: 0.3rem 0.4rem;
    border-radius: var(--crm-r-sm);
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    animation: crm-slide-in-row var(--crm-fast) var(--crm-ease) both;
}

.fdf-subprop-order[b-558vzc92hn] {
    font-size: 0.7rem;
    color: var(--crm-text-3);
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.fdf-subprop-key[b-558vzc92hn] {
    font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
    font-size: 0.72rem;
    color: var(--crm-text-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fdf-subprop-remove[b-558vzc92hn] {
    width: 1.6rem;
    height: 1.6rem;
    border: none;
    background: transparent;
    color: var(--crm-text-3);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--crm-fast) ease, color var(--crm-fast) ease;
}

.fdf-subprop-remove:hover[b-558vzc92hn] {
    background: rgba(192, 57, 43, 0.1);
    color: #c0392b;
}

@media (prefers-reduced-motion: reduce) {
    .fdf-subprop-card[b-558vzc92hn],
    .fdf-subprop-row[b-558vzc92hn] { animation: none; }
}

/* Actions row */
.fdf-actions[b-558vzc92hn] {
    display: flex;
    gap: 0.4rem;
    padding-top: 0.35rem;
}
/* /Shared/FieldHistoryPanel.razor.rz.scp.css */
/* ═════════════════════════════════════════════════════════════════════
   FieldHistoryPanel — slide-in side panel for per-entity field history
   ═════════════════════════════════════════════════════════════════════ */

.cfhp-backdrop[b-s3gtxnhox8] {
    position: fixed;
    inset: 0;
    background: rgba(13, 25, 42, 0.32);
    backdrop-filter: blur(1.5px);
    z-index: 1040;
    animation: crm-fade-in var(--crm-fast) var(--crm-ease) both;
}

.cfhp-panel[b-s3gtxnhox8] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(420px, 96vw);
    background: var(--crm-white);
    border-left: 1px solid var(--crm-border);
    box-shadow: -16px 0 40px rgba(13, 25, 42, 0.12);
    z-index: 1041;
    display: flex;
    flex-direction: column;
    outline: none;
    animation: cfhp-slide-in-b-s3gtxnhox8 var(--crm-slow) var(--crm-ease) both;
}

@keyframes cfhp-slide-in-b-s3gtxnhox8 {
    from { transform: translateX(100%); opacity: 0; }
    to   { transform: translateX(0);     opacity: 1; }
}

.cfhp-header[b-s3gtxnhox8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.1rem 0.85rem;
    border-bottom: 1px solid var(--crm-border);
}

.cfhp-header-meta[b-s3gtxnhox8] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.cfhp-eyebrow[b-s3gtxnhox8] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--crm-text-3);
}

.cfhp-title[b-s3gtxnhox8] {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--crm-text);
    line-height: 1.2;
}

.cfhp-close[b-s3gtxnhox8] {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--crm-text-2);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color var(--crm-fast) ease, color var(--crm-fast) ease;
}

.cfhp-close:hover[b-s3gtxnhox8] {
    background: var(--crm-bg);
    color: var(--crm-text);
}

.cfhp-body[b-s3gtxnhox8] {
    padding: 0.85rem 1.1rem 1.5rem;
    overflow-y: auto;
    flex: 1;
}

.cfhp-section + .cfhp-section[b-s3gtxnhox8] {
    margin-top: 1.2rem;
}

.cfhp-section-title[b-s3gtxnhox8] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--crm-text-3);
    margin: 0 0 0.4rem;
    font-weight: 600;
}

.cfhp-current[b-s3gtxnhox8] {
    font-size: 0.95rem;
    color: var(--crm-text);
    word-break: break-word;
}

.cfhp-empty[b-s3gtxnhox8] {
    color: var(--crm-text-3);
    font-style: italic;
    font-size: 0.85rem;
}

.cfhp-sub-list[b-s3gtxnhox8] {
    display: grid;
    grid-template-columns: 9rem 1fr;
    gap: 0.35rem 0.85rem;
    margin: 0;
    font-size: 0.85rem;
}

.cfhp-sub-list dt[b-s3gtxnhox8] {
    color: var(--crm-text-2);
    font-weight: 500;
}

.cfhp-sub-list dd[b-s3gtxnhox8] {
    margin: 0;
    color: var(--crm-text);
    word-break: break-word;
}

/* Timeline */
.cfhp-timeline[b-s3gtxnhox8] {
    list-style: none;
    margin: 0;
    padding: 0 0 0 1rem;
    border-left: 2px solid var(--crm-border);
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.cfhp-entry[b-s3gtxnhox8] {
    position: relative;
    animation: crm-slide-in-row var(--crm-fast) var(--crm-ease) both;
    animation-delay: var(--cfhp-entry-delay, 0ms);
}

.cfhp-entry[b-s3gtxnhox8]::before {
    content: "";
    position: absolute;
    left: -1.32rem;
    top: 0.35rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-white);
}

.cfhp-entry-ts[b-s3gtxnhox8] {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    font-size: 0.72rem;
    color: var(--crm-text-3);
}

.cfhp-entry-when[b-s3gtxnhox8] { font-weight: 500; }
.cfhp-entry-by[b-s3gtxnhox8]  { color: var(--crm-text-2); }

.cfhp-entry-what[b-s3gtxnhox8] {
    font-size: 0.88rem;
    color: var(--crm-text);
    margin-top: 0.15rem;
    word-break: break-word;
}

.cfhp-added[b-s3gtxnhox8]   { color: var(--crm-teal-600, #097a6b); font-weight: 500; }
.cfhp-removed[b-s3gtxnhox8] { color: #c0392b; font-weight: 500; }
.cfhp-corr[b-s3gtxnhox8]    { color: #b58a17; font-weight: 500; }
.cfhp-was[b-s3gtxnhox8]     { color: var(--crm-text-3); font-size: 0.8em; }

.cfhp-entry-effective[b-s3gtxnhox8] {
    margin-top: 0.25rem;
    font-size: 0.74rem;
    color: var(--crm-text-2);
    padding: 0.25rem 0.5rem;
    background: var(--crm-bg);
    border-radius: var(--crm-r-sm);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.cfhp-entry-effective i[b-s3gtxnhox8] { color: var(--crm-teal); }
.cfhp-entry-note[b-s3gtxnhox8] { color: var(--crm-text-3); }

.cfhp-skel[b-s3gtxnhox8] {
    height: 2.5rem;
    margin-bottom: 0.5rem;
}

@media (prefers-reduced-motion: reduce) {
    .cfhp-backdrop[b-s3gtxnhox8],
    .cfhp-panel[b-s3gtxnhox8],
    .cfhp-entry[b-s3gtxnhox8] { animation: none; }
}
/* /Shared/FilterSelect.razor.rz.scp.css */
/* Animated dropdown that replaces native <select> inside filter panes.
   Uses the same grid-template-rows: 0fr → 1fr trick as the parent
   ListFilters component so the open animates to natural content height
   without us hard-coding a max-height. */

.fs-wrapper[b-7m00rw3b6h] {
    position: relative;
    display: block;
}

.fs-trigger[b-7m00rw3b6h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #ced4da);
    border-radius: var(--bs-border-radius, 0.375rem);
    color: var(--bs-body-color);
    font-size: 0.875rem;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.12s ease, box-shadow 0.12s ease, background-color 0.12s ease;
}

.fs-wrapper--sm .fs-trigger[b-7m00rw3b6h] {
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
}

.fs-trigger:hover[b-7m00rw3b6h] {
    border-color: var(--bs-secondary, #6c757d);
}

.fs-trigger:focus-visible[b-7m00rw3b6h],
.fs-trigger--open[b-7m00rw3b6h] {
    outline: 0;
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.18);
}

.fs-trigger-label[b-7m00rw3b6h] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fs-placeholder[b-7m00rw3b6h] {
    color: var(--bs-secondary-color, #6c757d);
}

.fs-chevron[b-7m00rw3b6h] {
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.75rem;
    flex-shrink: 0;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.fs-trigger--open .fs-chevron[b-7m00rw3b6h] {
    transform: rotate(180deg);
}

/* The animated panel — collapsed = 0fr, open = 1fr. The inner
   wrapper hides overflow so content doesn't peek during the transition. */
.fs-collapse[b-7m00rw3b6h] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1050;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.18s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.fs-open .fs-collapse[b-7m00rw3b6h] {
    grid-template-rows: 1fr;
    pointer-events: auto;
}

.fs-collapse-inner[b-7m00rw3b6h] {
    overflow: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 0.14s ease, transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.fs-open .fs-collapse-inner[b-7m00rw3b6h] {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.18s ease 0.04s, transform 0.18s cubic-bezier(0.4, 0, 0.2, 1) 0.04s;
}

.fs-menu[b-7m00rw3b6h] {
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.06);
    padding: 0.25rem 0;
    max-height: 320px;
    overflow-y: auto;
}

/* Click-outside backdrop. Transparent + full-viewport so any click off
   the menu closes it. Below the menu (z-index 1049 < 1050) so options
   still receive clicks. */
.fs-backdrop[b-7m00rw3b6h] {
    position: fixed;
    inset: 0;
    z-index: 1049;
    background: transparent;
}

[b-7m00rw3b6h] .fs-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    padding: 0.4rem 0.75rem;
    background: transparent;
    border: 0;
    color: var(--bs-body-color);
    font-size: 0.875rem;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.1s ease;
}

[b-7m00rw3b6h] .fs-option:hover {
    background: rgba(13, 110, 253, 0.08);
}

[b-7m00rw3b6h] .fs-option--selected {
    background: rgba(13, 110, 253, 0.12);
    color: var(--bs-primary, #0d6efd);
    font-weight: 500;
}

[b-7m00rw3b6h] .fs-option-check {
    color: var(--bs-primary, #0d6efd);
    font-size: 0.875rem;
    flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
    .fs-chevron[b-7m00rw3b6h],
    .fs-collapse[b-7m00rw3b6h],
    .fs-collapse-inner[b-7m00rw3b6h] {
        transition: none;
    }
}
/* /Shared/IconPicker.razor.rz.scp.css */
/* ── Wrapper ── */
.icon-picker[b-57iequcg4x] {
    position: relative;
    display: inline-block;
    width: 100%;
    z-index: 1;
}

.icon-picker.is-open[b-57iequcg4x] {
    z-index: 500;
}

/* ── Trigger — form-control look ── */
.icon-picker-toggle[b-57iequcg4x] {
    -webkit-appearance: none;
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.5rem 0.875rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--crm-text);
    background: var(--crm-white);
    border: 1px solid var(--crm-border-2);
    border-radius: var(--crm-r-sm);
    cursor: pointer;
    transition: border-color var(--crm-fast) ease,
                box-shadow var(--crm-fast) ease;
    text-align: left;
}

.icon-picker-toggle:hover[b-57iequcg4x] {
    border-color: var(--crm-navy-400);
}

.icon-picker-toggle:focus[b-57iequcg4x] {
    outline: none;
    border-color: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-teal-glow);
}

.icon-picker.is-open .icon-picker-toggle[b-57iequcg4x] {
    border-color: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-teal-glow);
}

.icon-picker-value[b-57iequcg4x] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 0;
}

.icon-picker-preview[b-57iequcg4x] {
    font-size: 1rem;
    color: var(--crm-navy-600);
    flex-shrink: 0;
}

.icon-picker-placeholder[b-57iequcg4x] {
    color: var(--crm-text-3);
}

.icon-picker-chevron[b-57iequcg4x] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
    flex-shrink: 0;
    margin-left: 0.5rem;
    transition: transform var(--crm-fast) var(--crm-ease);
}

.icon-picker.is-open .icon-picker-chevron[b-57iequcg4x] {
    transform: rotate(180deg);
}

/* ── Dropdown panel ── */
.icon-picker-panel[b-57iequcg4x] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1050;
    width: 340px;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    padding: 0.875rem;
    box-shadow: var(--crm-shadow-lg);
    animation: iconPickerIn-b-57iequcg4x var(--crm-fast) var(--crm-ease);
}

@keyframes iconPickerIn-b-57iequcg4x {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Search input ── */
.icon-picker-search[b-57iequcg4x] {
    margin-bottom: 0.625rem !important;
}

/* ── Icon grid ── */
.icon-picker-grid[b-57iequcg4x] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 3px;
    max-height: 256px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--crm-border-2) transparent;
}

/* ── Individual icon cell — full appearance reset ── */
.icon-picker-item[b-57iequcg4x] {
    -webkit-appearance: none;
    appearance: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 3px;
    padding: 7px 3px 5px;
    border: none;
    border-radius: var(--crm-r-sm);
    background: transparent;
    color: var(--crm-text-2);
    font-family: 'Outfit', sans-serif;
    font-size: 0.6rem;
    cursor: pointer;
    transition: background var(--crm-fast) ease,
                color var(--crm-fast) ease;
    overflow: hidden;
    outline: none;
}

.icon-picker-item i[b-57iequcg4x] {
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
}

.icon-picker-item span[b-57iequcg4x] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    line-height: 1.2;
}

.icon-picker-item:hover[b-57iequcg4x] {
    background: var(--crm-surface-2);
    color: var(--crm-navy);
}

.icon-picker-item:focus-visible[b-57iequcg4x] {
    outline: none;
    box-shadow: 0 0 0 2px var(--crm-teal);
}

.icon-picker-item.is-selected[b-57iequcg4x] {
    background: var(--crm-teal-50);
    color: var(--crm-teal-600);
}

.icon-picker-item.is-selected i[b-57iequcg4x] {
    color: var(--crm-teal-600);
}

/* ── Empty state ── */
.icon-picker-empty[b-57iequcg4x] {
    grid-column: 1 / -1;
    color: var(--crm-text-3);
    font-size: 0.8rem;
    padding: 0.5rem;
    margin: 0;
}
/* /Shared/KanbanBoard.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   KanbanBoard — horizontal pipeline lane container
   ═══════════════════════════════════════════════════════ */

.kb-board[b-4yh0zcgprf] {
    display: flex;
    align-items: flex-start;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.25rem 0.25rem 1rem;
    min-height: 55vh;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

/* ── Flow connector between columns ── */

.kb-connector[b-4yh0zcgprf] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.25rem;
    color: var(--crm-border-2);
    font-size: 0.65rem;
    opacity: 0.7;
    align-self: stretch;
    padding-top: 2.5rem;
}

/* Subtle scrollbar that matches the design system */
.kb-board[b-4yh0zcgprf]::-webkit-scrollbar {
    height: 6px;
}

.kb-board[b-4yh0zcgprf]::-webkit-scrollbar-track {
    background: transparent;
}

.kb-board[b-4yh0zcgprf]::-webkit-scrollbar-thumb {
    background: var(--crm-border-2);
    border-radius: 3px;
}

.kb-board[b-4yh0zcgprf]::-webkit-scrollbar-thumb:hover {
    background: var(--crm-text-3);
}
/* /Shared/KanbanCard.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   KanbanCard — individual lead card in the pipeline
   ═══════════════════════════════════════════════════════ */

.kk-card[b-gzik5odgf6] {
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-left: 3px solid var(--crm-border-2);
    border-radius: var(--crm-r-sm);
    padding: 0.65rem 0.75rem;
    cursor: grab;
    user-select: none;
    position: relative;
    overflow: hidden;
    transition: transform var(--crm-mid) var(--crm-ease),
                box-shadow var(--crm-mid) var(--crm-ease),
                border-color var(--crm-fast) ease,
                opacity var(--crm-fast) ease;
}

/* ── Temperature left stripe ── */

.kk-card.kk-temp-hot[b-gzik5odgf6] { border-left-color: #ef4444; }
.kk-card.kk-temp-warm[b-gzik5odgf6] { border-left-color: #f59e0b; }
.kk-card.kk-temp-cold[b-gzik5odgf6] { border-left-color: #60a5fa; }

/* ── Stale lead glow ── */

.kk-card.kk-stale[b-gzik5odgf6] {
    box-shadow: inset 3px 0 0 0 rgba(245, 158, 11, 0.15),
                0 0 0 1px rgba(245, 158, 11, 0.08);
}

.kk-card:hover[b-gzik5odgf6] {
    border-color: var(--crm-border-2);
    box-shadow: var(--crm-shadow-sm);
    transform: translateY(-2px);
}

.kk-card:active[b-gzik5odgf6] {
    cursor: grabbing;
}

/* Dragging state */
.kk-card.kk-dragging[b-gzik5odgf6] {
    opacity: 0.35;
    border-style: dashed;
    border-color: var(--crm-navy-400);
    transform: scale(0.97);
}

/* ── Top row: name + score ── */

.kk-top[b-gzik5odgf6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.4rem;
    margin-bottom: 0.15rem;
}

.kk-name[b-gzik5odgf6] {
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--crm-text);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* ── Company ── */

.kk-company[b-gzik5odgf6] {
    font-size: 0.72rem;
    color: var(--crm-text-3);
    margin-bottom: 0.35rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.kk-company-icon[b-gzik5odgf6] {
    font-size: 0.62rem;
    opacity: 0.6;
    flex-shrink: 0;
}

/* ── Meta rows ── */

.kk-meta[b-gzik5odgf6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    margin-bottom: 0.3rem;
    flex-wrap: wrap;
}

.kk-meta-left[b-gzik5odgf6] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.kk-meta-right[b-gzik5odgf6] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.kk-value[b-gzik5odgf6] {
    font-weight: 600;
    font-size: 0.78rem;
    color: var(--crm-navy);
    font-variant-numeric: tabular-nums;
}

.kk-days[b-gzik5odgf6] {
    display: inline-flex;
    align-items: baseline;
    gap: 1px;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--crm-text-3);
    padding: 0.1rem 0.4rem;
    border-radius: 99px;
    background: var(--crm-bg);
    font-variant-numeric: tabular-nums;
}

.kk-days-unit[b-gzik5odgf6] {
    font-size: 0.58rem;
    font-weight: 500;
    opacity: 0.7;
}

.kk-days-warn[b-gzik5odgf6] {
    color: #dc2626;
    background: #fef2f2;
}

/* ── Follow-up pill ── */

.kk-followup[b-gzik5odgf6] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--crm-text-3);
    padding: 0.1rem 0.35rem;
    border-radius: 99px;
    background: var(--crm-bg);
}

.kk-followup-overdue[b-gzik5odgf6] {
    color: #dc2626;
    background: #fef2f2;
}

.kk-followup-soon[b-gzik5odgf6] {
    color: #d97706;
    background: #fffbeb;
}

/* ── Footer: avatar + owner name ── */

.kk-footer[b-gzik5odgf6] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding-top: 0.3rem;
    border-top: 1px solid var(--crm-border);
}

.kk-avatar[b-gzik5odgf6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: var(--crm-navy);
    color: var(--crm-white);
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.kk-owner[b-gzik5odgf6] {
    font-size: 0.68rem;
    color: var(--crm-text-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Quick action bar (hover) ── */

.kk-actions[b-gzik5odgf6] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.35rem;
    background: linear-gradient(transparent, var(--crm-white) 20%);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity var(--crm-fast) ease,
                transform var(--crm-fast) ease;
    pointer-events: none;
}

.kk-card:hover .kk-actions[b-gzik5odgf6] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.kk-action[b-gzik5odgf6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    border: 1px solid var(--crm-border-2);
    background: var(--crm-white);
    color: var(--crm-text-2);
    font-size: 0.68rem;
    cursor: pointer;
    transition: all var(--crm-fast) ease;
}

.kk-action:hover[b-gzik5odgf6] {
    background: var(--crm-navy);
    color: var(--crm-white);
    border-color: var(--crm-navy);
}
/* /Shared/KanbanColumn.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   KanbanColumn — single pipeline stage lane
   ═══════════════════════════════════════════════════════ */

.kc-column[b-gv8oqg5or8] {
    min-width: 280px;
    max-width: 300px;
    flex: 0 0 280px;
    display: flex;
    flex-direction: column;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-top: 4px solid var(--kc-accent, var(--crm-teal));
    border-radius: var(--crm-r);
    transition: border-color var(--crm-mid) var(--crm-ease),
                box-shadow var(--crm-mid) var(--crm-ease),
                background-color var(--crm-mid) var(--crm-ease),
                transform var(--crm-mid) var(--crm-ease);
    max-height: calc(100vh - 220px);
    position: relative;
}

/* ── Drop target state ── */

.kc-column.kc-drop-target[b-gv8oqg5or8] {
    border-color: var(--crm-teal);
    border-top-color: var(--kc-accent, var(--crm-teal));
    box-shadow: inset 0 0 0 1px var(--crm-teal),
                0 0 24px var(--crm-teal-glow);
    background: rgba(0, 197, 168, 0.03);
    transform: scale(1.01);
    animation: kc-pulse-b-gv8oqg5or8 1.5s ease-in-out infinite;
}

@keyframes kc-pulse-b-gv8oqg5or8 {
    0%, 100% { box-shadow: inset 0 0 0 1px var(--crm-teal), 0 0 20px var(--crm-teal-glow); }
    50% { box-shadow: inset 0 0 0 1px var(--crm-teal), 0 0 32px rgba(0, 197, 168, 0.28); }
}

/* ── Terminal stage accents ── */

.kc-column.kc-won .kc-stage-name[b-gv8oqg5or8] { color: #16a34a; }
.kc-column.kc-lost .kc-stage-name[b-gv8oqg5or8] { color: #dc2626; }

/* ── Header ── */

.kc-header[b-gv8oqg5or8] {
    padding: 0.75rem 0.875rem 0.625rem;
    border-bottom: 1px solid var(--crm-border);
    flex-shrink: 0;
}

.kc-header-top[b-gv8oqg5or8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.kc-title-group[b-gv8oqg5or8] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.kc-stage-name[b-gv8oqg5or8] {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kc-count[b-gv8oqg5or8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.4rem;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--crm-text-2);
    background: var(--crm-bg);
    border-radius: 99px;
    letter-spacing: 0.01em;
    flex-shrink: 0;
}

/* ── Ring probability indicator ── */

.kc-ring[b-gv8oqg5or8] {
    flex-shrink: 0;
}

.kc-value[b-gv8oqg5or8] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--crm-navy);
    margin-top: 0.3rem;
    font-variant-numeric: tabular-nums;
}

.kc-weighted[b-gv8oqg5or8] {
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--crm-text-3);
    margin-top: 0.1rem;
    font-variant-numeric: tabular-nums;
    font-style: italic;
}

/* ── Card body / scroll area ── */

.kc-body[b-gv8oqg5or8] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.kc-body[b-gv8oqg5or8]::-webkit-scrollbar {
    width: 4px;
}

.kc-body[b-gv8oqg5or8]::-webkit-scrollbar-track {
    background: transparent;
}

.kc-body[b-gv8oqg5or8]::-webkit-scrollbar-thumb {
    background: var(--crm-border);
    border-radius: 2px;
}

/* ── Drop placeholder ── */

.kc-drop-placeholder[b-gv8oqg5or8] {
    min-height: 56px;
    border: 2px dashed var(--crm-teal);
    border-radius: var(--crm-r-sm);
    background: var(--crm-teal-50, rgba(0, 197, 168, 0.06));
    animation: kc-placeholder-fade-b-gv8oqg5or8 0.8s ease-in-out infinite alternate;
}

@keyframes kc-placeholder-fade-b-gv8oqg5or8 {
    from { opacity: 0.4; }
    to { opacity: 0.8; }
}

/* ── Empty state ── */

.kc-empty[b-gv8oqg5or8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 90px;
    color: var(--crm-text-3);
    font-size: 0.74rem;
    border: 2px dashed var(--crm-border);
    border-radius: var(--crm-r-sm);
    margin: 0.25rem;
    padding: 0.75rem;
    text-align: center;
}

.kc-empty-icon[b-gv8oqg5or8] {
    font-size: 1.1rem;
    opacity: 0.5;
}
/* /Shared/LabelMultiSelectPicker.razor.rz.scp.css */
.lmsp-wrapper[b-wggnf5nfwl] {
    margin-bottom: 0.5rem;
}

.lmsp-row[b-wggnf5nfwl] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.lmsp-label[b-wggnf5nfwl] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6B7280;
    margin-right: 4px;
}

/* ── Chips ─────────────────────────────────────────────────────────── */

.lmsp-chip[b-wggnf5nfwl] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    font-size: 0.78rem;
    line-height: 1.2;
    border-radius: 999px;
    border: 1px solid #E5E7EB;
    background: #FFFFFF;
    color: #374151;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.lmsp-chip:hover[b-wggnf5nfwl] {
    background: #F3F4F6;
}

.lmsp-chip-include[b-wggnf5nfwl] {
    background: #ECFDF5;
    color: #065F46;
    border-color: #6EE7B7;
}

.lmsp-chip-include:hover[b-wggnf5nfwl] {
    background: #D1FAE5;
}

.lmsp-chip-exclude[b-wggnf5nfwl] {
    background: #FEF2F2;
    color: #991B1B;
    border-color: #FCA5A5;
}

.lmsp-chip-exclude:hover[b-wggnf5nfwl] {
    background: #FEE2E2;
}

.lmsp-chip-name[b-wggnf5nfwl] {
    font-weight: 500;
}

/* ── More-roles button + popover anchor ───────────────────────────── */

.lmsp-more-wrap[b-wggnf5nfwl] {
    position: relative;
}

.lmsp-more-btn[b-wggnf5nfwl] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    font-size: 0.78rem;
    line-height: 1.2;
    border-radius: 999px;
    border: 1px dashed #94A3B8;
    background: transparent;
    color: #4338CA;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
}

.lmsp-more-btn:hover[b-wggnf5nfwl] {
    background: #EEF2FF;
    border-color: #6366F1;
}

/* ── Popover ──────────────────────────────────────────────────────── */

.lmsp-popover[b-wggnf5nfwl] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 320px;
    max-width: 420px;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.18);
    z-index: 100;
    display: flex;
    flex-direction: column;
    max-height: 480px;
}

.lmsp-popover-search[b-wggnf5nfwl] {
    position: relative;
    border-bottom: 1px solid #E5E7EB;
    padding: 8px 36px 8px 32px;
    display: flex;
    align-items: center;
}

.lmsp-popover-search > .bi-search[b-wggnf5nfwl] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #94A3B8;
    font-size: 0.85rem;
}

.lmsp-popover-search > input[b-wggnf5nfwl] {
    width: 100%;
    border: none;
    outline: none;
    font-size: 0.85rem;
    color: #111827;
}

.lmsp-search-clear[b-wggnf5nfwl] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #94A3B8;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    padding: 2px 4px;
    border-radius: 4px;
}

.lmsp-search-clear:hover[b-wggnf5nfwl] {
    background: #F3F4F6;
    color: #1F2937;
}

.lmsp-popover-list[b-wggnf5nfwl] {
    overflow-y: auto;
    flex: 1;
    padding: 4px 0;
}

.lmsp-group-header[b-wggnf5nfwl] {
    padding: 6px 14px 2px;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #94A3B8;
    font-weight: 600;
}

.lmsp-row[b-wggnf5nfwl] {
    /* Note: a sibling .lmsp-row class above is used for the outer chip row.
       Inside the popover, .lmsp-popover-list .lmsp-row scopes to popover rows. */
}

.lmsp-popover-list .lmsp-row[b-wggnf5nfwl] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    width: 100%;
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
    transition: background 0.1s;
    font-size: 0.85rem;
    color: #1F2937;
}

.lmsp-popover-list .lmsp-row:hover[b-wggnf5nfwl] {
    background: #F3F4F6;
}

.lmsp-popover-list .lmsp-row-active[b-wggnf5nfwl] {
    background: #F5F3FF;
}

.lmsp-row-state[b-wggnf5nfwl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 1px solid #D1D5DB;
    color: #9CA3AF;
    font-size: 0.7rem;
    flex-shrink: 0;
}

.lmsp-row-state-include[b-wggnf5nfwl] {
    background: #10B981;
    border-color: #10B981;
    color: #FFFFFF;
}

.lmsp-row-state-exclude[b-wggnf5nfwl] {
    background: #EF4444;
    border-color: #EF4444;
    color: #FFFFFF;
}

.lmsp-row-name[b-wggnf5nfwl] {
    flex: 1;
    display: inline-flex;
    align-items: center;
}

.lmsp-row-count[b-wggnf5nfwl] {
    font-size: 0.7rem;
    color: #94A3B8;
    background: #F3F4F6;
    border-radius: 999px;
    padding: 1px 8px;
    min-width: 24px;
    text-align: center;
}

.lmsp-empty[b-wggnf5nfwl] {
    padding: 14px;
    color: #6B7280;
    font-size: 0.85rem;
    text-align: center;
}

.lmsp-popover-footer[b-wggnf5nfwl] {
    border-top: 1px solid #E5E7EB;
    padding: 6px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FAFAFB;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.lmsp-popover-hint[b-wggnf5nfwl] {
    font-size: 0.7rem;
    color: #94A3B8;
}

/* ── Match-mode toggle + clear ────────────────────────────────────── */

.lmsp-match-toggle[b-wggnf5nfwl] {
    margin-left: 6px;
}

.lmsp-clear[b-wggnf5nfwl] {
    font-size: 0.78rem;
    padding: 0 6px;
    color: #6B7280;
}

.lmsp-clear:hover[b-wggnf5nfwl] {
    color: #1F2937;
}
/* /Shared/LeadAccountPicker.razor.rz.scp.css */
.lpk-container[b-9ascilw53y] {
    position: relative;
}

/* ── Tabs ─────────────────────────────────── */
.lpk-tabs[b-9ascilw53y] {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}

.lpk-tab[b-9ascilw53y] {
    background: none;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    padding: 4px 12px;
    font-size: 0.8rem;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: all var(--crm-fast) ease;
}

.lpk-tab.active[b-9ascilw53y] {
    background: var(--crm-navy);
    color: white;
    border-color: var(--crm-navy);
}

.lpk-tab:hover:not(.active)[b-9ascilw53y] {
    background: var(--crm-bg);
}

/* ── Search ───────────────────────────────── */
.lpk-search-wrap[b-9ascilw53y] {
    position: relative;
}

.lpk-search-icon[b-9ascilw53y] {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.82rem;
    opacity: 0.45;
    pointer-events: none;
}

.lpk-search-input[b-9ascilw53y] {
    padding-left: 32px !important;
    font-size: 0.875rem;
    border-color: var(--crm-border);
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-fast) ease;
}

.lpk-search-input:focus[b-9ascilw53y] {
    border-color: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-teal-glow);
}

.lpk-spinner[b-9ascilw53y] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid var(--crm-border);
    border-top-color: var(--crm-teal);
    border-radius: 50%;
    animation: lpk-spin-b-9ascilw53y 0.6s linear infinite;
}

@keyframes lpk-spin-b-9ascilw53y {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* ── Results ──────────────────────────────── */
.lpk-results[b-9ascilw53y] {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    background: white;
    margin-top: 6px;
    box-shadow: var(--crm-shadow-sm);
}

.lpk-result-item[b-9ascilw53y] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    border-bottom: 1px solid var(--crm-border);
    transition: background var(--crm-fast) ease;
}

.lpk-result-item:last-child[b-9ascilw53y] {
    border-bottom: none;
}

.lpk-result-item:hover[b-9ascilw53y] {
    background: var(--crm-teal-50);
}

.lpk-result-avatar[b-9ascilw53y] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--crm-navy);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 600;
    flex-shrink: 0;
    text-transform: uppercase;
}

.lpk-result-avatar.apk-acct[b-9ascilw53y] {
    border-radius: var(--crm-r-sm);
    background: var(--crm-navy-600);
}

.lpk-result-info[b-9ascilw53y] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lpk-result-name[b-9ascilw53y] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lpk-result-subtitle[b-9ascilw53y] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Selected state ───────────────────────── */
.lpk-selected[b-9ascilw53y] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--crm-teal-50);
    border: 1px solid color-mix(in srgb, var(--crm-teal) 30%, transparent);
    border-radius: var(--crm-r-sm);
}

.lpk-selected-avatar[b-9ascilw53y] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--crm-teal);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    flex-shrink: 0;
    text-transform: uppercase;
}

.lpk-selected-avatar.apk-acct[b-9ascilw53y] {
    border-radius: var(--crm-r-sm);
}

.lpk-selected-info[b-9ascilw53y] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.lpk-selected-name[b-9ascilw53y] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--crm-text);
}

.lpk-selected-detail[b-9ascilw53y] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.lpk-clear-btn[b-9ascilw53y] {
    background: none;
    border: none;
    color: var(--crm-text-3);
    cursor: pointer;
    font-size: 0.85rem;
    padding: 4px;
    border-radius: 4px;
    line-height: 1;
    transition: color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.lpk-clear-btn:hover[b-9ascilw53y] {
    color: var(--crm-text);
    background: rgba(0,0,0,0.06);
}

/* ── Suggestions ──────────────────────────── */
.apk-suggestions[b-9ascilw53y] {
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--crm-teal) 25%, var(--crm-border));
    border-radius: var(--crm-r-sm);
    background: color-mix(in srgb, var(--crm-teal) 4%, white);
}

.apk-suggestion-label[b-9ascilw53y] {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-teal-600);
    margin-bottom: 6px;
}

.apk-suggestion-item[b-9ascilw53y] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    cursor: pointer;
    border-radius: 4px;
    transition: background var(--crm-fast) ease;
}

.apk-suggestion-item:hover[b-9ascilw53y] {
    background: var(--crm-teal-50);
}

/* ── No results / create link ─────────────── */
.lpk-no-results[b-9ascilw53y] {
    font-size: 0.8rem;
    color: var(--crm-text-3);
    margin: 10px 0 0;
}

.lpk-link-btn[b-9ascilw53y] {
    background: none;
    border: none;
    color: var(--crm-teal-600);
    cursor: pointer;
    font-size: inherit;
    padding: 0;
    text-decoration: underline;
}

.lpk-link-btn:hover[b-9ascilw53y] {
    color: var(--crm-teal);
}

/* ── Create actions ───────────────────────── */
.lpk-create-actions[b-9ascilw53y] {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}
/* /Shared/LeadContactPicker.razor.rz.scp.css */
.lpk-container[b-mtoa0lse7f] {
    position: relative;
}

/* ── Tabs ─────────────────────────────────── */
.lpk-tabs[b-mtoa0lse7f] {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}

.lpk-tab[b-mtoa0lse7f] {
    background: none;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    padding: 4px 12px;
    font-size: 0.8rem;
    color: var(--crm-text-3);
    cursor: pointer;
    transition: all var(--crm-fast) ease;
}

.lpk-tab.active[b-mtoa0lse7f] {
    background: var(--crm-navy);
    color: white;
    border-color: var(--crm-navy);
}

.lpk-tab:hover:not(.active)[b-mtoa0lse7f] {
    background: var(--crm-bg);
}

/* ── Search ───────────────────────────────── */
.lpk-search-wrap[b-mtoa0lse7f] {
    position: relative;
}

.lpk-search-icon[b-mtoa0lse7f] {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.82rem;
    opacity: 0.45;
    pointer-events: none;
}

.lpk-search-input[b-mtoa0lse7f] {
    padding-left: 32px !important;
    font-size: 0.875rem;
    border-color: var(--crm-border);
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-fast) ease;
}

.lpk-search-input:focus[b-mtoa0lse7f] {
    border-color: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-teal-glow);
}

.lpk-spinner[b-mtoa0lse7f] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid var(--crm-border);
    border-top-color: var(--crm-teal);
    border-radius: 50%;
    animation: lpk-spin-b-mtoa0lse7f 0.6s linear infinite;
}

@keyframes lpk-spin-b-mtoa0lse7f {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* ── Results ──────────────────────────────── */
.lpk-results[b-mtoa0lse7f] {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    background: white;
    margin-top: 6px;
    box-shadow: var(--crm-shadow-sm);
}

.lpk-result-item[b-mtoa0lse7f] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    border-bottom: 1px solid var(--crm-border);
    transition: background var(--crm-fast) ease;
}

.lpk-result-item:last-child[b-mtoa0lse7f] {
    border-bottom: none;
}

.lpk-result-item:hover[b-mtoa0lse7f] {
    background: var(--crm-teal-50);
}

.lpk-result-avatar[b-mtoa0lse7f] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--crm-navy);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 600;
    flex-shrink: 0;
    text-transform: uppercase;
}

.lpk-result-info[b-mtoa0lse7f] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lpk-result-name[b-mtoa0lse7f] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lpk-result-subtitle[b-mtoa0lse7f] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Selected state ───────────────────────── */
.lpk-selected[b-mtoa0lse7f] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--crm-teal-50);
    border: 1px solid color-mix(in srgb, var(--crm-teal) 30%, transparent);
    border-radius: var(--crm-r-sm);
}

.lpk-selected-avatar[b-mtoa0lse7f] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--crm-teal);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    flex-shrink: 0;
    text-transform: uppercase;
}

.lpk-selected-info[b-mtoa0lse7f] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.lpk-selected-name[b-mtoa0lse7f] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--crm-text);
}

.lpk-selected-detail[b-mtoa0lse7f] {
    font-size: 0.75rem;
    color: var(--crm-text-3);
}

.lpk-clear-btn[b-mtoa0lse7f] {
    background: none;
    border: none;
    color: var(--crm-text-3);
    cursor: pointer;
    font-size: 0.85rem;
    padding: 4px;
    border-radius: 4px;
    line-height: 1;
    transition: color var(--crm-fast) ease, background var(--crm-fast) ease;
}

.lpk-clear-btn:hover[b-mtoa0lse7f] {
    color: var(--crm-text);
    background: rgba(0,0,0,0.06);
}

/* ── No results / create link ─────────────── */
.lpk-no-results[b-mtoa0lse7f] {
    font-size: 0.8rem;
    color: var(--crm-text-3);
    margin: 10px 0 0;
}

.lpk-link-btn[b-mtoa0lse7f] {
    background: none;
    border: none;
    color: var(--crm-teal-600);
    cursor: pointer;
    font-size: inherit;
    padding: 0;
    text-decoration: underline;
}

.lpk-link-btn:hover[b-mtoa0lse7f] {
    color: var(--crm-teal);
}

/* ── Create actions ───────────────────────── */
.lpk-create-actions[b-mtoa0lse7f] {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}
/* /Shared/LeadScoreBadge.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   LeadScoreBadge — numeric score with color coding
   ═══════════════════════════════════════════════════════ */

.ls-badge[b-v4z4v1oz6b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.6rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    font-size: 0.65rem;
    font-weight: 700;
    border-radius: 99px;
    letter-spacing: 0.01em;
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
    line-height: 1;
}

.ls-high[b-v4z4v1oz6b] {
    color: #15803d;
    background: #dcfce7;
}

.ls-mid[b-v4z4v1oz6b] {
    color: #a16207;
    background: #fef9c3;
}

.ls-low[b-v4z4v1oz6b] {
    color: #dc2626;
    background: #fef2f2;
}
/* /Shared/ListFilters.razor.rz.scp.css */
.lf-wrapper[b-nvfuc88lu7] {
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-radius: 8px;
    background: var(--bs-body-bg, #fff);
    margin-bottom: 1rem;
    /* Default overflow:hidden so the body's white background gets clipped
       to the rounded corners during the slide animation. We flip to
       visible after the open transition so child popups (FilterSelect's
       absolutely-positioned menu) can escape this clipping context. */
    overflow: hidden;
}

.lf-wrapper--open[b-nvfuc88lu7] {
    background: var(--bs-tertiary-bg, #f8f9fa);
    /* Delay the overflow snap until the height transition completes (0.22s)
       so content doesn't peek past the rounded bottom mid-animation. On
       close, the closed-state rule has no overflow transition, so overflow
       snaps back to hidden instantly when the user collapses the panel. */
    overflow: visible;
    transition: overflow 0s linear 0.22s;
}

.lf-header[b-nvfuc88lu7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.55rem 0.85rem;
    background: transparent;
    border: 0;
    color: var(--bs-body-color);
    font-size: 0.875rem;
    cursor: pointer;
    text-align: left;
    user-select: none;
}

.lf-header:hover[b-nvfuc88lu7] {
    background: rgba(13, 36, 71, 0.04);
}

.lf-header:focus-visible[b-nvfuc88lu7] {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: -2px;
}

.lf-header-left[b-nvfuc88lu7],
.lf-header-right[b-nvfuc88lu7] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.lf-header-left > i.bi-funnel[b-nvfuc88lu7] {
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.95rem;
}

.lf-title[b-nvfuc88lu7] {
    font-weight: 600;
    letter-spacing: 0.01em;
}

.lf-count[b-nvfuc88lu7] {
    font-size: 0.7rem;
    padding: 0.2rem 0.45rem;
}

.lf-clear[b-nvfuc88lu7] {
    font-size: 0.78rem;
    color: var(--bs-secondary-color, #6c757d);
    cursor: pointer;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
}

.lf-clear:hover[b-nvfuc88lu7] {
    color: var(--bs-body-color);
    background: rgba(13, 36, 71, 0.06);
    text-decoration: underline;
}

/* Inline natural-language summary of applied filters. Shown next to the
   "Filters" title when the panel is collapsed so the user sees what's
   active without expanding. Each value is a removable chip — clicking the
   × invokes the per-chip callback supplied by the page. */
.lf-summary[b-nvfuc88lu7] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-left: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--bs-body-color);
    /* Keep the header on a single visual line on tight headers, but allow
       chip wrapping for long summaries. The min-width:0 lets the flex item
       shrink past its intrinsic width so the chevron stays glued to the right. */
    min-width: 0;
}

.lf-summary-item[b-nvfuc88lu7] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.lf-summary-label[b-nvfuc88lu7] {
    color: var(--bs-secondary-color, #6c757d);
    font-weight: 500;
}

.lf-summary-sep[b-nvfuc88lu7] {
    color: var(--bs-secondary-color, #6c757d);
    opacity: 0.6;
}

.lf-summary-chip[b-nvfuc88lu7] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.1rem 0.45rem 0.1rem 0.55rem;
    background: rgba(13, 110, 253, 0.10);
    color: var(--bs-primary, #0d6efd);
    border-radius: 999px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.12s ease, color 0.12s ease;
    user-select: none;
}

.lf-summary-chip:hover[b-nvfuc88lu7],
.lf-summary-chip:focus-visible[b-nvfuc88lu7] {
    background: rgba(220, 53, 69, 0.12);
    color: var(--bs-danger, #dc3545);
    outline: 0;
}

.lf-summary-x[b-nvfuc88lu7] {
    font-size: 0.7rem;
    opacity: 0.7;
    line-height: 1;
}

.lf-summary-chip:hover .lf-summary-x[b-nvfuc88lu7],
.lf-summary-chip:focus-visible .lf-summary-x[b-nvfuc88lu7] {
    opacity: 1;
}

.lf-summary-value[b-nvfuc88lu7] {
    /* Wraps a non-removable summary value (no OnRemove callback). Inherits
       parent color so it visually integrates with the label. */
    color: var(--bs-body-color);
}

.lf-chevron[b-nvfuc88lu7] {
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.85rem;
    /* Single icon that rotates on open, so the chevron sweeps instead of
       hard-swapping between two glyphs. */
    transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.lf-wrapper--open .lf-chevron[b-nvfuc88lu7] {
    transform: rotate(180deg);
}

/* Grid-template-rows: 0fr → 1fr trick. The collapsed state has zero rows
   of "1fr" content, the open state has one full row. Animating between
   these is the cleanest way to do an auto-height collapse without
   measuring max-height at runtime. The inner wrapper has overflow:hidden
   so the body doesn't peek out during the transition. */
.lf-collapse[b-nvfuc88lu7] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.lf-wrapper--open .lf-collapse[b-nvfuc88lu7] {
    grid-template-rows: 1fr;
}

.lf-collapse-inner[b-nvfuc88lu7] {
    overflow: hidden;
    /* Fade the body alongside the height change — without this the content
       blinks in at the start of the transition because it's already at full
       opacity before its height makes room. */
    opacity: 0;
    transition: opacity 0.18s ease;
}

.lf-wrapper--open .lf-collapse-inner[b-nvfuc88lu7] {
    opacity: 1;
    /* Same delayed-overflow trick as .lf-wrapper--open: keep clipping
       during the 0.22s height animation so content doesn't peek out, then
       snap to visible once the panel is fully open so child popups
       (FilterSelect's absolutely-positioned menu) aren't clipped. */
    overflow: visible;
    transition: opacity 0.22s ease 0.05s, overflow 0s linear 0.22s;
}

.lf-body[b-nvfuc88lu7] {
    padding: 0.75rem 0.85rem 0.85rem;
    border-top: 1px solid var(--bs-border-color-translucent, #dee2e6);
    background: var(--bs-body-bg, #fff);
}

/* Honor the user's reduce-motion preference: skip the animations entirely
   when the OS asks for less motion. */
@media (prefers-reduced-motion: reduce) {
    .lf-chevron[b-nvfuc88lu7],
    .lf-collapse[b-nvfuc88lu7],
    .lf-collapse-inner[b-nvfuc88lu7] {
        transition: none;
    }
}

/* Tighter padding inside filter inputs so the body doesn't feel cavernous when
   it holds 1-2 inputs. The :deep wraps any `.row.g-2.mb-3` used by callers
   to ensure the bottom margin doesn't double up against `.lf-body` padding. */
.lf-body[b-nvfuc88lu7]  .row.g-2.mb-3:last-child,
.lf-body[b-nvfuc88lu7]  .mb-3:last-child {
    margin-bottom: 0 !important;
}
/* /Shared/MultiStateChipFilter.razor.rz.scp.css */
.cf-wrapper[b-nj29osuzdt] {
    width: 100%;
}

.cf-chipbar[b-nj29osuzdt] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.cf-label[b-nj29osuzdt] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--bs-secondary-color, #6c757d);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin-right: 0.25rem;
}

.cf-chip[b-nj29osuzdt] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.65rem;
    font-size: 0.8125rem;
    line-height: 1.25;
    border-radius: 999px;
    border: 1px solid transparent;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
    cursor: pointer;
    user-select: none;
}

.cf-chip:focus-visible[b-nj29osuzdt] {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 2px;
}

.cf-chip i[b-nj29osuzdt] {
    font-size: 0.875rem;
    line-height: 1;
}

.cf-chip-neutral[b-nj29osuzdt] {
    background: transparent;
    border-color: var(--bs-border-color, #dee2e6);
    color: var(--bs-body-color, #212529);
}

.cf-chip-neutral:hover[b-nj29osuzdt] {
    background: var(--bs-tertiary-bg, #f8f9fa);
    border-color: var(--bs-secondary, #6c757d);
}

.cf-chip-neutral i[b-nj29osuzdt] {
    color: var(--bs-tertiary-color, #adb5bd);
}

.cf-chip-include[b-nj29osuzdt] {
    background: var(--bs-primary, #0d6efd);
    border-color: var(--bs-primary, #0d6efd);
    color: #fff;
}

.cf-chip-include:hover[b-nj29osuzdt] {
    filter: brightness(1.08);
}

.cf-chip-exclude[b-nj29osuzdt] {
    background: var(--bs-danger-bg-subtle, #f8d7da);
    border-color: var(--bs-danger-border-subtle, #f1aeb5);
    color: var(--bs-danger-text-emphasis, #58151c);
    text-decoration: line-through;
}

.cf-chip-exclude:hover[b-nj29osuzdt] {
    background: var(--bs-danger, #dc3545);
    border-color: var(--bs-danger, #dc3545);
    color: #fff;
}

.cf-match-toggle[b-nj29osuzdt] {
    margin-left: 0.5rem;
}

.cf-clear[b-nj29osuzdt] {
    padding: 0 0.25rem;
    color: var(--bs-secondary-color, #6c757d);
    text-decoration: none;
}

.cf-clear:hover[b-nj29osuzdt] {
    color: var(--bs-body-color, #212529);
    text-decoration: underline;
}

.cf-chip-name[b-nj29osuzdt] {
    white-space: nowrap;
}
/* /Shared/NarrativeChangeReview.razor.rz.scp.css */
/* Narrative paste review — staff-facing layout mirroring the visual language
   of the data-accuracy SuggestionReview page (teal + navy + soft borders,
   side-by-side change cards, confidence bars, source-excerpt callout) so the
   feature feels familiar to anyone who's used the suggestions inbox. */

/* ── Summary header ──────────────────────────────────── */

.npr-summary[b-5bc2iev8gm] {
    margin-bottom: 16px;
    padding: 14px 18px;
    border-radius: 12px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: linear-gradient(180deg, rgba(0, 197, 168, 0.04), transparent);
}

.npr-summary-label[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--crm-teal-600, #009E88);
    margin-bottom: 4px;
}

.npr-summary-body[b-5bc2iev8gm] {
    color: var(--crm-text-2, #4b5563);
    font-size: 0.95rem;
    line-height: 1.5;
}

/* ── Control bar ─────────────────────────────────────── */

.npr-control-bar[b-5bc2iev8gm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.npr-control-counts[b-5bc2iev8gm] {
    color: var(--crm-text-2, #4b5563);
    font-size: 0.9rem;
}

.npr-control-counts strong[b-5bc2iev8gm] {
    color: var(--crm-navy, #0f172a);
}

/* ── Account groups ──────────────────────────────────── */

.npr-group[b-5bc2iev8gm] {
    margin-bottom: 22px;
}

.npr-group-header[b-5bc2iev8gm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--crm-border, #e6eaf0);
}

.npr-group-title[b-5bc2iev8gm] {
    display: inline;
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
}

.npr-group-badge[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 8px;
    padding: 2px 10px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.16);
    color: #92400e;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.npr-group-count[b-5bc2iev8gm] {
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.82rem;
}

.npr-group-other .npr-group-title[b-5bc2iev8gm]::before {
    content: "↗ ";
    color: #f59e0b;
    margin-right: 2px;
}

/* ── Proposal card ───────────────────────────────────── */

.npr-card[b-5bc2iev8gm] {
    padding: 16px 18px 14px 18px;
    border-radius: 12px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: var(--crm-white, #fff);
    margin-bottom: 12px;
    transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.npr-card.is-selected[b-5bc2iev8gm] {
    border-color: rgba(0, 197, 168, 0.45);
    box-shadow: 0 1px 3px rgba(0, 197, 168, 0.10);
}

.npr-card.is-failed[b-5bc2iev8gm] {
    border-color: rgba(239, 68, 68, 0.45);
    background: rgba(239, 68, 68, 0.02);
}

/* ── No-op (already-applied) card style ──────────────── */

.npr-card.is-noop[b-5bc2iev8gm] {
    background: var(--crm-bg, #f5f7fa);
    border-style: dashed;
    padding-top: 10px;
    padding-bottom: 10px;
    opacity: 0.85;
}

.npr-card.is-noop .npr-card-title[b-5bc2iev8gm] {
    color: var(--crm-text-2, #4b5563);
    font-weight: 500;
    font-size: 0.95rem;
}

.npr-card.is-noop .npr-scope-chip[b-5bc2iev8gm] {
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-3, #9ca3af);
}

.npr-noop-pill[b-5bc2iev8gm] {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.14);
    color: #047857;
    font-weight: 600;
    font-size: 0.75rem;
    border: 1px solid rgba(16, 185, 129, 0.30);
    height: fit-content;
}

.npr-noop-reason[b-5bc2iev8gm] {
    margin-top: 4px;
    padding: 6px 12px;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
    background: var(--crm-white, #fff);
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.npr-noop-reason .bi[b-5bc2iev8gm] {
    color: var(--crm-text-3, #9ca3af);
    flex-shrink: 0;
}

.npr-noop-count[b-5bc2iev8gm] {
    margin-left: 6px;
    color: #047857;
    font-size: 0.85rem;
}

.npr-noop-count .bi[b-5bc2iev8gm] {
    margin-right: 2px;
}

.npr-card-head[b-5bc2iev8gm] {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 4px;
    align-items: start;
    margin-bottom: 12px;
}

.npr-card-eyebrow[b-5bc2iev8gm] {
    grid-column: 1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.npr-include[b-5bc2iev8gm] {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: var(--crm-bg, #f5f7fa);
}

.npr-include input[type="checkbox"][b-5bc2iev8gm] {
    margin: 0;
    accent-color: var(--crm-teal-600, #009E88);
}

.npr-card.is-selected .npr-include[b-5bc2iev8gm] {
    background: rgba(0, 197, 168, 0.08);
    border-color: rgba(0, 197, 168, 0.35);
    color: var(--crm-teal-600, #009E88);
}

.npr-scope-chip[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(0, 197, 168, 0.10);
    color: #00867a;
    font-weight: 600;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* ── Operation badge (Create new / Update existing) ──── */

.npr-op-badge[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    border: 1px solid transparent;
}

.npr-op-badge .bi[b-5bc2iev8gm] {
    font-size: 0.85rem;
}

.npr-op-create[b-5bc2iev8gm] {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
    border-color: rgba(59, 130, 246, 0.30);
}

.npr-op-update[b-5bc2iev8gm] {
    background: rgba(0, 197, 168, 0.10);
    color: #00867a;
    border-color: rgba(0, 197, 168, 0.30);
}

.npr-op-remove[b-5bc2iev8gm] {
    background: rgba(239, 68, 68, 0.10);
    color: #b91c1c;
    border-color: rgba(239, 68, 68, 0.30);
}

/* ── Duplicate warning ───────────────────────────────── */

.npr-dup-warn[b-5bc2iev8gm] {
    margin-bottom: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.07);
}

.npr-dup-warn-head[b-5bc2iev8gm] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
    color: #92400e;
    font-size: 0.85rem;
}

.npr-dup-warn-head .bi[b-5bc2iev8gm] {
    color: #d97706;
    flex-shrink: 0;
}

.npr-dup-warn-head strong[b-5bc2iev8gm] {
    color: #78350f;
}

.npr-dup-list[b-5bc2iev8gm] {
    margin: 8px 0 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.npr-dup-item[b-5bc2iev8gm] {
    padding: 6px 10px;
    background: var(--crm-white, #fff);
    border: 1px solid rgba(245, 158, 11, 0.30);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.npr-dup-link[b-5bc2iev8gm] {
    color: var(--crm-navy, #0f172a);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 1 1 auto;
    min-width: 0;
}

.npr-dup-link:hover .npr-dup-name[b-5bc2iev8gm] {
    color: var(--crm-teal-600, #009E88);
    text-decoration: underline;
}

.npr-dup-name[b-5bc2iev8gm] {
    font-weight: 600;
}

.npr-dup-secondary[b-5bc2iev8gm] {
    color: var(--crm-text-2, #4b5563);
    font-size: 0.85rem;
}

.npr-dup-go[b-5bc2iev8gm] {
    margin-left: 4px;
    color: var(--crm-text-3, #9ca3af);
    font-size: 0.75rem;
}

.npr-dup-reasons[b-5bc2iev8gm] {
    display: inline-flex;
    gap: 4px;
    flex-wrap: wrap;
}

.npr-dup-pill[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--crm-bg, #f5f7fa);
    color: var(--crm-text-2, #4b5563);
    font-size: 0.7rem;
    font-weight: 500;
    border: 1px solid var(--crm-border, #e6eaf0);
}

.npr-dup-pill-strong[b-5bc2iev8gm] {
    background: rgba(245, 158, 11, 0.18);
    color: #92400e;
    border-color: rgba(245, 158, 11, 0.45);
    font-weight: 600;
}

.npr-dup-use[b-5bc2iev8gm] {
    flex-shrink: 0;
    margin-left: 8px;
}

.npr-dup-chosen-pill[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.14);
    color: #047857;
    font-weight: 600;
    font-size: 0.78rem;
    flex-shrink: 0;
}

.npr-dup-item.is-chosen[b-5bc2iev8gm] {
    background: rgba(16, 185, 129, 0.06);
    border-color: rgba(16, 185, 129, 0.45);
}

/* ── Generic per-card warning (no account resolved, etc.) ── */

.npr-warn[b-5bc2iev8gm] {
    margin-bottom: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid rgba(239, 68, 68, 0.45);
    background: rgba(239, 68, 68, 0.06);
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #7f1d1d;
    font-size: 0.9rem;
}

.npr-warn .bi[b-5bc2iev8gm] {
    color: #b91c1c;
    flex-shrink: 0;
    font-size: 1.05rem;
    margin-top: 2px;
}

.npr-warn strong[b-5bc2iev8gm] {
    color: #7f1d1d;
}

.npr-card-title[b-5bc2iev8gm] {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    line-height: 1.3;
}

/* ── Change cards (current → proposed) ───────────────── */

.npr-change[b-5bc2iev8gm] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 10px;
    align-items: stretch;
    margin-bottom: 14px;
}

.npr-change-card[b-5bc2iev8gm] {
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid var(--crm-border, #e6eaf0);
    background: var(--crm-white, #fff);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.npr-change-current[b-5bc2iev8gm] {
    background: var(--crm-bg, #f5f7fa);
}

.npr-change-proposed[b-5bc2iev8gm] {
    border-color: rgba(0, 197, 168, 0.40);
    background: linear-gradient(180deg, rgba(0, 197, 168, 0.05), rgba(0, 197, 168, 0.01));
    box-shadow: 0 1px 2px rgba(0, 197, 168, 0.08);
}

.npr-change-label[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--crm-text-3, #9ca3af);
}

.npr-change-proposed .npr-change-label[b-5bc2iev8gm] {
    color: var(--crm-teal-600, #009E88);
}

.npr-change-value[b-5bc2iev8gm] {
    min-height: 32px;
}

.npr-value-primary[b-5bc2iev8gm] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    word-break: break-word;
    line-height: 1.3;
}

.npr-value-secondary[b-5bc2iev8gm] {
    margin-top: 2px;
    color: var(--crm-text-2, #4b5563);
    font-size: 0.82rem;
}

.npr-change-empty[b-5bc2iev8gm] {
    color: var(--crm-text-3, #9ca3af);
    font-style: italic;
    font-size: 0.9rem;
}

.npr-change-arrow[b-5bc2iev8gm] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--crm-text-3, #9ca3af);
    font-size: 1rem;
}

.npr-change-arrow .bi[b-5bc2iev8gm] {
    background: var(--crm-white, #fff);
    border: 1px solid var(--crm-border, #e6eaf0);
    border-radius: 999px;
    padding: 5px 7px;
}

@media (max-width: 700px) {
    .npr-change[b-5bc2iev8gm] {
        grid-template-columns: 1fr;
    }
    .npr-change-arrow[b-5bc2iev8gm] {
        transform: rotate(90deg);
    }
}

/* ── Reasoning / source excerpt ──────────────────────── */

.npr-reasoning[b-5bc2iev8gm] {
    padding: 12px 14px;
    border-radius: 10px;
    background: var(--crm-bg, #f5f7fa);
    margin-bottom: 10px;
}

.npr-reasoning-head[b-5bc2iev8gm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.npr-section-title[b-5bc2iev8gm] {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--crm-navy, #0f172a);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.npr-section-title .bi[b-5bc2iev8gm] {
    color: var(--crm-teal-600, #009E88);
}

.npr-reasoning-body[b-5bc2iev8gm] {
    margin: 0;
    color: var(--crm-text-2, #374151);
    line-height: 1.5;
    font-size: 0.92rem;
    font-style: italic;
}

/* ── Confidence bars (matches SuggestionReview style) ── */

.npr-confidence[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.npr-confidence-label[b-5bc2iev8gm] {
    font-size: 0.75rem;
    color: var(--crm-text-2, #4b5563);
    font-weight: 500;
}

.npr-confidence-bars[b-5bc2iev8gm] {
    display: inline-flex;
    gap: 3px;
    align-items: flex-end;
}

.npr-confidence-bars > span[b-5bc2iev8gm] {
    display: inline-block;
    width: 5px;
    background: var(--crm-border, #e6eaf0);
    border-radius: 2px;
}

.npr-confidence-bars > span:nth-child(1)[b-5bc2iev8gm] { height: 7px; }
.npr-confidence-bars > span:nth-child(2)[b-5bc2iev8gm] { height: 10px; }
.npr-confidence-bars > span:nth-child(3)[b-5bc2iev8gm] { height: 13px; }
.npr-confidence-bars > span:nth-child(4)[b-5bc2iev8gm] { height: 16px; }
.npr-confidence-bars > span:nth-child(5)[b-5bc2iev8gm] { height: 19px; }

.npr-confidence-5 > span[b-5bc2iev8gm] { background: #10b981; }
.npr-confidence-4 > span:nth-child(-n+4)[b-5bc2iev8gm] { background: #10b981; }
.npr-confidence-3 > span:nth-child(-n+3)[b-5bc2iev8gm] { background: #f59e0b; }
.npr-confidence-2 > span:nth-child(-n+2)[b-5bc2iev8gm] { background: #f59e0b; }
.npr-confidence-1 > span:nth-child(1)[b-5bc2iev8gm] { background: #ef4444; }

/* ── Leadership-note editor ──────────────────────────── */

.npr-leadership[b-5bc2iev8gm] {
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px dashed var(--crm-border-2, #c5d3e8);
    background: var(--crm-white, #fff);
    margin-bottom: 6px;
}

/* ── Per-row apply result ────────────────────────────── */

.npr-result[b-5bc2iev8gm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 500;
}

.npr-result.is-ok[b-5bc2iev8gm] {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.npr-result.is-failed[b-5bc2iev8gm] {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

/* ── Footer ──────────────────────────────────────────── */

.npr-footer[b-5bc2iev8gm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding: 14px 16px;
    background: var(--crm-bg, #f5f7fa);
    border-radius: 12px;
    flex-wrap: wrap;
}

.npr-footer-status[b-5bc2iev8gm] {
    flex: 1 1 280px;
}

.npr-footer-actions[b-5bc2iev8gm] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.npr-btn-primary[b-5bc2iev8gm] {
    padding: 7px 18px;
    font-weight: 600;
}

.npr-status-ok[b-5bc2iev8gm] {
    color: #047857;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.npr-status-partial[b-5bc2iev8gm] {
    color: #92400e;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.npr-status-failed[b-5bc2iev8gm] {
    color: #b91c1c;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
/* /Shared/NotificationBell.razor.rz.scp.css */
/* =====================================================
   Notification Bell + Drawer
   ===================================================== */

.notif-bell[b-n9ds9lqmhg] {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-right: 0.5rem;
}

/* Bell button — matches the visual weight of the user-menu toggle next door */
.notif-bell-button[b-n9ds9lqmhg] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: none;
    border: 1px solid transparent;
    border-radius: 50%;
    color: var(--crm-text-2);
    cursor: pointer;
    transition: background-color var(--crm-fast) ease,
                border-color var(--crm-fast) ease,
                color var(--crm-fast) ease;
}

.notif-bell-button:hover[b-n9ds9lqmhg] {
    background: var(--crm-bg);
    color: var(--crm-navy);
}

.notif-bell-button.active[b-n9ds9lqmhg] {
    background: var(--crm-bg);
    border-color: var(--crm-border-2);
    color: var(--crm-navy);
}

.notif-bell-button i[b-n9ds9lqmhg] {
    font-size: 1.15rem;
    line-height: 1;
}

.notif-bell-badge[b-n9ds9lqmhg] {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    background: #dc2626;
    color: #fff;
    border: 2px solid var(--crm-white, #fff);
    border-radius: 9px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 14px;
    letter-spacing: -0.01em;
    text-align: center;
    box-sizing: content-box;
    pointer-events: none;
}

/* ── Dropdown drawer ─────────────────────────────────── */

.notif-bell-backdrop[b-n9ds9lqmhg] {
    position: fixed;
    inset: 0;
    z-index: 100;
}

.notif-drawer[b-n9ds9lqmhg] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 101;
    width: 380px;
    max-width: calc(100vw - 16px);
    max-height: 560px;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    box-shadow: var(--crm-shadow-lift);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: notif-drawer-in-b-n9ds9lqmhg 0.15s var(--crm-ease) both;
}

@keyframes notif-drawer-in-b-n9ds9lqmhg {
    0%   { opacity: 0; transform: translateY(-6px) scale(0.98); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

.notif-drawer-header[b-n9ds9lqmhg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.9rem;
    background: var(--crm-bg);
    border-bottom: 1px solid var(--crm-border);
}

.notif-drawer-title[b-n9ds9lqmhg] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--crm-navy);
    letter-spacing: -0.01em;
}

.notif-drawer-actions[b-n9ds9lqmhg] {
    display: flex;
    gap: 0.15rem;
}

.notif-drawer-action[b-n9ds9lqmhg] {
    width: 28px;
    height: 28px;
    border: 1px solid transparent;
    border-radius: var(--crm-r-sm);
    background: transparent;
    color: var(--crm-text-3);
    font-size: 0.9rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--crm-fast) ease, color var(--crm-fast) ease;
}

.notif-drawer-action:hover[b-n9ds9lqmhg] {
    background: var(--crm-white);
    border-color: var(--crm-border-2);
    color: var(--crm-navy);
}

/* ── List + empty state ─────────────────────────────── */

.notif-drawer-list[b-n9ds9lqmhg] {
    overflow-y: auto;
    flex: 1 1 auto;
    -webkit-overflow-scrolling: touch;
}

.notif-drawer-empty[b-n9ds9lqmhg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2.5rem 1rem;
    color: var(--crm-text-3);
}

.notif-drawer-empty-icon[b-n9ds9lqmhg] {
    font-size: 2rem;
    opacity: 0.35;
}

.notif-drawer-empty-text[b-n9ds9lqmhg] {
    font-size: 0.85rem;
}

.notif-drawer-spinner[b-n9ds9lqmhg] {
    width: 24px;
    height: 24px;
    border: 3px solid var(--crm-border);
    border-top-color: var(--crm-navy);
    border-radius: 50%;
    animation: notif-spin-b-n9ds9lqmhg 0.8s linear infinite;
}

@keyframes notif-spin-b-n9ds9lqmhg {
    to { transform: rotate(360deg); }
}

/* ── Individual row ─────────────────────────────────── */

.notif-row[b-n9ds9lqmhg] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid var(--crm-border);
    cursor: pointer;
    transition: background-color var(--crm-fast) ease;
    position: relative;
}

.notif-row:last-child[b-n9ds9lqmhg] { border-bottom: none; }

.notif-row:hover[b-n9ds9lqmhg] {
    background: var(--crm-bg);
}

.notif-row.unread[b-n9ds9lqmhg] {
    background: color-mix(in srgb, var(--crm-navy) 4%, transparent);
}

.notif-row.unread[b-n9ds9lqmhg]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--crm-navy);
}

.notif-row-icon[b-n9ds9lqmhg] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--crm-surface-2);
    color: var(--crm-text-2);
    font-size: 0.9rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.notif-row-info .notif-row-icon[b-n9ds9lqmhg],
.notif-row-info[b-n9ds9lqmhg] { /* .notif-row-info is unused — keeping structure simple */ }

.notif-row.notif-row-info .notif-row-icon[b-n9ds9lqmhg]    { background: #eff6ff; color: #1d4ed8; }
.notif-row.notif-row-success .notif-row-icon[b-n9ds9lqmhg] { background: #ecfdf5; color: #047857; }
.notif-row.notif-row-warning .notif-row-icon[b-n9ds9lqmhg] { background: #fffbeb; color: #b45309; }
.notif-row.notif-row-critical .notif-row-icon[b-n9ds9lqmhg] { background: #fef2f2; color: #b91c1c; }

.notif-row-body[b-n9ds9lqmhg] {
    flex: 1;
    min-width: 0;
}

.notif-row-title[b-n9ds9lqmhg] {
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--crm-text);
    line-height: 1.35;
    margin-bottom: 0.1rem;
}

.notif-row-text[b-n9ds9lqmhg] {
    font-size: 0.78rem;
    color: var(--crm-text-2);
    line-height: 1.4;
    margin-bottom: 0.2rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.notif-row-time[b-n9ds9lqmhg] {
    font-size: 0.7rem;
    color: var(--crm-text-3);
}

.notif-row-actions[b-n9ds9lqmhg] {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
}

.notif-row-dismiss[b-n9ds9lqmhg] {
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--crm-text-3);
    font-size: 0.85rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--crm-fast) ease, background-color var(--crm-fast) ease;
}

.notif-row:hover .notif-row-dismiss[b-n9ds9lqmhg] {
    opacity: 1;
}

.notif-row-dismiss:hover[b-n9ds9lqmhg] {
    background: var(--crm-white);
    color: var(--crm-navy);
}

/* ── Responsive ─────────────────────────────────────── */

@media (max-width: 480px) {
    .notif-drawer[b-n9ds9lqmhg] {
        width: calc(100vw - 16px);
        right: -8px;
    }
}
/* /Shared/PacWaveDivider.razor.rz.scp.css */
.pac-wave[b-0oxg6rz5f0] {
    width: 100%;
    height: 80px;
    position: relative;
    overflow: hidden;
    pointer-events: none;
}

.pac-wave svg[b-0oxg6rz5f0] {
    width: 100%;
    height: 100%;
    display: block;
}

.pac-wave-red[b-0oxg6rz5f0] {
    fill: none;
    stroke: var(--pac-red, #D7282E);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-dasharray: 2400;
    stroke-dashoffset: 2400;
    transition: stroke-dashoffset 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

.pac-wave-blue[b-0oxg6rz5f0] {
    fill: none;
    stroke: var(--pac-blue-light, #5DA9DD);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-dasharray: 2400;
    stroke-dashoffset: 2400;
    transition: stroke-dashoffset 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
}

.pac-wave.pac-reveal--in .pac-wave-red[b-0oxg6rz5f0],
.pac-wave.pac-reveal--in .pac-wave-blue[b-0oxg6rz5f0] {
    stroke-dashoffset: 0;
}

.pac-wave--inv .pac-wave-red[b-0oxg6rz5f0] {
    stroke: rgba(215, 40, 46, 0.6);
}

.pac-wave--inv .pac-wave-blue[b-0oxg6rz5f0] {
    stroke: rgba(93, 169, 221, 0.65);
}
/* /Shared/RelatedObjectsPanel.razor.rz.scp.css */
.rop-container[b-ag6c17wihd] {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
}

.rop-header[b-ag6c17wihd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.rop-title[b-ag6c17wihd] {
    font-weight: 600;
    font-size: 0.875rem;
    color: #344054;
}

.rop-empty[b-ag6c17wihd] {
    padding: 12px 14px;
    margin: 0;
}

.rop-list[b-ag6c17wihd] {
    padding: 4px 0;
}

.rop-item[b-ag6c17wihd] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.1s;
}

.rop-item:last-child[b-ag6c17wihd] {
    border-bottom: none;
}

.rop-item:hover[b-ag6c17wihd] {
    background: #f8f9fa;
}

.rop-item-editing[b-ag6c17wihd] {
    background: #f0f7ff;
}

.rop-item-main[b-ag6c17wihd] {
    flex: 1;
    min-width: 0;
}

.rop-item-name[b-ag6c17wihd] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f2d5c;
    text-decoration: none;
}

.rop-item-name:hover[b-ag6c17wihd] {
    text-decoration: underline;
}

.rop-item-subtitle[b-ag6c17wihd] {
    font-size: 0.75rem;
    color: #6c757d;
    margin-left: 6px;
}

.rop-item-labels[b-ag6c17wihd] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    flex: 1;
}

.rop-edit-labels-btn[b-ag6c17wihd] {
    color: #adb5bd;
    padding: 0 2px;
    line-height: 1;
    font-size: 0.75rem;
}

.rop-edit-labels-btn:hover[b-ag6c17wihd] {
    color: #0f2d5c;
}

.rop-done-btn[b-ag6c17wihd] {
    font-size: 0.75rem;
    padding: 0 4px;
    color: #0f2d5c;
}

.rop-remove-btn[b-ag6c17wihd] {
    flex-shrink: 0;
    padding: 0 6px;
    line-height: 1.4;
    font-size: 1rem;
}

.rop-label-check[b-ag6c17wihd] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    background: white;
    margin: 2px;
}

.rop-label-check:hover[b-ag6c17wihd] {
    background: #f8f9fa;
}

/* Add panel */
.rop-add-panel[b-ag6c17wihd] {
    padding: 12px 14px;
    border-top: 1px solid #dee2e6;
    background: #fafbfc;
}

.rop-add-tabs[b-ag6c17wihd] {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}

.rop-add-tab[b-ag6c17wihd] {
    background: none;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 0.8rem;
    color: #6c757d;
    cursor: pointer;
    transition: all 0.15s;
}

.rop-add-tab.active[b-ag6c17wihd] {
    background: #0f2d5c;
    color: white;
    border-color: #0f2d5c;
}

.rop-add-tab:hover:not(.active)[b-ag6c17wihd] {
    background: #f0f0f0;
}

.rop-search-row[b-ag6c17wihd] {
    position: relative;
    margin-bottom: 8px;
}

.rop-searching-indicator[b-ag6c17wihd] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    color: #6c757d;
}

.rop-results[b-ag6c17wihd] {
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: white;
    margin-bottom: 8px;
}

.rop-result-item[b-ag6c17wihd] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.1s;
}

.rop-result-item:last-child[b-ag6c17wihd] {
    border-bottom: none;
}

.rop-result-item:hover[b-ag6c17wihd] {
    background: #f8f9fa;
}

.rop-result-item.selected[b-ag6c17wihd] {
    background: #e8f0fe;
    border-color: #c0d4fc;
}

.rop-result-name[b-ag6c17wihd] {
    font-size: 0.875rem;
    font-weight: 500;
}

.rop-result-subtitle[b-ag6c17wihd] {
    font-size: 0.75rem;
    color: #6c757d;
}

.rop-label-section[b-ag6c17wihd] {
    margin: 10px 0 8px;
}

.rop-label-section-title[b-ag6c17wihd] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #344054;
    display: block;
    margin-bottom: 6px;
}

.rop-label-options[b-ag6c17wihd] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.rop-add-actions[b-ag6c17wihd] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

/* ── Tag-style label picker ──────────────────────────────────────────── */

.rop-role-chip[b-ag6c17wihd] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    margin: 2px 4px 2px 0;
    background: #EEF2FF;
    color: #3730A3;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
}

.rop-role-chip-x[b-ag6c17wihd] {
    background: transparent;
    border: none;
    color: #4338CA;
    font-size: 0.95rem;
    line-height: 1;
    padding: 0 2px;
    cursor: pointer;
    border-radius: 50%;
}

.rop-role-chip-x:hover[b-ag6c17wihd] {
    background: #C7D2FE;
    color: #1E1B4B;
}

.rop-tag-input-wrap[b-ag6c17wihd] {
    position: relative;
    display: inline-block;
    margin: 2px 0;
}

.rop-tag-input[b-ag6c17wihd] {
    border: 1px dashed #94A3B8;
    background: transparent;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.75rem;
    color: #1F2937;
    min-width: 120px;
    outline: none;
}

.rop-tag-input:focus[b-ag6c17wihd] {
    border-color: #4338CA;
    border-style: solid;
    background: #FFFFFF;
}

.rop-tag-suggest[b-ag6c17wihd] {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 4px;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
    min-width: 220px;
    max-width: 320px;
    z-index: 20;
    padding: 4px 0;
    display: flex;
    flex-direction: column;
}

.rop-tag-suggest-item[b-ag6c17wihd] {
    background: transparent;
    border: none;
    text-align: left;
    padding: 6px 12px;
    font-size: 0.8rem;
    color: #111827;
    cursor: pointer;
}

.rop-tag-suggest-item:hover[b-ag6c17wihd] {
    background: #F3F4F6;
}

.rop-tag-suggest-create[b-ag6c17wihd] {
    border-top: 1px solid #E5E7EB;
    color: #1D4ED8;
}
/* /Shared/SendEmailForm.razor.rz.scp.css */
.em-compose-btn[b-njvlutmnfp] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    font-weight: 500;
}

.em-compose-card[b-njvlutmnfp] {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r);
    background: var(--crm-white);
    box-shadow: var(--crm-shadow-xs);
    overflow: hidden;
    margin-bottom: 1rem;
}

.em-compose-header[b-njvlutmnfp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.9rem;
    background: var(--crm-bg);
    border-bottom: 1px solid var(--crm-border);
}

.em-compose-title[b-njvlutmnfp] {
    font-family: 'Outfit', sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-navy);
}

.em-compose-close[b-njvlutmnfp] {
    font-size: 0.75rem;
    padding: 0.15rem 0.5rem;
}

.em-compose-body[b-njvlutmnfp] {
    padding: 0.9rem;
}

.em-compose-label[b-njvlutmnfp] {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--crm-text-3);
    margin-bottom: 0.2rem;
}

.em-compose-actions[b-njvlutmnfp] {
    display: flex;
    justify-content: flex-end;
    padding-top: 0.5rem;
}
/* /Shared/Sheets/ColumnManagerModal.razor.rz.scp.css */
.colmgr-item[b-o9mu9jno81] {
    border-radius: .4rem;
    padding-left: .25rem;
    padding-right: .25rem;
}

.colmgr-item:hover[b-o9mu9jno81] {
    background: var(--bs-tertiary-bg, #f6f8fb);
}

.colmgr-item.dragging[b-o9mu9jno81] {
    opacity: .5;
}

.colmgr-item.editing[b-o9mu9jno81] {
    background: var(--bs-primary-bg-subtle, #e7f1ff);
}

.colmgr-grip[b-o9mu9jno81] {
    color: var(--bs-secondary-color, #adb5bd);
    cursor: grab;
}

.colmgr-item[draggable="true"]:active .colmgr-grip[b-o9mu9jno81] {
    cursor: grabbing;
}

.colmgr-name[b-o9mu9jno81] {
    border: 0;
    background: none;
}

.colmgr-chip[b-o9mu9jno81] {
    font-weight: 500;
    font-size: .68rem;
}

.colmgr-form[b-o9mu9jno81] {
    background: var(--bs-tertiary-bg, #f8f9fa);
}
/* /Shared/Sheets/EntityRefPicker.razor.rz.scp.css */
.entity-ref-picker[b-nd4y9an7cx] { position: relative; }

.entity-ref-picker__chips[b-nd4y9an7cx] {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    margin-bottom: .2rem;
}

.entity-ref-picker__chip[b-nd4y9an7cx] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-weight: 500;
}

.entity-ref-picker__x[b-nd4y9an7cx] {
    font-size: .5rem;
    padding: .15rem;
}

/* In-flow (not absolute) so it never fights the data table's cell stacking — the edit cell simply
   grows to fit while searching. */
.entity-ref-picker__menu[b-nd4y9an7cx] {
    max-height: 11rem;
    overflow-y: auto;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .35rem;
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .15);
    margin-top: .15rem;
}

.entity-ref-picker__opt[b-nd4y9an7cx] {
    display: block;
    width: 100%;
    text-align: left;
    padding: .3rem .55rem;
    border: 0;
    background: transparent;
    font-size: .82rem;
}

.entity-ref-picker__opt:hover[b-nd4y9an7cx] { background: var(--bs-tertiary-bg, #f1f3f5); }

.entity-ref-picker__empty[b-nd4y9an7cx] {
    padding: .3rem .55rem;
    font-size: .8rem;
    color: var(--bs-secondary-color, #6c757d);
}
/* /Shared/Sheets/SheetGrid.razor.rz.scp.css */
.sheet-grid[b-7tr2ptgz3x] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.sheet-grid__toolbar[b-7tr2ptgz3x] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .25rem 0 .5rem;
}

.sheet-grid__toolbar-spacer[b-7tr2ptgz3x] { flex: 1 1 auto; }

.sheet-grid__viewselect[b-7tr2ptgz3x] { width: auto; min-width: 9rem; }

/* Column show/hide popover */
.sheet-grid__colmenu-wrap[b-7tr2ptgz3x] { position: relative; display: inline-block; }
/* Invisible click-catcher behind the popover so clicking away dismisses it. */
.sheet-grid__menu-backdrop[b-7tr2ptgz3x] { position: fixed; inset: 0; z-index: 15; background: transparent; }
.sheet-grid__colmenu[b-7tr2ptgz3x] {
    position: absolute;
    z-index: 20;
    top: calc(100% + .25rem);
    left: 0;
    min-width: 12rem;
    max-height: 16rem;
    overflow-y: auto;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .5rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
    padding: .35rem;
}
.sheet-grid__colmenu-item[b-7tr2ptgz3x] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .25rem .4rem;
    font-size: .85rem;
    border-radius: .35rem;
    cursor: pointer;
}
.sheet-grid__colmenu-item:hover[b-7tr2ptgz3x] { background: var(--bs-tertiary-bg, #f8f9fa); }
.sheet-grid__colmenu-hint[b-7tr2ptgz3x] { font-size: .72rem; color: var(--bs-secondary-color, #6c757d); padding: .15rem .4rem .35rem; }
.sheet-grid__colmenu-label[b-7tr2ptgz3x] { flex: 1 1 auto; }
.sheet-grid__width-input[b-7tr2ptgz3x] { width: 4.5rem; flex: 0 0 auto; padding: .1rem .3rem; font-size: .75rem; }

/* Draggable column headers (reorder) */
.sheet-grid__col-head[b-7tr2ptgz3x] { cursor: grab; }
.sheet-grid__col-head:active[b-7tr2ptgz3x] { cursor: grabbing; }

/* Advanced (and/or/not) filter panel */
.sheet-grid__filterpanel[b-7tr2ptgz3x] { background: var(--bs-tertiary-bg, #f8f9fa); }

/* Filter row under the header */
.sheet-grid__filterrow th[b-7tr2ptgz3x] { padding: .25rem .4rem; background: var(--bs-tertiary-bg, #f8f9fa); }
.sheet-grid__filterrow input[b-7tr2ptgz3x] { min-width: 6rem; }

/* Bulk action bar */
.sheet-grid__bulkbar[b-7tr2ptgz3x] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .4rem .6rem;
    margin-bottom: .5rem;
    background: var(--bs-primary-bg-subtle, #cfe2ff);
    border: 1px solid var(--bs-primary-border-subtle, #9ec5fe);
    border-radius: .5rem;
    font-size: .85rem;
}

.sheet-grid__count[b-7tr2ptgz3x] {
    font-size: .8rem;
    color: var(--bs-secondary-color, #6c757d);
    font-variant-numeric: tabular-nums;
}

/* Horizontal scroll host so the frozen first column has something to pin against. */
.sheet-grid__scroll[b-7tr2ptgz3x] {
    overflow-x: auto;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .5rem;
}

.sheet-grid__table[b-7tr2ptgz3x] {
    margin-bottom: 0;
    white-space: nowrap;
}

.sheet-grid__table th[b-7tr2ptgz3x] {
    user-select: none;
    cursor: pointer;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--bs-secondary-color, #6c757d);
}

.sheet-grid__sort[b-7tr2ptgz3x] {
    font-size: .7rem;
    margin-left: .15rem;
}

/* Frozen first column: pinned with a subtle shadow that only shows once scrolled. */
.sheet-grid__frozen[b-7tr2ptgz3x] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--bs-body-bg, #fff);
    box-shadow: 6px 0 6px -6px rgba(0, 0, 0, .18);
}

.sheet-grid__table thead .sheet-grid__frozen[b-7tr2ptgz3x] {
    z-index: 3;
}

.sheet-grid__name-col[b-7tr2ptgz3x] { min-width: 14rem; }
.sheet-grid__name-cell[b-7tr2ptgz3x] { font-weight: 600; }
.sheet-grid__actions-col[b-7tr2ptgz3x] { width: 5rem; text-align: right; white-space: nowrap; }

/* Edit row gets a faint tint so it reads as "live". position+z-index so an inline picker's
   absolute dropdown overlays the rows below it (table cells otherwise paint over it). */
.sheet-grid__edit-row > td[b-7tr2ptgz3x] {
    background: var(--bs-primary-bg-subtle, #e7f1ff);
    vertical-align: top;
    position: relative;
    z-index: 5;
}
.sheet-grid__edit-row .sheet-grid__frozen[b-7tr2ptgz3x] {
    background: var(--bs-primary-bg-subtle, #e7f1ff);
}

.sheet-grid__locked[b-7tr2ptgz3x] {
    color: var(--bs-secondary-color, #6c757d);
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 6px,
        rgba(0, 0, 0, .025) 6px,
        rgba(0, 0, 0, .025) 12px);
}

.sheet-grid__err[b-7tr2ptgz3x] {
    color: var(--bs-danger, #dc3545);
    font-size: .72rem;
    margin-top: .15rem;
    white-space: normal;
}

.sheet-grid__table td .form-control-sm[b-7tr2ptgz3x],
.sheet-grid__table td .form-select-sm[b-7tr2ptgz3x] {
    min-width: 8rem;
}

/* Inline (Smartsheet-style) editing: editable cells invite a click; the active cell needs a
   stacking context so an entity-ref picker's absolute dropdown overlays the rows below it. */
.sheet-grid__editable-cell[b-7tr2ptgz3x] { cursor: text; position: relative; }
.sheet-grid__editable-cell:hover[b-7tr2ptgz3x] { background: var(--bs-tertiary-bg, #f3f6fb); box-shadow: inset 0 0 0 1px var(--bs-border-color, #dee2e6); }
.sheet-grid__editable-cell:has(.entity-ref-picker)[b-7tr2ptgz3x],
.sheet-grid__editable-cell:has(input)[b-7tr2ptgz3x],
.sheet-grid__editable-cell:has(select)[b-7tr2ptgz3x] { z-index: 5; }
.sheet-grid__editable[b-7tr2ptgz3x] { cursor: text; display: inline-block; min-width: 2rem; }
.sheet-grid__name-cell .sheet-grid__editable:hover[b-7tr2ptgz3x] { text-decoration: underline dotted; }

/* Column-menu drag handles (the reliable reorder affordance the hint points to) */
.sheet-grid__colmenu-grip[b-7tr2ptgz3x] { color: var(--bs-secondary-color, #adb5bd); cursor: grab; flex: 0 0 auto; }
.sheet-grid__colmenu-item[draggable="true"]:active[b-7tr2ptgz3x] { cursor: grabbing; }
.sheet-grid__colmenu-item.dragging[b-7tr2ptgz3x] { opacity: .5; }

.sheet-grid__viewlabel[b-7tr2ptgz3x] {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--bs-secondary-color, #6c757d);
    margin-left: .25rem;
}
/* /Shared/Sheets/SheetSharingPanel.razor.rz.scp.css */
/* Line the "Add" button up with the row of small selects (which render ~37px tall in this app). */
.sheet-share-add[b-np3cgs2nwl] {
    min-height: 37px;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* /Shared/SortableHeader.razor.rz.scp.css */
.bd-sort-header[b-emrhih020p] {
    background: transparent;
    border: 0;
    padding: 0.5rem 0.5rem;
    font-weight: 600;
    color: inherit;
    text-align: left;
    width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    cursor: pointer;
}

.bd-sort-header:hover[b-emrhih020p] {
    color: var(--bs-primary);
}

.bd-sort-header--active[b-emrhih020p] {
    color: var(--bs-primary);
}

.bd-sort-icon--inactive[b-emrhih020p] {
    opacity: 0.25;
}

.bd-sort-header:hover .bd-sort-icon--inactive[b-emrhih020p] {
    opacity: 0.6;
}
/* /Shared/SortableList.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   SortableList — drag-and-drop reorder
   ═══════════════════════════════════════════════════════ */

.sl-list[b-pvfopqpf3e] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sl-item[b-pvfopqpf3e] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-r-sm);
    transition: background-color var(--crm-fast) ease,
                border-color var(--crm-fast) ease,
                box-shadow var(--crm-fast) ease,
                opacity var(--crm-fast) ease,
                transform var(--crm-fast) var(--crm-ease);
    position: relative;
}

.sl-item:hover[b-pvfopqpf3e] {
    border-color: var(--crm-border-2);
    background: var(--crm-bg);
}

/* Drag handle */
.sl-handle[b-pvfopqpf3e] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    cursor: grab;
    color: var(--crm-text-3);
    border-radius: 4px;
    flex-shrink: 0;
    background: var(--crm-bg);
    border: 1px solid transparent;
    transition: color var(--crm-fast) ease,
                background-color var(--crm-fast) ease,
                border-color var(--crm-fast) ease;
}

.sl-handle:hover[b-pvfopqpf3e] {
    color: var(--crm-navy);
    background: var(--crm-surface-2);
    border-color: var(--crm-border);
}

.sl-handle:active[b-pvfopqpf3e] { cursor: grabbing; }

.sl-handle svg[b-pvfopqpf3e] {
    width: 14px;
    height: 14px;
}

/* Item content */
.sl-content[b-pvfopqpf3e] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Action buttons area */
.sl-actions[b-pvfopqpf3e] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    opacity: 0.35;
    transition: opacity var(--crm-fast) ease;
}

.sl-item:hover .sl-actions[b-pvfopqpf3e] { opacity: 1; }

/* Up/down arrow buttons */
.sl-arrow[b-pvfopqpf3e] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 1px solid var(--crm-border-2);
    border-radius: 3px;
    background: var(--crm-white);
    color: var(--crm-text-3);
    cursor: pointer;
    font-size: 0.75rem;
    transition: color var(--crm-fast) ease,
                border-color var(--crm-fast) ease,
                background-color var(--crm-fast) ease;
}

.sl-arrow:hover[b-pvfopqpf3e] {
    color: var(--crm-navy);
    border-color: var(--crm-navy);
    background: var(--crm-surface-2);
}

.sl-arrow:disabled[b-pvfopqpf3e] {
    opacity: 0.3;
    cursor: default;
    pointer-events: none;
}

/* ── Drag states ── */

.sl-item.sl-dragging[b-pvfopqpf3e] {
    opacity: 0.55;
    border-style: dashed;
    border-color: var(--crm-navy-400);
    background: var(--crm-surface-2);
    box-shadow: var(--crm-shadow);
}

.sl-item.sl-dragging .sl-handle[b-pvfopqpf3e] { cursor: grabbing; }

.sl-item.sl-drop-above[b-pvfopqpf3e]::before,
.sl-item.sl-drop-below[b-pvfopqpf3e]::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--crm-teal);
    border-radius: 2px;
    z-index: 2;
    box-shadow: 0 0 8px rgba(0, 197, 168, 0.45);
}

.sl-item.sl-drop-above[b-pvfopqpf3e]::before { top: -5px; }
.sl-item.sl-drop-below[b-pvfopqpf3e]::after  { bottom: -5px; }

.sl-item.sl-drop-target[b-pvfopqpf3e] {
    background: var(--crm-teal-50);
    border-color: var(--crm-teal);
}

/* Settle animation after drop */
@keyframes sl-settle-b-pvfopqpf3e {
    0%   { transform: scale(1.03); box-shadow: var(--crm-shadow-sm); }
    100% { transform: scale(1);    box-shadow: none; }
}

.sl-item.sl-just-dropped[b-pvfopqpf3e] {
    animation: sl-settle-b-pvfopqpf3e 0.25s var(--crm-ease) both;
    border-color: var(--crm-teal);
    background: var(--crm-teal-50);
}

/* ── Compact variant (for table-like field lists) ── */

.sl-compact .sl-item[b-pvfopqpf3e] {
    padding: 0.4rem 0.6rem;
    border-radius: 3px;
    gap: 0.4rem;
}

.sl-compact .sl-handle[b-pvfopqpf3e] {
    width: 1.35rem;
    height: 1.35rem;
}

.sl-compact .sl-handle svg[b-pvfopqpf3e] {
    width: 12px;
    height: 12px;
}

.sl-compact .sl-arrow[b-pvfopqpf3e] {
    width: 1.35rem;
    height: 1.35rem;
    font-size: 0.68rem;
}
/* /Shared/StripeCheckoutMock.razor.rz.scp.css */
.stripe-mock-overlay[b-lmpml9sa6q] {
    position: fixed;
    inset: 0;
    background: rgba(13, 36, 71, 0.55);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1080;
    padding: 1rem;
    animation: stripe-mock-fade-b-lmpml9sa6q 0.2s ease both;
}

.stripe-mock-shell[b-lmpml9sa6q] {
    background: #ffffff;
    border-radius: 18px;
    width: 100%;
    max-width: 480px;
    max-height: calc(100vh - 2rem);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 30px 80px rgba(13, 36, 71, 0.35), 0 8px 24px rgba(13, 36, 71, 0.18);
    font-family: 'Outfit', -apple-system, system-ui, sans-serif;
    animation: stripe-mock-rise-b-lmpml9sa6q 0.32s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.stripe-mock-demo-band[b-lmpml9sa6q] {
    background: linear-gradient(90deg, #fef3c7, #fde68a);
    color: #78350f;
    font-size: 0.78rem;
    font-weight: 500;
    padding: 0.55rem 1rem;
    text-align: center;
    border-bottom: 1px solid #fbbf24;
}

.stripe-mock-demo-band i[b-lmpml9sa6q] {
    margin-right: 0.35rem;
}

.stripe-mock-header[b-lmpml9sa6q] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f1f3f6;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.stripe-mock-back[b-lmpml9sa6q] {
    background: transparent;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    cursor: pointer;
    transition: background 0.15s ease;
}

.stripe-mock-back:hover[b-lmpml9sa6q] {
    background: #f3f4f6;
}

.stripe-mock-merchant[b-lmpml9sa6q] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.stripe-mock-merchant-mark[b-lmpml9sa6q] {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #0D2447, #1E3D70);
    color: #ffffff;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: -0.02em;
}

.stripe-mock-merchant-name[b-lmpml9sa6q] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
}

.stripe-mock-merchant-domain[b-lmpml9sa6q] {
    font-size: 0.72rem;
    color: #6b7280;
    margin-top: 1px;
}

.stripe-mock-merchant-domain strong[b-lmpml9sa6q] {
    color: #635BFF;
    font-weight: 700;
}

.stripe-mock-body[b-lmpml9sa6q] {
    padding: 1.25rem 1.5rem 1.5rem;
    overflow-y: auto;
}

.stripe-mock-summary[b-lmpml9sa6q] {
    background: linear-gradient(135deg, #F8FAFC, #F1F5F9);
    border-radius: 12px;
    padding: 1rem 1.1rem;
    margin-bottom: 1.25rem;
    border: 1px solid #e2e8f0;
}

.stripe-mock-line[b-lmpml9sa6q] {
    display: flex;
    justify-content: space-between;
    font-size: 0.92rem;
    color: #374151;
}

.stripe-mock-line-label[b-lmpml9sa6q] {
    font-weight: 500;
}

.stripe-mock-line-amount[b-lmpml9sa6q] {
    font-weight: 600;
    color: #111827;
}

.stripe-mock-recur[b-lmpml9sa6q] {
    font-size: 0.78rem;
    color: #6b7280;
    margin-top: 0.4rem;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.stripe-mock-total[b-lmpml9sa6q] {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px dashed #cbd5e1;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.82rem;
    color: #6b7280;
}

.stripe-mock-total-amount[b-lmpml9sa6q] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #0D2447;
    letter-spacing: -0.01em;
}

.stripe-mock-form[b-lmpml9sa6q] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.stripe-mock-label[b-lmpml9sa6q] {
    font-size: 0.78rem;
    font-weight: 500;
    color: #374151;
    margin: 0.5rem 0 0.15rem;
}

.stripe-mock-input[b-lmpml9sa6q] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #111827;
    background: #ffffff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    font-family: inherit;
}

.stripe-mock-input:focus[b-lmpml9sa6q] {
    outline: none;
    border-color: #635BFF;
    box-shadow: 0 0 0 3px rgba(99, 91, 255, 0.15);
}

.stripe-mock-card-group[b-lmpml9sa6q] {
    border: 1px solid #d1d5db;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 0.4rem;
}

.stripe-mock-card-group:focus-within[b-lmpml9sa6q] {
    border-color: #635BFF;
    box-shadow: 0 0 0 3px rgba(99, 91, 255, 0.15);
}

.stripe-mock-card-group .stripe-mock-input[b-lmpml9sa6q] {
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.stripe-mock-card-group .stripe-mock-input:focus[b-lmpml9sa6q] {
    box-shadow: none;
}

.stripe-mock-card-number[b-lmpml9sa6q] {
    position: relative;
    border-bottom: 1px solid #e5e7eb;
}

.stripe-mock-input--card[b-lmpml9sa6q] {
    padding-right: 110px;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.5px;
}

.stripe-mock-card-brands[b-lmpml9sa6q] {
    position: absolute;
    right: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 4px;
}

.stripe-mock-brand[b-lmpml9sa6q] {
    width: 28px;
    height: 18px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0;
}

.stripe-mock-brand--visa[b-lmpml9sa6q] {
    background: #1A1F71;
}

.stripe-mock-brand--mc[b-lmpml9sa6q] {
    background: linear-gradient(90deg, #EB001B 0 50%, #F79E1B 50% 100%);
}

.stripe-mock-brand--amex[b-lmpml9sa6q] {
    background: #006FCF;
    font-size: 7px;
}

.stripe-mock-card-row[b-lmpml9sa6q] {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.stripe-mock-card-row .stripe-mock-input:first-child[b-lmpml9sa6q] {
    border-right: 1px solid #e5e7eb;
}

.stripe-mock-pay[b-lmpml9sa6q] {
    margin-top: 0.9rem;
    background: linear-gradient(135deg, #635BFF, #5851ED);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 0.85rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 4px 12px rgba(99, 91, 255, 0.3);
}

.stripe-mock-pay:hover[b-lmpml9sa6q] {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(99, 91, 255, 0.38);
}

.stripe-mock-pay:active[b-lmpml9sa6q] {
    transform: translateY(0);
}

.stripe-mock-fineprint[b-lmpml9sa6q] {
    margin-top: 1rem;
    text-align: center;
    font-size: 0.7rem;
    color: #9ca3af;
}

.stripe-mock-fineprint i[b-lmpml9sa6q] {
    margin-right: 0.25rem;
}

.stripe-mock-fineprint strong[b-lmpml9sa6q] {
    color: #635BFF;
    font-weight: 700;
}

.stripe-mock-state[b-lmpml9sa6q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem 1rem;
    gap: 0.75rem;
}

.stripe-mock-spinner[b-lmpml9sa6q] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 3px solid #ede9fe;
    border-top-color: #635BFF;
    animation: stripe-mock-spin-b-lmpml9sa6q 0.8s linear infinite;
}

.stripe-mock-state-title[b-lmpml9sa6q] {
    font-size: 1rem;
    font-weight: 600;
    color: #0D2447;
}

.stripe-mock-state-sub[b-lmpml9sa6q] {
    font-size: 0.85rem;
    color: #6b7280;
}

.stripe-mock-checkmark svg[b-lmpml9sa6q] {
    width: 64px;
    height: 64px;
}

.stripe-mock-checkmark circle[b-lmpml9sa6q] {
    fill: none;
    stroke: #00C5A8;
    stroke-width: 3;
    stroke-dasharray: 145;
    stroke-dashoffset: 145;
    animation: stripe-mock-circle-b-lmpml9sa6q 0.55s ease-out forwards;
}

.stripe-mock-checkmark path[b-lmpml9sa6q] {
    fill: none;
    stroke: #00C5A8;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
    animation: stripe-mock-check-b-lmpml9sa6q 0.4s 0.5s ease-out forwards;
}

@keyframes stripe-mock-fade-b-lmpml9sa6q {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes stripe-mock-rise-b-lmpml9sa6q {
    from { opacity: 0; transform: translateY(20px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes stripe-mock-spin-b-lmpml9sa6q {
    to { transform: rotate(360deg); }
}

@keyframes stripe-mock-circle-b-lmpml9sa6q {
    to { stroke-dashoffset: 0; }
}

@keyframes stripe-mock-check-b-lmpml9sa6q {
    to { stroke-dashoffset: 0; }
}
/* /Shared/TagInput.razor.rz.scp.css */
.tag-input-wrap[b-ib0a5131gz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.5rem;
    min-height: 2.15rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border-2);
    border-radius: var(--crm-r-sm);
    cursor: text;
    transition: border-color var(--crm-fast) ease, box-shadow var(--crm-fast) ease;
}

.tag-input-wrap:focus-within[b-ib0a5131gz] {
    border-color: var(--crm-teal);
    box-shadow: 0 0 0 3px var(--crm-teal-glow);
}

.tag-chip[b-ib0a5131gz] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.25rem 0.15rem 0.5rem;
    background: var(--crm-surface-2);
    border: 1px solid var(--crm-border);
    border-radius: 4px;
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--crm-text);
    line-height: 1.3;
    animation: tag-pop-b-ib0a5131gz 0.15s var(--crm-ease) both;
}

@keyframes tag-pop-b-ib0a5131gz {
    0%   { transform: scale(0.85); opacity: 0; }
    100% { transform: scale(1);    opacity: 1; }
}

.tag-chip-text[b-ib0a5131gz] {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tag-chip-remove[b-ib0a5131gz] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--crm-text-3);
    border-radius: 3px;
    cursor: pointer;
    font-size: 0.85rem;
    transition: color var(--crm-fast) ease, background-color var(--crm-fast) ease;
}

.tag-chip-remove:hover[b-ib0a5131gz] {
    color: #c0392b;
    background: rgba(192, 57, 43, 0.1);
}

.tag-input-field[b-ib0a5131gz] {
    flex: 1;
    min-width: 80px;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.8rem;
    color: var(--crm-text);
    padding: 0.1rem 0;
}

.tag-input-field[b-ib0a5131gz]::placeholder {
    color: var(--crm-text-3);
}
/* /Shared/UserMenu.razor.rz.scp.css */
/* Component-owned styles so the menu renders correctly wherever it's used —
   the staff top row, and the Member/Vendor portal top bars. (Previously these
   lived in MainLayout.razor.css and only applied inside the staff shell, leaving
   the portal user menu unstyled.) Light-surface defaults; the portal top bars
   override the toggle colors for their navy background. */

.user-menu[b-4580ovkxao] { position: relative; }

.user-menu-toggle[b-4580ovkxao] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: none;
  border: 1px solid transparent;
  cursor: pointer;
  padding: 0.3rem 0.55rem 0.3rem 0.4rem;
  border-radius: var(--crm-r-sm);
  color: var(--crm-text);
  font-family: 'Outfit', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  transition: background-color var(--crm-fast) ease,
              border-color var(--crm-fast) ease;
}

.user-menu-toggle:hover[b-4580ovkxao] {
  background-color: var(--crm-bg);
  border-color: var(--crm-border);
}

.user-avatar[b-4580ovkxao] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--crm-navy) 0%, var(--crm-navy-600) 100%);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  flex-shrink: 0;
  letter-spacing: 0;
}

.user-avatar-lg[b-4580ovkxao] {
  width: 2.75rem;
  height: 2.75rem;
  font-size: 1rem;
  border: 2px solid var(--crm-teal);
}

.user-display-name[b-4580ovkxao] {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--crm-text);
}

.user-caret[b-4580ovkxao] {
  font-size: 0.5rem;
  color: var(--crm-text-3);
  margin-left: 0.1rem;
}

.user-menu-backdrop[b-4580ovkxao] {
  position: fixed;
  inset: 0;
  z-index: 99;
}

.user-menu-dropdown[b-4580ovkxao] {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  min-width: 248px;
  background: var(--crm-white);
  border: 1px solid var(--crm-border);
  border-radius: var(--crm-r);
  box-shadow: var(--crm-shadow-lg);
  z-index: 100;
  padding: 0.375rem 0;
  animation: crm-slide-up 0.2s var(--crm-ease) both;
}

.user-menu-header[b-4580ovkxao] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
}

.user-menu-item[b-4580ovkxao] {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  border: none;
  border-left: 3px solid transparent;
  text-align: left;
  text-decoration: none;
  color: var(--crm-text-2);
  font-family: 'Outfit', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  cursor: pointer;
  transition: background-color var(--crm-fast) ease,
              color var(--crm-fast) ease,
              border-color var(--crm-fast) ease;
}

.user-menu-item:hover[b-4580ovkxao] {
  background-color: var(--crm-bg);
  color: var(--crm-navy);
  border-left-color: var(--crm-teal);
}

.user-menu-item-danger[b-4580ovkxao] { color: #DC2626; }
.user-menu-item-danger:hover[b-4580ovkxao] {
  background-color: #FEF2F2;
  color: #B91C1C;
  border-left-color: #EF4444;
}
/* /Shared/VisitAttendeesPanel.razor.rz.scp.css */
.vap-root[b-nr1ccflgoe] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.vap-section[b-nr1ccflgoe] {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}

.vap-section-head[b-nr1ccflgoe] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.vap-section-head-contacts[b-nr1ccflgoe] {
    justify-content: space-between;
}

.vap-section-title[b-nr1ccflgoe] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: var(--crm-navy);
    display: inline-flex;
    align-items: baseline;
    gap: .4rem;
}

.vap-count[b-nr1ccflgoe] {
    font-size: .78rem;
    font-weight: 500;
    color: var(--crm-text-3);
}

.vap-contact-tools[b-nr1ccflgoe] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin-left: auto;
}

.vap-search[b-nr1ccflgoe] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: var(--crm-surface-2);
    border: 1px solid var(--crm-border);
    border-radius: 6px;
    padding: .25rem .5rem;
    min-width: 200px;
}

.vap-search i[b-nr1ccflgoe] {
    color: var(--crm-text-3);
}

.vap-search input[b-nr1ccflgoe] {
    border: 0;
    background: transparent;
    outline: none;
    font-size: .85rem;
    width: 100%;
    color: var(--crm-text);
}

.vap-add-row[b-nr1ccflgoe] {
    background: var(--crm-surface-2);
    border: 1px dashed var(--crm-border-2);
    border-radius: 6px;
    padding: .5rem;
}

.vap-empty[b-nr1ccflgoe] {
    color: var(--crm-text-3);
    font-size: .85rem;
    margin: 0;
    padding: .25rem 0;
}

/* ── Staff strip ─────────────────────────────────────────── */

.vap-staff-strip[b-nr1ccflgoe] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.vap-staff-pill[b-nr1ccflgoe] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: 999px;
    padding: .3rem .5rem .3rem .3rem;
    max-width: 240px;
    position: relative;
}

.vap-staff-info[b-nr1ccflgoe] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.vap-staff-name[b-nr1ccflgoe] {
    font-weight: 600;
    font-size: .82rem;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vap-staff-title[b-nr1ccflgoe] {
    font-size: .7rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Contact tile grid ───────────────────────────────────── */

.vap-contact-grid[b-nr1ccflgoe] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: .5rem;
}

.vap-contact-tile[b-nr1ccflgoe] {
    position: relative;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: 8px;
    padding: .5rem .6rem;
    transition: border-color .15s, box-shadow .15s;
}

.vap-contact-tile:hover[b-nr1ccflgoe] {
    border-color: var(--crm-teal);
    box-shadow: var(--crm-shadow-xs);
}

.vap-tile-link[b-nr1ccflgoe] {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    text-decoration: none;
    color: inherit;
}

.vap-tile-info[b-nr1ccflgoe] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
    gap: .1rem;
}

.vap-tile-name[b-nr1ccflgoe] {
    font-weight: 600;
    font-size: .85rem;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vap-tile-title[b-nr1ccflgoe] {
    font-size: .72rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Avatars (initials) — match the workgroup palette so the two
       panels feel like siblings. ── */

.vap-avatar[b-nr1ccflgoe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: .68rem;
    font-weight: 700;
    color: var(--crm-white);
    flex-shrink: 0;
}

.vap-avatar-staff[b-nr1ccflgoe] {
    background: var(--crm-navy);
}

.vap-avatar-contact[b-nr1ccflgoe] {
    background: var(--crm-teal);
}

/* ── Remove button (×) on pills + tiles ──────────────────── */

.vap-remove[b-nr1ccflgoe] {
    background: transparent;
    border: 0;
    color: var(--crm-text-3);
    font-size: 1rem;
    line-height: 1;
    padding: 0 .25rem;
    cursor: pointer;
    border-radius: 4px;
    transition: background .15s, color .15s;
}

.vap-staff-pill .vap-remove[b-nr1ccflgoe] {
    margin-left: .15rem;
}

.vap-contact-tile .vap-remove[b-nr1ccflgoe] {
    position: absolute;
    top: .25rem;
    right: .35rem;
    opacity: 0;
    transition: opacity .15s, background .15s, color .15s;
}

.vap-contact-tile:hover .vap-remove[b-nr1ccflgoe],
.vap-contact-tile:focus-within .vap-remove[b-nr1ccflgoe] {
    opacity: 1;
}

.vap-remove:hover[b-nr1ccflgoe] {
    background: #fef2f2;
    color: #b91c1c;
}
/* /Shared/WorkgroupMembersPanel.razor.rz.scp.css */
.wmp-root[b-w4geemwyvo] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.wmp-section[b-w4geemwyvo] {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.wmp-section-head[b-w4geemwyvo] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.wmp-section-head-contacts[b-w4geemwyvo] {
    justify-content: space-between;
}

.wmp-section-title[b-w4geemwyvo] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: var(--crm-navy);
    display: inline-flex;
    align-items: baseline;
    gap: .4rem;
}

.wmp-count[b-w4geemwyvo] {
    font-size: .78rem;
    font-weight: 500;
    color: var(--crm-text-3);
}

.wmp-contact-tools[b-w4geemwyvo] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin-left: auto;
}

.wmp-search[b-w4geemwyvo] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: var(--crm-surface-2);
    border: 1px solid var(--crm-border);
    border-radius: 6px;
    padding: .25rem .5rem;
    min-width: 220px;
}

.wmp-search i[b-w4geemwyvo] {
    color: var(--crm-text-3);
}

.wmp-search input[b-w4geemwyvo] {
    border: 0;
    background: transparent;
    outline: none;
    font-size: .85rem;
    width: 100%;
    color: var(--crm-text);
}

.wmp-add-row[b-w4geemwyvo] {
    background: var(--crm-surface-2);
    border: 1px dashed var(--crm-border-2);
    border-radius: 6px;
    padding: .5rem;
}

.wmp-empty[b-w4geemwyvo] {
    color: var(--crm-text-3);
    font-size: .85rem;
    margin: 0;
    padding: .5rem 0;
}

/* ── Staff strip ─────────────────────────────────────────── */

.wmp-staff-strip[b-w4geemwyvo] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.wmp-staff-pill[b-w4geemwyvo] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: 999px;
    padding: .35rem .5rem .35rem .35rem;
    max-width: 260px;
    position: relative;
}

.wmp-staff-info[b-w4geemwyvo] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.wmp-staff-name[b-w4geemwyvo] {
    font-weight: 600;
    font-size: .85rem;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wmp-staff-title[b-w4geemwyvo] {
    font-size: .72rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wmp-staff-roles[b-w4geemwyvo] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .2rem;
    margin-top: .15rem;
}

/* ── Contact tile grid ───────────────────────────────────── */

.wmp-contact-grid[b-w4geemwyvo] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .5rem;
}

.wmp-contact-tile[b-w4geemwyvo] {
    position: relative;
    background: var(--crm-white);
    border: 1px solid var(--crm-border);
    border-radius: 8px;
    padding: .55rem .65rem;
    transition: border-color .15s, box-shadow .15s;
}

.wmp-contact-tile:hover[b-w4geemwyvo] {
    border-color: var(--crm-teal);
    box-shadow: var(--crm-shadow-xs);
}

.wmp-tile-link[b-w4geemwyvo] {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    text-decoration: none;
    color: inherit;
}

.wmp-tile-info[b-w4geemwyvo] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
    gap: .15rem;
}

.wmp-tile-name[b-w4geemwyvo] {
    font-weight: 600;
    font-size: .88rem;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wmp-tile-title[b-w4geemwyvo] {
    font-size: .75rem;
    color: var(--crm-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wmp-tile-roles[b-w4geemwyvo] {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    margin-top: .2rem;
}

/* ── Role chips (shared between staff strip + contact tiles) ── */

.wmp-role-chip[b-w4geemwyvo] {
    display: inline-block;
    background: var(--crm-teal-50, color-mix(in srgb, var(--crm-teal) 8%, transparent));
    color: var(--crm-navy);
    border: 1px solid color-mix(in srgb, var(--crm-teal) 25%, transparent);
    border-radius: 999px;
    padding: .05rem .45rem;
    font-size: .65rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}

/* ── Avatars (initials) — use the brand palette so an admin
       swapping primary/accent in Branding settings flows through. ── */

.wmp-avatar[b-w4geemwyvo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: .7rem;
    font-weight: 700;
    color: var(--crm-white);
    flex-shrink: 0;
}

.wmp-avatar-staff[b-w4geemwyvo] {
    background: var(--crm-navy);
}

.wmp-avatar-contact[b-w4geemwyvo] {
    background: var(--crm-teal);
}

/* ── Remove button (×) on pills + tiles ──────────────────── */

.wmp-remove[b-w4geemwyvo] {
    background: transparent;
    border: 0;
    color: var(--crm-text-3);
    font-size: 1rem;
    line-height: 1;
    padding: 0 .25rem;
    cursor: pointer;
    border-radius: 4px;
    transition: background .15s, color .15s;
}

.wmp-staff-pill .wmp-remove[b-w4geemwyvo] {
    margin-left: .15rem;
}

.wmp-contact-tile .wmp-remove[b-w4geemwyvo] {
    position: absolute;
    top: .25rem;
    right: .35rem;
    opacity: 0;
    transition: opacity .15s, background .15s, color .15s;
}

.wmp-contact-tile:hover .wmp-remove[b-w4geemwyvo],
.wmp-contact-tile:focus-within .wmp-remove[b-w4geemwyvo] {
    opacity: 1;
}

.wmp-remove:hover[b-w4geemwyvo] {
    background: #fef2f2;
    color: #b91c1c;
}

/* ── Role groups (accordion-style sections) ──────────────── */

.wmp-role-group[b-w4geemwyvo] {
    margin-bottom: 1rem;
}

.wmp-role-group-head[b-w4geemwyvo] {
    display: inline-flex;
    align-items: baseline;
    gap: .5rem;
    margin-bottom: .35rem;
    color: var(--crm-text-2);
}

.wmp-role-group-name[b-w4geemwyvo] {
    font-weight: 600;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--crm-navy);
}

.wmp-role-group-count[b-w4geemwyvo] {
    font-size: .72rem;
    color: var(--crm-text-3);
}
