@import '_content/BlazorStrap.V5/BlazorStrap.V5.soy3cwhzex.bundle.scp.css';
@import '_content/BlazorStrap/BlazorStrap.10v83wk5fb.bundle.scp.css';

/* /Components/DebounceSearchBox.razor.rz.scp.css */
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* MainLayout — outermost shell wrapper. Migrated from
   wwwroot/css/ish-design.css under Phase 3 of the global-CSS-to-scoped
   migration. Owns just the .ish-app + .ish-app__main pair; the sidebar
   and topbar live in NavMenu.razor.css. */

.ish-app[b-w0vy9xjarc] {
  min-height: 100vh;
  background: var(--ucpm-surface-app);
}
.ish-app__main[b-w0vy9xjarc] {
  margin-left: var(--ish-sidebar-w);
  padding-top: calc(var(--ish-topbar-h) + var(--env-banner-h, 0px));
  /* padding-top above already reserves the banner's height, so subtract it
     here too — otherwise this box is 100vh tall PLUS the padding, and every
     page overflows the viewport by --env-banner-h even when content fits. */
  min-height: calc(100vh - var(--env-banner-h, 0px));
  transition: margin-left var(--ish-nav-motion) var(--ucpm-ease);
}
@media (max-width: 768px) {
  .ish-app__main[b-w0vy9xjarc] { margin-left: 0; }
}

/* The NotAuthorized branch of MainLayout.razor renders outside .ish-app with
   no sidebar/topbar, so it previously had no offset at all — the fixed env
   banner covered the top of the "not authorized" message and the redirect-
   to-login screen. Reserve the same height here. */
.ish-unauth-main[b-w0vy9xjarc] {
  padding-top: var(--env-banner-h, 0px);
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* NavMenu — sidebar + topbar shell. Migrated from
   wwwroot/css/ish-design.css under Phase 3 of the global-CSS-to-scoped
   migration.

   .ish-sidebar__item is the class applied to <NavLink>, which is a Blazor
   framework component — its rendered <a> does NOT receive this scope's
   attribute. So every selector that targets a sidebar item (or its
   contents) goes through ::deep, which pierces the scope so the rule
   applies to NavLink's output. */

/* ---------- Sidebar shell ---------- */
.ish-sidebar[b-zk76mnva0v] {
  position: fixed;
  left: 0; top: var(--env-banner-h, 0px); bottom: 0;
  width: var(--ish-sidebar-w);
  background: #02161F;
  color: #B6CACB;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255,255,255,0.16);
  z-index: 30;
  overflow-y: auto;
  /* In rail mode the brand image would otherwise force a phantom horizontal
     scrollbar (overflow-y:auto promotes overflow-x to auto). Clip it. */
  overflow-x: hidden;
  font-family: var(--ucpm-font-sans);
}
@media (max-width: 768px) {
  .ish-sidebar[b-zk76mnva0v] { transform: translateX(-100%); transition: transform .2s; }
  .ish-sidebar.is-open[b-zk76mnva0v] { transform: translateX(0); }
}

.ish-sidebar__brand[b-zk76mnva0v] {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px 20px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  /* Pad + gap ease down to the rail (ish-design.css zeroes them) over the shared
     beat so the logo glides inward with the width instead of snapping. */
  transition: padding var(--ish-nav-motion) var(--ucpm-ease), gap var(--ish-nav-motion) var(--ucpm-ease);
}
.ish-sidebar__brand:hover[b-zk76mnva0v] { background: rgba(255,255,255,0.04); color: inherit; }
.ish-sidebar__brand img[b-zk76mnva0v] {
  height: 30px;
  opacity: 1;
  flex-shrink: 0;
}
/* The diamond-only mark replaces the full lockup in rail mode (toggled in ish-design.css). */
.ish-sidebar__brand-mark[b-zk76mnva0v] { display: none; }
.ish-sidebar__brand-title[b-zk76mnva0v] {
  line-height: 1.15;
  /* Sits to the RIGHT of the logo (Surplus / Lines / Solution stacked). Collapses
     by width + fade in rail mode (ish-design.css), not display:none, so it animates. */
  max-width: 140px;
  opacity: 1;
  transition: opacity var(--ish-nav-motion) var(--ucpm-ease), max-width var(--ish-nav-motion) var(--ucpm-ease);
}
.ish-sidebar__brand-name[b-zk76mnva0v] {
  font-family: var(--ucpm-font-display);
  font-weight: 600;
  color: #fff;
  font-size: 17px;
  line-height: 1.12;
  letter-spacing: 0;
}
.ish-sidebar__brand-sub[b-zk76mnva0v] {
  font-family: var(--ucpm-font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #76C5C0;
  margin-top: 2px;
}

/* Environment badge row — hidden by default (expanded mode uses inline badge).
   Shown in rail mode via ish-design.css override. */
.ish-sidebar__env-badge-row[b-zk76mnva0v] {
  display: none;
  justify-content: center;
  padding: 0 20px 8px;
}

/* Shared badge styling */
.env-stage-badge[b-zk76mnva0v] {
  display: inline-flex;
  align-items: center;
  background: rgba(245, 158, 11, 0.2);
  border: 1px solid #F59E0B;
  color: #FCD34D;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 2px 7px;
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1.2;
}

/* Inline variant — sits to the right of the logo, hidden in rail mode */
.env-stage-badge--inline[b-zk76mnva0v] {
  margin-left: 6px;
  flex-shrink: 0;
  align-self: center;
}

/* Rail variant — centered under the logo mark, only visible in rail mode */
.env-stage-badge--rail[b-zk76mnva0v] {
  padding: 2px 10px;
}

/* padding-top animates because the rail reserves a taller top on the first section
   (ish-design.css) to make room for the absolute toggle's row. */
.ish-sidebar__section[b-zk76mnva0v] { padding-top: 4px; transition: padding-top var(--ish-nav-motion) var(--ucpm-ease); }
.ish-sidebar__section-label[b-zk76mnva0v] {
  padding: 14px 20px 6px;
  font-family: var(--ucpm-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5C7B7D;
  /* Collapses in rail mode (ish-design.css) by shrinking height + fading, leaving
     a small margin gap between icon groups — instead of vanishing via display:none. */
  overflow: hidden;
  white-space: nowrap;
  max-height: 36px;
  opacity: 1;
  transition: opacity var(--ish-nav-motion) var(--ucpm-ease),
              max-height var(--ish-nav-motion) var(--ucpm-ease),
              padding var(--ish-nav-motion) var(--ucpm-ease),
              margin var(--ish-nav-motion) var(--ucpm-ease);
}
.ish-sidebar__nav[b-zk76mnva0v] {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 0 10px;
}

/* ---------- Sidebar items (rendered by <NavLink>, need ::deep) ---------- */
.ish-sidebar__nav[b-zk76mnva0v]  .ish-sidebar__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border-radius: var(--ucpm-radius-sm);
  color: #B6CACB;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  transition: background var(--ucpm-motion-fast), color var(--ucpm-motion-fast),
              gap var(--ish-nav-motion) var(--ucpm-ease), padding var(--ish-nav-motion) var(--ucpm-ease);
}
.ish-sidebar__nav[b-zk76mnva0v]  .ish-sidebar__item:hover {
  background: rgba(255,255,255,0.05);
  color: #fff;
  text-decoration: none;
}
.ish-sidebar__nav[b-zk76mnva0v]  .ish-sidebar__item.active,
.ish-sidebar__nav[b-zk76mnva0v]  .ish-sidebar__item.is-active {
  background: rgba(12, 119, 115, 0.22);
  color: #fff;
  font-weight: 600;
}
.ish-sidebar__nav[b-zk76mnva0v]  .ish-sidebar__item.active::before,
.ish-sidebar__nav[b-zk76mnva0v]  .ish-sidebar__item.is-active::before {
  content: "";
  position: absolute;
  left: -10px; top: 6px; bottom: 6px;
  width: 3px;
  background: var(--ucpm-accent-orange);
  border-radius: 0 3px 3px 0;
}
.ish-sidebar__nav[b-zk76mnva0v]  .ish-sidebar__item .bi {
  font-size: 17px;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}
/* Label text collapses (max-width + fade) in rail mode rather than display:none,
   so open/close animates smoothly with the sidebar width. */
.ish-sidebar__nav[b-zk76mnva0v]  .ish-sidebar__item > span {
  overflow: hidden;
  white-space: nowrap;
  max-width: 160px;
  opacity: 1;
  transition: opacity var(--ish-nav-motion) var(--ucpm-ease), max-width var(--ish-nav-motion) var(--ucpm-ease);
}

.ish-sidebar__spacer[b-zk76mnva0v] { flex: 1; }
.ish-sidebar__footer[b-zk76mnva0v] {
  padding: 14px 20px;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #76C5C0;
  /* Collapses with the rail (ish-design.css zeroes height/padding/opacity) so it
     fades out over the shared beat instead of vanishing via display:none. */
  overflow: hidden;
  max-height: 60px;
  opacity: 1;
  transition: max-height var(--ish-nav-motion) var(--ucpm-ease),
              padding var(--ish-nav-motion) var(--ucpm-ease),
              opacity var(--ish-nav-motion) var(--ucpm-ease),
              border-color var(--ish-nav-motion) var(--ucpm-ease);
}

/* ---------- Topbar shell ---------- */
.ish-topbar[b-zk76mnva0v] {
  position: fixed;
  top: var(--env-banner-h, 0px);
  left: var(--ish-sidebar-w);
  right: 0;
  height: var(--ish-topbar-h);
  background: #fff;
  border-bottom: 1px solid var(--ucpm-divider);
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 25;
  font-family: var(--ucpm-font-sans);
}
@media (max-width: 768px) {
  .ish-topbar[b-zk76mnva0v] { left: 0; padding: 0 12px; }
}

/* ---------- Topbar breadcrumbs (all rendered directly here) ---------- */
.ish-topbar__crumbs[b-zk76mnva0v] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--ucpm-fg3);
  flex: 1;
  min-width: 0;
}
.ish-topbar__crumbs a[b-zk76mnva0v] {
  color: var(--ucpm-fg3);
  font-weight: 500;
  text-decoration: none;
}
.ish-topbar__crumbs a:hover[b-zk76mnva0v] { color: var(--ucpm-brand-teal); }
.ish-topbar__crumbs .sep[b-zk76mnva0v] { color: var(--ucpm-ink-200); }
.ish-topbar__crumbs .is-current[b-zk76mnva0v] {
  color: var(--ucpm-deep-navy);
  font-weight: 600;
}

/* ---------- Topbar "Take a tour" trigger ----------
   Ghost button echoing the user-dropdown treatment. Marked with .ish-tourbtn,
   which the delegated listener in wwwroot/js/tour.js watches to launch the
   Driver.js product tour (no Blazor interop needed). */
.ish-tourbtn[b-zk76mnva0v] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-sm);
  background: transparent;
  color: var(--ucpm-fg3);
  font-family: var(--ucpm-font-sans);
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--ucpm-motion-fast), color var(--ucpm-motion-fast),
              border-color var(--ucpm-motion-fast);
}
.ish-tourbtn:hover[b-zk76mnva0v] {
  background: var(--ucpm-ink-050);
  color: var(--ucpm-brand-teal);
  border-color: var(--ucpm-brand-teal);
}
.ish-tourbtn .bi[b-zk76mnva0v] { font-size: 15px; }
@media (max-width: 768px) {
  /* Drop the label on narrow screens — keep just the signpost icon. */
  .ish-tourbtn span[b-zk76mnva0v] { display: none; }
}

/* ---------- Topbar user dropdown trigger ---------- */
.ish-topbar__user[b-zk76mnva0v] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 10px 4px 4px;
  border-radius: var(--ucpm-radius-sm);
  cursor: pointer;
  background: transparent;
  border: 0;
  font-family: var(--ucpm-font-sans);
}
.ish-topbar__user:hover[b-zk76mnva0v] { background: var(--ucpm-ink-050); }
.ish-topbar__user[b-zk76mnva0v]::after { display: none; } /* hide bootstrap dropdown caret */
.ish-topbar__avatar[b-zk76mnva0v] {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--ucpm-brand-teal);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.ish-topbar__avatar.has-photo[b-zk76mnva0v] { background: transparent; }
.ish-topbar__avatar img[b-zk76mnva0v] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ish-topbar__user-meta[b-zk76mnva0v] {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  text-align: left;
}
.ish-topbar__user-name[b-zk76mnva0v] {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
}
.ish-topbar__user-role[b-zk76mnva0v] {
  font-size: 12px;
  color: var(--ucpm-fg3);
}
.ish-topbar__user-chevron[b-zk76mnva0v] {
  color: var(--ucpm-ink-300);
  font-size: 11px;
}
.ish-topbar__admin-badge[b-zk76mnva0v] {
  background: var(--ucpm-warning-soft);
  color: var(--ucpm-warning);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 3px;
  margin-left: 6px;
}

/* ---------- Collapse toggle — "A1: reveal on hover" ----------
   Lives inside the sidebar (top-right of the brand row), invisible until the
   sidebar is hovered so it never reads as a nav item. When collapsed it becomes
   centered + always visible, sliding into place (see html.nav-is-rail in ish-design.css).
   Click is handled by the delegated .ish-navtoggle listener in App.razor. */
.ish-navtoggle[b-zk76mnva0v] {
  /* Absolute in BOTH expanded and rail (ish-design.css repositions it rather than
     swapping position/display) so collapse/expand animates top+left — the button
     slides between the corner and the rail row instead of snapping onto the logo.
     left:calc(w - 40px) == the old right:12px at the 268px width. */
  position: absolute; top: 22px; left: calc(var(--ish-sidebar-w) - 40px); z-index: 2;
  width: 28px; height: 28px;
  display: grid; place-items: center;
  border: 0; background: transparent; cursor: pointer;
  border-radius: 7px;
  color: #76C5C0; font-size: 16px;
  opacity: 0;
  transition: opacity var(--ucpm-motion-fast) var(--ucpm-ease),
              top var(--ish-nav-motion) var(--ucpm-ease),
              left var(--ish-nav-motion) var(--ucpm-ease),
              background var(--ucpm-motion-fast), color var(--ucpm-motion-fast);
}
.ish-sidebar:hover .ish-navtoggle[b-zk76mnva0v],
.ish-navtoggle:focus-visible[b-zk76mnva0v] { opacity: 1; }
.ish-navtoggle:hover[b-zk76mnva0v] { background: rgba(255,255,255,.1); color: #fff; }
.ish-navtoggle:focus-visible[b-zk76mnva0v] { outline: 2px solid var(--ucpm-brand-teal); outline-offset: 1px; }

/* ---------- Collapsible "rail" mode ----------
   The rail look + width live in GLOBAL ish-design.css (keyed off html.nav-is-rail).
   Scoped CSS can't reliably hang rules off an <html> ancestor via :global(), so
   only the local reflow transition stays here. */
.ish-sidebar[b-zk76mnva0v], .ish-topbar[b-zk76mnva0v] { transition: width var(--ish-nav-motion) var(--ucpm-ease), left var(--ish-nav-motion) var(--ucpm-ease); }
/* /Components/Loadings/DataLoader.razor.rz.scp.css */
/* DataLoader — component-scoped. Ports the Surplus Lines Solutions design
   `.tbl-loader` + `.spinner` (sl-tax-filing-loader.html) onto app --ucpm-* tokens.
   Design -> app token map:
   --brand-teal->--ucpm-brand-teal, --surface-sunken->--ucpm-surface-sunken,
   --brand-deep-navy->--ucpm-deep-navy, --fg3->--ucpm-fg3,
   --font-display->--ucpm-font-display, --motion-base->--ucpm-motion-base,
   --ease-standard->--ucpm-ease.
   The comet's faded end stays rgba(0,134,135,0) (brand-teal at 0 alpha) on purpose:
   using `transparent` would fade through gray and muddy the sweep. */

.ish-loader[b-kq74fj3dfg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 340px;
    padding: 56px 20px;
    text-align: center;
}

/* Two-tone ring (track) + tapered comet sweeping over it */
.ish-loader__spinner[b-kq74fj3dfg] {
    position: relative;
    width: 48px;
    height: 48px;
}

.ish-loader__track[b-kq74fj3dfg] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 5px solid var(--ucpm-surface-sunken);
}

.ish-loader__comet[b-kq74fj3dfg] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(from 0deg, var(--ucpm-brand-teal) 0%, rgba(0, 134, 135, 0) 82%);
    -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 5px), #000 calc(100% - 5px));
            mask: radial-gradient(farthest-side, #0000 calc(100% - 5px), #000 calc(100% - 5px));
    animation: ish-comet-spin-b-kq74fj3dfg .9s linear infinite;
}

/* Rounded leading head, parked at the full-color start of the sweep */
.ish-loader__comet[b-kq74fj3dfg]::after {
    content: "";
    position: absolute;
    top: -0.5px;
    left: 50%;
    width: 5px;
    height: 5px;
    margin-left: -2.5px;
    border-radius: 50%;
    background: var(--ucpm-brand-teal);
}

@keyframes ish-comet-spin-b-kq74fj3dfg {
    to { transform: rotate(-360deg); }
}

.ish-loader__title[b-kq74fj3dfg] {
    font-family: var(--ucpm-font-display);
    font-weight: 600;
    font-size: 16px;
    color: var(--ucpm-deep-navy);
    letter-spacing: -.005em;
}

.ish-loader__sub[b-kq74fj3dfg] {
    font-size: 13px;
    color: var(--ucpm-fg3);
    margin: 4px 0 0;
}

@media (prefers-reduced-motion: reduce) {
    .ish-loader__comet[b-kq74fj3dfg] { animation-duration: 1.6s; }
}

/* Compact variant — same comet, sized for inline contexts (e.g. a grid's
   full-width loading row) instead of a full content block. */
.ish-loader--compact[b-kq74fj3dfg] {
    gap: 12px;
    min-height: 0;
    padding: 20px 16px;
}

.ish-loader--compact .ish-loader__spinner[b-kq74fj3dfg] {
    width: 30px;
    height: 30px;
}

.ish-loader--compact .ish-loader__track[b-kq74fj3dfg] {
    border-width: 3px;
}

.ish-loader--compact .ish-loader__comet[b-kq74fj3dfg] {
    -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 3px), #000 calc(100% - 3px));
            mask: radial-gradient(farthest-side, #0000 calc(100% - 3px), #000 calc(100% - 3px));
}

.ish-loader--compact .ish-loader__comet[b-kq74fj3dfg]::after {
    width: 3px;
    height: 3px;
    margin-left: -1.5px;
}

.ish-loader--compact .ish-loader__title[b-kq74fj3dfg] {
    font-size: 13px;
}
/* /Components/Loadings/Spinner.razor.rz.scp.css */
/* /Components/Modals/ConfirmModal.razor.rz.scp.css */
/* /Components/Modals/FilingBatchExportModal.razor.rz.scp.css */
/* Filing batch export wizard — styles adapted from the Claude Design mockup
   (Filing Batch Export.html), mapped onto the UCPM tokens in ish-design.css. */

/* ---------- stepper ---------- */
.fbx-steps[b-blw6a4unk9] {
    display: flex; align-items: center; gap: 6px;
    padding: 14px 22px 8px;
}
.fbx-steps__step[b-blw6a4unk9] { display: inline-flex; align-items: center; gap: 7px; }
.fbx-steps__num[b-blw6a4unk9] {
    width: 20px; height: 20px; flex-shrink: 0;
    display: grid; place-items: center;
    border-radius: 50%;
    font-size: 10.5px; font-weight: 700;
    background: var(--ucpm-ink-050); color: var(--ucpm-fg3);
    border: 1px solid var(--ucpm-divider-strong);
}
.fbx-steps__num > .bi[b-blw6a4unk9] { font-size: 11px; }
.fbx-steps__label[b-blw6a4unk9] { font-size: 11.5px; font-weight: 600; color: var(--ucpm-fg3); white-space: nowrap; }
.fbx-steps__step.is-active .fbx-steps__num[b-blw6a4unk9] { background: var(--ucpm-brand-teal); border-color: var(--ucpm-brand-teal); color: #fff; }
.fbx-steps__step.is-active .fbx-steps__label[b-blw6a4unk9] { color: var(--ucpm-deep-navy); }
.fbx-steps__step.is-done .fbx-steps__num[b-blw6a4unk9] { background: var(--ucpm-success-soft); border-color: var(--ucpm-brand-teal); color: var(--ucpm-brand-teal); }
.fbx-steps__step.is-done .fbx-steps__label[b-blw6a4unk9] { color: var(--ucpm-brand-teal); }
.fbx-steps__bar[b-blw6a4unk9] { width: 26px; height: 1px; background: var(--ucpm-divider-strong); flex-shrink: 0; }

/* ---------- head / body ---------- */
.fbx-head[b-blw6a4unk9] { padding-top: 12px; }
.fbx-close[b-blw6a4unk9] {
    /* pinned to the modal's top-right, on the stepper line (.modal-content is the positioned ancestor) */
    position: absolute; top: 25px; right: 20px;
    width: 28px; height: 28px; border: 0; border-radius: var(--ucpm-radius-sm);
    background: transparent; color: var(--ucpm-fg3); cursor: pointer;
    display: grid; place-items: center; font-size: 13px;
}
.fbx-close:hover[b-blw6a4unk9] { background: var(--ucpm-ink-050); color: var(--ucpm-deep-navy); }
.fbx-body[b-blw6a4unk9] { display: flex; flex-direction: column; gap: 16px; }

/* ---------- scope strip ---------- */
.fbx-scope[b-blw6a4unk9] {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 10px 12px;
    background: var(--ucpm-ink-025);
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-md);
    font-size: 12px; color: var(--ucpm-fg3);
}
.fbx-scope .bi[b-blw6a4unk9] { color: var(--ucpm-brand-teal); }

/* ---------- group label ---------- */
.fbx-group-label[b-blw6a4unk9] {
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--ucpm-fg3); margin-bottom: 8px;
}

/* ---------- state dropdown (self-contained ish-filter-select look) ---------- */
.fbx-select[b-blw6a4unk9] { width: 260px; }
.fbx-select__btn[b-blw6a4unk9] {
    width: 100%;
    display: flex; align-items: center; gap: 8px;
    padding: 7px 12px;
    background: #fff;
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    font-size: 12.5px; cursor: pointer;
}
.fbx-select__btn:hover[b-blw6a4unk9] { border-color: var(--ucpm-brand-teal); }
.fbx-select__label[b-blw6a4unk9] { color: var(--ucpm-fg3); font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; }
.fbx-select__val[b-blw6a4unk9] { color: var(--ucpm-deep-navy); font-weight: 600; }
.fbx-select__chev[b-blw6a4unk9] { margin-left: auto; font-size: 11px; color: var(--ucpm-fg3); }
.fbx-select__menu.dropdown-menu[b-blw6a4unk9] {
    width: 100%; padding: 5px;
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-md);
    box-shadow: var(--ucpm-shadow-float);
    max-height: 300px; overflow-y: auto;
}
.fbx-select__menu .dropdown-item[b-blw6a4unk9] {
    padding: 7px 10px;
    border-radius: var(--ucpm-radius-sm);
    font-size: 12.5px; color: var(--ucpm-fg1);
    cursor: pointer;
}
.fbx-select__menu .dropdown-item:hover[b-blw6a4unk9],
.fbx-select__menu .dropdown-item:focus[b-blw6a4unk9] { background: var(--ucpm-ink-050); }
.fbx-select__menu .dropdown-item.is-active[b-blw6a4unk9] { background: var(--ucpm-success-soft); color: var(--ucpm-deep-navy); font-weight: 600; }

/* ---------- state pin ---------- */
.fbx-pin[b-blw6a4unk9] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 22px; flex-shrink: 0;
    background: var(--ucpm-deep-sea); color: #fff;
    font-family: var(--ucpm-font-display);
    font-size: 11px; font-weight: 700; letter-spacing: 0.04em;
    border-radius: 3px;
}

/* ---------- selected state card ---------- */
.fbx-stcard[b-blw6a4unk9] {
    padding: 12px 13px;
    background: #F4FAFA; /* teal-tinted offwhite, between --ucpm-ink-025 and --ucpm-success-soft */
    border: 1px solid var(--ucpm-brand-teal);
    box-shadow: inset 0 0 0 1px var(--ucpm-brand-teal), 0 1px 4px rgba(0, 134, 135, 0.08);
    border-radius: var(--ucpm-radius-md);
}
.fbx-stcard__top[b-blw6a4unk9] { display: flex; align-items: center; gap: 8px; }
.fbx-stcard__name[b-blw6a4unk9] { font-weight: 600; font-size: 13px; color: var(--ucpm-deep-navy); }
.fbx-stcard__rows[b-blw6a4unk9] {
    margin-left: auto; display: inline-flex; align-items: center; gap: 4px;
    font-size: 12px; font-weight: 600; color: var(--ucpm-deep-navy);
    font-variant-numeric: tabular-nums; white-space: nowrap;
}
.fbx-stcard__rows span[b-blw6a4unk9] { color: var(--ucpm-fg3); font-weight: 500; }
.fbx-stcard__meta[b-blw6a4unk9] { display: flex; align-items: center; gap: 6px; margin-top: 6px; flex-wrap: wrap; }
.fbx-stcard__layout[b-blw6a4unk9] { font-size: 11px; color: var(--ucpm-fg3); margin-top: 3px; }

.fbx-portal-pill[b-blw6a4unk9] {
    display: inline-flex; align-items: center;
    padding: 1px 7px;
    font-size: 10px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
    border-radius: 3px;
    background: var(--ucpm-info-soft); color: var(--ucpm-info);
    white-space: nowrap;
}
.fbx-portal-pill.is-fl[b-blw6a4unk9] { background: var(--ucpm-warning-soft); color: #7A2E0E; }

/* ---------- output / upload box ---------- */
.fbx-out[b-blw6a4unk9] {
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-md);
    overflow: hidden;
}
.fbx-out__head[b-blw6a4unk9] {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 14px;
    background: var(--ucpm-ink-025);
    border-bottom: 1px solid var(--ucpm-divider);
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--ucpm-fg3);
}
.fbx-out__head .bi[b-blw6a4unk9] { color: var(--ucpm-brand-teal); font-size: 13px; }
.fbx-out__file[b-blw6a4unk9] {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 14px;
    font-size: 12.5px;
}
.fbx-out__file > .bi[b-blw6a4unk9] { color: var(--ucpm-brand-teal); font-size: 14px; }
.fbx-out__name[b-blw6a4unk9] { font-family: var(--ucpm-font-mono); font-size: 12px; color: var(--ucpm-deep-navy); font-weight: 500; }
.fbx-out__meta[b-blw6a4unk9] { margin-left: auto; color: var(--ucpm-fg3); font-size: 11.5px; white-space: nowrap; }

/* ---------- validation ---------- */
.fbx-vblock[b-blw6a4unk9] { border: 1px solid var(--ucpm-divider); border-radius: var(--ucpm-radius-md); overflow: hidden; }
.fbx-vblock__head[b-blw6a4unk9] {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px;
    background: var(--ucpm-ink-025);
}
.fbx-vblock__name[b-blw6a4unk9] { font-weight: 600; font-size: 13px; color: var(--ucpm-deep-navy); }
.fbx-vblock__layout[b-blw6a4unk9] { font-size: 11px; color: var(--ucpm-fg3); }
.fbx-vblock__status[b-blw6a4unk9] {
    margin-left: auto; display: flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums;
}
.fbx-vblock__status.is-pass[b-blw6a4unk9] { color: var(--ucpm-brand-teal); }
.fbx-vblock__status.is-warn[b-blw6a4unk9] { color: var(--ucpm-warning); }
.fbx-vblock__status.is-fail[b-blw6a4unk9] { color: var(--ucpm-danger); }

.fbx-vissue[b-blw6a4unk9] {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 14px;
    border-top: 1px solid var(--ucpm-divider);
    background: #fff;
}
.fbx-sev[b-blw6a4unk9] {
    flex-shrink: 0; margin-top: 1px;
    display: inline-flex; align-items: center;
    padding: 1px 8px; border-radius: 3px;
    font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
}
.fbx-sev.is-error[b-blw6a4unk9] { background: var(--ucpm-danger-soft); color: #7A271A; }
.fbx-sev.is-warning[b-blw6a4unk9] { background: var(--ucpm-warning-soft); color: #7A2E0E; }
.fbx-sev.is-pass[b-blw6a4unk9] { background: var(--ucpm-success-soft); color: var(--ucpm-nightshade-teal); }
.fbx-vissue__body[b-blw6a4unk9] { flex: 1; min-width: 0; }
.fbx-vissue__rule[b-blw6a4unk9] { font-size: 12.5px; color: var(--ucpm-fg1); font-weight: 500; }
.fbx-vissue__rule b[b-blw6a4unk9] { color: var(--ucpm-deep-navy); }
.fbx-vissue__rows[b-blw6a4unk9] { display: flex; align-items: center; gap: 5px; margin-top: 5px; flex-wrap: wrap; }
.fbx-vissue__rows.is-expanded[b-blw6a4unk9] { max-height: 132px; overflow-y: auto; }
.fbx-vissue__note[b-blw6a4unk9] { font-size: 11px; color: var(--ucpm-fg3); margin-top: 4px; }
.fbx-rowchip[b-blw6a4unk9] {
    font-family: var(--ucpm-font-mono);
    font-size: 10.5px; font-weight: 500;
    padding: 1px 6px;
    background: var(--ucpm-ink-050); color: var(--ucpm-ink-700);
    border: 1px solid var(--ucpm-divider);
    border-radius: 3px;
}
.fbx-rowchip--toggle[b-blw6a4unk9] {
    background: #fff; color: var(--ucpm-brand-teal);
    border-color: var(--ucpm-divider-strong);
    font-weight: 600; cursor: pointer;
}
.fbx-rowchip--toggle:hover[b-blw6a4unk9] { border-color: var(--ucpm-brand-teal); background: var(--ucpm-success-soft); }

/* ---------- exclude option ---------- */
.fbx-exclude[b-blw6a4unk9] {
    display: flex; align-items: flex-start; gap: 11px;
    padding: 12px 14px;
    border: 1px dashed var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-md);
    background: var(--ucpm-vapor-cream);
    cursor: pointer;
}
.fbx-exclude.is-on[b-blw6a4unk9] { border: 1px solid #F7CE7F; background: var(--ucpm-warning-soft); }
.fbx-exclude input[b-blw6a4unk9] { margin-top: 2px; accent-color: var(--ucpm-warning); width: 14px; height: 14px; flex-shrink: 0; }
.fbx-exclude__title[b-blw6a4unk9] { font-weight: 600; font-size: 13px; color: var(--ucpm-deep-navy); }
.fbx-exclude__desc[b-blw6a4unk9] { font-size: 11.5px; color: var(--ucpm-fg2); margin-top: 2px; line-height: 1.5; }
.fbx-exclude__desc b[b-blw6a4unk9] { color: #7A2E0E; }

/* ---------- success ---------- */
.fbx-done[b-blw6a4unk9] { display: flex; align-items: center; gap: 16px; }
.fbx-done__icon[b-blw6a4unk9] {
    width: 52px; height: 52px; flex-shrink: 0;
    display: grid; place-items: center;
    background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal);
    border-radius: 50%;
    font-size: 26px;
}
.fbx-done__title[b-blw6a4unk9] { font-family: var(--ucpm-font-display); font-weight: 600; font-size: 18px; color: var(--ucpm-deep-navy); }
.fbx-done__sub[b-blw6a4unk9] { font-size: 12.5px; color: var(--ucpm-fg2); margin-top: 3px; }
.fbx-mono[b-blw6a4unk9] { font-family: var(--ucpm-font-mono); color: var(--ucpm-deep-navy); font-weight: 600; font-size: 12px; }

.fbx-upload[b-blw6a4unk9] {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px;
    font-size: 12.5px;
}
.fbx-upload > .bi[b-blw6a4unk9] { color: var(--ucpm-brand-teal); font-size: 14px; }
.fbx-upload__file[b-blw6a4unk9] { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.fbx-upload__rows[b-blw6a4unk9] { font-size: 11px; color: var(--ucpm-fg3); }
.fbx-upload__hint[b-blw6a4unk9] {
    flex-shrink: 0; max-width: 340px; text-align: right;
    font-size: 11.5px; color: var(--ucpm-fg2); line-height: 1.45;
}
.fbx-upload__hint b[b-blw6a4unk9] { color: var(--ucpm-deep-navy); }
.fbx-upload__hint .bi[b-blw6a4unk9] { color: var(--ucpm-brand-teal); margin-right: 3px; }

/* #229 — upload-destination link (anchor when a Website URL is configured, disabled stub otherwise). */
.fbx-upload__hint a[b-blw6a4unk9] {
    color: var(--ucpm-brand-teal);
    text-decoration: none;
    font-weight: 600;
}
.fbx-upload__hint a b[b-blw6a4unk9] { color: var(--ucpm-brand-teal); }
.fbx-upload__hint a:hover[b-blw6a4unk9] { text-decoration: underline; }
.fbx-upload__hint-link.is-disabled[b-blw6a4unk9] {
    color: var(--ucpm-fg3);
    cursor: not-allowed;
    font-weight: 600;
}
/* Website URL still resolving — muted, no disabled affordance (it isn't "no portal", just not loaded yet). */
.fbx-upload__hint-link.is-loading[b-blw6a4unk9] {
    color: var(--ucpm-fg3);
    font-weight: 600;
}

/* ---------- footer ---------- */
.fbx-foot-hint[b-blw6a4unk9] {
    margin-right: auto;
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; color: var(--ucpm-fg3);
}
.fbx-foot-hint.is-blocking[b-blw6a4unk9] { color: var(--ucpm-danger); font-weight: 600; }
/* /Components/Pages/AccountsPage/AccountsTable.razor.rz.scp.css */
/* AccountsTable scoped CSS — Filing-Due editor pill + Mark-as-Filed button.
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the
   global-CSS-to-scoped migration. These two patterns are only ever
   rendered by this component.

   The !important flags on the SAVE/SET button are deliberate — they
   defeat the default BlazorStrap button styling so the pill matches the
   surrounding compact pattern. CSS isolation does NOT remove the need
   for them when the underlying `<button>` is rendered by a wrapper
   component (BSButton) outside this scope. */

/* Compact Filing-Due edit pill */
.filing-due-edit[b-rttkhxt58b] {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 2px 2px 2px 8px;
  border: 1px solid var(--ucpm-divider-strong);
  background: #fff;
  border-radius: var(--ucpm-radius-sm);
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.filing-due-edit.is-dirty[b-rttkhxt58b] {
  border-color: var(--ucpm-warning);
  background: var(--ucpm-warning-soft);
}
.filing-due-edit > .bi-calendar3[b-rttkhxt58b] { color: var(--ucpm-fg3); font-size: 12px; }
.filing-due-edit input[type="date"][b-rttkhxt58b] {
  border: 0; outline: 0; background: transparent;
  width: 110px; padding: 4px 0;
  font: inherit; color: var(--ucpm-fg1);
  font-variant-numeric: tabular-nums;
}
.filing-due-edit input[type="date"][b-rttkhxt58b]::-webkit-calendar-picker-indicator {
  opacity: .55; cursor: pointer;
}
.filing-due-edit__revert[b-rttkhxt58b] {
  width: 22px; height: 22px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; background: transparent; color: var(--ucpm-warning);
  cursor: pointer; border-radius: 3px;
}
.filing-due-edit__revert:hover[b-rttkhxt58b] { background: rgba(181,71,8,.10); }
button.filing-due-edit__savebtn[b-rttkhxt58b] {
  height: 24px !important; padding: 0 12px !important;
  font-family: var(--ucpm-font-display) !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: .06em !important;
  text-transform: uppercase !important;
  background: var(--ucpm-deep-navy) !important; color: #fff !important;
  border: 0 !important; border-radius: 3px !important;
  cursor: pointer;
  transition: background var(--ucpm-motion-fast);
  line-height: 1 !important;
}
button.filing-due-edit__savebtn:hover[b-rttkhxt58b] { background: var(--ucpm-brand-teal) !important; }
.filing-due-edit.is-dirty button.filing-due-edit__savebtn[b-rttkhxt58b] {
  background: var(--ucpm-warning) !important;
}
.filing-due-edit.is-dirty button.filing-due-edit__savebtn:hover[b-rttkhxt58b] { background: #953a06 !important; }

/* Mark-as-Filed compact icon button */
.mark-filed-btn[b-rttkhxt58b] {
  width: 30px; height: 30px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid var(--ucpm-divider-strong);
  color: var(--ucpm-brand-teal);
  cursor: pointer; border-radius: var(--ucpm-radius-sm);
  transition: background var(--ucpm-motion-fast), color var(--ucpm-motion-fast),
              border-color var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast);
}
.mark-filed-btn:hover[b-rttkhxt58b] {
  background: var(--ucpm-brand-teal); color: #fff;
  border-color: var(--ucpm-brand-teal);
  box-shadow: 0 0 10px rgba(0,134,135,.35);
}
.mark-filed-btn .bi[b-rttkhxt58b] { font-size: 14px; line-height: 1; }

/* Active KPI-filter chip in the filter bar (design: sl-tax-filing.html).
   Shown only while a KPI tile drill-down is applied; names the metric the
   grid is scoped to and tints to the tile's accent via --chip-color. The ×
   clears just the KPI filter, leaving the user's filter-bar values intact. */
.kpi-filter-chip[b-rttkhxt58b] {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 6px 5px 11px; border-radius: 999px;
  border: 1px solid var(--chip-color, var(--ucpm-brand-teal)); background: #fff;
  font-size: 12px; font-weight: 600; color: var(--ucpm-fg1);
  white-space: nowrap;
}
.kpi-filter-chip__dot[b-rttkhxt58b] {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--chip-color, var(--ucpm-brand-teal));
}
.kpi-filter-chip__x[b-rttkhxt58b] {
  width: 18px; height: 18px; border: 0; border-radius: 50%; padding: 0;
  background: rgba(1,62,70,.08); color: var(--ucpm-fg2); cursor: pointer;
  display: grid; place-items: center; font-size: 10px;
}
.kpi-filter-chip__x:hover[b-rttkhxt58b] { background: var(--chip-color, var(--ucpm-brand-teal)); color: #fff; }

/* ---------- source tag (#205) ---------- */
/* Small color-coded tag rendered on its own line beneath the insured name when
   SourceScope == All: soft source tint background, ink-shade uppercase text,
   leading dot in the source's main color. Scoped here — the grid is its only
   consumer. (The header uses the filled `.ish-source-badge` in ish-design.css.) */
.ish-source-pill[b-rttkhxt58b] {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 4px;
  margin-top: 3px;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 10px; font-weight: 700; letter-spacing: .08em;
  line-height: 1.6;
  text-transform: uppercase;
  white-space: nowrap;
}
.ish-source-pill[b-rttkhxt58b]::before {
  content: "";
  flex: none;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--source-color, currentColor);
}
.ish-source-pill--ucpm[b-rttkhxt58b] {
  --source-color: var(--ucpm-source-ucpm);
  color: var(--ucpm-source-ucpm-ink);
  background: var(--ucpm-source-ucpm-soft);
}
.ish-source-pill--lenders[b-rttkhxt58b] {
  --source-color: var(--ucpm-source-lenders);
  color: var(--ucpm-source-lenders-ink);
  background: var(--ucpm-source-lenders-soft);
}
.ish-source-pill--nxus[b-rttkhxt58b] {
  --source-color: var(--ucpm-source-nxus);
  color: var(--ucpm-source-nxus-ink);
  background: var(--ucpm-source-nxus-soft);
}
.ish-source-pill--unknown[b-rttkhxt58b] {
  color: var(--ucpm-fg3);
  background: var(--ucpm-ink-050, #f4f4f6);
}

/* Endorsement number + type name shown as a small muted sub-line beneath the Type badge
   ("#8 - Add/Remove ANI"). Block-level so it drops below the inline badge without wrapper markup. */
.sl-endt-sub[b-rttkhxt58b] {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  color: var(--ucpm-fg3);
  white-space: nowrap;
}

/* ---------- state pin ---------- */
/* Filled chip around the two-letter state code, per the `.state-pin`
   treatment in the sl-tax-filing.html design handoff. */
.ish-state-pin[b-rttkhxt58b] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 22px;
  background: var(--ucpm-deep-sea);
  color: #fff;
  font-family: var(--ucpm-font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  border-radius: 3px;
}

/* ---------- per-row source stripe (#205) ---------- */
/* Thin coloured stripe on the leading edge of every row regardless of source
   scope — inset box-shadow on the first cell per the design handoff, so it
   overlays the cell instead of shifting its content the way a border would.
   Colors come from the --ucpm-source-* tokens in ish-design.css :root; a new
   source needs a token there plus a matching modifier class here. */
.ish-row-source--ucpm > td:first-child[b-rttkhxt58b]    { box-shadow: inset 3px 0 0 var(--ucpm-source-ucpm); }
.ish-row-source--lenders > td:first-child[b-rttkhxt58b] { box-shadow: inset 3px 0 0 var(--ucpm-source-lenders); }
.ish-row-source--nxus > td:first-child[b-rttkhxt58b]    { box-shadow: inset 3px 0 0 var(--ucpm-source-nxus); }
.ish-row-source--unknown > td:first-child[b-rttkhxt58b] { box-shadow: inset 3px 0 0 var(--ucpm-fg3); }

/* ---------- export split-button menu (filing batch export) ---------- */
/* ish-design.css gives .ish-page .btn-group a 4px gap — rejoin the split button. */
.fbx-split.btn-group[b-rttkhxt58b] { gap: 0; flex-wrap: nowrap; }
.fbx-menu.dropdown-menu[b-rttkhxt58b] {
	width: 350px;
	padding: 6px;
	border: 1px solid var(--ucpm-divider);
	border-radius: var(--ucpm-radius-md);
	box-shadow: var(--ucpm-shadow-float);
}
.fbx-menu__item.dropdown-item[b-rttkhxt58b] {
	display: flex; align-items: flex-start; gap: 12px;
	padding: 11px 12px;
	border-radius: var(--ucpm-radius-sm);
	white-space: normal;
}
.fbx-menu__item.dropdown-item:hover[b-rttkhxt58b],
.fbx-menu__item.dropdown-item:focus[b-rttkhxt58b] { background: var(--ucpm-vapor-cream); }
.fbx-menu__icon[b-rttkhxt58b] {
	width: 34px; height: 34px; flex-shrink: 0;
	display: grid; place-items: center;
	background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal);
	border-radius: var(--ucpm-radius-sm);
	font-size: 16px;
}
.fbx-menu__body[b-rttkhxt58b] { flex: 1; min-width: 0; display: block; }
.fbx-menu__title[b-rttkhxt58b] {
	display: flex; align-items: center; gap: 8px;
	font-weight: 600; font-size: 13px; color: var(--ucpm-deep-navy);
}
.fbx-menu__desc[b-rttkhxt58b] { display: block; font-size: 11.5px; color: var(--ucpm-fg3); margin-top: 2px; line-height: 1.45; }

/* ---------- "Clear all" (filters) ----------
   The design's btn-x--ghost btn-x--sm: a borderless text button (transparent
   bg, no border, weight 500, sans face) with a soft ink-050 hover — not the
   wide bordered outline button it replaced. */
.ish-clear-all[b-rttkhxt58b] {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 5px 10px;
  border: 1px solid transparent; border-radius: var(--ucpm-radius-sm);
  background: transparent; color: var(--ucpm-fg2);
  font-size: 12.5px; font-weight: 500; line-height: 1.2; white-space: nowrap; cursor: pointer;
  transition: background var(--ucpm-motion-fast), color var(--ucpm-motion-fast);
}
.ish-clear-all:hover[b-rttkhxt58b] { background: var(--ucpm-ink-050, #f1f4f8); color: var(--ucpm-deep-navy); }
.ish-clear-all .bi[b-rttkhxt58b] { font-size: 13px; }

/* ---------- Row-selection checkbox column ---------- */
.sl-check-col[b-rttkhxt58b] { width: 32px; text-align: center; padding-left: 10px; padding-right: 4px; }
.sl-check[b-rttkhxt58b] { cursor: pointer; accent-color: var(--ucpm-brand-teal); vertical-align: middle; }
tr.is-selected > td[b-rttkhxt58b] { background: var(--ucpm-success-soft); }

/* ---------- Bulk "Mark as filed" action ----------
   Shown in the toolbar only while rows are checked. A single teal button sized
   like the Export button (btn btn-sm) — no count/clear chrome. */
.sl-mark-filed.btn[b-rttkhxt58b] {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--ucpm-deep-navy); border-color: var(--ucpm-deep-navy); color: #fff;
  border-radius: var(--ucpm-radius-sm); font-weight: 600;
}
.sl-mark-filed.btn:hover[b-rttkhxt58b] { background: var(--ucpm-brand-teal); border-color: var(--ucpm-brand-teal); color: #fff; }
.sl-mark-filed .bi[b-rttkhxt58b] { font-size: 14px; }

/* ---------- Refresh overlay (filter/sort/page reload) ----------
   When a fetch is in flight but rows are already on screen, the grid keeps them
   visible (anti-flicker, #195) and dims them under a light overlay with the same
   compact loader used by the in-grid loading row, so the user gets instant
   feedback instead of a frozen table during the server round-trip.
   `.accounts-table-zone` is the positioning context; the overlay sits absolutely
   over the whole table area. */
.accounts-table-zone[b-rttkhxt58b] {
  position: relative;
}
.accounts-table-zone.is-refreshing .accounts-table-wrap[b-rttkhxt58b] {
  opacity: .45;
  transition: opacity var(--ucpm-motion-fast, .18s) ease;
}
.accounts-table-refresh[b-rttkhxt58b] {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .45);
  backdrop-filter: blur(1px);
}
/* /Components/Pages/FullReport.razor.rz.scp.css */
/* SLS Full Report — component-local custom props ONLY. All theme values
   reference the GLOBAL --ucpm-* tokens (ish-design.css) DIRECTLY — no rename
   layer. --surface-warm has no global equivalent, so it lives here. */
.sl-fullreport[b-mxf2dxr0g7] {
    --surface-warm: #EAF1EA;
}

/* ---------- "as of" line ---------- */
.slfr-asof[b-mxf2dxr0g7] { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 0 0 14px; font-size: 11.5px; color: var(--ucpm-fg3); }
.slfr-asof__item[b-mxf2dxr0g7] { display: inline-flex; align-items: center; gap: 5px; }
.slfr-asof__item b[b-mxf2dxr0g7] { color: var(--ucpm-deep-navy); font-weight: 600; }
.slfr-asof__icon[b-mxf2dxr0g7] { color: var(--ucpm-brand-teal); }
.slfr-asof__warn[b-mxf2dxr0g7] { color: var(--ucpm-warning); }

/* ---------- Canvas: grid left, slicer rail right ---------- */
.slfr-canvas[b-mxf2dxr0g7] { display: grid; grid-template-columns: minmax(0, 1fr) 296px; gap: 16px; align-items: start; }
.slfr-grid[b-mxf2dxr0g7] {
    background: var(--ucpm-surface-raised);
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-md);
    box-shadow: var(--ucpm-shadow-tile);
    overflow: hidden;
}

/* Tabs sit flush on the grid card (the app styles .nav-tabs; flatten the card chrome here). */
.slfr-tabs.nav-tabs[b-mxf2dxr0g7] { background: transparent; border-bottom: 1px solid var(--ucpm-divider); border-radius: 0; padding: 0 6px; }

/* ---------- Dense wide table ---------- */
.slfr-scroll[b-mxf2dxr0g7] { overflow: auto; max-height: calc(100vh - 300px); position: relative; }
.slfr-table[b-mxf2dxr0g7] { border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%; font-size: 12.5px; }
.slfr-table th[b-mxf2dxr0g7], .slfr-table td[b-mxf2dxr0g7] { white-space: nowrap; }

/* single sticky header row */
.slfr-table thead th[b-mxf2dxr0g7] {
    position: sticky; top: 0; z-index: 3;
    padding: 9px 14px; text-align: left;
    background: var(--ucpm-ink-025); color: var(--ucpm-fg3);
    font-family: var(--ucpm-font-sans); font-size: 11px !important; font-weight: 700;
    letter-spacing: 0.04em; text-transform: uppercase;
    border-bottom: 1px solid var(--ucpm-divider);
}
.slfr-table thead th.num[b-mxf2dxr0g7] { text-align: right; }

/* body */
.slfr-table tbody td[b-mxf2dxr0g7] { padding: 10px 14px; border-bottom: 1px solid var(--ucpm-divider); color: var(--ucpm-fg2); vertical-align: middle; }
.slfr-table tbody td.num[b-mxf2dxr0g7] { text-align: right; font-variant-numeric: tabular-nums; }
.slfr-table tbody tr:nth-child(even) td[b-mxf2dxr0g7] { background: var(--ucpm-surface-sunken); }
.slfr-table tbody tr:hover td[b-mxf2dxr0g7] { background: var(--surface-warm); }

/* frozen identity columns (#, Insured, Policy #) */
.c-idx[b-mxf2dxr0g7]     { left: 0;     width: 46px;  min-width: 46px; }
.c-insured[b-mxf2dxr0g7] { left: 46px;  width: 260px; min-width: 260px; }
.c-policy[b-mxf2dxr0g7]  { left: 306px; width: 134px; min-width: 134px; }
/* Insured names wrap within the frozen column instead of overflowing the sticky layout. */
.slfr-table tbody td.c-insured[b-mxf2dxr0g7] { white-space: normal; }
.slfr-table thead th.frozen[b-mxf2dxr0g7] { position: sticky; top: 0; z-index: 6; background: var(--ucpm-ink-025); }
.slfr-table tbody td.frozen[b-mxf2dxr0g7] { position: sticky; z-index: 2; background: #fff; }
.slfr-table tbody tr:nth-child(even) td.frozen[b-mxf2dxr0g7] { background: var(--ucpm-surface-sunken); }
.slfr-table tbody tr:hover td.frozen[b-mxf2dxr0g7] { background: var(--surface-warm); }
.slfr-table td.c-policy[b-mxf2dxr0g7], .slfr-table th.c-policy[b-mxf2dxr0g7] {
    box-shadow: 8px 0 10px -8px rgba(1, 62, 70, .20);
    border-right: 1px solid var(--ucpm-divider-strong);
}

/* overdue row tint (Late Filings tab) */
.slfr-table tbody tr.is-overdue-row td[b-mxf2dxr0g7],
.slfr-table tbody tr.is-overdue-row td.frozen[b-mxf2dxr0g7] { background: #FDF0EE; }
.slfr-table tbody tr.is-overdue-row:hover td[b-mxf2dxr0g7],
.slfr-table tbody tr.is-overdue-row:hover td.frozen[b-mxf2dxr0g7] { background: #FBE6E2; }
.slfr-table tbody tr.is-overdue-row .cell-primary[b-mxf2dxr0g7] { color: var(--ucpm-danger); }

/* cell helpers */
.cell-clip[b-mxf2dxr0g7] { display: inline-block; vertical-align: bottom; max-width: 100%; }
.cell-primary[b-mxf2dxr0g7] { color: var(--ucpm-deep-navy); font-weight: 600; }
.cell-num[b-mxf2dxr0g7] { font-variant-numeric: tabular-nums; }
.cell-muted[b-mxf2dxr0g7] { color: var(--ucpm-fg3); }
.issuer-cell[b-mxf2dxr0g7] { color: var(--ucpm-deep-navy); font-weight: 500; }
.due-cell.is-overdue[b-mxf2dxr0g7] { color: var(--ucpm-danger); font-weight: 700; }
.due-cell .bi[b-mxf2dxr0g7] { font-size: 11px; }

/* state pin */
.state-pin[b-mxf2dxr0g7] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 26px; height: 18px; padding: 0 6px;
    background: var(--ucpm-deep-sea); color: #fff;
    font-family: var(--ucpm-font-display); font-size: 10px; font-weight: 700; border-radius: var(--ucpm-radius-sm);
}

/* type pills */
.pill-type[b-mxf2dxr0g7] {
    display: inline-flex; align-items: center; padding: 2px 8px; border-radius: var(--ucpm-radius-sm);
    font-size: 10.5px; font-weight: 700; letter-spacing: .03em;
}
.pill-type--new[b-mxf2dxr0g7] { background: var(--ucpm-success-soft); color: var(--ucpm-nightshade-teal); }
.pill-type--renewal[b-mxf2dxr0g7] { background: var(--ucpm-info-soft); color: var(--ucpm-info); }
.pill-type--endt[b-mxf2dxr0g7] { background: var(--ucpm-ink-100); color: var(--ucpm-ink-700); }

/* SL status dot pills */
.sl-status[b-mxf2dxr0g7] { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; white-space: nowrap; }
.sl-status .dot[b-mxf2dxr0g7] { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.sl-status.is-pending .dot[b-mxf2dxr0g7] { background: var(--ucpm-warning); }
.sl-status.is-agent .dot[b-mxf2dxr0g7] { background: var(--ucpm-info); }
.sl-status.is-carrier .dot[b-mxf2dxr0g7] { background: var(--ucpm-blue-thunder); }
.sl-status.is-admitted .dot[b-mxf2dxr0g7] { background: var(--ucpm-brand-teal); }
.sl-status.is-unknown .dot[b-mxf2dxr0g7] { background: var(--ucpm-ink-300); }

/* policy status text */
.pol-status[b-mxf2dxr0g7] { font-weight: 600; font-size: 12.5px; }
.pol-status.is-bound[b-mxf2dxr0g7] { color: var(--ucpm-brand-teal); }
.pol-status.is-cancelled[b-mxf2dxr0g7] { color: var(--ucpm-danger); }
.pol-status.is-expired[b-mxf2dxr0g7] { color: var(--ucpm-fg3); }

.slfr-empty[b-mxf2dxr0g7] { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 48px 20px; color: var(--ucpm-fg3); font-size: 13px; }
.slfr-empty .bi[b-mxf2dxr0g7] { font-size: 26px; color: var(--ucpm-brand-teal); }

/* Loading / empty state block — rendered OUTSIDE the wide max-content table so it
   centers on the VISIBLE viewport (a colspan cell centers across the full 24-col
   table width, which pushes the spinner off-screen to the right). Sticks to the
   left edge so it stays centred even if the scroll container has scrolled. */
.slfr-state[b-mxf2dxr0g7] {
    position: sticky;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: calc(100vh - 340px);
    padding: 40px 20px;
}

/* ---------- Slicer rail + top search row (presentational) ---------- */
.slfr-rail[b-mxf2dxr0g7] { display: flex; flex-direction: column; gap: 14px; }
.slfr-top[b-mxf2dxr0g7] { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }

/* ---------- filter chip row (sits between the search row and the "as of" line) ---------- */
.slfr-chips[b-mxf2dxr0g7] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 10px; }

.pbi-slicer[b-mxf2dxr0g7] {
    background: var(--ucpm-surface-raised);
    border: 1px solid var(--ucpm-divider); border-radius: var(--ucpm-radius-md);
    box-shadow: var(--ucpm-shadow-tile);
    padding: 12px 14px 13px;
}
.pbi-slicer__head[b-mxf2dxr0g7] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.pbi-slicer__title[b-mxf2dxr0g7] {
    font-family: var(--ucpm-font-display); font-weight: 600; font-size: 12.5px;
    color: var(--ucpm-deep-navy); display: flex; align-items: center; gap: 7px;
}
.pbi-slicer__title .bi[b-mxf2dxr0g7] { color: var(--ucpm-brand-teal); font-size: 13px; }

.opt-list[b-mxf2dxr0g7] { display: flex; flex-direction: column; max-height: 168px; overflow-y: auto; margin: 0 -4px; }
.opt-list--cols[b-mxf2dxr0g7] { max-height: 150px; flex-wrap: wrap; }
.opt[b-mxf2dxr0g7] {
    display: flex; align-items: center; gap: 9px; padding: 5px 4px;
    border-radius: var(--ucpm-radius-sm); cursor: pointer; font-size: 12.5px; color: var(--ucpm-fg2);
}
.opt:hover[b-mxf2dxr0g7] { background: var(--surface-warm); }
.opt input[type="checkbox"][b-mxf2dxr0g7] { width: 15px; height: 15px; accent-color: var(--ucpm-brand-teal); flex-shrink: 0; cursor: pointer; }
.opt__label[b-mxf2dxr0g7] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opt__avatar[b-mxf2dxr0g7] {
    width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 700; font-size: 8.5px;
}
.opt__pin[b-mxf2dxr0g7] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 17px; background: var(--ucpm-deep-sea); color: #fff;
    font-family: var(--ucpm-font-display); font-size: 9.5px; font-weight: 700; border-radius: var(--ucpm-radius-sm);
}
.opt__swatch[b-mxf2dxr0g7] { width: 9px; height: 9px; border-radius: var(--ucpm-radius-sm); flex-shrink: 0; }

.slicer__search[b-mxf2dxr0g7] {
    display: flex; align-items: center; gap: 7px;
    border: 1px solid var(--ucpm-divider-strong); border-radius: var(--ucpm-radius-sm);
    background: #fff; padding: 5px 9px; margin-bottom: 8px;
}
.slicer__search:focus-within[b-mxf2dxr0g7] { border-color: var(--ucpm-brand-teal); box-shadow: 0 0 0 3px rgba(0, 134, 135, .12); }
.slicer__search .bi[b-mxf2dxr0g7] { color: var(--ucpm-fg3); font-size: 12px; }
.slicer__search input[b-mxf2dxr0g7] { border: 0; outline: 0; background: transparent; flex: 1; min-width: 0; font: inherit; font-size: 12.5px; color: var(--ucpm-fg2); }

/* date range inputs */
.input-x[b-mxf2dxr0g7] {
    display: inline-flex; align-items: center; flex: 1; min-width: 0;
    border: 1px solid var(--ucpm-divider-strong); border-radius: var(--ucpm-radius-sm); background: #fff; padding: 0 8px;
}
.input-x--set[b-mxf2dxr0g7] { border-color: var(--ucpm-brand-teal); box-shadow: 0 0 0 2px rgba(0, 134, 135, .14); }
.input-x input[b-mxf2dxr0g7] { border: 0; outline: 0; background: transparent; width: 100%; min-width: 0; font: inherit; font-size: 11.5px; padding: 5px 0; font-variant-numeric: tabular-nums; color: var(--ucpm-fg2); }
.range-dual__fields[b-mxf2dxr0g7] { display: flex; align-items: center; gap: 6px; }
.range-dual__sep[b-mxf2dxr0g7] { color: var(--ucpm-ink-300); font-size: 11px; flex-shrink: 0; }

.range-dual[b-mxf2dxr0g7] { position: relative; height: 22px; margin: 10px 7px 0; }
.range-dual__track[b-mxf2dxr0g7] { position: absolute; top: 9px; left: 0; right: 0; height: 4px; background: var(--ucpm-ink-100); border-radius: 999px; }
.range-dual__fill[b-mxf2dxr0g7] { position: absolute; top: 0; bottom: 0; background: var(--ucpm-brand-teal); border-radius: 999px; }
.range-dual input[type="range"][b-mxf2dxr0g7] {
    -webkit-appearance: none; appearance: none;
    position: absolute; top: 3px; left: 0; width: 100%; height: 16px;
    background: transparent; pointer-events: none; margin: 0;
}
.range-dual input[type="range"][b-mxf2dxr0g7]::-webkit-slider-thumb {
    -webkit-appearance: none; pointer-events: auto;
    width: 15px; height: 15px; border-radius: 50%; background: #fff;
    border: 2px solid var(--ucpm-brand-teal); box-shadow: 0 1px 3px rgba(1, 62, 70, .3); cursor: pointer;
}
.range-dual input[type="range"][b-mxf2dxr0g7]::-moz-range-thumb {
    pointer-events: auto; width: 15px; height: 15px; border-radius: 50%; background: #fff;
    border: 2px solid var(--ucpm-brand-teal); box-shadow: 0 1px 3px rgba(1, 62, 70, .3); cursor: pointer;
}

@media (max-width: 1180px) {
    .slfr-canvas[b-mxf2dxr0g7] { grid-template-columns: minmax(0, 1fr); }
    .slfr-rail[b-mxf2dxr0g7] { flex-direction: row; flex-wrap: wrap; }
    .slfr-rail > .pbi-slicer[b-mxf2dxr0g7] { flex: 1 1 220px; }
    .slfr-top[b-mxf2dxr0g7] { grid-template-columns: 1fr; }
}

/* ---------- filter chips (copied from AccountsTable.razor.css — scoped CSS
   can't be shared across components). --chip-color is omitted here; the
   default border/dot color falls back to --ucpm-brand-teal. ---------- */
.kpi-filter-chip[b-mxf2dxr0g7] {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 5px 6px 5px 11px; border-radius: 999px;
    border: 1px solid var(--chip-color, var(--ucpm-brand-teal)); background: #fff;
    font-size: 12px; font-weight: 600; color: var(--ucpm-fg1);
    white-space: nowrap;
}
.kpi-filter-chip__dot[b-mxf2dxr0g7] {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--chip-color, var(--ucpm-brand-teal));
}
.kpi-filter-chip__x[b-mxf2dxr0g7] {
    width: 18px; height: 18px; border: 0; border-radius: 50%; padding: 0;
    background: rgba(1,62,70,.08); color: var(--ucpm-fg2); cursor: pointer;
    display: grid; place-items: center; font-size: 10px;
}
.kpi-filter-chip__x:hover[b-mxf2dxr0g7] { background: var(--chip-color, var(--ucpm-brand-teal)); color: #fff; }

.ish-clear-all[b-mxf2dxr0g7] {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 5px 10px;
    border: 1px solid transparent; border-radius: var(--ucpm-radius-sm);
    background: transparent; color: var(--ucpm-fg2);
    font-size: 12.5px; font-weight: 500; line-height: 1.2; white-space: nowrap; cursor: pointer;
    transition: background var(--ucpm-motion-fast), color var(--ucpm-motion-fast);
}
.ish-clear-all:hover[b-mxf2dxr0g7] { background: var(--ucpm-ink-050, #f1f4f8); color: var(--ucpm-deep-navy); }
.ish-clear-all .bi[b-mxf2dxr0g7] { font-size: 13px; }
/* /Components/Pages/InsuredPage/AccountInfo.razor.rz.scp.css */
/* AccountInfo — invoice-line ledger (real markup + inlined skeleton).
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the
   global-CSS-to-scoped migration. Both the loaded grid and its loading
   skeleton render through this component, so all styles live here.

   Rows use a 1fr 1fr grid so DESCRIPTION aligns with the left kv-label
   column and GROSS aligns with the right kv-VALUE column above. */

.ish-account-grid[b-m382l1ajpf] {
  padding: 0 22px 16px;
}
/* Card head — title on the left, Paid/Unpaid badge + "View in NetSuite" link
   pushed to the right corner. The .ish-account-card__head/.ish-account-card__title
   shell rules live in global ish-design.css (rendered by this component now);
   these scoped rules add the right-aligned actions row. */
.ish-account-card__head[b-m382l1ajpf] {
  justify-content: space-between;
}
.ish-account-card__head-actions[b-m382l1ajpf] {
  display: inline-flex; align-items: center; gap: 12px;
}
.ish-payment-badge[b-m382l1ajpf] {
  display: inline-flex; align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-family: var(--ucpm-font-display);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase;
  line-height: 1.4;
}
.ish-payment-badge--paid[b-m382l1ajpf]   { background: var(--ucpm-success-soft); color: var(--ucpm-success); }
.ish-payment-badge--unpaid[b-m382l1ajpf] { background: var(--ucpm-warning-soft); color: var(--ucpm-warning); }
.ish-payment-badge--na[b-m382l1ajpf]     { background: var(--ucpm-surface-sunken); color: var(--ucpm-fg3); }

.ish-netsuite-link[b-m382l1ajpf] {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; font-weight: 600;
  color: var(--ucpm-brand-teal);
  text-decoration: none;
}
.ish-netsuite-link:hover[b-m382l1ajpf] { text-decoration: underline; }
.ish-netsuite-link .bi[b-m382l1ajpf] { font-size: 11px; }
.ish-account-grid__row[b-m382l1ajpf] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 36px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px dashed var(--ucpm-divider);
}
.ish-account-grid__row:last-child[b-m382l1ajpf] { border-bottom: 0; }
/* Drop the dashed separator on the last data row so the only line above
   the Total is the navy 2px top border on .is-total — avoids a redundant
   dashed-then-solid double-rule effect. */
.ish-account-grid__row:has(+ .ish-account-grid__row.is-total)[b-m382l1ajpf] { border-bottom: 0; }

.ish-account-grid__desc[b-m382l1ajpf] {
  font-family: var(--ucpm-font-sans);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ucpm-deep-navy);
  line-height: 1.45;
}
.ish-account-grid__gross[b-m382l1ajpf] {
  font-family: var(--ucpm-font-sans);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ucpm-deep-navy);
  line-height: 1.45;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

.ish-account-grid__row.is-head[b-m382l1ajpf] {
  border-block: 1px solid var(--ucpm-divider);
  background: var(--ucpm-ink-025);
  margin: 0 -22px;
  padding: 9px 22px;
}
.ish-account-grid__row.is-head .ish-account-grid__desc[b-m382l1ajpf],
.ish-account-grid__row.is-head .ish-account-grid__gross[b-m382l1ajpf] {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--ucpm-fg3);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.ish-account-grid__row.is-total[b-m382l1ajpf] {
  border-top: 2px solid var(--ucpm-deep-navy);
  border-bottom: 0;
  margin-top: 4px;
  padding-top: 13px;
}
.ish-account-grid__row.is-total .ish-account-grid__desc[b-m382l1ajpf] {
  font-family: var(--ucpm-font-display);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ucpm-deep-navy);
}
.ish-account-grid__row.is-total .ish-account-grid__gross[b-m382l1ajpf] {
  font-size: 16px;
  font-weight: 700;
  color: var(--ucpm-deep-navy);
}

.ish-account-grid__row.is-empty[b-m382l1ajpf] {
  grid-template-columns: 1fr;
}
.ish-account-grid__row.is-empty .ish-account-grid__desc[b-m382l1ajpf] {
  color: var(--ucpm-fg3);
  font-style: italic;
  text-align: center;
  padding: 16px 0;
}

@media (max-width: 720px) {
  .ish-account-grid__row[b-m382l1ajpf] { grid-template-columns: 1fr; }
  .ish-account-grid__gross[b-m382l1ajpf] { text-align: right; }
}

/* ---------- Copy-to-clipboard reveal ----------
   The icon is the shared CopyButton (Components/Shared/CopyButton.razor), hidden
   by default. Reveal it when its ledger row is hovered. */
.ish-account-grid__row:hover[b-m382l1ajpf]  .ish-copy-btn {
  opacity: 1;
}
/* /Components/Pages/InsuredPage/AgencyDetails.razor.rz.scp.css */
/* AgencyDetails — agency strip on the Insured Info page (real markup +
   inlined skeleton variant). Migrated from wwwroot/css/ish-design.css under
   Phase 3 of the global-CSS-to-scoped migration. */

/* ---------- Section header card ---------- */
.ish-section-h-card[b-rrnbruwnsd] {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 18px;
  border-bottom: 1px solid var(--ucpm-divider);
  background: #fff;
  border-top-left-radius: var(--ucpm-radius-lg);
  border-top-right-radius: var(--ucpm-radius-lg);
}
.ish-section-h-card > span[b-rrnbruwnsd] {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ucpm-font-display);
  font-size: 14.5px; font-weight: 600;
  color: var(--ucpm-deep-navy);
  letter-spacing: -.005em;
}
.ish-section-h-card > span .bi[b-rrnbruwnsd] { color: var(--ucpm-brand-teal); font-size: 16px; }

/* ---------- Agency strip (real loaded state) ---------- */
.ish-agency[b-rrnbruwnsd] {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 18px 20px;
}
.ish-agency__logo[b-rrnbruwnsd] {
  position: relative;
  width: 96px; height: 96px; border-radius: 16px;
  background: var(--ucpm-surface-raised);
  border: 1px solid var(--ucpm-divider);
  display: grid; place-items: center;
  font-family: var(--ucpm-font-display);
  font-weight: 700; font-size: 26px;
  color: var(--ucpm-deep-navy);
  letter-spacing: -.02em;
  flex-shrink: 0;
  overflow: hidden;
}
/* Light logos (white-on-transparent) vanish against the white plate, so
   agencyLogo.js measures the artwork and flags them. Darken the plate rather
   than the logo — see wwwroot/js/agencyLogo.js. */
.ish-agency__logo.is-light-logo[b-rrnbruwnsd] {
  background: var(--ucpm-deep-navy);
  border-color: var(--ucpm-deep-navy);
}
/* Hidden while a logo is expected; agencyLogo.js unhides it if the image
   fails, so a dead URL shows initials rather than a broken-image icon. */
.ish-agency__logo.has-logo .ish-agency__initials[b-rrnbruwnsd] { display: none; }
.ish-agency__logo img[b-rrnbruwnsd] { max-width: 100%; max-height: 100%; object-fit: contain; }
/* Per-logo loading shimmer — covers the plate while the <img> fetches so the
   square never flashes blank. Reuses the global .ish-skeleton shimmer; the
   plate's overflow:hidden clips it to the 16px corners. agencyLogo.js adds
   .is-logo-ready on load/error to reveal the logo (or the initials fallback on
   a dead URL). */
.ish-agency__logo .ish-agency__logo-skel[b-rrnbruwnsd] {
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.ish-agency__logo.is-logo-ready .ish-agency__logo-skel[b-rrnbruwnsd] { display: none; }
.ish-agency__id[b-rrnbruwnsd] { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ish-agency__name-row[b-rrnbruwnsd] { display: flex; align-items: center; gap: 8px; }
.ish-agency__name[b-rrnbruwnsd] {
  font-family: var(--ucpm-font-display);
  font-weight: 600; font-size: 18px;
  color: var(--ucpm-brand-teal);
  letter-spacing: -.005em;
  line-height: 1.2;
}
.ish-agency__verified[b-rrnbruwnsd] { color: var(--ucpm-brand-teal); font-size: 14px; }
.ish-agency__links[b-rrnbruwnsd] {
  display: flex; flex-wrap: wrap; gap: 8px 18px;
  font-size: 13px;
}
.ish-agency__link[b-rrnbruwnsd] {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--ucpm-fg2);
  text-decoration: none;
  font-weight: 500;
}
.ish-agency__link:hover[b-rrnbruwnsd] { color: var(--ucpm-brand-teal); text-decoration: underline; }
.ish-agency__link .bi[b-rrnbruwnsd] { color: var(--ucpm-fg3); font-size: 13px; }
.ish-agency__link-sep[b-rrnbruwnsd] { color: var(--ucpm-ink-200); font-size: 13px; user-select: none; }
.ish-agency__license[b-rrnbruwnsd] {
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-md);
  padding: 12px 18px;
  background: var(--ucpm-ink-025);
  min-width: 240px;
}
.ish-agency__license-row[b-rrnbruwnsd] {
  display: flex; align-items: baseline; gap: 6px;
  margin-bottom: 6px;
}
.ish-agency__license-label[b-rrnbruwnsd] {
  font-size: 11px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--ucpm-fg3);
}
.ish-agency__license-num[b-rrnbruwnsd] {
  font-family: var(--ucpm-font-mono);
  font-size: 14.5px; font-weight: 600;
  color: var(--ucpm-deep-navy);
}
.ish-agency__license-dates[b-rrnbruwnsd] {
  display: flex; gap: 10px;
  font-size: 12.5px; color: var(--ucpm-fg3);
  font-variant-numeric: tabular-nums;
}
.ish-agency__license-dates b[b-rrnbruwnsd] { color: var(--ucpm-deep-navy); font-weight: 600; }
.ish-agency__license-sep[b-rrnbruwnsd] { color: var(--ucpm-ink-300); }
@media (max-width: 900px) {
  .ish-agency[b-rrnbruwnsd] { grid-template-columns: auto 1fr; }
  .ish-agency__license[b-rrnbruwnsd] { grid-column: 1 / -1; }
}

/* ---------- Agent contact sub-block (sits under agency meta) ---------- */
.ish-agency__agent[b-rrnbruwnsd] {
  display: flex; align-items: center; gap: 10px;
  margin-top: 10px; padding-top: 10px;
  border-top: 1px dashed var(--ucpm-divider);
  font-size: 12.5px; color: var(--ucpm-fg2);
  flex-wrap: wrap;
}
.ish-agency__agent-av[b-rrnbruwnsd] {
  width: 28px; height: 28px; border-radius: 50%;
  flex-shrink: 0;
  background: var(--ucpm-deep-navy); color: #fff;
  display: grid; place-items: center;
  font-family: var(--ucpm-font-display);
  font-weight: 700; font-size: 11px; letter-spacing: .02em;
}
.ish-agency__agent-name[b-rrnbruwnsd] {
  font-family: var(--ucpm-font-display);
  font-weight: 600; font-size: 13.5px;
  color: var(--ucpm-deep-navy);
  letter-spacing: -.005em;
  display: inline-flex; align-items: center; gap: 6px;
}
.ish-agency__agent-meta[b-rrnbruwnsd] {
  display: flex; flex-wrap: wrap; gap: 4px 10px;
  align-items: center;
}
.ish-agency__agent-link[b-rrnbruwnsd] {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--ucpm-brand-teal);
  text-decoration: none;
  font-weight: 500;
}
.ish-agency__agent-link:hover[b-rrnbruwnsd] { text-decoration: underline; }
.ish-agency__agent-link .bi[b-rrnbruwnsd] {
  color: var(--ucpm-fg3);
  font-size: 12px;
}
.ish-agency__agent-sep[b-rrnbruwnsd] { color: var(--ucpm-ink-200); }

/* ---------- Copy-to-clipboard ----------
   Each copyable value and its shared CopyButton (Components/Shared/CopyButton.razor)
   are wrapped in .ish-copy-host so the flex gaps in the link/agent rows don't
   separate the icon from its value. The icon is hidden by default and revealed
   per-field — only the hovered value's button appears (the agency name reveals on
   its name-row, since its button sits after the verified badge, outside a host). */
.ish-copy-host[b-rrnbruwnsd] { display: inline-flex; align-items: center; }
.ish-agency__name-row:hover[b-rrnbruwnsd]  .ish-copy-btn,
.ish-copy-host:hover[b-rrnbruwnsd]  .ish-copy-btn {
  opacity: 1;
}

/* ---------- Empty state (loaded, but no agency record) ---------- */
.ish-agency--empty[b-rrnbruwnsd] { grid-template-columns: auto 1fr; }
.ish-agency__logo--empty[b-rrnbruwnsd] {
  background: var(--ucpm-ink-025);
  border-color: var(--ucpm-divider);
  color: var(--ucpm-fg3);
}
.ish-agency__logo--empty .bi[b-rrnbruwnsd] { font-size: 36px; }
.ish-agency__empty-title[b-rrnbruwnsd] {
  font-family: var(--ucpm-font-display);
  font-weight: 600; font-size: 15.5px;
  color: var(--ucpm-deep-navy);
  letter-spacing: -.005em;
}
.ish-agency__empty-sub[b-rrnbruwnsd] {
  font-size: 13px;
  color: var(--ucpm-fg3);
  line-height: 1.4;
}

/* ---------- Loading skeleton (mirrors the loaded layout) ---------- */
/* Match real .ish-agency padding (18px 20px) and typical rendered height
   so the box doesn't shift when content arrives. */
.ish-skeleton-card.ish-skeleton-card--agency[b-rrnbruwnsd] {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 18px 20px;
  min-height: 150px;
}
.ish-skeleton-card--agency .ish-skeleton-card__body[b-rrnbruwnsd] {
  display: flex; flex-direction: column; gap: 10px;
}
.ish-skeleton-card--agency .ish-skeleton--logo[b-rrnbruwnsd] {
  width: 96px; height: 96px; border-radius: 16px;
}
/* Agent sub-block skeleton — mirrors loaded .ish-agency__agent (10px margin
   + 10px padding + dashed top border + 28px avatar) so the card height stays
   put when the data load swaps skeleton for real markup. */
.ish-skeleton-agent[b-rrnbruwnsd] {
  display: flex; align-items: center; gap: 10px;
  margin-top: 10px; padding-top: 10px;
  border-top: 1px dashed var(--ucpm-divider);
}
.ish-skeleton-agent .ish-skeleton--agent-av[b-rrnbruwnsd] {
  width: 28px; height: 28px; border-radius: 50%;
  flex-shrink: 0;
}
/* License # sub-card skeleton — mirrors loaded .ish-agency__license (bordered
   box, top-right) so the card width/height stays put when the data load swaps
   skeleton for real markup. */
.ish-skeleton-license[b-rrnbruwnsd] {
  display: flex; flex-direction: column; gap: 6px;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-md);
  padding: 12px 18px;
  background: var(--ucpm-ink-025);
  min-width: 250px;
}
@media (max-width: 900px) {
  .ish-skeleton-card.ish-skeleton-card--agency[b-rrnbruwnsd] { grid-template-columns: 96px 1fr; }
  .ish-skeleton-license[b-rrnbruwnsd] { grid-column: 1 / -1; }
}
/* /Components/Pages/InsuredPage/FilingInfo.razor.rz.scp.css */
/* FilingInfo — right-rail filing card on Insured Info (real markup +
   inlined skeleton). Migrated from wwwroot/css/ish-design.css under
   Phase 3 of the global-CSS-to-scoped migration. */

/* ---------- Filing Info card shell ---------- */
.ish-filing-card[b-6ev49gce0t] {
  background: #fff;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-lg);
  overflow: hidden;
  box-shadow: var(--ucpm-shadow-tile);
}
.ish-filing-card__head[b-6ev49gce0t] {
  background: var(--ucpm-deep-sea);
  color: #fff;
  padding: 14px 18px;
  display: flex; align-items: center; justify-content: space-between;
}
.ish-filing-card__title[b-6ev49gce0t] {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--ucpm-font-display);
  font-weight: 600; font-size: 15.5px;
  color: #fff;
  letter-spacing: -.005em;
}
.ish-filing-card__title .bi[b-6ev49gce0t] { font-size: 16px; }
.ish-filing-card__state[b-6ev49gce0t] {
  background: var(--ucpm-accent-orange);
  color: #fff;
  font-weight: 700; font-size: 11.5px;
  letter-spacing: .04em;
  padding: 2px 8px; border-radius: 4px;
  font-family: var(--ucpm-font-display);
}
.ish-filing-card__body[b-6ev49gce0t] {
  padding: 18px;
  display: flex; flex-direction: column; gap: 16px;
}

/* ---------- Filing-fields rows ---------- */
.ish-ff[b-6ev49gce0t] { display: flex; flex-direction: column; gap: 7px; }
.ish-ff__label[b-6ev49gce0t] {
  font-size: 11.5px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--ucpm-fg3);
}
.ish-ff__val[b-6ev49gce0t] {
  font-size: 14.5px; color: var(--ucpm-deep-navy); font-weight: 500;
  line-height: 1.45;
}
.ish-ff__val--muted[b-6ev49gce0t] { color: var(--ucpm-fg3); font-weight: 400; }
.ish-ff__val a[b-6ev49gce0t] { color: var(--ucpm-brand-teal); text-decoration: none; }
.ish-ff__val a:hover[b-6ev49gce0t] { text-decoration: underline; }

/* ---------- Copy-to-clipboard reveal ----------
   The icon is the shared CopyButton (Components/Shared/CopyButton.razor), hidden
   by default. Reveal it when its filing-field row is hovered. */
.ish-ff:hover[b-6ev49gce0t]  .ish-copy-btn {
  opacity: 1;
}

.ish-ff__row-input[b-6ev49gce0t] {
  display: flex; gap: 6px; align-items: stretch;
}
.ish-ff__row-input input[b-6ev49gce0t] {
  flex: 1; padding: 6px 10px; font-size: 13px;
  border: 1px solid var(--ucpm-divider-strong);
  border-radius: var(--ucpm-radius-sm);
  color: var(--ucpm-fg1); background: #fff;
}
.ish-ff__row-input input:focus[b-6ev49gce0t] {
  outline: none;
  border-color: var(--ucpm-brand-teal);
  box-shadow: 0 0 0 3px rgba(18,139,134,0.35);
}
button.ish-ff__save[b-6ev49gce0t] {
  padding: 6px 12px;
  font-family: var(--ucpm-font-display);
  font-size: 11px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  background: var(--ucpm-deep-navy); color: #fff;
  border: 0; border-radius: var(--ucpm-radius-sm);
  cursor: pointer; line-height: 1;
  transition: background var(--ucpm-motion-fast);
}
button.ish-ff__save:hover[b-6ev49gce0t] { background: var(--ucpm-brand-teal); }
button.ish-ff__save:disabled[b-6ev49gce0t] { opacity: .6; cursor: default; }

/* ---------- Status pill (rendered inside the filing-status dropdown) ---------- */
.ish-ff__status-pill[b-6ev49gce0t] {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 8px; border-radius: 999px;
  font-size: 11px; font-weight: 700;
}
.ish-ff__status-pill .dot[b-6ev49gce0t] { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ish-ff__status-pill.is-success[b-6ev49gce0t] { background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal); }
.ish-ff__status-pill.is-warning[b-6ev49gce0t] { background: var(--ucpm-warning-soft); color: var(--ucpm-warning); }
.ish-ff__status-pill.is-muted[b-6ev49gce0t]   { background: var(--ucpm-surface-sunken); color: var(--ucpm-fg2); }
/* Tighten status-pill spacing inside dropdown items */
.dropdown-menu .ish-ff__status-pill[b-6ev49gce0t] { margin-right: 4px; }

/* ---------- Filing Due input row ---------- */
/* Single-row layout — input on the left, Set/Save button on the right.
   The button has min-width so the row's right edge always aligns with
   the input's right edge in the other rows (Affidavit, etc). */
.ish-ff__due[b-6ev49gce0t] {
  display: flex;
  gap: 6px;
  align-items: stretch;
}
.ish-ff__due-input[b-6ev49gce0t] {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--ucpm-divider-strong);
  border-radius: var(--ucpm-radius-sm);
  background: #fff;
  overflow: hidden;
  transition: border-color var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast);
  flex: 1;
  min-width: 0;
}
.ish-ff__due-input:focus-within[b-6ev49gce0t] {
  border-color: var(--ucpm-brand-teal);
  box-shadow: 0 0 0 3px rgba(18,139,134,0.35);
}
.ish-ff__due-input.is-dirty[b-6ev49gce0t] {
  border-color: var(--ucpm-warning);
  background: var(--ucpm-warning-soft);
}
.ish-ff__due-input__addon[b-6ev49gce0t] {
  background: var(--ucpm-ink-025);
  border-right: 1px solid var(--ucpm-divider);
  padding: 0 10px;
  color: var(--ucpm-fg3);
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.ish-ff__due-input__addon .bi[b-6ev49gce0t] { font-size: 12px; }
.ish-ff__due-input.is-dirty .ish-ff__due-input__addon[b-6ev49gce0t] {
  background: transparent;
  border-right-color: rgba(206,90,40,.25);
  color: var(--ucpm-warning);
}
.ish-ff__due-input input[type="date"][b-6ev49gce0t] {
  border: 0;
  outline: 0;
  background: transparent;
  padding: 7px 10px;
  font: inherit;
  font-size: 13.5px;
  color: var(--ucpm-deep-navy);
  font-variant-numeric: tabular-nums;
  width: 100%;
  min-width: 0;
}
.ish-ff__due-input input[type="date"][b-6ev49gce0t]::-webkit-calendar-picker-indicator {
  opacity: .55; cursor: pointer;
}
.ish-ff__due-revert[b-6ev49gce0t] {
  width: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ucpm-divider-strong);
  background: #fff;
  color: var(--ucpm-warning);
  cursor: pointer;
  border-radius: var(--ucpm-radius-sm);
  transition: background var(--ucpm-motion-fast), border-color var(--ucpm-motion-fast);
}
.ish-ff__due-revert:hover[b-6ev49gce0t] {
  background: var(--ucpm-warning-soft);
  border-color: var(--ucpm-warning);
}
.ish-ff__due-revert .bi[b-6ev49gce0t] { font-size: 13px; }
button.ish-ff__due-save[b-6ev49gce0t] {
  padding: 0 18px;
  min-width: 110px;
  font-family: var(--ucpm-font-display);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--ucpm-deep-navy);
  color: #fff;
  border: 0;
  border-radius: var(--ucpm-radius-sm);
  cursor: pointer;
  transition: background var(--ucpm-motion-fast);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
button.ish-ff__due-save:hover[b-6ev49gce0t] { background: var(--ucpm-brand-teal); }
button.ish-ff__due-save:disabled[b-6ev49gce0t] { opacity: .6; cursor: default; }
.ish-ff__due-input.is-dirty + button.ish-ff__due-save[b-6ev49gce0t],
.ish-ff__due--dirty button.ish-ff__due-save[b-6ev49gce0t] {
  background: var(--ucpm-warning);
}
.ish-ff__due--dirty button.ish-ff__due-save:hover[b-6ev49gce0t] { background: #A2421C; }

/* ---------- Loading skeleton (mirrors the head + 6 body rows) ---------- */
/* Skeleton body sits below the real Filing Info header bar (rendered by
   the variant). Padding + min-height match the real body so the rail card
   doesn't resize on load. */
.ish-skeleton-card.ish-skeleton-card--filing[b-6ev49gce0t] {
  padding: 16px 18px;
  gap: 14px;
  min-height: 425px;
}
.ish-skeleton-ff[b-6ev49gce0t] {
  display: flex; flex-direction: column; gap: 6px;
}
/* Filing Status placeholder — wider than the global tab-badge pill. */
.ish-skeleton-ff .ish-skeleton--pill[b-6ev49gce0t] {
  height: 24px;
  width: 130px;
  border-radius: 999px;
}
/* Filing-info skeleton — input + button on one line for fields like
   Affidavit Number and Filing Due. */
.ish-skeleton-ff__row[b-6ev49gce0t] {
  display: flex;
  align-items: center;
  gap: 6px;
}
/* /Components/Pages/InsuredPage/InsuredDetails.razor.rz.scp.css */
/* InsuredDetails — gradient-headed Insured Info card (real markup +
   inlined skeleton). Migrated from wwwroot/css/ish-design.css under
   Phase 3 of the global-CSS-to-scoped migration. */

/* ---------- Card head (gradient banner + pin + h2) ---------- */
.ish-ix-detail__head[b-eqy7q9f8fz] {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 22px;
  border-bottom: 1px solid var(--ucpm-divider);
  background: linear-gradient(135deg, var(--ucpm-surface-sunken) 0%, #EFF4F4 100%);
  margin: 0;
}
.ish-ix-detail__title[b-eqy7q9f8fz] { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ish-ix-detail__title .pin[b-eqy7q9f8fz] {
  width: 40px; height: 40px; border-radius: 8px;
  background: var(--ucpm-deep-navy);
  display: grid; place-items: center;
  color: #fff; flex-shrink: 0;
}
.ish-ix-detail__title .pin .bi[b-eqy7q9f8fz] { font-size: 18px; line-height: 1; }
.ish-ix-detail__title h2[b-eqy7q9f8fz] {
  font-family: var(--ucpm-font-display);
  font-size: 22px; font-weight: 600;
  color: var(--ucpm-deep-navy); letter-spacing: -.005em;
  margin: 0;
  line-height: 1.2;
}
/* ---------- Copy-to-clipboard reveal ----------
   The icon itself is the shared CopyButton (Components/Shared/CopyButton.razor),
   hidden by default. Reveal it when its KV cell or the card head is hovered. */
.ish-kv:hover[b-eqy7q9f8fz]  .ish-copy-btn,
.ish-ix-detail__head:hover[b-eqy7q9f8fz]  .ish-copy-btn {
  opacity: 1;
}

/* Policy Number keeps its copy icon always visible (not hover-gated). */
.ish-kv--copy-always[b-eqy7q9f8fz]  .ish-copy-btn {
  opacity: 1;
}

/* ---------- Loading skeleton (mirrors gradient banner + 14-cell grid) ---------- */
.ish-skeleton-card.ish-skeleton-card--insured[b-eqy7q9f8fz] {
  /* Anchor loading height so there is no perceptible jump when the real
     card replaces this skeleton. Tuned to match the real gradient banner
     + 7 KV rows (14 cells in a 1fr 1fr grid); raise if real card grows. */
  min-height: 344px;
}
.ish-skeleton-card--insured .ish-skeleton-card__head[b-eqy7q9f8fz] {
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 8px;
}
.ish-skeleton-card--insured .ish-skeleton-card__grid[b-eqy7q9f8fz] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 36px;
}
@media (max-width: 720px) {
  .ish-skeleton-card--insured .ish-skeleton-card__grid[b-eqy7q9f8fz] { grid-template-columns: 1fr; }
}
.ish-skeleton-kv[b-eqy7q9f8fz] {
  display: flex; flex-direction: column; gap: 6px;
}
/* ---------- County lookup inline action button (#210) ----------
   Sits inline next to the "N/A" muted label; uses the same typographic
   treatment as .ish-ff__save (FilingInfo) for visual consistency. */
button.ish-kv__county-lookup[b-eqy7q9f8fz] {
  margin-left: 8px;
  padding: 3px 10px;
  font-family: var(--ucpm-font-display);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  background: var(--ucpm-deep-navy); color: #fff;
  border: 0; border-radius: var(--ucpm-radius-sm);
  cursor: pointer; line-height: 1.4;
  transition: background var(--ucpm-motion-fast);
  display: inline-flex; align-items: center; gap: 5px;
  vertical-align: middle;
}
button.ish-kv__county-lookup:hover[b-eqy7q9f8fz] { background: var(--ucpm-brand-teal); }
button.ish-kv__county-lookup:disabled[b-eqy7q9f8fz] { opacity: .6; cursor: default; }
button.ish-kv__county-lookup .spinner-border[b-eqy7q9f8fz] {
  width: .625rem; height: .625rem;
  border-width: .1rem;
  flex: none;
}

/* Skeleton head banner — mirrors the real .ish-ix-detail__head gradient
   + padding so the head doesn't visually shift on data load. */
.ish-skeleton-card--insured .ish-skeleton-card__head--banner[b-eqy7q9f8fz] {
  margin: -20px -22px 16px;
  padding: 16px 22px;
  background: linear-gradient(135deg, var(--ucpm-surface-sunken) 0%, #EFF4F4 100%);
  border-bottom: 1px solid var(--ucpm-divider);
}

/* ---------- Endorsement detail section (#1) ----------
   Ported verbatim from the Claude Design handoff (insured-info.html .endt-block).
   Design tokens remapped to the app's global --ucpm-* vars; the soft mint greens
   (#BCDDD1 / #E9F3EE / #DEEEE6 / #F4F9F6) are the handoff's block-specific accent
   with no --ucpm-* equivalent, kept as literals. Reuses global .ish-badge + .ish-kv. */
.endt-block[b-eqy7q9f8fz] {
  margin: 16px 20px 18px;
  border: 1px solid var(--ucpm-aria-cloud);
  border-radius: var(--ucpm-radius-md);
  overflow: hidden;
  background: linear-gradient(180deg, var(--ucpm-mint) 0%, #FFF 50%);
}
.endt-block__bar[b-eqy7q9f8fz] {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  background: linear-gradient(135deg, var(--ucpm-mint) 0%, #EFF4F4 100%);
  border-bottom: 1px solid var(--ucpm-aria-cloud);
}
.endt-block__ico[b-eqy7q9f8fz] {
  width: 34px; height: 34px; border-radius: 9px; flex: 0 0 auto;
  background: var(--ucpm-deep-navy); color: #FFF;
  display: grid; place-items: center; font-size: 15px;
  box-shadow: 0 4px 10px rgba(4, 42, 64, .18);
}
.endt-block__lead[b-eqy7q9f8fz] { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.endt-block__eyebrow[b-eqy7q9f8fz] {
  font-size: 10px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--ucpm-brand-teal);
}
.endt-block__type[b-eqy7q9f8fz] {
  font-family: var(--ucpm-font-display);
  font-size: 15px; font-weight: 600; color: var(--ucpm-deep-navy);
  letter-spacing: -.005em; line-height: 1.15;
}
/* /Components/Pages/InsuredPage/InsuredPage.razor.rz.scp.css */
/* InsuredPage scoped CSS — page tabs (Insured Information / Documents / Notes).
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the
   global-CSS-to-scoped migration. Only InsuredPage.razor renders the
   .ish-ptabs / .ish-ptab markup. */

.ish-ptabs[b-qxntl8n60z] {
  display: flex; gap: 0;
  border: 1px solid var(--ucpm-divider);
  border-bottom: 0;
  background: #fff;
  border-radius: var(--ucpm-radius-lg) var(--ucpm-radius-lg) 0 0;
  padding: 0 8px;
  margin-bottom: 0;
}
.ish-ptab[b-qxntl8n60z] {
  padding: 14px 18px;
  font-family: var(--ucpm-font-display);
  font-size: 14px; font-weight: 600;
  letter-spacing: .02em;
  color: var(--ucpm-fg3);
  border-bottom: 2px solid transparent;
  cursor: pointer;
  display: flex; align-items: center; gap: 8px;
  margin-bottom: -1px;
  background: transparent; border-left: 0; border-right: 0; border-top: 0;
}
.ish-ptab:hover[b-qxntl8n60z] { color: var(--ucpm-deep-navy); }
.ish-ptab.is-active[b-qxntl8n60z] {
  color: var(--ucpm-brand-teal);
  border-bottom-color: var(--ucpm-brand-teal);
}
.ish-ptab .count[b-qxntl8n60z] {
  background: var(--ucpm-ink-100); color: var(--ucpm-fg2);
  font-size: 11px; font-weight: 600;
  padding: 1px 7px; border-radius: 999px;
}
.ish-ptab.is-active .count[b-qxntl8n60z] {
  background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal);
}

/* ---------- 2-column "Insured Info" layout (main + right rail) ---------- */
.ish-info-layout[b-qxntl8n60z] {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 18px;
  align-items: start;
}
@media (max-width: 1100px) {
  .ish-info-layout[b-qxntl8n60z] { grid-template-columns: 1fr; }
}
.ish-info-layout__main[b-qxntl8n60z] { min-width: 0; }
.ish-info-layout__rail[b-qxntl8n60z] { min-width: 0; }
/* /Components/Pages/LicensingPage/BrokerCollapseMenu.razor.rz.scp.css */
/* BrokerCollapseMenu — scoped styles for the broker sidebar.
   The .ish-st- state-list classes are global via ish-design.css and apply here
   automatically. The .ish-lic-row family and .ish-st-licenses are NOT global —
   they're defined in StateCollapseMenu.razor.css, which Blazor's CSS isolation
   scopes to StateCollapseMenu's own scope ID. Elements with those classes
   rendered by THIS component get stamped with BrokerCollapseMenu's own
   (different) scope ID, so StateCollapseMenu's rule never matches them.
   Duplicated here (kept 1:1 with StateCollapseMenu.razor.css) so they're scoped
   to this component too.
   Never let a comment-close sequence appear inside a comment body (a class name
   with a trailing star-slash does it) — it ends the comment early and the parser
   silently swallows the next rule. */

/* Indent to the broker pin's left edge: .ish-st-row's 10px padding + 16px chevron
   column + 8px gap. */
.ish-st-licenses[b-e3x865mofs] {
  padding: 2px 0 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  border-left: 1px dashed var(--ucpm-divider);
  margin-left: 34px;
}
.ish-lic-row[b-e3x865mofs] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: var(--ucpm-radius-sm);
  font-size: 12.5px;
  color: var(--ucpm-fg2);
  cursor: pointer;
  border: 1px solid transparent;
  line-height: 1.3;
}
.ish-lic-row:hover[b-e3x865mofs] {
  background: var(--ucpm-surface-warm);
  color: var(--ucpm-deep-navy);
}
.ish-lic-row.is-active[b-e3x865mofs] {
  background: var(--ucpm-success-soft);
  color: var(--ucpm-deep-navy);
  font-weight: 600;
  border-color: #A8D3D3;
}
.ish-lic-row.is-empty[b-e3x865mofs],
.ish-lic-row.is-loading[b-e3x865mofs] {
  cursor: default;
  justify-content: space-between;
}
.ish-lic-row__arrow[b-e3x865mofs] {
  color: var(--ucpm-ink-300);
  font-size: 10px;
  flex: 0 0 auto;
}
.ish-lic-row__name[b-e3x865mofs] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ish-lic-row__class[b-e3x865mofs] {
  font-family: var(--ucpm-font-display);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--ucpm-fg3);
  background: var(--ucpm-ink-025);
  padding: 1px 5px;
  border-radius: 3px;
  border: 1px solid var(--ucpm-divider);
  text-transform: uppercase;
  flex: 0 0 auto;
}
.ish-lic-row.is-active .ish-lic-row__class[b-e3x865mofs] {
  background: #fff;
  color: var(--ucpm-brand-teal);
  border-color: #A8D3D3;
}
.ish-lic-row__num[b-e3x865mofs] {
  font-family: var(--ucpm-font-mono);
  font-size: 11px;
  color: var(--ucpm-fg3);
  flex: 0 0 auto;
}
.ish-lic-row.is-active .ish-lic-row__num[b-e3x865mofs] { color: var(--ucpm-deep-navy); }
.ish-lic-row__check[b-e3x865mofs] {
  color: var(--ucpm-brand-teal);
  font-size: 11px;
  flex: 0 0 auto;
}

.ish-broker-state-label[b-e3x865mofs] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 2px 10px;
  font-size: 11px;
  color: var(--ucpm-fg3);
  border-bottom: 1px solid var(--ucpm-divider-soft);
  margin: 4px 0 2px 0;
}
.ish-broker-state-label--clickable[b-e3x865mofs] {
  cursor: pointer;
  border-radius: var(--ucpm-radius-sm);
}
.ish-broker-state-label--clickable:hover[b-e3x865mofs] {
  background: var(--ucpm-surface-warm);
}

.ish-broker-state__pin[b-e3x865mofs] {
  font-size: 9px;
  font-weight: 800;
  padding: 1px 4px;
  border-radius: 3px;
  background: var(--ucpm-deep-navy);
  color: #fff;
  font-family: var(--ucpm-font-sans);
  letter-spacing: .02em;
}

.ish-broker-state__name[b-e3x865mofs] {
  font-weight: 600;
  font-size: 11px;
  color: var(--ucpm-fg2);
}

.ish-broker-state__count[b-e3x865mofs] {
  margin-left: auto;
  font-size: 10px;
  color: var(--ucpm-fg3);
}

/* Staircase nesting for By Broker: broker (.ish-st-row, no left margin) -> state
   (.ish-broker-state-label, stepped right by the parent .ish-st-licenses wrapper's
   margin+padding) -> license (.ish-lic-row, stepped right AGAIN by
   .ish-broker-state-licenses) — each level clearly further right than its parent,
   matching how By State steps state -> license. */
.ish-broker-state-group[b-e3x865mofs] {
  margin-bottom: 2px;
}
.ish-broker-state-licenses[b-e3x865mofs] {
  padding: 2px 0 6px 16px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  border-left: 1px dashed var(--ucpm-divider);
  margin-left: 16px;
}
/* /Components/Pages/LicensingPage/IssuedLicenseDetail.razor.rz.scp.css */
/* IssuedLicenseDetail — License Periods table + yes/no cell badges.
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the
   global-CSS-to-scoped migration. */

/* ---------- License Periods table ---------- */
.ish-lp-section[b-6ixsw840po] { padding: 0 22px 22px; }
.ish-lp-card[b-6ixsw840po] {
  background: #fff;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-md);
  overflow: hidden;
}
.ish-lp-head[b-6ixsw840po] {
  padding: 13px 18px;
  border-bottom: 1px solid var(--ucpm-divider);
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ucpm-font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
}
.ish-lp-head__ico[b-6ixsw840po] {
  width: 28px; height: 28px;
  border-radius: 5px;
  background: var(--ucpm-info-soft);
  color: var(--ucpm-info);
  display: grid; place-items: center;
  font-size: 14px;
  border: 1px solid #C9DCE7;
}
table.ish-lp-table[b-6ixsw840po] {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  margin: 0;
}
table.ish-lp-table thead th[b-6ixsw840po] {
  background: var(--ucpm-ink-025) !important;
  color: var(--ucpm-fg3) !important;
  font-family: var(--ucpm-font-sans) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 10px 14px !important;
  text-align: left !important;
  border-bottom: 1px solid var(--ucpm-divider) !important;
  white-space: nowrap;
}
table.ish-lp-table thead th.ish-lp-cell--center[b-6ixsw840po] { text-align: center !important; }
table.ish-lp-table thead th.ish-lp-cell--actions[b-6ixsw840po] { text-align: right !important; width: 180px; }
table.ish-lp-table tbody td[b-6ixsw840po] {
  padding: 11px 14px !important;
  border-bottom: 1px solid var(--ucpm-divider);
  vertical-align: middle !important;
  font-size: 13px !important;
  color: var(--ucpm-deep-navy);
  background: #fff;
}
table.ish-lp-table tbody tr:last-child td[b-6ixsw840po] { border-bottom: 0; }
table.ish-lp-table tbody tr:hover td[b-6ixsw840po] { background: var(--ucpm-surface-warm); }
/* The row opens the period, so signal that it's clickable. The existing :hover background above
   already provides the visual feedback; this just corrects the cursor. Actions cell keeps the
   default cursor because its buttons stop propagation and do their own thing. */
table.ish-lp-table tbody tr.ish-lp-row[b-6ixsw840po] { cursor: pointer; }
table.ish-lp-table tbody tr.ish-lp-row td.ish-lp-cell--actions[b-6ixsw840po] { cursor: default; }
table.ish-lp-table tbody tr.is-done td[b-6ixsw840po] { background: var(--ucpm-ink-025); color: var(--ucpm-fg3); }
table.ish-lp-table tbody td.ish-lp-cell--center[b-6ixsw840po] { text-align: center !important; }
table.ish-lp-table tbody td.ish-lp-cell--actions[b-6ixsw840po] { text-align: right !important; }

.ish-lp-period[b-6ixsw840po] {
  font-family: var(--ucpm-font-mono);
  font-size: 12px;
  color: var(--ucpm-deep-navy);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ish-lp-period__dash[b-6ixsw840po] { color: var(--ucpm-ink-300); }
.ish-lp-cost[b-6ixsw840po] {
  font-family: var(--ucpm-font-mono);
  font-variant-numeric: tabular-nums;
  text-align: right;
  color: var(--ucpm-deep-navy);
}

/* ---------- Yes/No round badges (Primary License? column, etc.) ---------- */
.ish-yesno[b-6ixsw840po] {
  display: inline-grid;
  place-items: center;
  width: 22px; height: 22px;
  border-radius: 50%;
  font-size: 11px;
}
.ish-yesno.is-yes[b-6ixsw840po] {
  background: var(--ucpm-success-soft);
  color: var(--ucpm-brand-teal);
  border: 1px solid #A8D3D3;
}
.ish-yesno.is-no[b-6ixsw840po] {
  background: var(--ucpm-danger-soft);
  color: var(--ucpm-danger);
  border: 1px solid #F0B7B7;
}
/* /Components/Pages/LicensingPage/IssuedLicenseForm.razor.rz.scp.css */
/* /Components/Pages/LicensingPage/IssuedLicensePeriodDetail.razor.rz.scp.css */
/* /Components/Pages/LicensingPage/IssuedLicensePeriodForm.razor.rz.scp.css */
/* Static save / discard bar shown when the inline-edit form has pending changes.
   Amber "unsaved" alert treatment (matches the design's .unsaved-bar) so it reads
   clearly against the white card instead of blending into it. */
.ish-savebar[b-cfmoiscqnk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.25rem;
    padding: 0.75rem 1rem;
    border: 1px solid #F7CE7F;
    border-radius: var(--ucpm-radius-md);
    background: var(--ucpm-warning-soft);
}

.ish-savebar__status[b-cfmoiscqnk] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #7A2E0E;
}

.ish-savebar__status i[b-cfmoiscqnk] {
    font-size: 1rem;
}

.ish-savebar__actions[b-cfmoiscqnk] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}
/* /Components/Pages/LicensingPage/LicensingOverview.razor.rz.scp.css */
/* LicensingOverview — scoped styles for the calendar, state map, and filter banner.
   KPI tiles reuse the .ish-kpi / .ish-kpi-grid classes from SlTaxFiling.razor.css
   (those are scoped to the SlTaxFiling component, so we duplicate the grid layout here
   since Blazor scoped CSS is per-component).

   All colors use DRG design tokens (--ucpm-*) from ish-design.css. */

/* ── KPI grid (3 cards, matching SlTaxFiling's 4-card grid but 3 columns) ── */
.ish-lic-overview .ish-kpi-grid[b-q6820i9a67] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 18px;
}
@media (max-width: 1200px) { .ish-lic-overview .ish-kpi-grid[b-q6820i9a67] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px)  { .ish-lic-overview .ish-kpi-grid[b-q6820i9a67] { grid-template-columns: 1fr; } }

/* The .ish-kpi class itself is NOT scoped to SlTaxFiling (it lives in a .razor.css
   but Blazor scope attributes are additive), so it may or may not render here.
   Define the essential structural rules so the tiles always render correctly. */
.ish-lic-overview .ish-kpi[b-q6820i9a67] {
  background: #FFF;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-lg);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--ucpm-shadow-tile);
  min-height: 124px;
}
.ish-lic-overview .ish-kpi--clickable[b-q6820i9a67] {
  cursor: pointer; user-select: none;
  transition: transform .08s ease, box-shadow .08s ease,
              border-color .08s ease, opacity .08s ease, background .08s ease;
}
.ish-lic-overview .ish-kpi--clickable:hover[b-q6820i9a67] {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(4, 42, 64, .16);
  border-color: var(--kpi-accent, var(--ucpm-brand-teal));
}
.ish-lic-overview .ish-kpi--clickable:focus-visible[b-q6820i9a67] {
  outline: 2px solid var(--ucpm-brand-teal); outline-offset: 2px;
}
.ish-lic-overview .ish-kpi--clickable.is-active[b-q6820i9a67] {
  border-color: var(--kpi-accent, var(--ucpm-brand-teal));
  background: var(--kpi-active-bg, #FFF);
  box-shadow: 0 0 0 1px var(--kpi-accent, var(--ucpm-brand-teal)), 0 4px 14px rgba(4, 42, 64, .10);
}
.ish-lic-overview .ish-kpi-grid.has-filter .ish-kpi:not(.is-active)[b-q6820i9a67] { opacity: .45; filter: saturate(.6); }
.ish-lic-overview .ish-kpi-grid.has-filter .ish-kpi--clickable:not(.is-active):hover[b-q6820i9a67] { opacity: .95; filter: none; }

.ish-lic-overview .ish-kpi__hint[b-q6820i9a67] {
  position: absolute; top: 12px; right: 14px;
  font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ucpm-fg3); opacity: 0; transition: opacity .08s ease; pointer-events: none;
}
.ish-lic-overview .ish-kpi__hint .bi[b-q6820i9a67] { font-size: 11px; }
.ish-lic-overview .ish-kpi__hint .bi-x-lg[b-q6820i9a67] { font-size: 9px; }
.ish-lic-overview .ish-kpi__hint-idle[b-q6820i9a67], .ish-lic-overview .ish-kpi__hint-on[b-q6820i9a67] { display: inline-flex; align-items: center; gap: 4px; }
.ish-lic-overview .ish-kpi__hint-on[b-q6820i9a67] { display: none; }
.ish-lic-overview .ish-kpi--clickable:hover .ish-kpi__hint[b-q6820i9a67] { opacity: 1; }
.ish-lic-overview .ish-kpi--clickable.is-active .ish-kpi__hint[b-q6820i9a67] { opacity: 1; color: var(--kpi-accent, var(--ucpm-brand-teal)); }
.ish-lic-overview .ish-kpi--clickable.is-active .ish-kpi__hint-idle[b-q6820i9a67] { display: none; }
.ish-lic-overview .ish-kpi--clickable.is-active .ish-kpi__hint-on[b-q6820i9a67] { display: inline-flex; }

.ish-lic-overview .ish-kpi__label[b-q6820i9a67] {
  font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ucpm-fg3); display: flex; align-items: center; gap: 6px;
}
.ish-lic-overview .ish-kpi__value[b-q6820i9a67] {
  font-family: var(--ucpm-font-display);
  font-size: 32px; font-weight: 600;
  color: var(--ucpm-fg1); letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.ish-lic-overview .ish-kpi__delta[b-q6820i9a67] { font-size: 13px; color: var(--ucpm-fg3); }
.ish-lic-overview .ish-kpi__bar[b-q6820i9a67] {
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
}
.ish-lic-overview .ish-kpi--ok     .ish-kpi__bar[b-q6820i9a67] { background: var(--ucpm-brand-teal); }
.ish-lic-overview .ish-kpi--warn   .ish-kpi__bar[b-q6820i9a67] { background: var(--ucpm-warning); }
.ish-lic-overview .ish-kpi--danger .ish-kpi__bar[b-q6820i9a67] { background: var(--ucpm-danger); }
.ish-lic-overview .ish-kpi--muted  .ish-kpi__bar[b-q6820i9a67] { background: var(--ucpm-fg3, #6c757d); }

/* ── Filter banner ── */
.ish-lic-filter-banner[b-q6820i9a67] {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 16px;
  background: var(--ucpm-success-soft);
  border: 1px solid var(--ucpm-teal-200, #B4E0DD);
  border-radius: var(--ucpm-radius-lg);
  margin-bottom: 16px;
  font-size: 13px; color: var(--ucpm-deep-navy);
}
.ish-lic-filter-banner__label[b-q6820i9a67] { font-weight: 600; }
.ish-lic-filter-banner__chip[b-q6820i9a67] {
  font-size: 12px; font-weight: 600;
  padding: 3px 10px; border-radius: 999px;
  background: var(--ucpm-brand-teal); color: #fff;
  border: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--ucpm-font-sans);
  transition: background var(--ucpm-motion-fast) var(--ucpm-ease);
}
.ish-lic-filter-banner__chip:hover[b-q6820i9a67] { background: var(--ucpm-nightshade-teal); }

/* ── Overview grid: calendar + map side by side ── */
.ish-lic-overview-grid[b-q6820i9a67] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}
@media (max-width: 1100px) { .ish-lic-overview-grid[b-q6820i9a67] { grid-template-columns: 1fr; } }

/* ── Calendar ── */
.ish-lic-calendar-card[b-q6820i9a67] { padding: 0; overflow: visible; margin-bottom: 0; }
.ish-lic-calendar-head[b-q6820i9a67] {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid var(--ucpm-divider);
}
.ish-lic-calendar-head__title[b-q6820i9a67] { font-size: 16px; font-weight: 700; color: var(--ucpm-fg1); }
.ish-lic-calendar-head__sub[b-q6820i9a67] { font-size: 12px; color: var(--ucpm-fg3); margin-top: 2px; }

.ish-lic-cal-nav[b-q6820i9a67] { display: flex; gap: 6px; }
.ish-lic-cal-nav__btn[b-q6820i9a67] {
  width: 32px; height: 32px; border-radius: var(--ucpm-radius-md);
  border: 1px solid var(--ucpm-divider); background: #fff;
  cursor: pointer; font-size: 14px; color: var(--ucpm-fg2);
  display: grid; place-items: center;
  font-family: var(--ucpm-font-sans);
  transition: background var(--ucpm-motion-fast);
}
.ish-lic-cal-nav__btn:hover[b-q6820i9a67] { background: var(--ucpm-surface-sunken); }
.ish-lic-cal-nav__btn--label[b-q6820i9a67] { width: auto; padding: 0 12px; font-size: 13px; font-weight: 600; }

.ish-lic-calendar[b-q6820i9a67] { padding: 0 20px 20px; }
.ish-lic-cal-month[b-q6820i9a67] { font-size: 18px; font-weight: 700; color: var(--ucpm-fg1); padding: 12px 0 16px; }
.ish-lic-cal-grid[b-q6820i9a67] { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.ish-lic-cal-dow[b-q6820i9a67] {
  text-align: center; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
  color: var(--ucpm-fg3); padding: 4px 0 8px;
}

.ish-lic-cal-day[b-q6820i9a67] {
  min-height: 68px; border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-md); padding: 4px 6px;
  position: relative; background: #fff;
}
.ish-lic-cal-day.is-outside[b-q6820i9a67] { background: var(--ucpm-surface-app); color: var(--ucpm-divider-strong); }
.ish-lic-cal-day.is-today[b-q6820i9a67] { border: 2px solid var(--ucpm-brand-teal); }
.ish-lic-cal-day__num[b-q6820i9a67] { font-size: 12px; font-weight: 600; color: var(--ucpm-fg2); margin-bottom: 3px; }
.ish-lic-cal-day.is-outside .ish-lic-cal-day__num[b-q6820i9a67] { color: var(--ucpm-divider-strong); }
.ish-lic-cal-day.is-today .ish-lic-cal-day__num[b-q6820i9a67] { color: var(--ucpm-brand-teal); font-weight: 800; }

.ish-lic-cal-event[b-q6820i9a67] {
  font-size: 10px; font-weight: 600; padding: 2px 6px;
  border-radius: var(--ucpm-radius-sm); margin-bottom: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  display: flex; align-items: center; gap: 4px;
  cursor: pointer; transition: filter .1s, box-shadow .1s;
}
.ish-lic-cal-event:hover[b-q6820i9a67] { filter: brightness(.92); box-shadow: 0 1px 3px rgba(4,42,64,.15); }
.ish-lic-cal-event--warning[b-q6820i9a67] { background: var(--ucpm-warning-soft); color: var(--ucpm-warning); }
.ish-lic-cal-event--danger[b-q6820i9a67]  { background: var(--ucpm-danger-soft); color: var(--ucpm-danger); }
.ish-lic-cal-event--ok[b-q6820i9a67]      { background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal); }
.ish-lic-cal-event--success[b-q6820i9a67] { background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal); }
.ish-lic-cal-event__dot[b-q6820i9a67] { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.ish-lic-cal-event--warning .ish-lic-cal-event__dot[b-q6820i9a67] { background: var(--ucpm-warning); }
.ish-lic-cal-event--danger .ish-lic-cal-event__dot[b-q6820i9a67] { background: var(--ucpm-danger); }
.ish-lic-cal-event--ok .ish-lic-cal-event__dot[b-q6820i9a67] { background: var(--ucpm-brand-teal); }
.ish-lic-cal-event--success .ish-lic-cal-event__dot[b-q6820i9a67] { background: var(--ucpm-brand-teal); }
.ish-lic-cal-event__text[b-q6820i9a67] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.ish-lic-cal-event__arrow[b-q6820i9a67] { font-size: 9px; flex-shrink: 0; opacity: 0.7; }

.ish-lic-cal-more[b-q6820i9a67] {
  font-size: 9px; color: var(--ucpm-fg3); font-weight: 600;
  padding-left: 4px; cursor: pointer;
  border: none; background: none; font-family: var(--ucpm-font-sans);
}
.ish-lic-cal-more:hover[b-q6820i9a67] { color: var(--ucpm-brand-teal); }
.ish-lic-cal-more .bi[b-q6820i9a67] { font-size: 8px; }

/* Calendar day popup (for +N more) */
.ish-lic-cal-popup[b-q6820i9a67] {
  position: absolute; z-index: 30; top: 100%; left: 4px; right: 4px;
  min-width: 200px; background: #fff;
  border: 1px solid var(--ucpm-divider-strong); border-radius: var(--ucpm-radius-lg);
  box-shadow: var(--ucpm-shadow-float); padding: 8px; font-size: 12px;
}
.ish-lic-cal-popup__head[b-q6820i9a67] {
  font-size: 11px; font-weight: 700; color: var(--ucpm-fg3);
  text-transform: uppercase; letter-spacing: .05em; padding: 2px 4px 6px;
}
.ish-lic-cal-popup__item[b-q6820i9a67] {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 6px; border-radius: var(--ucpm-radius-sm);
  cursor: pointer; transition: background .1s;
}
.ish-lic-cal-popup__item:hover[b-q6820i9a67] { background: var(--ucpm-surface-app); }
.ish-lic-cal-popup__dot[b-q6820i9a67] { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.ish-lic-cal-popup__dot--warning[b-q6820i9a67] { background: var(--ucpm-warning); }
.ish-lic-cal-popup__dot--danger[b-q6820i9a67] { background: var(--ucpm-danger); }
.ish-lic-cal-popup__dot--ok[b-q6820i9a67] { background: var(--ucpm-brand-teal); }
.ish-lic-cal-popup__dot--success[b-q6820i9a67] { background: var(--ucpm-brand-teal); }
.ish-lic-cal-popup__state[b-q6820i9a67] { font-weight: 700; color: var(--ucpm-fg1); font-size: 11px; min-width: 22px; }
.ish-lic-cal-popup__num[b-q6820i9a67] { color: var(--ucpm-fg2); font-size: 11px; }
.ish-lic-cal-popup__name[b-q6820i9a67] { color: var(--ucpm-fg3); font-size: 11px; margin-left: auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ish-lic-cal-popup__arrow[b-q6820i9a67] { font-size: 9px; flex-shrink: 0; opacity: 0.5; color: var(--ucpm-fg3); }

/* ── State map — inline SVG US map ── */
.ish-lic-map-card[b-q6820i9a67] { padding: 0; overflow: visible; margin-bottom: 0; }
.ish-lic-map-head[b-q6820i9a67] {
  padding: 16px 20px; border-bottom: 1px solid var(--ucpm-divider);
}
.ish-lic-map-head__title[b-q6820i9a67] { font-size: 16px; font-weight: 700; color: var(--ucpm-fg1); }
.ish-lic-map-head__sub[b-q6820i9a67] { font-size: 12px; color: var(--ucpm-fg3); margin-top: 2px; }

.ish-lic-map[b-q6820i9a67] { padding: 20px; position: relative; }

/* Positioning context for the centroid-anchored popup. Matches the SVG's box so the
   percentage offsets from GetPopupAnchorStyle() land on the right state. */
.ish-lic-map-canvas[b-q6820i9a67] {
  position: relative;
  max-width: 620px;
  margin: 0 auto;
}

/* The SVG scales with its container; the 975×610 viewBox is intrinsic. */
.ish-lic-us-map[b-q6820i9a67] {
  display: block;
  width: 100%;
  height: auto;
}

/* State paths — fill is semantic (see status classes below); stroke separates states. */
.ish-lic-state[b-q6820i9a67] {
  stroke: #fff;
  stroke-width: 0.6;
  cursor: pointer;
  transition: filter .12s ease;
}
/* Hover: brighten without changing the semantic colour. */
.ish-lic-state:hover[b-q6820i9a67] { filter: brightness(1.12); }
/* Keyboard focus only — a mouse click must not leave a ring on the shape. */
.ish-lic-state:focus[b-q6820i9a67] { outline: none; }
.ish-lic-state:focus-visible[b-q6820i9a67] {
  outline: 2px solid var(--ucpm-deep-navy);
  outline-offset: 1px;
}
/* Selected state: a heavier outline on the shape itself, not a box around it. */
.ish-lic-state.is-open[b-q6820i9a67] {
  stroke: var(--ucpm-fg1);
  stroke-width: 1.6;
}

/* State code labels — absolutely positioned over the SVG at each state's centroid.
   pointer-events:none keeps clicks falling through to the path beneath. */
.ish-lic-state-label[b-q6820i9a67] {
  position: absolute;
  transform: translate(-50%, -50%);
  font-size: 11px; font-weight: 700; color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  pointer-events: none; user-select: none; white-space: nowrap;
}

/* Status → fill (DRG tokens). Status classes come from GetStateStatusClass(). */
.ish-lic-state--ok[b-q6820i9a67]      { fill: var(--ucpm-brand-teal); }
.ish-lic-state--warn[b-q6820i9a67]    { fill: var(--ucpm-warning); }
.ish-lic-state--muted[b-q6820i9a67]   { fill: var(--ucpm-fg3); }
.ish-lic-state--danger[b-q6820i9a67]  { fill: var(--ucpm-danger); }
.ish-lic-state--empty[b-q6820i9a67]   { fill: var(--ucpm-divider); }

/* State breakdown popup. Anchored to the clicked state's centroid via inline
   left/top percentages (GetPopupAnchorStyle); the transform vars below shift it
   off that point so the edge modifiers compose instead of fighting the inline style. */
.ish-lic-map-popup[b-q6820i9a67] {
  position: absolute; z-index: 20;
  --pop-x: -50%; --pop-y: 12px;
  transform: translate(var(--pop-x), var(--pop-y));
  width: 210px; background: #fff;
  border: 1px solid var(--ucpm-divider-strong); border-radius: var(--ucpm-radius-lg);
  box-shadow: var(--ucpm-shadow-float); padding: 14px 16px; font-size: 13px;
}
.ish-lic-map-popup__header[b-q6820i9a67] {
  font-size: 14px; font-weight: 700; color: var(--ucpm-fg1);
  margin-bottom: 10px; display: flex; align-items: center; gap: 8px;
}
.ish-lic-map-popup__pin[b-q6820i9a67] {
  font-size: 11px; font-weight: 800; padding: 2px 6px; border-radius: var(--ucpm-radius-sm);
  background: var(--ucpm-surface-sunken); color: var(--ucpm-fg2);
}
.ish-lic-map-popup__row[b-q6820i9a67] {
  display: flex; align-items: center; justify-content: space-between;
  padding: 5px 4px; font-size: 12px; cursor: pointer; border-radius: var(--ucpm-radius-sm);
}
.ish-lic-map-popup__row:hover[b-q6820i9a67] { background: var(--ucpm-surface-app); }
.ish-lic-map-popup__label[b-q6820i9a67] { display: flex; align-items: center; gap: 6px; color: var(--ucpm-fg2); }
.ish-lic-map-popup__dot[b-q6820i9a67] { width: 8px; height: 8px; border-radius: 50%; }
.ish-lic-map-popup__dot--ok[b-q6820i9a67] { background: var(--ucpm-brand-teal); }
.ish-lic-map-popup__dot--warn[b-q6820i9a67] { background: var(--ucpm-warning); }
.ish-lic-map-popup__dot--muted[b-q6820i9a67] { background: var(--ucpm-fg3); }
.ish-lic-map-popup__dot--danger[b-q6820i9a67] { background: var(--ucpm-danger); }
.ish-lic-map-popup__count[b-q6820i9a67] { font-weight: 700; color: var(--ucpm-fg1); }
.ish-lic-map-popup__divider[b-q6820i9a67] { height: 1px; background: var(--ucpm-divider); margin: 8px 0; }
.ish-lic-map-popup__total[b-q6820i9a67] {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 13px; font-weight: 700; color: var(--ucpm-fg1);
}
.ish-lic-map-popup__link[b-q6820i9a67] {
  font-size: 12px; font-weight: 600; color: var(--ucpm-brand-teal);
  cursor: pointer; margin-top: 10px;
  display: flex; align-items: center; gap: 4px;
  border: none; background: none; font-family: var(--ucpm-font-sans);
  padding: 0; width: 100%; text-align: left;
}
.ish-lic-map-popup__link:hover[b-q6820i9a67] { color: var(--ucpm-nightshade-teal); }

/* Edge-overflow modifiers — computed in .razor.cs by GetPopupAnchorClass() from the
   state centroid. They only re-point the transform origin, so they compose freely. */
.ish-lic-map-popup.flip-up[b-q6820i9a67]     { --pop-y: calc(-100% - 12px); }
.ish-lic-map-popup.clamp-left[b-q6820i9a67]  { --pop-x: 0; }
.ish-lic-map-popup.clamp-right[b-q6820i9a67] { --pop-x: -100%; }

/* Map legend */
.ish-lic-map-legend[b-q6820i9a67] {
  display: flex; justify-content: center; gap: 24px; margin-top: 18px; flex-wrap: wrap;
}
.ish-lic-map-legend__item[b-q6820i9a67] {
  display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ucpm-fg3);
}
.ish-lic-map-legend__swatch[b-q6820i9a67] { width: 14px; height: 14px; border-radius: var(--ucpm-radius-sm); }
.ish-lic-map-legend__swatch--ok[b-q6820i9a67] { background: var(--ucpm-brand-teal); }
.ish-lic-map-legend__swatch--warn[b-q6820i9a67] { background: var(--ucpm-warning); }
.ish-lic-map-legend__swatch--muted[b-q6820i9a67] { background: var(--ucpm-fg3); }
.ish-lic-map-legend__swatch--danger[b-q6820i9a67] { background: var(--ucpm-danger); }
.ish-lic-map-legend__swatch--empty[b-q6820i9a67] { background: var(--ucpm-divider); }

/* ── Perpetual Licenses section (#343 Req 4) ── */
.ish-lic-perpetual-card[b-q6820i9a67] { padding: 0; margin-top: 18px; }
.ish-lic-perpetual-head[b-q6820i9a67] {
  display: flex; align-items: baseline; gap: 12px;
  padding: 16px 20px; border-bottom: 1px solid var(--ucpm-divider);
}
.ish-lic-perpetual-head__title[b-q6820i9a67] { font-size: 16px; font-weight: 700; color: var(--ucpm-fg1); }
.ish-lic-perpetual-head__sub[b-q6820i9a67] { font-size: 12px; color: var(--ucpm-fg3); }
.ish-lic-perpetual-list[b-q6820i9a67] { padding: 4px 0; }
.ish-lic-perpetual-row[b-q6820i9a67] {
  display: grid;
  grid-template-columns: 60px 140px 1fr 160px;
  gap: 12px; align-items: center;
  padding: 10px 20px; font-size: 13px;
  border-bottom: 1px solid var(--ucpm-divider);
  cursor: pointer; transition: background .1s;
}
.ish-lic-perpetual-row:last-child[b-q6820i9a67] { border-bottom: none; }
.ish-lic-perpetual-row:hover[b-q6820i9a67] { background: var(--ucpm-surface-app); }
.ish-lic-perpetual-row__state[b-q6820i9a67] {
  font-weight: 800; font-size: 12px; color: var(--ucpm-brand-teal);
  text-transform: uppercase; letter-spacing: .05em;
}
.ish-lic-perpetual-row__num[b-q6820i9a67] { font-weight: 600; color: var(--ucpm-fg1); }
.ish-lic-perpetual-row__name[b-q6820i9a67] { color: var(--ucpm-fg2); }
.ish-lic-perpetual-row__date[b-q6820i9a67] { color: var(--ucpm-fg3); font-size: 12px; text-align: right; }

/* ── Territories text row (#328 Req 3) ── */
.ish-lic-map-territories[b-q6820i9a67] {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  padding: 10px 0 0; margin-top: 8px;
  font-size: 12px; color: var(--ucpm-fg3);
}
.ish-lic-map-territories__label[b-q6820i9a67] { font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.ish-lic-map-territory[b-q6820i9a67] {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 8px; border-radius: var(--ucpm-radius-sm);
  background: var(--ucpm-surface-sunken); color: var(--ucpm-fg2);
  font-weight: 600; cursor: pointer; transition: background .1s;
}
.ish-lic-map-territory:hover[b-q6820i9a67] { background: var(--ucpm-surface-app); }

/* ── Skeleton loading state layout ── */
/* Cards in the loading state need no padding/margin since skeleton content
   provides its own spacing. The .ish-lic-skeleton-card class is applied to
   .ish-card elements during loading to suppress the card's default padding. */
.ish-lic-skeleton-card[b-q6820i9a67] {
  padding: 0;
  margin-bottom: 0;
  overflow: hidden;
}
/* Calendar day skeleton cells — match .ish-lic-cal-day min-height so the
   grid rows don't collapse during loading. */
.ish-lic-skeleton-day[b-q6820i9a67] {
  min-height: 68px;
}
/* Perpetual row skeleton — match the loaded row's flex layout so skeleton
   placeholders align identically to real content rows. */
.ish-lic-skeleton-perp-row[b-q6820i9a67] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  border-bottom: 1px solid var(--ucpm-divider);
}
.ish-lic-skeleton-perp-row:last-child[b-q6820i9a67] {
  border-bottom: none;
}
/* Map skeleton — same box as the loaded SVG (620px cap, 975:610 aspect) so the
   card doesn't resize when the real map lands. */
.ish-lic-skeleton-map[b-q6820i9a67] {
  display: block;
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  aspect-ratio: 975 / 610;
  border-radius: var(--ucpm-radius-md);
}
/* /Components/Pages/LicensingPage/LicensingPage.razor.rz.scp.css */
/* LicensingPage — modern 2-col layout (sidebar + main) and license-detail
   header card. Migrated from wwwroot/css/ish-design.css under Phase 3 of
   the global-CSS-to-scoped migration. */

/* ---------- Tab bar (Overview / By State) ---------- */
.ish-lic-tabs[b-7l0ki16fvb] { margin-bottom: 18px; }

/* ---------- Page layout: sticky sidebar + main column ---------- */
.ish-licensing-layout[b-7l0ki16fvb] {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 18px;
  align-items: start;
}
@media (max-width: 1100px) {
  .ish-licensing-layout[b-7l0ki16fvb] { grid-template-columns: 1fr; }
}
.ish-licensing-sidebar[b-7l0ki16fvb] {
  position: sticky;
  top: calc(var(--ish-topbar-h) + 18px);
  max-height: 77vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0;
}
.ish-licensing-main[b-7l0ki16fvb] { min-width: 0; }

/* ---------- License-detail header card (gradient banner + title row) ---------- */
/* overflow visible so the "New License Number" popover (a Bootstrap dropdown
   nested in the header) can extend below this card instead of being clipped at
   its bottom edge — that clip, not the viewport, was cutting off the Save button
   (and is why no scrollbar ever appeared: .ish-lc-dd wasn't overflowing, the
   card was). The gradient .ish-lc-head self-rounds its top corners (below) to
   replace the corner-clipping this used to provide; the body is transparent, so
   the card's own rounded background still defines the bottom corners. */
.ish-lc-card[b-7l0ki16fvb] { padding: 0; overflow: visible; }
.ish-lc-head[b-7l0ki16fvb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--ucpm-divider);
  background: linear-gradient(135deg, #F1F4F0 0%, #E8EFE8 60%, #DEEAE0 100%);
  border-top-left-radius: var(--ucpm-radius-lg);
  border-top-right-radius: var(--ucpm-radius-lg);
}
.ish-lc-head__title[b-7l0ki16fvb] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  width: 100%;
  font-family: var(--ucpm-font-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
  line-height: 1.25;
  letter-spacing: -.005em;
}
.ish-lc-head__title h5[b-7l0ki16fvb],
.ish-lc-head__title .h5[b-7l0ki16fvb] {
  margin: 0;
  font-family: var(--ucpm-font-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
}
.ish-lc-head__title .bi[b-7l0ki16fvb] { color: var(--ucpm-brand-teal); }
.ish-lc-head__title abbr[b-7l0ki16fvb] {
  text-decoration: none;
  font-weight: 700;
  color: var(--ucpm-fg3);
  font-size: 12px;
  letter-spacing: .04em;
}
.ish-lc-head__title code[b-7l0ki16fvb] {
  font-family: var(--ucpm-font-mono);
  font-size: 16px;
  font-weight: 700;
  color: var(--ucpm-brand-teal);
  background: transparent;
  padding: 0 0 0 4px;
}
.ish-lc-head__actions[b-7l0ki16fvb] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}
.ish-lc-body[b-7l0ki16fvb] { padding: 0; }
/* overflow stays visible so the row-action / status dropdowns in the Tasks,
   Notes & Documents tables can spill below a short card (e.g. a single task row)
   instead of being clipped at the card edge. Safe here: the inner .nav-tabs
   (rounded top) and .tab-content (rounded bottom) already round themselves to
   the card radius, so dropping the clip never exposes a square corner. (The
   sibling .ish-lc-card keeps overflow:hidden — its gradient header doesn't
   self-round and relies on the clip.) */
.ish-lc-tabs-card[b-7l0ki16fvb] { margin-top: 18px; padding: 0; overflow: visible; }
/* Dropdown menu containing the inline IssuedLicenseForm — give it room. The
   popover IS the card here, so two things have to stand down or it reads as a
   "double wrap":
     1. the popover's own 1px border (drop it; the global float-shadow defines
        the single overlay), and
     2. the inline form's .ish-edit-grid, which paints its OWN bordered, rounded
        white panel — nested inside the popover-card that became a card-in-card.
   Flatten the grid to a plain layout grid; .ish-det-card's padding supplies the
   popover's inset. */
/* Cap the popover to the viewport and let it scroll: the form (esp. the 120px
   NOTES box) is tall enough that, off a trigger near the top of the page, the
   Save button drops past the bottom edge on a short window. Popper can't flip
   it up — no room above the trigger — so bound the height and scroll instead. */
.ish-lc-dd[b-7l0ki16fvb] {
  min-width: 360px;
  border: none;
  max-height: calc(100vh - 8rem);
  overflow-y: auto;
}
/* .ish-edit-grid is emitted by the <IssuedLicenseForm> child, so the flatten has
   to pierce the scope with ::deep. Without it the rule compiles to
   `.ish-edit-grid[b-licensingpage]`, never matches the child's markup, and the
   grid's own white/bordered/rounded panel keeps painting the second wrap. */
.ish-lc-dd[b-7l0ki16fvb]  .ish-edit-grid {
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

/* ---------- License-detail header content (status badge + license number) ----------
   Every element below is built as a raw HTML string in LicensingPage.razor.cs
   (GetIssuedLicenseTitle / GetIssuedLicensePeriodTitle / HtmlMarkupExtensions) and rendered
   through @((MarkupString)…). The Razor compiler only stamps the scope attribute onto elements
   written in the .razor file, so these injected elements carry a class and nothing else —
   a plain `.ish-lc-head__eyebrow` rule compiles to `.ish-lc-head__eyebrow[b-…]` and matches
   nothing. That is why this whole block silently stopped applying when it moved out of
   ish-design.css: the eyebrow inherited .ish-lc-head__title's 17px display font, so the license
   type rendered at the same size as the license number instead of as a small label above it.

   `::deep` is the fix — the parent .ish-lc-head__title IS written in the .razor, so it gets the
   scope attribute and the descendant part of the selector stays unscoped. (Same reason the
   .ish-state-id* rules for CreateStatePin had to stay in the global sheet.) Keep the ::deep
   prefix on anything here that targets injected markup. */
.ish-lc-head__title[b-7l0ki16fvb]  .ish-lc-head__ico {
  width: 34px; height: 34px;
  border-radius: 6px;
  background: var(--ucpm-success-soft);
  color: var(--ucpm-brand-teal);
  display: grid; place-items: center;
  font-size: 16px;
  flex-shrink: 0;
}
.ish-lc-head__title[b-7l0ki16fvb]  .ish-lc-head__stack {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ish-lc-head__title[b-7l0ki16fvb]  .ish-lc-head__eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ucpm-fg3);
}
.ish-lc-head__title[b-7l0ki16fvb]  .ish-lc-head__class {
  font-family: var(--ucpm-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--ucpm-fg3);
}
/* Laid out as a flex row so the copy icon centres against the number instead of riding above it.
   The icon is a 24px box and the text is an 18px display font, so CopyButton's default
   `vertical-align: middle` (centre of the box against baseline + half the x-height) left it
   visibly high. Centring is measured from the line box, so no magic offset is involved.
   flex-wrap because license numbers aren't always short — one Alabama record's "number" is the
   sentence "Business Priviledge Tax Return & Annual Report", and without wrapping a flex row
   would push it straight out of the header. column-gap replaces the markup space between
   "License:" and the number, which flex trims (hence margin-left: 0 on the b below). */
.ish-lc-head__title[b-7l0ki16fvb]  .ish-lc-head__num {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 6px;
  font-family: var(--ucpm-font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
  letter-spacing: -.005em;
  line-height: 1.2;
}
.ish-lc-head__title[b-7l0ki16fvb]  .ish-lc-head__num b {
  color: var(--ucpm-brand-teal);
  font-weight: 700;
  margin-left: 0;
  min-width: 0;
}
/* CopyButton ships hidden (opacity:0) and each host decides how to reveal it. This one is NOT
   hover-gated: the license number is the record's identifier and the only copy target in the
   header, so the icon stays visible the way the insured page's Policy Number does
   (.ish-kv--copy-always). ::deep because the button is a child component with its own scope. */
.ish-lc-head__title[b-7l0ki16fvb]  .ish-copy-btn { opacity: 1; }
.ish-lc-head__title[b-7l0ki16fvb]  .ish-lc-head__dash { color: var(--ucpm-ink-300); }
.ish-lc-head__title[b-7l0ki16fvb]  .ish-lc-head__placeholder {
  color: var(--ucpm-fg3);
  font-style: italic;
  font-weight: 500;
}
/* /Components/Pages/LicensingPage/StateCollapseMenu.razor.rz.scp.css */
/* StateCollapseMenu (Licensing) — sub-list of issued licenses under each
   expanded state row. Migrated from wwwroot/css/ish-design.css under
   Phase 3 of the global-CSS-to-scoped migration.

   The shared .ish-st-* (state list) classes stay global because the
   StateFilingPage version of this menu uses them too. The .ish-lic-row*
   children below are licensing-only. */

.ish-st-licenses[b-71q27gz8on] {
  padding: 2px 0 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  border-left: 1px dashed var(--ucpm-divider);
  margin-left: 18px;
}
.ish-lic-row[b-71q27gz8on] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: var(--ucpm-radius-sm);
  font-size: 12.5px;
  color: var(--ucpm-fg2);
  cursor: pointer;
  border: 1px solid transparent;
  line-height: 1.3;
}
.ish-lic-row:hover[b-71q27gz8on] {
  background: var(--ucpm-surface-warm);
  color: var(--ucpm-deep-navy);
}
.ish-lic-row.is-active[b-71q27gz8on] {
  background: var(--ucpm-success-soft);
  color: var(--ucpm-deep-navy);
  font-weight: 600;
  border-color: #A8D3D3;
}
.ish-lic-row.is-empty[b-71q27gz8on],
.ish-lic-row.is-loading[b-71q27gz8on] {
  cursor: default;
  justify-content: space-between;
}
.ish-lic-row__arrow[b-71q27gz8on] {
  color: var(--ucpm-ink-300);
  font-size: 10px;
  flex: 0 0 auto;
}
.ish-lic-row__name[b-71q27gz8on] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ish-lic-row__class[b-71q27gz8on] {
  font-family: var(--ucpm-font-display);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--ucpm-fg3);
  background: var(--ucpm-ink-025);
  padding: 1px 5px;
  border-radius: 3px;
  border: 1px solid var(--ucpm-divider);
  text-transform: uppercase;
  flex: 0 0 auto;
}
.ish-lic-row.is-active .ish-lic-row__class[b-71q27gz8on] {
  background: #fff;
  color: var(--ucpm-brand-teal);
  border-color: #A8D3D3;
}
.ish-lic-row__num[b-71q27gz8on] {
  font-family: var(--ucpm-font-mono);
  font-size: 11px;
  color: var(--ucpm-fg3);
  flex: 0 0 auto;
}
.ish-lic-row.is-active .ish-lic-row__num[b-71q27gz8on] { color: var(--ucpm-deep-navy); }
.ish-lic-row__check[b-71q27gz8on] {
  color: var(--ucpm-brand-teal);
  font-size: 11px;
  flex: 0 0 auto;
}
/* /Components/Pages/MyTasksPage/MyTasksPage.razor.rz.scp.css */
/* Fixed row height for consistent table view */
.table tbody tr[b-rt1m1669b0] {
    height: 60px;
    vertical-align: middle;
}

.table tbody td[b-rt1m1669b0] {
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 300px;
}

/* Allow task title and notes to wrap within fixed height */
.table tbody td > div.fw-bold[b-rt1m1669b0],
.table tbody td > small[b-rt1m1669b0] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table tbody td > div.fw-bold[b-rt1m1669b0] {
    white-space: nowrap;
}

.table tbody td > small[b-rt1m1669b0] {
    white-space: nowrap;
}

/* Ensure priority icon column stays compact */
.table tbody td:first-child[b-rt1m1669b0] {
    width: 50px;
    max-width: 50px;
}

/* Ensure status and source badges don't wrap */
.table tbody td .badge[b-rt1m1669b0] {
    white-space: nowrap;
}

/* ---------- My Tasks header actions (migrated from ish-design.css under
   Phase 3 of the global-CSS-to-scoped migration). The Add Task primary CTA
   plus a segmented filter pill group (My Tasks / Delegated / All).

   .ish-mytasks-add is the class on a <BSButton> (a BlazorStrap framework
   component) — its rendered <button> does NOT carry this component's
   scope attribute. So every selector targeting the Add Task button goes
   through ::deep so the rule applies to BSButton's output. The filter
   pills below are plain <button> elements rendered directly by this
   page, no ::deep needed. */
.ish-mytasks-actions[b-rt1m1669b0] {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.ish-mytasks-actions[b-rt1m1669b0]  .ish-mytasks-add,
.ish-mytasks-actions[b-rt1m1669b0]  button.ish-mytasks-add,
.ish-mytasks-actions[b-rt1m1669b0]  .ish-mytasks-add.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 18px;
  background: var(--ucpm-deep-navy);
  border: 1px solid var(--ucpm-deep-navy);
  color: #fff;
  font-family: var(--ucpm-font-sans);
  font-size: 13.5px;
  font-weight: 600;
  border-radius: var(--ucpm-radius-sm);
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--ucpm-motion-fast), border-color var(--ucpm-motion-fast);
  box-shadow: none;
}
.ish-mytasks-actions[b-rt1m1669b0]  .ish-mytasks-add:hover,
.ish-mytasks-actions[b-rt1m1669b0]  button.ish-mytasks-add:hover {
  background: #1b2e3c;
  border-color: #1b2e3c;
  color: #fff;
}
.ish-mytasks-actions[b-rt1m1669b0]  .ish-mytasks-add .bi { font-size: 14px; line-height: 1; }

/* Segmented filter group — single shared shell with internal dividers, so the
   three filter buttons read as one toggle, not as primary buttons (the Add
   Task button is the primary CTA). */
.ish-mytasks-filters[b-rt1m1669b0] {
  display: inline-flex;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--ucpm-divider-strong);
  border-radius: var(--ucpm-radius-sm);
  overflow: hidden;
  height: 40px;
}
.ish-mytasks-filter[b-rt1m1669b0] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 100%;
  padding: 0 16px;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--ucpm-divider);
  color: var(--ucpm-fg2);
  font-family: var(--ucpm-font-sans);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--ucpm-motion-fast), color var(--ucpm-motion-fast);
}
.ish-mytasks-filter:last-child[b-rt1m1669b0] { border-right: 0; }
.ish-mytasks-filter:hover[b-rt1m1669b0] {
  background: var(--ucpm-ink-025);
  color: var(--ucpm-deep-navy);
}
.ish-mytasks-filter.is-active[b-rt1m1669b0] {
  background: var(--ucpm-success-soft);
  color: var(--ucpm-brand-teal);
  font-weight: 600;
}
.ish-mytasks-filter.is-active:hover[b-rt1m1669b0] {
  background: var(--ucpm-success-soft);
  color: var(--ucpm-brand-teal);
}
.ish-mytasks-filter__label[b-rt1m1669b0] { line-height: 1; }
.ish-mytasks-filter__count[b-rt1m1669b0] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 20px;
  padding: 0 7px;
  background: var(--ucpm-ink-025);
  color: var(--ucpm-fg3);
  font-family: var(--ucpm-font-sans);
  font-size: 11px;
  font-weight: 700;
  border-radius: 999px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.ish-mytasks-filter.is-active .ish-mytasks-filter__count[b-rt1m1669b0] {
  background: var(--ucpm-brand-teal);
  color: #fff;
}
.ish-mytasks-filter__count.is-loading[b-rt1m1669b0] {
  color: var(--ucpm-fg3);
  background: var(--ucpm-ink-025);
}
/* /Components/Pages/Reports.razor.rz.scp.css */
/* Reports — card grid of available reports.
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the
   global-CSS-to-scoped migration. Sole consumer is Reports.razor. */

.ish-reports-grid[b-kr2y3chz3g] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 18px;
}

.ish-report-card[b-kr2y3chz3g] {
  background: #fff;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast),
              border-color var(--ucpm-motion-fast);
  box-shadow: var(--ucpm-shadow-tile);
}
.ish-report-card:hover[b-kr2y3chz3g] {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(15,30,45,.08), 0 4px 10px rgba(15,30,45,.04);
  border-color: var(--ucpm-brand-teal);
}

.ish-report-card__head[b-kr2y3chz3g] {
  padding: 18px 20px 14px;
  background: linear-gradient(135deg, #013E46 0%, #0E5C5D 100%);
  color: #fff;
  position: relative; overflow: hidden;
}
.ish-report-card__head.is-amber[b-kr2y3chz3g]  { background: linear-gradient(135deg, #7A4A14 0%, #A05A18 100%); }
.ish-report-card__head.is-navy[b-kr2y3chz3g]   { background: linear-gradient(135deg, #0F2A4A 0%, #1F4F94 100%); }
.ish-report-card__head.is-mint[b-kr2y3chz3g]   { background: linear-gradient(135deg, #2A6B5A 0%, #388C71 100%); }
.ish-report-card__head.is-purple[b-kr2y3chz3g] { background: linear-gradient(135deg, #3F2F6E 0%, #5A3D9C 100%); }
.ish-report-card__head.is-muted[b-kr2y3chz3g]  { background: linear-gradient(135deg, #3A4753 0%, #576876 100%); }

.ish-report-card__eyebrow[b-kr2y3chz3g] {
  font-size: 10px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgba(255,255,255,.75);
  margin-bottom: 4px;
  display: flex; align-items: center; gap: 6px;
}
.ish-report-card__title[b-kr2y3chz3g] {
  font-family: var(--ucpm-font-display);
  font-size: 18px; font-weight: 600;
  letter-spacing: -.01em; line-height: 1.25;
  color: #fff;
}
.ish-report-card__icon[b-kr2y3chz3g] {
  position: absolute; top: 14px; right: 16px;
  font-size: 22px; opacity: .35;
}

.ish-report-card__body[b-kr2y3chz3g] {
  padding: 16px 20px; flex: 1;
  display: flex; flex-direction: column; gap: 12px;
  background: #fff;
}
.ish-report-card__desc[b-kr2y3chz3g] {
  font-size: 13px; color: var(--ucpm-fg3); line-height: 1.45;
}
.ish-report-card__notice[b-kr2y3chz3g] {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px;
  background: var(--ucpm-info-soft);
  border: 1px solid rgba(20,54,92,.18);
  border-radius: var(--ucpm-radius-sm);
  font-size: 12.5px; color: var(--ucpm-info); line-height: 1.5;
}
.ish-report-card__notice i[b-kr2y3chz3g] { font-size: 14px; flex-shrink: 0; margin-top: 1px; }

.ish-report-card__foot[b-kr2y3chz3g] {
  padding: 12px 20px; border-top: 1px solid var(--ucpm-divider);
  background: var(--ucpm-surface-sunken);
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
/* CTA selector includes the `a` qualifier to beat the global `.ish-page a`
   link color (otherwise teal-on-teal = invisible). */
a.ish-report-card__cta[b-kr2y3chz3g],
.ish-report-card__cta[b-kr2y3chz3g] {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px;
  background: var(--ucpm-brand-teal); color: #fff;
  border: 0; border-radius: var(--ucpm-radius-sm);
  font-size: 13px; font-weight: 600;
  text-decoration: none; cursor: pointer;
  transition: background var(--ucpm-motion-fast);
}
a.ish-report-card__cta:hover[b-kr2y3chz3g],
.ish-report-card__cta:hover[b-kr2y3chz3g] { background: #006f6f; color: #fff; }
a.ish-report-card__cta.is-disabled[b-kr2y3chz3g],
.ish-report-card__cta.is-disabled[b-kr2y3chz3g] {
  background: var(--ucpm-ink-100); color: var(--ucpm-fg3);
  cursor: not-allowed; pointer-events: none;
}
.ish-report-card__updated[b-kr2y3chz3g] {
  font-size: 11.5px; color: var(--ucpm-fg3);
  display: flex; align-items: center; gap: 4px;
}
/* /Components/Pages/SlFiledByTracking.razor.rz.scp.css */
/* SLS Filing Points — component-local custom props ONLY. All theme values
   reference the GLOBAL --ucpm-* tokens (ish-design.css) DIRECTLY — no rename
   layer. These four have no global equivalent, so they live here. Applied to
   the page root + .fp-dc (the drawer body wrapper, which renders outside
   .filing-points inside the shared SideDrawer). */
.filing-points[b-mve2yydr2b],
.fp-dc[b-mve2yydr2b] {
    --surface-warm: #EAF1EA;
    --btn-primary-hover: #1b2e3c;
    --st-pad: 8px;
}

/* ===== composition primitives (redeclared from handoff components.css) ===== */
.filing-points .card-x[b-mve2yydr2b] {
    background: var(--ucpm-surface-raised);
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-md);
    box-shadow: var(--ucpm-shadow-tile);
}
.filing-points .card-x__head[b-mve2yydr2b] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 20px; border-bottom: 1px solid var(--ucpm-divider); gap: 16px;
}
.filing-points .card-x__title[b-mve2yydr2b] {
    font-family: var(--ucpm-font-display); font-weight: 600; font-size: 15px;
    color: var(--ucpm-deep-navy); display: flex; align-items: center; gap: 10px;
}
.filing-points .card-x__title .bi[b-mve2yydr2b] { color: var(--ucpm-brand-teal); }
.filing-points .card-x__foot[b-mve2yydr2b] {
    padding: 10px 20px; border-top: 1px solid var(--ucpm-divider); background: var(--ucpm-ink-025);
    border-radius: 0 0 var(--ucpm-radius-md) var(--ucpm-radius-md);
    display: flex; align-items: center; justify-content: space-between;
    font-size: 12px; color: var(--ucpm-fg3);
}
.filing-points .card-x__foot b[b-mve2yydr2b] { color: var(--ucpm-deep-navy); font-weight: 600; }

.filing-points .kpi[b-mve2yydr2b] {
    background: var(--ucpm-surface-raised);
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-md);
    padding: 16px 20px;
    display: flex; flex-direction: column; gap: 4px;
    position: relative; overflow: hidden;
    box-shadow: var(--ucpm-shadow-tile);
}
.filing-points .kpi__label[b-mve2yydr2b] {
    font-family: var(--ucpm-font-sans);
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--ucpm-fg3); display: flex; align-items: center; gap: 6px;
}
.filing-points .kpi__label .bi[b-mve2yydr2b] { font-size: 13px; }
.filing-points .kpi__value[b-mve2yydr2b] {
    font-family: var(--ucpm-font-display); font-weight: 600; font-size: 32px; color: var(--ucpm-deep-navy);
    letter-spacing: -.02em; line-height: 1.1;
}
.filing-points .kpi--hero[b-mve2yydr2b] {
    background:
        linear-gradient(135deg, rgba(1,62,70,0) 40%, rgba(0,134,135,0.25) 100%),
        var(--ucpm-deep-sea);
    color: #fff; border-color: transparent;
}
.filing-points .kpi--hero .kpi__label[b-mve2yydr2b] { color: #A9CF38; }
.filing-points .kpi--hero .kpi__value[b-mve2yydr2b] { color: #fff; }
.filing-points .kpi__sub[b-mve2yydr2b] { font-size: 11.5px; color: var(--ucpm-fg3); margin-top: 4px; display: flex; align-items: center; gap: 6px; }
.filing-points .kpi__sub b[b-mve2yydr2b] { color: var(--ucpm-deep-navy); font-weight: 600; font-variant-numeric: tabular-nums; }
.filing-points .kpi--hero .kpi__sub[b-mve2yydr2b] { color: rgba(255,255,255,.8); }
.filing-points .kpi--hero .kpi__sub b[b-mve2yydr2b] { color: #fff; }
/* Loading subtext line — reserves the same height as .kpi__sub so a card is the
   SAME height loading vs loaded (no up/down jump when the number resolves).
   margin-top mirrors .kpi__sub so the value→sub spacing matches too. */
.filing-points .kpi__sub-skel[b-mve2yydr2b] { height: 16px; width: 150px; margin-top: 4px; border-radius: 5px; }
/* Hero card is dark — the default dark-on-dark shimmer is invisible, so lighten it. */
.filing-points .kpi--hero .ish-skeleton[b-mve2yydr2b] {
    background: linear-gradient(90deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.22) 50%, rgba(255,255,255,0.10) 100%);
    background-size: 200% 100%;
}

/* segmented group */
.filing-points .btn-group-x[b-mve2yydr2b] {
    display: inline-flex; border: 1px solid var(--ucpm-divider-strong); border-radius: var(--ucpm-radius-sm); overflow: hidden; background: #fff;
}
.filing-points .btn-group-x > button[b-mve2yydr2b] {
    border: 0; background: transparent; padding: 5px 13px;
    font-family: var(--ucpm-font-sans); font-size: 11.5px; font-weight: 500;
    color: var(--ucpm-fg2); cursor: pointer; border-right: 1px solid var(--ucpm-divider);
    text-transform: none; letter-spacing: 0;
}
.filing-points .btn-group-x > button:last-child[b-mve2yydr2b] { border-right: 0; }
.filing-points .btn-group-x > button.is-active[b-mve2yydr2b] { background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal); font-weight: 600; }
.filing-points .btn-group-x > button:hover:not(.is-active)[b-mve2yydr2b] { background: var(--ucpm-ink-025); }

/* badge */
.filing-points .badge-x[b-mve2yydr2b] {
    display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px;
    font-family: var(--ucpm-font-sans); font-size: 11px; font-weight: 600;
    border-radius: var(--ucpm-radius-sm); background: var(--ucpm-ink-100); color: var(--ucpm-fg2);
    line-height: 1.5; white-space: nowrap;
}
.filing-points .badge-x--muted[b-mve2yydr2b] { background: var(--ucpm-ink-050); color: var(--ucpm-fg3); }
.filing-points .badge-x--admin[b-mve2yydr2b] { background: var(--ucpm-info-soft); color: var(--ucpm-info); }

/* small button-x (used for the activity Clear button) */
.filing-points .btn-x[b-mve2yydr2b] {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 8px 14px; border: 1px solid transparent; border-radius: var(--ucpm-radius-sm);
    font-family: var(--ucpm-font-display); font-size: 12.5px; font-weight: 600;
    letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.2;
    cursor: pointer; white-space: nowrap;
    transition: background var(--ucpm-motion-fast), border-color var(--ucpm-motion-fast), color var(--ucpm-motion-fast);
}
.filing-points .btn-x .bi[b-mve2yydr2b] { font-size: 13px; }
.filing-points .btn-x--sm[b-mve2yydr2b] { padding: 4px 10px; font-size: 11px; }
.filing-points .btn-x--ghost[b-mve2yydr2b] {
    background: transparent; color: var(--ucpm-fg2); text-transform: none;
    font-family: var(--ucpm-font-sans); font-weight: 500; letter-spacing: 0; font-size: 12.5px;
}
.filing-points .btn-x--ghost:hover[b-mve2yydr2b] { background: var(--ucpm-ink-050); color: var(--ucpm-deep-navy); }

/* utility bits */
.filing-points .u-tnum[b-mve2yydr2b] { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.filing-points .u-cluster[b-mve2yydr2b] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.filing-points .u-strong[b-mve2yydr2b] { font-weight: 600; color: var(--ucpm-deep-navy); }

/* state pin (page grid + drill-down drawer) */
.filing-points .st-pin[b-mve2yydr2b],
.filing-points .state-pin[b-mve2yydr2b],
.fp-dc .state-pin[b-mve2yydr2b] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 30px; height: 21px; padding: 0 6px;
    background: var(--ucpm-deep-sea); color: #fff;
    font-family: var(--ucpm-font-display); font-size: 11px; font-weight: 700; border-radius: 3px;
    flex-shrink: 0;
}

/* ===== Month + as-of toolbar ===== */
.filing-points .fp-toolbar[b-mve2yydr2b] { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.filing-points .fp-asof[b-mve2yydr2b] { font-size: 12.5px; color: var(--ucpm-fg3); display: inline-flex; align-items: center; gap: 7px; }
.filing-points .fp-asof b[b-mve2yydr2b] { color: var(--ucpm-deep-navy); font-weight: 600; font-variant-numeric: tabular-nums; }
.filing-points .fp-asof .bi[b-mve2yydr2b] { color: var(--ucpm-brand-teal); }

/* period picker — click-open popover with presets rail + calendar */
.filing-points .fp-period[b-mve2yydr2b] { position: relative; }
.filing-points .fp-period__trigger[b-mve2yydr2b] {
    display: inline-flex; align-items: center; gap: 9px; padding: 6px 12px;
    border: 1px solid var(--ucpm-divider-strong); border-radius: var(--ucpm-radius-sm);
    background: #fff; cursor: pointer; font: inherit;
    transition: border-color var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast);
}
.filing-points .fp-period__trigger:hover[b-mve2yydr2b] { border-color: var(--ucpm-fg3); }
.filing-points .fp-period.is-open .fp-period__trigger[b-mve2yydr2b],
.filing-points .fp-period__trigger:focus-visible[b-mve2yydr2b] {
    border-color: var(--ucpm-brand-teal); box-shadow: 0 0 0 3px rgba(0,134,135,.12); outline: 0;
}
.filing-points .fp-period__trigger > .bi-calendar3[b-mve2yydr2b] { color: var(--ucpm-brand-teal); font-size: 14px; }
.filing-points .fp-period__lbl[b-mve2yydr2b] { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ucpm-fg3); }
.filing-points .fp-period__text[b-mve2yydr2b] {
    font-family: var(--ucpm-font-display); font-size: 14px; font-weight: 600;
    color: var(--ucpm-deep-navy); font-variant-numeric: tabular-nums;
}
.filing-points .fp-period__chev[b-mve2yydr2b] { color: var(--ucpm-fg3); font-size: 10px; transition: transform var(--ucpm-motion-fast); }
.filing-points .fp-period.is-open .fp-period__chev[b-mve2yydr2b] { transform: rotate(180deg); }

/* transparent full-screen catcher so an outside click closes the popover */
.filing-points .fp-period__backdrop[b-mve2yydr2b] { position: fixed; inset: 0; z-index: 79; }

/* popover */
.filing-points .fp-period__pop[b-mve2yydr2b] {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 80;
    display: flex;
    background: #fff; border: 1px solid var(--ucpm-divider); border-radius: var(--ucpm-radius-md);
    box-shadow: var(--ucpm-shadow-float);
}
.filing-points .fp-period__rail[b-mve2yydr2b] {
    display: flex; flex-direction: column; gap: 2px; width: 150px;
    padding: 12px; border-right: 1px solid var(--ucpm-divider); background: var(--ucpm-ink-025);
    border-radius: var(--ucpm-radius-md) 0 0 var(--ucpm-radius-md);
}
.filing-points .fp-period__preset[b-mve2yydr2b] {
    text-align: left; border: 0; background: transparent; cursor: pointer;
    padding: 8px 11px; border-radius: var(--ucpm-radius-sm);
    font-family: var(--ucpm-font-sans); font-size: 13px; font-weight: 500; color: var(--ucpm-fg2);
    transition: all var(--ucpm-motion-fast);
}
.filing-points .fp-period__preset:hover[b-mve2yydr2b] { background: #fff; color: var(--ucpm-deep-navy); }
.filing-points .fp-period__preset.is-active[b-mve2yydr2b] { background: var(--ucpm-brand-teal); color: #fff; font-weight: 600; box-shadow: 0 1px 4px rgba(0,134,135,.3); }

/* calendar */
.filing-points .fp-period__cal[b-mve2yydr2b] { padding: 14px; width: 296px; }
.filing-points .fp-cal__head[b-mve2yydr2b] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.filing-points .fp-cal__title[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-weight: 600; font-size: 15px; color: var(--ucpm-deep-navy); letter-spacing: -.005em; }
.filing-points .fp-cal__title .yr[b-mve2yydr2b] { color: var(--ucpm-fg3); font-weight: 400; margin-left: 5px; }
.filing-points .fp-cal__nav[b-mve2yydr2b] { display: flex; gap: 4px; }
.filing-points .fp-cal__nav button[b-mve2yydr2b] {
    width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--ucpm-divider); background: #fff; color: var(--ucpm-fg2);
    border-radius: var(--ucpm-radius-sm); cursor: pointer; font-size: 13px; transition: all var(--ucpm-motion-fast);
}
.filing-points .fp-cal__nav button:hover[b-mve2yydr2b] { background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal); border-color: var(--ucpm-success-soft); }
.filing-points .fp-cal__dow[b-mve2yydr2b] { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-bottom: 4px; }
.filing-points .fp-cal__dow span[b-mve2yydr2b] { text-align: center; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ucpm-fg3); padding: 4px 0; }
.filing-points .fp-cal__grid[b-mve2yydr2b] { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px 0; }
.filing-points .fp-cal__cell[b-mve2yydr2b] {
    height: 34px; border: 0; background: transparent; cursor: pointer;
    font-family: var(--ucpm-font-sans); font-size: 13px; color: var(--ucpm-fg2); font-variant-numeric: tabular-nums;
    display: inline-flex; align-items: center; justify-content: center; position: relative;
    border-radius: var(--ucpm-radius-sm);
    transition: background var(--ucpm-motion-fast), color var(--ucpm-motion-fast);
}
.filing-points .fp-cal__cell.is-out[b-mve2yydr2b] { color: var(--ucpm-ink-300); }
.filing-points .fp-cal__cell:hover:not(.is-edge)[b-mve2yydr2b] { background: var(--ucpm-ink-050); color: var(--ucpm-deep-navy); }
.filing-points .fp-cal__cell.is-today[b-mve2yydr2b] { font-weight: 700; color: var(--ucpm-brand-teal); }
.filing-points .fp-cal__cell.is-today[b-mve2yydr2b]::after { content: ""; position: absolute; bottom: 5px; left: 50%; transform: translateX(-50%); width: 4px; height: 4px; border-radius: 50%; background: var(--ucpm-brand-teal); }
.filing-points .fp-cal__cell.is-inrange[b-mve2yydr2b] { background: var(--ucpm-success-soft); color: var(--ucpm-nightshade-teal); border-radius: 0; }
.filing-points .fp-cal__cell.is-edge[b-mve2yydr2b] { background: var(--ucpm-brand-teal); color: #fff; font-weight: 600; box-shadow: 0 1px 4px rgba(0,134,135,.35); z-index: 1; }
.filing-points .fp-cal__cell.is-start[b-mve2yydr2b] { border-radius: var(--ucpm-radius-sm) 0 0 var(--ucpm-radius-sm); }
.filing-points .fp-cal__cell.is-end[b-mve2yydr2b] { border-radius: 0 var(--ucpm-radius-sm) var(--ucpm-radius-sm) 0; }
.filing-points .fp-cal__cell.is-start.is-end[b-mve2yydr2b] { border-radius: var(--ucpm-radius-sm); }
.filing-points .fp-cal__cell.is-edge.is-today[b-mve2yydr2b]::after { background: #fff; }
.filing-points .fp-cal__foot[b-mve2yydr2b] { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--ucpm-divider); }
.filing-points .fp-cal__range[b-mve2yydr2b] { flex: 1; font-family: var(--ucpm-font-sans); font-size: 12px; color: var(--ucpm-fg2); font-variant-numeric: tabular-nums; }
.filing-points .fp-cal__apply[b-mve2yydr2b] {
    padding: 6px 16px; font-family: var(--ucpm-font-display); font-size: 11px; font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase;
    background: var(--ucpm-deep-navy); color: #fff; border: 0; border-radius: var(--ucpm-radius-sm); cursor: pointer;
    transition: background var(--ucpm-motion-fast);
}
.filing-points .fp-cal__apply:hover[b-mve2yydr2b] { background: var(--btn-primary-hover); }

.filing-points .measure-lbl[b-mve2yydr2b] {
    font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ucpm-fg3);
}

/* ===== KPI row ===== */
.filing-points .fp-kpi-row[b-mve2yydr2b] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 22px; }

/* ===== Leaderboard + donut ===== */
.filing-points .fp-lb-grid[b-mve2yydr2b] { display: grid; grid-template-columns: 1.7fr 1fr; gap: 16px; margin-bottom: 22px; align-items: start; }
.filing-points .fp-section[b-mve2yydr2b] { margin-bottom: 22px; }

.filing-points .lb-list[b-mve2yydr2b] { display: flex; flex-direction: column; }
.filing-points .lb-row[b-mve2yydr2b] {
    display: grid; grid-template-columns: 22px 128px 1fr 88px; gap: 14px; align-items: center;
    padding: 9px 20px; border-bottom: 1px solid var(--ucpm-divider);
}
.filing-points .lb-row:last-child[b-mve2yydr2b] { border-bottom: 0; }
.filing-points .lb-row.is-clickable[b-mve2yydr2b] { cursor: pointer; transition: background var(--ucpm-motion-fast); }
.filing-points .lb-row.is-clickable:hover[b-mve2yydr2b] { background: var(--surface-warm); }
.filing-points .lb-row.is-clickable:focus-visible[b-mve2yydr2b] { outline: 2px solid var(--ucpm-brand-teal); outline-offset: -2px; }
.filing-points .lb-rank[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-size: 13px; font-weight: 600; color: var(--ucpm-ink-300); text-align: center; font-variant-numeric: tabular-nums; }
.filing-points .lb-row.is-top .lb-rank[b-mve2yydr2b] { color: var(--ucpm-brand-teal); }
.filing-points .lb-who[b-mve2yydr2b] { display: flex; align-items: center; gap: 9px; min-width: 0; }
.filing-points .lb-avatar[b-mve2yydr2b] { width: 26px; height: 26px; border-radius: 50%; color: #fff; font-weight: 700; font-size: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.filing-points .lb-name[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-weight: 600; font-size: 13.5px; color: var(--ucpm-deep-navy); }
/* The track is the grid item directly (no wrapper) — mirrors .st-track, which also
   keeps it from collapsing to min-content in the print relayout of the PDF clones. */
.filing-points .lb-stack[b-mve2yydr2b] { display: flex; height: 16px; border-radius: 4px; overflow: hidden; background: var(--ucpm-ink-050); min-width: 0; }
.filing-points .lb-stack__seg[b-mve2yydr2b] { height: 100%; border-radius: 4px; transition: width .45s var(--ucpm-ease); }
.filing-points .lb-total[b-mve2yydr2b] { text-align: right; font-family: var(--ucpm-font-display); font-size: 16px; font-weight: 600; color: var(--ucpm-deep-navy); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.filing-points .lb-total small[b-mve2yydr2b] { display: block; font-family: var(--ucpm-font-sans); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ucpm-fg3); margin-top: 1px; }

/* Donut card — interactive inline SVG (each segment hoverable + clickable) */
.filing-points .donut-wrap[b-mve2yydr2b] { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 24px 20px; }
.filing-points .donut[b-mve2yydr2b] { width: 184px; height: 184px; position: relative; flex-shrink: 0; }
.filing-points .donut__svg[b-mve2yydr2b] { width: 100%; height: 100%; overflow: visible; }
.filing-points .donut__track[b-mve2yydr2b] { stroke: var(--ucpm-ink-050); stroke-width: 5.5; }
.filing-points .donut__seg[b-mve2yydr2b] {
    stroke-width: 5.5;
    transition: stroke-width var(--ucpm-motion-fast), opacity var(--ucpm-motion-fast);
    cursor: pointer;
}
.filing-points .donut__seg:hover[b-mve2yydr2b] { stroke-width: 6.4; }
.filing-points .donut__seg:focus-visible[b-mve2yydr2b] { outline: none; stroke-width: 6.4; }
/* When any segment/legend row is hovered, dim the rest and spotlight the target. */
.filing-points .donut.is-hover .donut__seg[b-mve2yydr2b] { opacity: .35; }
.filing-points .donut.is-hover .donut__seg.is-hi[b-mve2yydr2b] { opacity: 1; stroke-width: 6.4; }
.filing-points .donut__center[b-mve2yydr2b] { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; text-align: center; pointer-events: none; }
.filing-points .donut__center .v[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-size: 30px; font-weight: 600; color: var(--ucpm-deep-navy); font-variant-numeric: tabular-nums; line-height: 1; transition: color .18s; }
.filing-points .donut__center .l[b-mve2yydr2b] { font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ucpm-fg3); margin-top: 6px; transition: color .18s; }
.filing-points .donut__center .pctline[b-mve2yydr2b] { font-size: 11px; font-weight: 600; color: var(--ucpm-fg3); margin-top: 3px; font-variant-numeric: tabular-nums; height: 0; opacity: 0; transition: opacity .18s; }
.filing-points .donut.is-hover .donut__center .pctline[b-mve2yydr2b] { height: auto; opacity: 1; }
.filing-points .donut-legend[b-mve2yydr2b] { display: flex; flex-direction: column; gap: 2px; width: 100%; }
.filing-points .donut-legend .li[b-mve2yydr2b] { display: flex; align-items: center; gap: 10px; font-size: 12.5px; padding: 6px 8px; border-radius: 7px; cursor: pointer; transition: background var(--ucpm-motion-fast); }
.filing-points .donut-legend .li:hover[b-mve2yydr2b], .filing-points .donut-legend .li.is-hi[b-mve2yydr2b] { background: var(--surface-warm); }
.filing-points .donut-legend .li:focus-visible[b-mve2yydr2b] { outline: 2px solid var(--ucpm-brand-teal); outline-offset: -2px; }
.filing-points .donut-legend .sq[b-mve2yydr2b] { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.filing-points .donut-legend .nm[b-mve2yydr2b] { color: var(--ucpm-deep-navy); font-weight: 600; flex: 1; }
.filing-points .donut-legend .pc[b-mve2yydr2b] { color: var(--ucpm-fg3); font-variant-numeric: tabular-nums; min-width: 46px; text-align: right; }
.filing-points .donut-legend .pt[b-mve2yydr2b] { color: var(--ucpm-deep-navy); font-weight: 600; font-variant-numeric: tabular-nums; min-width: 52px; text-align: right; }

/* ===== Filings by state ===== */
.filing-points .state-list[b-mve2yydr2b] { padding: 8px 20px 4px; }
/* Tail rows (rank > head count) render in the DOM always — hidden on screen until
   expanded, ALWAYS visible in print so the PDF carries the full state list. */
.filing-points .st-row.st-tail-row[b-mve2yydr2b] { display: none; }
.filing-points .st-row.st-tail-row.is-open[b-mve2yydr2b] { display: grid; }
.filing-points .st-row[b-mve2yydr2b] { display: grid; grid-template-columns: 148px 1fr 120px; gap: 12px; align-items: center; padding: var(--st-pad) 8px; border-radius: 6px; transition: background var(--ucpm-motion-fast); }
.filing-points .st-head[b-mve2yydr2b] { display: flex; align-items: center; gap: 9px; min-width: 0; }
.filing-points .st-name[b-mve2yydr2b] { font-size: 13px; color: var(--ucpm-deep-navy); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filing-points .st-wt[b-mve2yydr2b] { font-size: 10.5px; color: var(--ucpm-fg3); font-weight: 600; font-variant-numeric: tabular-nums; }
.filing-points .st-track[b-mve2yydr2b] { height: 20px; background: var(--ucpm-ink-050); border-radius: 4px; overflow: hidden; }
.filing-points .st-fill[b-mve2yydr2b] { height: 100%; background: linear-gradient(90deg, var(--ucpm-brand-teal), #00a0a1); border-radius: 4px; transition: width .5s var(--ucpm-ease); }
.filing-points .st-val[b-mve2yydr2b] { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.filing-points .st-val .m[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-size: 14px; font-weight: 600; color: var(--ucpm-deep-navy); font-variant-numeric: tabular-nums; }
.filing-points .st-val .m small[b-mve2yydr2b] { font-family: var(--ucpm-font-sans); font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ucpm-fg3); margin-left: 3px; }
.filing-points .st-val .s[b-mve2yydr2b] { font-size: 10.5px; color: var(--ucpm-fg3); font-variant-numeric: tabular-nums; margin-top: 1px; }
.filing-points .state-tail[b-mve2yydr2b] { border-top: 1px solid var(--ucpm-divider); }
.filing-points .tail-toggle[b-mve2yydr2b] {
    width: 100%; border: 0; background: var(--ucpm-ink-025); cursor: pointer;
    padding: 11px 20px; font-family: var(--ucpm-font-sans); font-size: 12.5px; font-weight: 600; color: var(--ucpm-brand-teal);
    display: flex; align-items: center; justify-content: center; gap: 8px;
    border-radius: 0 0 var(--ucpm-radius-md) var(--ucpm-radius-md); transition: background var(--ucpm-motion-fast);
}
.filing-points .tail-toggle:hover[b-mve2yydr2b] { background: var(--ucpm-success-soft); }

/* ===== Filing activity ===== */
.filing-points .act-toolbar[b-mve2yydr2b] { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 12px 20px; border-bottom: 1px solid var(--ucpm-divider); }
.filing-points .act-filter[b-mve2yydr2b] { display: inline-flex; align-items: center; gap: 8px; }
.filing-points .act-filter select[b-mve2yydr2b] {
    border: 1px solid var(--ucpm-divider-strong); background: #fff; border-radius: var(--ucpm-radius-sm);
    padding: 6px 9px; font-family: var(--ucpm-font-sans); font-size: 13px; font-weight: 500;
    color: var(--ucpm-deep-navy); cursor: pointer; outline: none;
    transition: border-color var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast);
}
.filing-points .act-filter select:focus[b-mve2yydr2b] { border-color: var(--ucpm-brand-teal); box-shadow: 0 0 0 3px rgba(0,134,135,.12); }
.filing-points .date-range[b-mve2yydr2b] { display: inline-flex; align-items: center; gap: 7px; }
.filing-points .date-range input[type="date"][b-mve2yydr2b] {
    border: 1px solid var(--ucpm-divider-strong); background: #fff; border-radius: var(--ucpm-radius-sm);
    padding: 5px 8px; font-family: var(--ucpm-font-sans); font-size: 12.5px; color: var(--ucpm-deep-navy);
    font-variant-numeric: tabular-nums; outline: none; cursor: pointer;
    transition: border-color var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast);
}
.filing-points .date-range input[type="date"]:focus[b-mve2yydr2b] { border-color: var(--ucpm-brand-teal); box-shadow: 0 0 0 3px rgba(0,134,135,.12); }
.filing-points .date-range__to[b-mve2yydr2b] { font-size: 12px; color: var(--ucpm-fg3); }
.filing-points .act-count[b-mve2yydr2b] { margin-left: auto; font-size: 12px; color: var(--ucpm-fg3); font-variant-numeric: tabular-nums; }
.filing-points .act-scroll[b-mve2yydr2b] { max-height: 520px; overflow: auto; }

/* activity table (reproduced .table-x, scoped) */
.filing-points .fp-act-table[b-mve2yydr2b] { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.filing-points .fp-act-table thead th[b-mve2yydr2b] {
    background: var(--ucpm-ink-025); color: var(--ucpm-fg3);
    font-family: var(--ucpm-font-sans); font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
    padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--ucpm-divider);
    position: sticky; top: 0; z-index: 1; cursor: pointer; user-select: none; white-space: nowrap;
}
.filing-points .fp-act-table thead th.is-sorted[b-mve2yydr2b] { color: var(--ucpm-brand-teal); }
.filing-points .fp-act-table thead th .sort-ind[b-mve2yydr2b] { margin-left: 4px; }
.filing-points .fp-act-table tbody td[b-mve2yydr2b] { padding: 11px 14px; border-bottom: 1px solid var(--ucpm-divider); color: var(--ucpm-fg2); vertical-align: middle; }
.filing-points .fp-act-table tbody tr[b-mve2yydr2b] { transition: background var(--ucpm-motion-fast); }
.filing-points .fp-act-table tbody tr:hover td[b-mve2yydr2b] { background: var(--surface-warm); }
.filing-points .fp-act-table .cell-num[b-mve2yydr2b] { font-variant-numeric: tabular-nums; }
.filing-points .fp-act-table .cell-right[b-mve2yydr2b] { text-align: right; }
.filing-points .act-empty[b-mve2yydr2b] { text-align: center; color: var(--ucpm-fg3); padding: 32px; }
.filing-points .act-avatar[b-mve2yydr2b] { width: 24px; height: 24px; border-radius: 50%; color: #fff; font-weight: 700; font-size: 9.5px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.filing-points .act-filer-cell[b-mve2yydr2b] { display: flex; align-items: center; gap: 9px; }
.filing-points .act-pts[b-mve2yydr2b] { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; padding: 2px 8px; border-radius: 999px; background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal); font-weight: 600; font-size: 12px; font-variant-numeric: tabular-nums; }
.filing-points .act-mono[b-mve2yydr2b] { font-family: var(--ucpm-font-mono); font-size: 12px; color: var(--ucpm-fg2); }
.filing-points .act-none[b-mve2yydr2b] { color: var(--ucpm-ink-300); }
.filing-points .date-due[b-mve2yydr2b] { display: inline-flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.filing-points .date-due__dot[b-mve2yydr2b] { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.filing-points .date-due.is-past[b-mve2yydr2b] { color: var(--ucpm-danger); font-weight: 600; }
.filing-points .date-due.is-soon[b-mve2yydr2b] { color: var(--ucpm-warning); font-weight: 600; }

/* ===== Employee drill-down drawer content ===== */
/* Shared info note inside the drill-down drawer body. */
.fp-drawer-note[b-mve2yydr2b] { display: flex; align-items: flex-start; gap: 10px; padding: 11px 14px; background: var(--ucpm-info-soft); border: 1px solid #C5D6EA; border-radius: var(--ucpm-radius-sm); font-size: 12.5px; color: var(--ucpm-info); line-height: 1.5; margin-bottom: 20px; }
.fp-drawer-note .bi[b-mve2yydr2b] { color: var(--ucpm-info); font-size: 14px; flex-shrink: 0; margin-top: 1px; }
/* Colored avatar badge in the drawer header (replaces the default glyph badge). */
.fp-drill__avatar[b-mve2yydr2b] {
    width: 40px; height: 40px; border-radius: 50%; color: #fff;
    font-family: var(--ucpm-font-display); font-weight: 700; font-size: 14px;
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
}
.fp-drill__kpis[b-mve2yydr2b] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0; }
.fp-drill__kpi[b-mve2yydr2b] {
    background: var(--ucpm-ink-025); border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-sm); padding: 11px 12px;
}
.fp-drill__kpi .v[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-size: 20px; font-weight: 600; color: var(--ucpm-deep-navy); line-height: 1; font-variant-numeric: tabular-nums; }
.fp-drill__kpi .l[b-mve2yydr2b] { font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ucpm-fg3); margin-top: 6px; }
/* Caption row shares the data-row grid so the Filings/Points columns line up. */
.fp-drill__listhead[b-mve2yydr2b] {
    display: grid; grid-template-columns: 30px 1fr 56px 60px; gap: 11px; align-items: end;
    margin: 4px 0 8px; padding: 0 6px;
    font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ucpm-fg3);
}
.fp-drill__listhead .r[b-mve2yydr2b] { text-align: right; }
.fp-drill__list[b-mve2yydr2b] { display: flex; flex-direction: column; gap: 2px; }
.fp-drill__row[b-mve2yydr2b] {
    display: grid; grid-template-columns: 30px 1fr 56px 60px; gap: 11px; align-items: center;
    padding: 9px 6px; border-radius: 6px; transition: background var(--ucpm-motion-fast);
}
.fp-drill__row:hover[b-mve2yydr2b] { background: var(--surface-warm); }
.fp-drill__meta[b-mve2yydr2b] { min-width: 0; }
.fp-drill__name[b-mve2yydr2b] { font-size: 13px; font-weight: 500; color: var(--ucpm-deep-navy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fp-drill__sub[b-mve2yydr2b] { font-size: 11px; color: var(--ucpm-fg3); font-variant-numeric: tabular-nums; margin-top: 2px; }
.fp-drill__sub b[b-mve2yydr2b] { color: var(--ucpm-fg2); font-weight: 600; }
.fp-drill__track[b-mve2yydr2b] { height: 4px; background: var(--ucpm-ink-050); border-radius: 3px; overflow: hidden; margin-top: 6px; }
.fp-drill__fill[b-mve2yydr2b] { height: 100%; border-radius: 3px; transition: width .5s var(--ucpm-ease); }
.fp-drill__num[b-mve2yydr2b] {
    text-align: right; font-family: var(--ucpm-font-display); font-size: 15px; font-weight: 600;
    color: var(--ucpm-deep-navy); font-variant-numeric: tabular-nums; line-height: 1;
}
.fp-drill__num.is-filings[b-mve2yydr2b] { font-weight: 500; color: var(--ucpm-fg2); }

/* ===== responsive ===== */
@media (max-width: 1080px) {
    .filing-points .fp-lb-grid[b-mve2yydr2b] { grid-template-columns: 1fr; }
    .filing-points .fp-kpi-row[b-mve2yydr2b] { grid-template-columns: repeat(2, 1fr); }
}

/* ===== PDF export (print) ===== */
/* Print-only blocks live in the DOM but stay hidden on screen. */
.print-only[b-mve2yydr2b] { display: none !important; }

/* Print-only report header (brand + period/as-of/generated meta) */
.print-report-head[b-mve2yydr2b] {
    align-items: flex-end; justify-content: space-between;
    padding-bottom: 16px; margin-bottom: 20px; border-bottom: 2px solid var(--ucpm-deep-navy);
}
.prh__brand[b-mve2yydr2b] { display: flex; align-items: center; gap: 14px; }
.prh__logo[b-mve2yydr2b] { height: 40px; width: auto; }
.prh__co[b-mve2yydr2b] { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ucpm-brand-teal); }
.prh__title[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-size: 24px; font-weight: 600; color: var(--ucpm-deep-navy); line-height: 1.1; }
.prh__meta[b-mve2yydr2b] { display: flex; gap: 26px; }
.prh__meta div[b-mve2yydr2b] { display: flex; flex-direction: column; gap: 2px; }
.prh__meta span[b-mve2yydr2b] { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ucpm-fg3); }
.prh__meta b[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-size: 14px; font-weight: 600; color: var(--ucpm-deep-navy); font-variant-numeric: tabular-nums; }

/* Print-only filer × state breakdown (the employee split-up section).
   Same row language as the drill-down drawer: state pin + name, hairline
   separators, right-aligned numbers — no raw <table>. */
.fp-fbreak[b-mve2yydr2b] { margin-top: 20px; }
.fp-fbreak__h[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-size: 16px; font-weight: 600; color: var(--ucpm-deep-navy); margin: 0 0 12px; padding-bottom: 6px; border-bottom: 1.5px solid var(--ucpm-deep-navy); }
.fp-fbreak__grid[b-mve2yydr2b] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 26px; }
.fp-fbreak__filer[b-mve2yydr2b] { break-inside: avoid; }
.fp-fbreak__name[b-mve2yydr2b] { display: flex; align-items: center; gap: 9px; margin-bottom: 7px; }
.fp-fbreak__name .dot[b-mve2yydr2b] { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.fp-fbreak__name .n[b-mve2yydr2b] { font-family: var(--ucpm-font-display); font-size: 13.5px; font-weight: 600; color: var(--ucpm-deep-navy); }
.fp-fbreak__name .t[b-mve2yydr2b] { font-size: 10.5px; color: var(--ucpm-fg3); font-variant-numeric: tabular-nums; margin-left: auto; }
.fp-fbreak__cap[b-mve2yydr2b],
.fp-fbreak__row[b-mve2yydr2b] { display: grid; grid-template-columns: 30px 1fr 28px 50px 54px; gap: 8px; align-items: center; padding: 4px 6px; }
.fp-fbreak__cap[b-mve2yydr2b] { font-size: 8.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--ucpm-fg3); border-bottom: 1px solid var(--ucpm-divider); padding-bottom: 3px; }
.fp-fbreak__row[b-mve2yydr2b] { font-size: 11.5px; color: var(--ucpm-fg2); font-variant-numeric: tabular-nums; border-bottom: 1px solid var(--ucpm-ink-050); break-inside: avoid; }
.fp-fbreak__row .state-pin[b-mve2yydr2b] { min-width: 26px; height: 18px; font-size: 9.5px; }
.fp-fbreak__row .st[b-mve2yydr2b], .fp-fbreak__row .pts[b-mve2yydr2b] { font-weight: 600; color: var(--ucpm-deep-navy); }
.fp-fbreak .r[b-mve2yydr2b] { text-align: right; }
.fp-fbreak__tot[b-mve2yydr2b] { font-weight: 700; color: var(--ucpm-deep-navy); border-top: 1.5px solid var(--ucpm-divider); border-bottom: 0; padding-top: 5px; }
.fp-fbreak__tot .st[b-mve2yydr2b] { font-weight: 700; }

@media print {
    @page { size: letter; margin: 0.5in 0.55in; }

    /* Match the UX export's density: the handoff prints its wide desktop layout and
       the browser shrink-to-fits it to ~0.67x. Our Blazor page prints at the paper's
       own width (no overflow, no auto-shrink), so 1:1 CSS px looks zoomed-in and
       spills to 6 pages. Apply the same scale explicitly. */
    .ish-page > .container-fluid[b-mve2yydr2b] { zoom: 0.67; }

    /* keep brand fills (bars, avatars, pins, hero card) in the printed output */
    .filing-points[b-mve2yydr2b], .filing-points *[b-mve2yydr2b],
    .print-report-head[b-mve2yydr2b], .print-report-head *[b-mve2yydr2b],
    .fp-fbreak[b-mve2yydr2b], .fp-fbreak *[b-mve2yydr2b] {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Screen chrome the PDF drops: page header (replaced by the print report head),
       period/as-of toolbar, measure toggles, badges, edit/expand affordances, and the
       whole Filing Activity section (not part of the exported report). */
    .ish-header[b-mve2yydr2b],
    .filing-points .fp-toolbar[b-mve2yydr2b],
    .filing-points .fp-act-section[b-mve2yydr2b],
    .filing-points .card-x__head .btn-group-x[b-mve2yydr2b],
    .filing-points .card-x__head .badge-x[b-mve2yydr2b],
    .filing-points .state-tail[b-mve2yydr2b] { display: none !important; }

    /* The live leaderboard/donut pair shows ONE toggled measure — the PDF swaps it for
       the two print-only clones (Filings + Points). */
    .filing-points .fp-lb-grid:not(.print-only)[b-mve2yydr2b] { display: none !important; }

    .print-report-head[b-mve2yydr2b] { display: flex !important; }
    .filing-points .fp-lb-grid.print-only[b-mve2yydr2b] { display: grid !important; grid-template-columns: 1.6fr 1fr; gap: 14px; margin-bottom: 14px; break-inside: avoid; }
    .fp-fbreak[b-mve2yydr2b] { display: block !important; break-before: page; }

    /* every state row, no collapse */
    .filing-points .st-row.st-tail-row[b-mve2yydr2b] { display: grid !important; }

    .filing-points .card-x[b-mve2yydr2b],
    .filing-points .kpi[b-mve2yydr2b] { box-shadow: none !important; border: 1px solid var(--ucpm-divider) !important; break-inside: avoid; }
    /* Filings by State holds up to 50 rows — taller than a page, so it starts on a
       FRESH page (no orphaned 2-3 rows under the leaderboard) and is allowed to break
       across pages. Break between state rows, never inside one, and keep the header
       with row 1. */
    .filing-points .fp-state-section[b-mve2yydr2b] { break-before: page; break-inside: auto; }
    .filing-points .fp-state-section .card-x__head[b-mve2yydr2b] { break-after: avoid; }
    .filing-points .st-row[b-mve2yydr2b] { break-inside: avoid; }
    .filing-points .card-x[b-mve2yydr2b] { margin-bottom: 14px; }
    .filing-points .fp-kpi-row[b-mve2yydr2b] { grid-template-columns: repeat(4, 1fr); gap: 10px; }
    .filing-points .kpi--hero[b-mve2yydr2b] { background: var(--ucpm-deep-sea) !important; }
    .filing-points .fp-act-table thead th .sort-ind[b-mve2yydr2b] { display: none !important; }
}
/* /Components/Pages/SlTaxFiling.razor.rz.scp.css */
/* SlTaxFiling page-scoped styles.
   NOTE: the source-scope switcher (.sl-source-tabs, #205) moved to the global
   wwwroot/css/ish-design.css so the Admin SL Tax Filing page can share it (#242). */

/* SlTaxFiling — KPI strip styles (4 cards: hero + 3 tones).
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the
   global-CSS-to-scoped migration. These classes are only ever rendered by
   this page, so they live next to the component for locality + auto-purge
   on component removal. */

/* Two-piece card stack for the tabs + filter + table region.
   The card was originally a single `.ish-card` with `overflow: hidden`,
   which clipped the State / Representative / Type filter dropdowns when
   the table body was short (e.g. the "No Data Found" state with a single
   thin row). Splitting into a head (tabs) and body (filter + table)
   removes the clipping ancestor while preserving the single-card look
   via shared border + radius treatment. The body deliberately omits
   `overflow: hidden` so the filter dropdowns can extend past the body
   when the table is short. */
.sl-card-stack[b-cfxihv89ec] {
  margin-bottom: 16px;
}
.sl-card-stack__head[b-cfxihv89ec] {
  background: #FFF;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-lg) var(--ucpm-radius-lg) 0 0;
  box-shadow: var(--ucpm-shadow-tile);
  padding: 0;
  overflow: hidden;
}
.sl-card-stack__body[b-cfxihv89ec] {
  background: #FFF;
  border: 1px solid var(--ucpm-divider);
  border-top: 0;
  border-radius: 0 0 var(--ucpm-radius-lg) var(--ucpm-radius-lg);
  box-shadow: var(--ucpm-shadow-tile);
  padding: 0;
}

.ish-kpi-grid[b-cfxihv89ec] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 18px;
}
@media (max-width: 1100px) { .ish-kpi-grid[b-cfxihv89ec] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px)  { .ish-kpi-grid[b-cfxihv89ec] { grid-template-columns: 1fr; } }

.ish-kpi[b-cfxihv89ec] {
  background: #FFF;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-lg);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--ucpm-shadow-tile);
  /* Lock tile height so loaded + loading states don't bounce. 124px covers
     label 17 + gap 4 + value 36 + gap 4 + delta 18 = 79 + padding 28 = 107
     (or the same arithmetic with skeleton placeholders). */
  min-height: 124px;
}

/* Clickable KPI tiles (#194): each tile drills the grid into the rows behind its count.
   Pointer + subtle lift on hover; keyboard focus gets a visible ring for accessibility. */
.ish-kpi--clickable[b-cfxihv89ec] {
  cursor: pointer; user-select: none;
  transition: transform .08s ease, box-shadow .08s ease,
              border-color .08s ease, opacity .08s ease, background .08s ease;
}
.ish-kpi--clickable:hover[b-cfxihv89ec] {
  transform: translateY(-1px);
  box-shadow: var(--ucpm-shadow-tile-hover, 0 4px 12px rgba(4, 42, 64, .16));
  border-color: var(--kpi-accent, var(--ucpm-brand-teal));
}
.ish-kpi--clickable:focus-visible[b-cfxihv89ec] { outline: 2px solid var(--ucpm-brand-teal); outline-offset: 2px; }

/* Selected drill-down tile (design: sl-tax-filing.html): accent border + ring + soft tinted fill,
   tone-matched via the per-tile --kpi-accent / --kpi-active-bg inline vars. */
.ish-kpi--clickable.is-active[b-cfxihv89ec] {
  border-color: var(--kpi-accent, var(--ucpm-brand-teal));
  background: var(--kpi-active-bg, #FFF);
  box-shadow: 0 0 0 1px var(--kpi-accent, var(--ucpm-brand-teal)), 0 4px 14px rgba(4, 42, 64, .10);
}
/* While a KPI filter is on, everything except the active tile recedes so the selection reads at
   a glance; hovering a receded tile restores it as an affordance that it's still clickable. */
.ish-kpi-grid.has-filter .ish-kpi:not(.is-active)[b-cfxihv89ec] { opacity: .45; filter: saturate(.6); }
.ish-kpi-grid.has-filter .ish-kpi--clickable:not(.is-active):hover[b-cfxihv89ec] { opacity: .95; filter: none; }

/* Hover / active hint pinned to the tile's top-right corner: "Filter" when idle,
   "Clear ×" when the tile's drill-down is on (hero says "Show all"). */
.ish-kpi__hint[b-cfxihv89ec] {
  position: absolute; top: 12px; right: 14px;
  font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ucpm-fg3); opacity: 0; transition: opacity .08s ease; pointer-events: none;
}
.ish-kpi__hint .bi[b-cfxihv89ec] { font-size: 11px; }
.ish-kpi__hint .bi-x-lg[b-cfxihv89ec] { font-size: 9px; }
.ish-kpi__hint-idle[b-cfxihv89ec], .ish-kpi__hint-on[b-cfxihv89ec] { display: inline-flex; align-items: center; gap: 4px; }
.ish-kpi__hint-on[b-cfxihv89ec] { display: none; }
.ish-kpi--clickable:hover .ish-kpi__hint[b-cfxihv89ec] { opacity: 1; }
.ish-kpi--clickable.is-active .ish-kpi__hint[b-cfxihv89ec] { opacity: 1; color: var(--kpi-accent, var(--ucpm-brand-teal)); }
.ish-kpi--clickable.is-active .ish-kpi__hint-idle[b-cfxihv89ec] { display: none; }
.ish-kpi--clickable.is-active .ish-kpi__hint-on[b-cfxihv89ec] { display: inline-flex; }
.ish-kpi--hero .ish-kpi__hint[b-cfxihv89ec] { color: rgba(255, 255, 255, .8); }

.ish-kpi__label[b-cfxihv89ec] {
  font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ucpm-fg3); display: flex; align-items: center; gap: 6px;
}
.ish-kpi__value[b-cfxihv89ec] {
  font-family: var(--ucpm-font-display);
  font-size: 32px; font-weight: 600;
  color: var(--ucpm-fg1); letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.ish-kpi__delta[b-cfxihv89ec] { font-size: 13px; color: var(--ucpm-fg3); }
.ish-kpi__delta.is-up[b-cfxihv89ec]   { color: var(--ucpm-success); }
.ish-kpi__delta.is-down[b-cfxihv89ec] { color: var(--ucpm-success); }

.ish-kpi__bar[b-cfxihv89ec] {
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
}
.ish-kpi--hero   .ish-kpi__bar[b-cfxihv89ec] { background: var(--ucpm-accent-orange); }
.ish-kpi--danger .ish-kpi__bar[b-cfxihv89ec] { background: var(--ucpm-danger); }
.ish-kpi--warn   .ish-kpi__bar[b-cfxihv89ec] { background: var(--ucpm-warning); }
.ish-kpi--ok     .ish-kpi__bar[b-cfxihv89ec] { background: var(--ucpm-brand-teal); }

/* Hero KPI — DRG navy fill with terracotta label, white value, terracotta sparkline.
   Includes the DRG geometric circle/quadrant pattern as a contained texture panel. */
.ish-kpi--hero[b-cfxihv89ec] {
  background:
    linear-gradient(135deg, rgba(4,42,64,0) 40%, rgba(12,119,115,0.28) 100%),
    var(--ucpm-deep-sea);
  border-color: transparent;
  color: #FFF;
  box-shadow: 0 2px 8px rgba(4,42,64,.18);
  position: relative;
}
/* DRG geometric pattern texture — contained in the top-right corner */
.ish-kpi--hero[b-cfxihv89ec]::after {
  content: "";
  position: absolute;
  right: -20px; top: -20px;
  width: 140px; height: 140px;
  background: url('../img/pattern.png') center/cover no-repeat;
  opacity: 0.12;
  border-radius: 50%;
  pointer-events: none;
}
.ish-kpi--hero .ish-kpi__label[b-cfxihv89ec] { color: var(--ucpm-accent-orange); }
.ish-kpi--hero .ish-kpi__value[b-cfxihv89ec] { color: #FFF; }
.ish-kpi--hero .ish-kpi__delta[b-cfxihv89ec] { color: rgba(255,255,255,.78); }
.ish-kpi--hero .ish-kpi__delta.is-up[b-cfxihv89ec],
.ish-kpi--hero .ish-kpi__delta.is-down[b-cfxihv89ec] { color: var(--ucpm-accent-orange); }
/* Hero variant overrides the global skeleton shimmer to a translucent-white
   ramp so the loading bars stay visible on the dark teal background. */
.ish-kpi--hero .ish-skeleton[b-cfxihv89ec] {
  background: linear-gradient(90deg,
    rgba(255,255,255,.10) 0%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.10) 100%);
}

/* Lime sparkline anchored to the right side of the hero KPI, vertically centered. */
.ish-kpi__spark[b-cfxihv89ec] {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 100px;
  height: 42px;
  opacity: .9;
  pointer-events: none;
}
.ish-kpi__spark path[b-cfxihv89ec] {
  fill: none;
  stroke: var(--ucpm-accent-orange);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* /Components/Pages/StateFilingConfigPage/DueDateCategoryCard.razor.rz.scp.css */
/* DueDateCategoryCard — component-scoped styling. Reuses --ucpm-* tokens from
   the global design system; none of these classes touch the global stylesheet. */

.due-card[b-ws38rqa3jx] {
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-lg);
    background: #fff;
    overflow: hidden;
}

.due-card__head[b-ws38rqa3jx] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--ucpm-ink-025);
    border-bottom: 1px solid var(--ucpm-divider);
}

.due-card__ico[b-ws38rqa3jx] {
    width: 34px;
    height: 34px;
    border-radius: var(--ucpm-radius-md);
    display: grid;
    place-items: center;
    font-size: 16px;
    flex: 0 0 auto;
}

.due-card__ico.c-filing[b-ws38rqa3jx] {
    background: var(--ucpm-info-soft);
    color: var(--ucpm-info);
}

.due-card__ico.c-tax[b-ws38rqa3jx] {
    background: var(--ucpm-success-soft);
    color: var(--ucpm-brand-teal);
}

.due-card__ico.c-stamping[b-ws38rqa3jx] {
    background: #EEF6D7;
    color: #4E6B12;
}

.due-card__t[b-ws38rqa3jx] {
    flex: 1;
    min-width: 0;
}

.due-card__t .name[b-ws38rqa3jx] {
    font-family: var(--ucpm-font-display);
    font-size: 14.5px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
}

.due-card__t .sub[b-ws38rqa3jx] {
    font-size: 11.5px;
    color: var(--ucpm-fg3);
    margin-top: 1px;
}

.due-badge[b-ws38rqa3jx] {
    font-size: 10.5px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    white-space: nowrap;
    flex: 0 0 auto;
}

.due-badge.is-on[b-ws38rqa3jx] {
    background: var(--ucpm-success-soft);
    color: var(--ucpm-brand-teal);
}

.due-badge.is-off[b-ws38rqa3jx] {
    background: var(--ucpm-ink-100);
    color: var(--ucpm-fg3);
}

.due-card__body[b-ws38rqa3jx] {
    padding: 16px 18px 18px;
}

.cad-label[b-ws38rqa3jx] {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ucpm-fg3);
    margin-bottom: 8px;
}

.cad-pills[b-ws38rqa3jx] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.cad-pill[b-ws38rqa3jx] {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    cursor: pointer;
    border: 1px solid var(--ucpm-divider-strong);
    background: #fff;
    color: var(--ucpm-fg2);
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    transition: background var(--ucpm-motion-fast), border-color var(--ucpm-motion-fast), color var(--ucpm-motion-fast);
}

.cad-pill:hover[b-ws38rqa3jx] {
    background: var(--ucpm-ink-025);
}

.cad-pill.is-active[b-ws38rqa3jx] {
    background: var(--ucpm-deep-sea);
    color: #fff;
    border-color: var(--ucpm-deep-sea);
}

.cad-pill.is-none.is-active[b-ws38rqa3jx] {
    background: var(--ucpm-ink-100);
    color: var(--ucpm-fg3);
    border-color: var(--ucpm-divider-strong);
}

.cad-form[b-ws38rqa3jx] {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--ucpm-divider);
}

.cad-field[b-ws38rqa3jx] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.cad-flabel[b-ws38rqa3jx] {
    font-size: 12px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
}

.cad-mini[b-ws38rqa3jx] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ucpm-fg3);
}

.cad-hint[b-ws38rqa3jx] {
    font-size: 11.5px;
    color: var(--ucpm-fg3);
    line-height: 1.45;
    margin-top: 4px;
}

.cad-ctl[b-ws38rqa3jx] {
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    background: #fff;
    padding: 8px 11px;
    font-family: inherit;
    font-size: 13px;
    color: var(--ucpm-fg2);
    line-height: 1.4;
    transition: border-color var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast);
}

.cad-ctl:focus[b-ws38rqa3jx] {
    outline: none;
    border-color: var(--ucpm-brand-teal);
    box-shadow: 0 0 0 3px rgba(0, 134, 135, .12);
}

select.cad-ctl[b-ws38rqa3jx] {
    appearance: none;
    cursor: pointer;
    padding-right: 30px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%236c757d' d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.cad-ctl--day[b-ws38rqa3jx] {
    max-width: 92px;
}

.cad-ctl--month[b-ws38rqa3jx] {
    min-width: 140px;
}

.cad-md[b-ws38rqa3jx] {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.cad-affix[b-ws38rqa3jx] {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    overflow: hidden;
    background: #fff;
    max-width: 160px;
}

.cad-affix:focus-within[b-ws38rqa3jx] {
    border-color: var(--ucpm-brand-teal);
    box-shadow: 0 0 0 3px rgba(0, 134, 135, .12);
}

.cad-affix input[b-ws38rqa3jx] {
    border: 0;
    outline: none;
    background: transparent;
    padding: 8px 11px;
    font: inherit;
    font-size: 13px;
    width: 100%;
    min-width: 0;
}

.cad-affix__suffix[b-ws38rqa3jx] {
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    background: var(--ucpm-ink-025);
    border-left: 1px solid var(--ucpm-divider);
    color: var(--ucpm-fg3);
    font-size: 11.5px;
    font-weight: 600;
    white-space: nowrap;
}

/* period rows (quarterly / semiannual) */
.period-table[b-ws38rqa3jx] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.period-row[b-ws38rqa3jx] {
    display: grid;
    grid-template-columns: 52px 1fr 1fr auto;
    gap: 12px;
    align-items: end;
    padding: 10px 12px;
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-sm);
    background: var(--ucpm-surface-app);
}

.period-row__tag[b-ws38rqa3jx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 26px;
    border-radius: var(--ucpm-radius-sm);
    background: var(--ucpm-deep-sea);
    color: #fff;
    font-family: var(--ucpm-font-display);
    font-size: 12px;
    font-weight: 700;
    align-self: center;
}

.ny-toggle[b-ws38rqa3jx] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--ucpm-fg2);
    white-space: nowrap;
    padding-bottom: 8px;
}

.ny-toggle input[b-ws38rqa3jx] {
    width: 16px;
    height: 16px;
    accent-color: var(--ucpm-brand-teal);
}

/* effective window (collapsible) */
.eff-win[b-ws38rqa3jx] {
    margin-top: 14px;
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-sm);
    overflow: hidden;
}

.eff-win__toggle[b-ws38rqa3jx] {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    text-align: left;
    cursor: pointer;
    padding: 10px 14px;
    background: var(--ucpm-ink-025);
    border: 0;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    color: var(--ucpm-fg2);
}

.eff-win__toggle:hover[b-ws38rqa3jx] {
    color: var(--ucpm-deep-navy);
}

.eff-win__opt[b-ws38rqa3jx] {
    font-weight: 500;
    color: var(--ucpm-fg3);
}

.eff-win__chev[b-ws38rqa3jx] {
    margin-left: auto;
    transition: transform var(--ucpm-motion-base);
    color: var(--ucpm-ink-300);
}

.eff-win.is-open .eff-win__chev[b-ws38rqa3jx] {
    transform: rotate(90deg);
}

.eff-win__body[b-ws38rqa3jx] {
    padding: 14px;
    border-top: 1px solid var(--ucpm-divider);
    background: #fff;
}

/* live preview */
.cad-preview[b-ws38rqa3jx] {
    margin-top: 16px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: var(--ucpm-mint);
    border: 1px solid #BCDDD1;
    border-radius: var(--ucpm-radius-sm);
}

.cad-preview .bi[b-ws38rqa3jx] {
    color: var(--ucpm-brand-teal);
    font-size: 15px;
    margin-top: 1px;
    flex: 0 0 auto;
}

.cad-preview__lab[b-ws38rqa3jx] {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ucpm-brand-teal);
    margin-bottom: 3px;
}

.cad-preview__txt[b-ws38rqa3jx] {
    font-size: 13px;
    color: var(--ucpm-deep-navy);
    font-weight: 600;
    line-height: 1.5;
}
/* /Components/Pages/StateFilingConfigPage/PointsTab.razor.rz.scp.css */
/* PointsTab — scoped styling for the filing-point weight editor. References the
   global --ucpm-* tokens (ish-design.css) directly; no rename layer. */

.pts-pane[b-jdxv5vp7vh] {
    padding: 4px 2px;
    max-width: 560px;
}

/* ---------- Header ---------- */
.pts-head[b-jdxv5vp7vh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.pts-head__name[b-jdxv5vp7vh] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--ucpm-font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
}

.pts-head__name .bi[b-jdxv5vp7vh] {
    color: var(--ucpm-brand-teal);
}

.pts-head__sub[b-jdxv5vp7vh] {
    margin-top: 4px;
    font-size: 12.5px;
    color: var(--ucpm-fg3);
}

/* ---------- Info note ---------- */
.pts-note[b-jdxv5vp7vh] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 14px;
    background: var(--ucpm-info-soft);
    border: 1px solid #C5D6EA;
    border-radius: var(--ucpm-radius-sm);
    font-size: 12.5px;
    color: var(--ucpm-info);
    line-height: 1.5;
    margin-bottom: 20px;
}

.pts-note .bi[b-jdxv5vp7vh] {
    color: var(--ucpm-info);
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* ---------- Stepper field ---------- */
.pts-field__label[b-jdxv5vp7vh] {
    font-size: 12px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
    display: block;
}

.pts-stepper[b-jdxv5vp7vh] {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    overflow: hidden;
    width: fit-content;
    margin-top: 8px;
}

.pts-stepper:focus-within[b-jdxv5vp7vh] {
    border-color: var(--ucpm-brand-teal);
    box-shadow: 0 0 0 3px rgba(0, 134, 135, .12);
}

.pts-stepper button[b-jdxv5vp7vh] {
    width: 42px;
    border: 0;
    background: var(--ucpm-ink-025);
    color: var(--ucpm-deep-navy);
    font-size: 18px;
    cursor: pointer;
    font-weight: 600;
    line-height: 1;
}

.pts-stepper button:hover[b-jdxv5vp7vh] {
    background: var(--ucpm-success-soft);
    color: var(--ucpm-brand-teal);
}

.pts-stepper input[b-jdxv5vp7vh] {
    width: 74px;
    border: 0;
    border-left: 1px solid var(--ucpm-divider);
    border-right: 1px solid var(--ucpm-divider);
    text-align: center;
    font-family: var(--ucpm-font-display);
    font-size: 22px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
    outline: none;
    font-variant-numeric: tabular-nums;
    -moz-appearance: textfield;
}

.pts-stepper input[b-jdxv5vp7vh]::-webkit-outer-spin-button,
.pts-stepper input[b-jdxv5vp7vh]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.pts-field__hint[b-jdxv5vp7vh] {
    display: block;
    font-size: 11.5px;
    color: var(--ucpm-fg3);
    margin-top: 7px;
}

/* ---------- Impact panel ---------- */
.pts-impact[b-jdxv5vp7vh] {
    margin-top: 22px;
    padding: 14px 16px;
    background: linear-gradient(0deg, hsla(155, 64%, 91%, 1) 57%, hsla(53, 40%, 96%, 1) 100%);
    border: 1px solid #BCDDD1;
    border-radius: var(--ucpm-radius-sm);
}

.pts-impact__lab[b-jdxv5vp7vh] {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ucpm-brand-teal);
    margin-bottom: 6px;
}

.pts-impact__txt[b-jdxv5vp7vh] {
    font-size: 13.5px;
    color: var(--ucpm-deep-navy);
    line-height: 1.5;
}

/* ---------- Actions ---------- */
.pts-actions[b-jdxv5vp7vh] {
    display: flex;
    justify-content: flex-end;
    margin-top: 22px;
}
/* /Components/Pages/StateFilingConfigPage/StateFilingConfig.razor.rz.scp.css */
/* StateFilingConfig — page-scoped layout only. Mirrors the LicensingPage /
   StateFilingPage 2-column pattern; reuses the global .ish-* atoms
   (.ish-card, .ish-st-* list, .ish-empty, .ish-tb-btn) and --ucpm-* tokens
   from ish-design.css. Nothing here is added to the global stylesheet. */

/* ---------- Page layout: sticky sidebar + main column ---------- */
.ish-sfc-layout[b-biintr2cbi] {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 18px;
    align-items: start;
}

@media (max-width: 1100px) {
    .ish-sfc-layout[b-biintr2cbi] {
        grid-template-columns: 1fr;
    }
}

.ish-sfc-sidebar[b-biintr2cbi] {
    position: sticky;
    top: calc(var(--ish-topbar-h) + 18px);
    max-height: 77vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 0;
}

.ish-sfc-main[b-biintr2cbi] {
    min-width: 0;
}

/* This list never expands, so drop the chevron column the global .ish-st-row
   reserves and add a selected ("is-active") treatment the menus don't define.
   The compound selector outranks the global `.ish-page .ish-st-row` rule. */
.ish-sfc-sidebar .ish-st-row[b-biintr2cbi] {
    grid-template-columns: 32px 1fr;
    cursor: pointer;
}

.ish-sfc-sidebar .ish-st-row.is-active[b-biintr2cbi] {
    background: var(--ucpm-success-soft);
    font-weight: 600;
}

.ish-sfc-sidebar .ish-st-row.is-active .ish-st-row__pin[b-biintr2cbi] {
    background: var(--ucpm-deep-sea);
    color: #fff;
    border-color: var(--ucpm-deep-sea);
}

/* ---------- Detail card: header + tabs + body ---------- */
.ish-sfc-card[b-biintr2cbi] {
    padding: 0;
    overflow: hidden;
}

.ish-sfc-head[b-biintr2cbi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 22px;
    border-bottom: 1px solid var(--ucpm-divider);
    background: linear-gradient(135deg, #F1F4F0 0%, #E8EFE8 60%, #DEEAE0 100%);
}

.ish-sfc-head__title[b-biintr2cbi] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.ish-sfc-head__pin[b-biintr2cbi] {
    width: 46px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--ucpm-deep-sea);
    color: #fff;
    border-radius: var(--ucpm-radius-md);
    font-family: var(--ucpm-font-display);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
}

.ish-sfc-head__name[b-biintr2cbi] {
    font-family: var(--ucpm-font-display);
    font-size: 17px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
    line-height: 1.2;
    letter-spacing: -.005em;
}

.ish-sfc-head__actions[b-biintr2cbi] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.ish-sfc-saved[b-biintr2cbi] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ucpm-brand-teal);
}

.ish-sfc-tabs[b-biintr2cbi] {
    display: flex;
    gap: 0;
    padding: 0 10px;
    border-bottom: 1px solid var(--ucpm-divider);
    background: #fff;
}

.ish-sfc-tab[b-biintr2cbi] {
    padding: 13px 16px;
    font-family: var(--ucpm-font-display);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--ucpm-fg3);
    border-bottom: 2px solid transparent;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: -1px;
    cursor: pointer;
}

.ish-sfc-tab.is-active[b-biintr2cbi] {
    color: var(--ucpm-brand-teal);
    border-color: var(--ucpm-brand-teal);
}

.ish-sfc-body[b-biintr2cbi] {
    padding: 20px 22px 24px;
}

.ish-sfc-stack[b-biintr2cbi] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
/* /Components/Pages/StateFilingConfigPage/TaxInfoTab.razor.rz.scp.css */
/* TaxInfoTab — component-scoped styling. Recreates the Surplus Lines Solutions
   "Tax Information" design on the app's --ucpm-* tokens; reuses global .ish-*
   atoms (.ish-tb-btn, .ish-badge, .ish-empty, .ish-icon-btn-sm,
   .ish-confirm-modal__*). Nothing here touches the global stylesheet. */

.tax-pane[b-symovarhnd] { min-width: 0; }
.tax-empty__icon[b-symovarhnd] { background: var(--ucpm-success-soft); color: var(--ucpm-brand-teal); }

/* ---------------- Head ---------------- */
.tax-head[b-symovarhnd] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.tax-head__name[b-symovarhnd] {
    font-family: var(--ucpm-font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
    display: flex;
    align-items: center;
    gap: 9px;
}
.tax-head__name .bi[b-symovarhnd] { color: var(--ucpm-brand-teal); font-size: 16px; }
.tax-head__sub[b-symovarhnd] { font-size: 12px; color: var(--ucpm-fg3); margin-top: 4px; }
.tax-head__tools[b-symovarhnd] { display: flex; align-items: center; gap: 14px; }

.tax-histtoggle[b-symovarhnd] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    user-select: none;
    padding: 6px 12px;
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    background: #fff;
}
.tax-histtoggle .lab[b-symovarhnd] {
    font-size: 12px;
    font-weight: 600;
    color: var(--ucpm-fg2);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.tax-histtoggle .lab .bi[b-symovarhnd] { color: var(--ucpm-fg3); }
.tax-histtoggle.is-disabled[b-symovarhnd] { opacity: .5; cursor: not-allowed; }

/* Teal primary button (extends the global .ish-tb-btn — boosted specificity so
   it beats `.ish-page .ish-tb-btn`). */
.ish-tb-btn.tax-btn--teal[b-symovarhnd] {
    background: var(--ucpm-brand-teal);
    border-color: var(--ucpm-brand-teal);
    color: #fff;
}
.ish-tb-btn.tax-btn--teal:hover[b-symovarhnd] {
    background: #007275;
    border-color: #007275;
    color: #fff;
}

/* ---------------- Toggle switch ---------------- */
.tax-switch[b-symovarhnd] {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 38px;
    height: 22px;
    flex: 0 0 auto;
}
.tax-switch input[b-symovarhnd] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}
.tax-switch__slider[b-symovarhnd] {
    position: absolute;
    inset: 0;
    background: var(--ucpm-ink-200);
    border-radius: 999px;
    transition: background var(--ucpm-motion-fast);
}
.tax-switch__slider[b-symovarhnd]::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
    transition: transform var(--ucpm-motion-base);
}
.tax-switch input:checked + .tax-switch__slider[b-symovarhnd] { background: var(--ucpm-brand-teal); }
.tax-switch input:checked + .tax-switch__slider[b-symovarhnd]::after { transform: translateX(16px); }
.tax-switch input:disabled + .tax-switch__slider[b-symovarhnd] { opacity: .5; }

.tax-switch-inline[b-symovarhnd] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ucpm-fg2);
}

/* ---------------- Table ---------------- */
.tax-table-wrap[b-symovarhnd] {
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-md);
    overflow: hidden;
}
.tax-table[b-symovarhnd] {
    width: 100%;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    margin: 0;
}
/* Compact header — overrides the global `.ish-page table thead tr th` !important
   rule (this scoped selector carries higher specificity among !important decls). */
.tax-table thead th[b-symovarhnd] {
    background: var(--ucpm-ink-025) !important;
    background-color: var(--ucpm-ink-025) !important;
    color: var(--ucpm-fg3) !important;
    font-family: var(--ucpm-font-sans) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    padding: 10px 11px !important;
    text-align: left;
    border-bottom: 1px solid var(--ucpm-divider) !important;
    border-top: 0 !important;
    white-space: normal;
    vertical-align: bottom;
    line-height: 1.25;
}
.tax-table tbody td[b-symovarhnd] {
    padding: 11px;
    border-bottom: 1px solid var(--ucpm-divider);
    color: var(--ucpm-fg2);
    vertical-align: middle;
    white-space: nowrap;
}
.tax-table tbody tr:last-child td[b-symovarhnd] { border-bottom: 0; }
/* Type + Description may wrap; everything else (rate / min / max / basis /
   effective / actions) stays on one line so the right side never crumples. */
.tax-table td:first-child[b-symovarhnd],
.tax-table td:nth-child(2)[b-symovarhnd] { white-space: normal; }
.tax-table .cell-right[b-symovarhnd] { text-align: right; }
.tax-tr:hover td[b-symovarhnd] { background: var(--ucpm-ink-025); }

.tax-badge[b-symovarhnd] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--ucpm-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .02em;
    padding: 3px 9px;
    border-radius: 999px;
    white-space: nowrap;
    line-height: 1.3;
}
.tax-badge .bi[b-symovarhnd] { font-size: 11px; opacity: .85; flex: 0 0 auto; }
.tax-badge.is-tax[b-symovarhnd] { background: var(--ucpm-info-soft); color: var(--ucpm-info); }
.tax-badge.is-fee[b-symovarhnd] { background: #EEF6D7; color: #4E6B12; }

.td-desc[b-symovarhnd] {
    font-weight: 600;
    color: var(--ucpm-deep-navy);
    font-size: 13px;
    line-height: 1.35;
}
.td-desc__sub[b-symovarhnd] {
    font-size: 11px;
    color: var(--ucpm-fg3);
    margin-top: 3px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.td-desc__sub .bi[b-symovarhnd] { font-size: 10px; }

.tax-rate[b-symovarhnd] {
    font-family: var(--ucpm-font-mono);
    font-variant-numeric: tabular-nums;
    font-size: 13px;
    font-weight: 600;
}
.tax-rate.is-pct[b-symovarhnd] { color: var(--ucpm-info); }
.tax-rate.is-flat[b-symovarhnd] { color: var(--ucpm-deep-navy); }
.tax-rate.is-none[b-symovarhnd] { color: var(--ucpm-ink-300); font-weight: 400; }
.cell-muted[b-symovarhnd] { color: var(--ucpm-fg3); }

.tax-basis[b-symovarhnd] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 9px;
    border-radius: 10px;
    background: var(--ucpm-ink-050);
    color: var(--ucpm-fg2);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    white-space: nowrap;
}
.tax-basis .bi[b-symovarhnd] { font-size: 11px; color: var(--ucpm-brand-teal); flex: 0 0 auto; }

.tax-effdate[b-symovarhnd] { font-size: 12.5px; color: var(--ucpm-fg2); font-weight: 500; }
.tax-expbadge[b-symovarhnd] { font-size: 10.5px; white-space: normal; line-height: 1.3; }
.tax-expbadge .bi[b-symovarhnd] { font-size: 10px; }

/* History separator + expired rows */
.tax-sep td[b-symovarhnd] {
    background: var(--ucpm-ink-025);
    padding: 7px 14px;
    border-bottom: 1px solid var(--ucpm-divider);
}
.tax-sep span[b-symovarhnd] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ucpm-fg3);
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.tax-sep .bi[b-symovarhnd] { font-size: 12px; }
.tax-tr.is-expired td[b-symovarhnd] { background: var(--ucpm-ink-025); }
.tax-tr.is-expired .td-desc[b-symovarhnd] { color: var(--ucpm-ink-400); font-weight: 500; }
.tax-tr.is-expired .tax-rate[b-symovarhnd] {
    color: var(--ucpm-ink-400);
    text-decoration: line-through;
    text-decoration-color: var(--ucpm-ink-200);
}
.tax-tr.is-expired .tax-basis[b-symovarhnd] { opacity: .7; }
.tax-tr.is-expired:hover td[b-symovarhnd] { background: var(--ucpm-ink-050); }

/* ---------------- Drawer body content ----------------
   The drawer shell (scrim / panel / header / body / footer + slide-in) now lives
   in the reusable Components/Shared/SideDrawer.razor.css. The rules below style
   only the tax-specific *content* rendered inside the drawer body. */
.tax-vernote[b-symovarhnd] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 11px 14px;
    margin: 14px 0 2px;
    background: var(--ucpm-warning-soft);
    border: 1px solid #F7CE7F;
    border-radius: var(--ucpm-radius-sm);
    font-size: 12px;
    color: #7A2E0E;
    line-height: 1.5;
}
.tax-vernote .bi[b-symovarhnd] { font-size: 15px; margin-top: 1px; flex: 0 0 auto; color: var(--ucpm-warning); }

/* Drawer sections */
.txd-sec[b-symovarhnd] { padding: 18px 0; border-bottom: 1px solid var(--ucpm-divider); }
.txd-sec:last-child[b-symovarhnd] { border-bottom: 0; }
.txd-sec__head[b-symovarhnd] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--ucpm-font-display);
    font-size: 13px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
    letter-spacing: .02em;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.txd-sec__head .num[b-symovarhnd] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ucpm-deep-sea);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 11px;
    font-family: var(--ucpm-font-sans);
    font-weight: 700;
    letter-spacing: 0;
}

.txd-grid[b-symovarhnd] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .txd-grid[b-symovarhnd] { grid-template-columns: 1fr; } }
.txd-fld[b-symovarhnd] { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.txd-fld--full[b-symovarhnd] { grid-column: 1 / -1; }
.txd-fld--switchline[b-symovarhnd] { justify-content: flex-end; }
.txd-fld--emph[b-symovarhnd] {
    background: var(--ucpm-mint);
    border: 1px solid #BCDDD1;
    border-radius: var(--ucpm-radius-md);
    padding: 14px;
}

.txd-label[b-symovarhnd] {
    font-size: 12px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.txd-label .req[b-symovarhnd] { color: var(--ucpm-danger); }
.txd-label .opt[b-symovarhnd] { color: var(--ucpm-fg3); font-weight: 400; font-size: 11px; }
.txd-label .emph-flag[b-symovarhnd] {
    margin-left: auto;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ucpm-brand-teal);
}

.txd-ctl[b-symovarhnd] {
    width: 100%;
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    background: #fff;
    padding: 8px 11px;
    font-family: var(--ucpm-font-sans);
    font-size: 13px;
    color: var(--ucpm-deep-navy);
    line-height: 1.4;
    transition: border-color var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast);
}
.txd-ctl:focus[b-symovarhnd] {
    outline: none;
    border-color: var(--ucpm-brand-teal);
    box-shadow: 0 0 0 3px rgba(0, 134, 135, .12);
}
select.txd-ctl[b-symovarhnd] {
    appearance: none;
    cursor: pointer;
    padding-right: 30px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%236c757d' d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}
textarea.txd-ctl[b-symovarhnd] { min-height: 60px; resize: vertical; line-height: 1.5; }
.txd-ctl--emph[b-symovarhnd] { border-color: #9CCFCF; font-weight: 600; color: var(--ucpm-deep-navy); }

.txd-affix[b-symovarhnd] {
    display: inline-flex;
    align-items: stretch;
    width: 100%;
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    overflow: hidden;
    background: #fff;
}
.txd-affix:focus-within[b-symovarhnd] {
    border-color: var(--ucpm-brand-teal);
    box-shadow: 0 0 0 3px rgba(0, 134, 135, .12);
}
.txd-affix input[b-symovarhnd] {
    border: 0;
    outline: none;
    background: transparent;
    padding: 8px 11px;
    font: inherit;
    font-size: 13px;
    width: 100%;
    min-width: 0;
    color: var(--ucpm-deep-navy);
}
.txd-affix__pre[b-symovarhnd],
.txd-affix__suf[b-symovarhnd] {
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    background: var(--ucpm-ink-025);
    color: var(--ucpm-fg3);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.txd-affix__pre[b-symovarhnd] { border-right: 1px solid var(--ucpm-divider); }
.txd-affix__suf[b-symovarhnd] { border-left: 1px solid var(--ucpm-divider); }
.txd-affix.is-disabled[b-symovarhnd] { background: var(--ucpm-ink-025); opacity: .6; }

.txd-mode[b-symovarhnd] {
    display: inline-flex;
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    overflow: hidden;
    background: #fff;
}
.txd-mode__opt[b-symovarhnd] {
    border: 0;
    background: transparent;
    padding: 7px 16px;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ucpm-fg2);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-right: 1px solid var(--ucpm-divider);
}
.txd-mode__opt:last-child[b-symovarhnd] { border-right: 0; }
.txd-mode__opt .bi[b-symovarhnd] { font-size: 12px; }
.txd-mode__opt.is-active[b-symovarhnd] { background: var(--ucpm-deep-sea); color: #fff; }

.txd-switchfield[b-symovarhnd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-sm);
    background: var(--ucpm-ink-025);
}
.txd-switchfield__txt .lab[b-symovarhnd] { font-size: 13px; font-weight: 600; color: var(--ucpm-deep-navy); }
.txd-switchfield__txt .hint[b-symovarhnd] { font-size: 11.5px; color: var(--ucpm-fg3); margin-top: 2px; line-height: 1.4; }

.txd-rofield[b-symovarhnd] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border: 1px dashed var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    background: var(--ucpm-ink-025);
    font-size: 13px;
    font-weight: 600;
    color: var(--ucpm-brand-teal);
}
.txd-rofield .bi[b-symovarhnd] { font-size: 14px; }
.txd-rofield .hint[b-symovarhnd] { font-weight: 400; color: var(--ucpm-fg3); font-size: 11.5px; }

.txd-hint[b-symovarhnd] { font-size: 11.5px; color: var(--ucpm-fg3); line-height: 1.45; margin-top: 2px; }
/* /Components/Pages/StateFilingPage/StateFilingPage.razor.rz.scp.css */
/* StateFilingPage — modern 2-col layout (mirrors Licensing) + folders
   dropdown. Migrated from wwwroot/css/ish-design.css under Phase 3 of
   the global-CSS-to-scoped migration. */

/* ---------- Page layout ---------- */
.ish-sf-layout[b-q7gfp0pbvg] {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 18px;
  align-items: start;
}
@media (max-width: 1100px) {
  .ish-sf-layout[b-q7gfp0pbvg] { grid-template-columns: 1fr; }
}
.ish-sf-sidebar[b-q7gfp0pbvg] {
  position: sticky;
  top: calc(var(--ish-topbar-h) + 18px);
  max-height: 77vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0;
}
.ish-sf-main[b-q7gfp0pbvg] { min-width: 0; }

/* ---------- Detail card header (mirrors .ish-lc-head) ---------- */
/* overflow:visible (overriding the global .ish-card) so the Folders dropdown
   rendered by Popper inside the header isn't clipped; the header re-establishes
   the card's rounded top corners explicitly. */
.ish-sf-card[b-q7gfp0pbvg] { padding: 0; overflow: visible; }
.ish-sf-head[b-q7gfp0pbvg] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--ucpm-divider);
  background: linear-gradient(135deg, #F1F4F0 0%, #E8EFE8 60%, #DEEAE0 100%);
  border-top-left-radius: var(--ucpm-radius-lg);
  border-top-right-radius: var(--ucpm-radius-lg);
}
.ish-sf-head__title[b-q7gfp0pbvg] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-family: var(--ucpm-font-display);
  font-size: 16.5px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
  line-height: 1.25;
  letter-spacing: -.005em;
}
.ish-sf-head__title h6[b-q7gfp0pbvg],
.ish-sf-head__title .h6[b-q7gfp0pbvg] {
  margin: 0;
  font-family: var(--ucpm-font-display);
  font-size: 16.5px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
}
.ish-sf-head__title .bi[b-q7gfp0pbvg] { color: var(--ucpm-brand-teal); }

/* ---------- Detail-header breadcrumb (clickable ancestors) ----------
   Renders the requirement → year → instance trail. Ancestor crumbs are
   <button>s that jump straight to that level (reusing the up-folder handler),
   so a user can skip back to a grandparent in one click instead of stepping
   up one folder at a time. The deepest crumb is the current level: bold and
   non-interactive. */
.ish-sf-crumbs[b-q7gfp0pbvg] {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  min-width: 0;
}
/* .bi.<class> compound outranks the teal `.ish-sf-head__title .bi` rule above. */
.ish-sf-head__title .bi.ish-sf-crumbs__folder[b-q7gfp0pbvg] { color: var(--ucpm-fg3); margin-right: 4px; }
.ish-sf-head__title .bi.ish-sf-crumbs__sep[b-q7gfp0pbvg] { color: var(--ucpm-ink-300); font-size: 13px; }
.ish-sf-crumb[b-q7gfp0pbvg] {
  font-family: inherit;
  font-size: inherit;
  line-height: 1.25;
  letter-spacing: inherit;
  padding: 2px 5px;
  border: 0;
  background: transparent;
  border-radius: var(--ucpm-radius-sm);
}
.ish-sf-crumb.is-current[b-q7gfp0pbvg] {
  color: var(--ucpm-deep-navy);
  font-weight: 600;
  cursor: default;
}
.ish-sf-crumb--link[b-q7gfp0pbvg] {
  color: var(--ucpm-fg3);
  font-weight: 500;
  cursor: pointer;
  transition: color var(--ucpm-motion-fast), background var(--ucpm-motion-fast);
}
.ish-sf-crumb--link:hover[b-q7gfp0pbvg],
.ish-sf-crumb--link:focus-visible[b-q7gfp0pbvg] {
  color: var(--ucpm-brand-teal);
  background: rgba(0, 134, 135, .08);
  text-decoration: underline;
  outline: none;
}
.ish-sf-crumbs__state[b-q7gfp0pbvg] {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 11.5px;
  color: var(--ucpm-fg3);
  white-space: nowrap;
}
.ish-sf-head__actions[b-q7gfp0pbvg] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}
.ish-sf-body[b-q7gfp0pbvg] { padding: 0; }
/* overflow visible so the ActivityCenter row-action / status dropdowns can spill
   below a short card instead of being clipped — the same fix as .ish-lc-tabs-card
   on Licensing. Safe: the inner .nav-tabs (rounded top) and .tab-content (rounded
   bottom) already self-round to the card radius. (Mirrors .ish-sf-card above,
   which dropped the clip for the Folders dropdown.) */
.ish-sf-tabs-card[b-q7gfp0pbvg] { margin-top: 18px; padding: 0; overflow: visible; }

/* ---------- Folders dropdown (multi-select template picker) ---------- */
.ish-sf-dd[b-q7gfp0pbvg] {
  min-width: 320px;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-md);
  box-shadow: var(--ucpm-shadow-card);
  padding: 4px;
}
.ish-sf-dd__inner[b-q7gfp0pbvg] { display: flex; flex-direction: column; gap: 4px; }
.ish-sf-dd__search[b-q7gfp0pbvg] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  background: var(--ucpm-ink-025);
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-sm);
  margin: 4px;
}
.ish-sf-dd__search .bi[b-q7gfp0pbvg] { color: var(--ucpm-fg3); font-size: 13px; }
.ish-sf-dd__search input.form-control[b-q7gfp0pbvg] {
  border: 0;
  padding: 0;
  background: transparent;
  height: auto;
  font-size: 13px;
  flex: 1;
  min-width: 0;
}
.ish-sf-dd__search input.form-control:focus[b-q7gfp0pbvg] {
  outline: none;
  box-shadow: none;
}
.ish-sf-dd__list[b-q7gfp0pbvg] {
  max-height: 320px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 4px 4px 12px;
}
.ish-sf-dd__item[b-q7gfp0pbvg] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: var(--ucpm-radius-sm);
  cursor: pointer;
  font-size: 13px;
  color: var(--ucpm-deep-navy);
  margin: 0;
}
.ish-sf-dd__item:hover[b-q7gfp0pbvg] { background: var(--ucpm-surface-warm); }
.ish-sf-dd__item-text[b-q7gfp0pbvg] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.ish-sf-dd__item-text .bi[b-q7gfp0pbvg] { color: var(--ucpm-brand-teal); }
.ish-sf-dd__item-text.is-selected[b-q7gfp0pbvg] {
  color: var(--ucpm-fg3);
  text-decoration: line-through;
}
.ish-sf-dd__item-text.is-selected .bi[b-q7gfp0pbvg] { color: var(--ucpm-fg3); }
/* /Components/Pages/StateFilingPage/SurplusLinesFolderChildTemplateDropdown.razor.rz.scp.css */
/* SurplusLinesFolderChildTemplateDropdown — "Add Folder" dropdown above
   the folder tree. Migrated from wwwroot/css/ish-design.css under Phase 3
   of the global-CSS-to-scoped migration. */

.ish-add-folder[b-h6a41lyewk] { position: relative; }
.ish-add-folder .ish-tb-btn--primary[b-h6a41lyewk] { height: 32px; }
.ish-add-folder__menu.dropdown-menu[b-h6a41lyewk] {
  min-width: 240px;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-md);
  box-shadow: var(--ucpm-shadow-card);
  padding: 4px;
  margin-top: 4px;
}
.ish-add-folder__menu .dropdown-item[b-h6a41lyewk] {
  padding: 8px 12px;
  border-radius: var(--ucpm-radius-sm);
  color: var(--ucpm-deep-navy);
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.ish-add-folder__menu .dropdown-item:hover[b-h6a41lyewk],
.ish-add-folder__menu .dropdown-item:focus[b-h6a41lyewk] {
  background: var(--ucpm-surface-warm);
  color: var(--ucpm-deep-navy);
}
.ish-add-folder__menu .dropdown-item.is-disabled[b-h6a41lyewk] {
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
}
.ish-add-folder__menu .dropdown-item .bi[b-h6a41lyewk] {
  color: var(--ucpm-brand-teal);
  font-size: 14px;
}
.ish-add-folder__name[b-h6a41lyewk] { flex: 1; min-width: 0; }
.ish-add-folder__name.is-selected[b-h6a41lyewk] {
  text-decoration: line-through;
  color: var(--ucpm-fg3);
}
/* /Components/Pages/StateFilingPage/SurplusLinesStateForm.razor.rz.scp.css */
/* /Components/Pages/StateFilingPage/SurplusLinesStateNotesForm.razor.rz.scp.css */
/* SurplusLinesStateNotesForm — inline edit form for state notes plus the
   amber callout block that's swapped in/out of the same slot.

   The .ish-info-notes* rules and .ish-state-notes-edit deliberately live in
   wwwroot/css/ish-design.css, NOT here: SurplusLinesStateRequirementDetail
   renders the same markup, and Blazor scoped CSS only applies to the component
   that owns the .razor.css file, so keeping them here left that component
   unstyled (#298). Add component-only styles here; shared ones go global. */
/* /Components/Pages/StateFilingPage/SurplusLinesStateRequirementDetail.razor.rz.scp.css */
/* /Components/Pages/StateFilingPage/SurplusLinesStateRequirementYearInstanceForm.razor.rz.scp.css */
/* /Components/Pages/StateFilingPage/SurplusLinesStateRequirementYearsDetails.razor.rz.scp.css */
/* /Components/Pages/Tools.razor.rz.scp.css */
/* Tools page — only the icon swatch is actually rendered.
   The rest of the original Bootstrap admin-template scaffolding
   (.feature-icon, .feature-icon-small, .text-shadow-*, .card-cover) was
   dead and removed. */
.icon-square[b-kgt7d9rp4b] {
    width: 3rem;
    height: 3rem;
    border-radius: .75rem;
}
/* /Components/Shared/ActivityCenter/ActivityCenter.razor.rz.scp.css */
/* /Components/Shared/ActivityCenter/Documents/DocsDropZone.razor.rz.scp.css */
/* Scoped CSS for DocsDropZone. The wrapper is relative-positioned so
   the absolute overlay can anchor to its full bounding box. JS toggles
   .is-dragging on the wrapper while a file is being dragged over it,
   which fades the overlay in. */

.ish-doc-dropzone[b-a6eh9yeyrh] {
  position: relative;
}
.ish-doc-dropzone.is-dragging .ish-doc-drop-overlay[b-a6eh9yeyrh] {
  opacity: 1;
  pointer-events: auto;
}
.ish-doc-drop-overlay[b-a6eh9yeyrh] {
  position: absolute; inset: 0; z-index: 40;
  background: rgba(241, 244, 240, 0.92);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 2px dashed var(--ucpm-brand-teal);
  border-radius: var(--ucpm-radius-lg);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .15s ease-out;
}
.ish-doc-drop-overlay__inner[b-a6eh9yeyrh] {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  text-align: center; padding: 24px 36px;
}
.ish-doc-drop-overlay__icon[b-a6eh9yeyrh] {
  width: 64px; height: 64px; border-radius: 50%;
  background: #fff; color: var(--ucpm-brand-teal);
  display: grid; place-items: center; font-size: 28px;
  border: 1px solid var(--ucpm-divider);
  box-shadow: 0 6px 18px rgba(0, 75, 90, .12);
  animation: ish-doc-drop-bob-b-a6eh9yeyrh 1.4s ease-in-out infinite;
}
@keyframes ish-doc-drop-bob-b-a6eh9yeyrh {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}
.ish-doc-drop-overlay__title[b-a6eh9yeyrh] {
  font-family: var(--ucpm-font-display);
  font-weight: 600; font-size: 20px;
  color: var(--ucpm-deep-navy);
  letter-spacing: -.01em;
}
.ish-doc-drop-overlay__hint[b-a6eh9yeyrh] {
  font-size: 12.5px;
  color: var(--ucpm-fg2);
}
.ish-doc-drop-overlay__hint b[b-a6eh9yeyrh] {
  color: var(--ucpm-deep-navy);
  font-weight: 600;
}
/* /Components/Shared/ActivityCenter/Documents/DocumentList.razor.rz.scp.css */
/* DocumentList — list/grid of documents with row + tile views.
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the
   global-CSS-to-scoped migration. All .ish-doc-* classes (except the
   toolbar ones, which live in DocumentsToolbar.razor.css) are owned
   exclusively by this component. */

/* ---------- Pre-existing helpers (keep) ---------- */
.strikethrough-row[b-0erc2uql4m] {
    position: relative;
}
.strikethrough-row[b-0erc2uql4m]::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    border-bottom: 1px solid #ff0000;
    transform: translateY(-50%);
    pointer-events: none;
}
.strikethrough-row td[b-0erc2uql4m] {
    position: relative;
    opacity: 0.6;
}
.ellipsis[b-0erc2uql4m] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 200px !important;
}
.icon-fs[b-0erc2uql4m] {
    font-size: 100px;
}

/* ---------- Document row (list view) ---------- */
.ish-doc-row[b-0erc2uql4m] {
  display: grid;
  grid-template-columns: 48px 1fr 160px 120px;
  gap: 14px;
  align-items: center;
  padding: 12px 18px;
  border-bottom: 1px solid var(--ucpm-divider);
  background: #fff;
  font-size: 13.5px;
  transition: background var(--ucpm-motion-fast);
}
.ish-doc-row:last-child[b-0erc2uql4m] { border-bottom: 0; }
.ish-doc-row:hover[b-0erc2uql4m] { background: var(--ucpm-ink-025); }
.ish-doc-row.is-head[b-0erc2uql4m] {
  background: var(--ucpm-ink-025);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ucpm-fg3);
  padding: 10px 18px;
}
.ish-doc-row.is-head:hover[b-0erc2uql4m] { background: var(--ucpm-ink-025); }
.ish-doc-row .ish-doc-icon[b-0erc2uql4m] {
  width: 36px; height: 44px;
  border-radius: 6px;
  display: grid; place-items: center;
  font-family: var(--ucpm-font-display);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: .04em;
  color: #fff;
  position: relative;
}
.ish-doc-row .ish-doc-icon[b-0erc2uql4m]::after {
  content: "";
  position: absolute; top: 0; right: 0;
  width: 10px; height: 10px;
  background: linear-gradient(225deg, #fff 50%, transparent 50%);
  border-radius: 0 6px 0 0;
}
.ish-doc-row .ish-doc-icon.t-pdf[b-0erc2uql4m] { background: #C0392B; }
.ish-doc-row .ish-doc-icon.t-xls[b-0erc2uql4m] { background: #1F7A3A; }
.ish-doc-row .ish-doc-icon.t-doc[b-0erc2uql4m] { background: #2A6FDB; }
.ish-doc-row .ish-doc-icon.t-img[b-0erc2uql4m] { background: #7B4DB6; }
.ish-doc-row .ish-doc-icon.t-na[b-0erc2uql4m]  { background: var(--ucpm-ink-300); }

/* ---------- Doc name + meta (list-row text column) ---------- */
.ish-doc-name[b-0erc2uql4m] {
  font-weight: 600;
  color: var(--ucpm-deep-navy);
  display: flex; align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.ish-doc-name a[b-0erc2uql4m] {
  color: var(--ucpm-deep-navy);
  text-decoration: none;
  font-weight: 600;
}
.ish-doc-name a:hover[b-0erc2uql4m] { color: var(--ucpm-brand-teal); text-decoration: underline; }
/* The file name is a <button> that routes the click through OnDocumentDownload
   (cloud_url is not browser-fetchable). Style it to look exactly like the old
   inline text link — not a form button. */
.ish-doc-name-link[b-0erc2uql4m] {
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.ish-doc-name-link:hover[b-0erc2uql4m] { text-decoration: underline; }
.ish-doc-name-link:disabled[b-0erc2uql4m] { cursor: default; }
.ish-doc-meta[b-0erc2uql4m] {
  font-size: 12px;
  color: var(--ucpm-fg3);
  margin-top: 3px;
  font-weight: 400;
}
.ish-doc-source[b-0erc2uql4m] {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: #E8E1F5;
  color: #5A3D9C;
  white-space: nowrap;
}
.ish-doc-source .bi[b-0erc2uql4m] { font-size: 11px; }
.ish-doc-source.s-up[b-0erc2uql4m] {
  background: var(--ucpm-success-soft);
  color: var(--ucpm-brand-teal);
}
.ish-doc-date[b-0erc2uql4m] {
  font-variant-numeric: tabular-nums;
  font-size: 12.5px;
  color: var(--ucpm-fg2);
}

/* ---------- Document grid (tile view) ---------- */
.ish-doc-grid[b-0erc2uql4m] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
  padding: 16px 18px;
}
.ish-doc-tile[b-0erc2uql4m] {
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-md);
  background: #fff;
  overflow: hidden;
  transition: border-color var(--ucpm-motion-fast),
              box-shadow var(--ucpm-motion-fast);
}
.ish-doc-tile:hover[b-0erc2uql4m] {
  border-color: var(--ucpm-brand-teal);
  box-shadow: var(--ucpm-shadow-tile);
}
.ish-doc-tile.is-archived[b-0erc2uql4m] { opacity: .55; }
.ish-doc-tile__link[b-0erc2uql4m] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 12px;
  text-decoration: none;
  color: var(--ucpm-deep-navy);
}
/* The tile is a <button> that routes the click through OnDocumentDownload
   (cloud_url is not browser-fetchable). Strip native button chrome so it keeps
   the tile__link layout and appearance. */
button.ish-doc-tile__link[b-0erc2uql4m] {
  width: 100%;
  border: 0;
  background: none;
  font: inherit;
  cursor: pointer;
}
button.ish-doc-tile__link:disabled[b-0erc2uql4m] { cursor: default; }
.ish-doc-tile__icon[b-0erc2uql4m] {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  color: var(--ucpm-fg3);
}
.ish-doc-tile__icon .bi[b-0erc2uql4m] { font-size: 32px; }
.ish-doc-tile__thumb[b-0erc2uql4m] {
  max-width: 100%;
  max-height: 110px;
  object-fit: cover;
  border-radius: var(--ucpm-radius-sm);
  border: 1px solid var(--ucpm-divider);
}
.ish-doc-tile__name[b-0erc2uql4m] {
  font-size: 12.5px;
  font-weight: 600;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

/* ---------- DocumentList row helpers (list view extras) ---------- */
.ish-doc-thumb-sm[b-0erc2uql4m] {
  max-height: 28px;
  max-width: 28px;
  object-fit: cover;
  margin-right: 8px;
}
.ish-doc-icon-sm[b-0erc2uql4m] {
  font-size: 22px;
  color: var(--ucpm-fg3);
  width: 28px;
  text-align: center;
  flex-shrink: 0;
}
.ish-doc-name.is-deleting[b-0erc2uql4m] {
  text-decoration: line-through;
  color: var(--ucpm-danger);
  opacity: .7;
}
.ish-doc-name-archived[b-0erc2uql4m] {
  color: var(--ucpm-fg3);
  text-decoration: line-through;
}
.ish-doc-name__edit[b-0erc2uql4m] {
  background: transparent;
  border: 0;
  padding: 0 2px;
  color: var(--ucpm-fg3);
  cursor: pointer;
  margin-left: 4px;
  font-size: 12px;
}
.ish-doc-name__edit:hover[b-0erc2uql4m] { color: var(--ucpm-brand-teal); }

/* ---------- Documents table (override site.min.css 0.85rem) ---------- */
table.ish-doc-table[b-0erc2uql4m] {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--ucpm-font-sans);
  margin: 0;
}
table.ish-doc-table thead tr th[b-0erc2uql4m],
.ish-doc-table > thead > tr > th[b-0erc2uql4m] {
  background: var(--ucpm-ink-025) !important;
  background-color: var(--ucpm-ink-025) !important;
  font-family: var(--ucpm-font-sans) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--ucpm-fg3) !important;
  padding: 12px 18px !important;
  border-bottom: 1px solid var(--ucpm-divider) !important;
  text-align: left !important;
  white-space: nowrap !important;
}
table.ish-doc-table thead th.col-when[b-0erc2uql4m] { width: 200px; text-align: left !important; }
table.ish-doc-table thead th.col-act[b-0erc2uql4m]  { width: 150px; text-align: right !important; }
table.ish-doc-table tbody tr[b-0erc2uql4m] {
  border-bottom: 1px solid var(--ucpm-divider);
  transition: background var(--ucpm-motion-fast);
}
table.ish-doc-table tbody tr:last-child[b-0erc2uql4m] { border-bottom: 0; }
/* Bootstrap 5's `.table > :not(caption) > * > *` sets border-bottom-width on every
   cell, and bootstrap-table.min.css (CDN, loaded after ish-design.css) re-asserts
   it past our shorthand reset on the row. Match the same selector shape and use
   the longhand width to neutralise it on the last row's cells. */
table.ish-doc-table > :not(caption) > tr:last-child > *[b-0erc2uql4m],
table.ish-doc-table > tbody > tr:last-child > th[b-0erc2uql4m],
table.ish-doc-table > tbody > tr:last-child > td[b-0erc2uql4m] {
  border-bottom-width: 0 !important;
}
/* Row hover highlights everything except the "Last Edit Date" column — hovering the
   action buttons (eye/download/delete) or the file name shouldn't make the date look
   clickable/selected. */
table.ish-doc-table tbody tr:hover td:not(.ish-doc-date-cell)[b-0erc2uql4m],
table.ish-doc-table tbody tr:hover th:not(.ish-doc-date-cell)[b-0erc2uql4m] {
  background: var(--ucpm-ink-025);
}
table.ish-doc-table tbody tr:hover td.ish-doc-date-cell[b-0erc2uql4m] {
  background: transparent;
}
table.ish-doc-table tbody td[b-0erc2uql4m],
table.ish-doc-table tbody th[b-0erc2uql4m] {
  padding: 14px 18px !important;
  vertical-align: middle !important;
  font-family: var(--ucpm-font-sans) !important;
  font-size: 14px !important;
  color: var(--ucpm-deep-navy);
  line-height: 1.5 !important;
  border-top: 0 !important;
  font-weight: 500;
}
table.ish-doc-table tbody th[scope="row"][b-0erc2uql4m] {
  font-weight: 500 !important;
}

/* ---------- Row action buttons (View / Download / Delete) ----------
   Wrap the three small buttons in a flex row so they don't get squished into one another
   in the narrow actions column. Only .ish-doc-actions (a real <div> in this component's
   markup) is styled here. The per-button sizing (.ish-doc-action-btn) is passed into
   BSButton via Class=, which renders the <button> as a CHILD component — so it never carries
   this component's scope id and must live in global ish-design.css (same reason
   .ish-row-actions__btn is global). */
.ish-doc-actions[b-0erc2uql4m] {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  white-space: nowrap;
}
.ish-doc-archived[b-0erc2uql4m] {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px;
  background: var(--ucpm-surface-sunken);
  color: var(--ucpm-fg2);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}
.ish-doc-archived .bi[b-0erc2uql4m] { font-size: 12px; }
/* /Components/Shared/ActivityCenter/Documents/DocumentsToolbar.razor.rz.scp.css */
/* DocumentsToolbar — search + spacer + action buttons row above the
   document list. Migrated from wwwroot/css/ish-design.css under Phase 3
   of the global-CSS-to-scoped migration. */

.ish-doc-toolbar[b-nr52cxo73h] {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--ucpm-divider);
  background: #fff;
  flex-wrap: wrap;
}
.ish-doc-toolbar__search[b-nr52cxo73h] { flex: 1; max-width: 420px; min-width: 220px; }
.ish-doc-toolbar__spacer[b-nr52cxo73h] { flex: 1; }
.ish-doc-toolbar__actions[b-nr52cxo73h] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
/* /Components/Shared/ActivityCenter/Documents/DocumentViewerModal.razor.rz.scp.css */
/* DocumentViewerModal — inline preview of pdf / xlsx / images in the Documents tab. */

/* NOTE: the .ish-doc-viewer-modal .modal-dialog / .modal-content rules that size and
   round the modal live in wwwroot/css/ish-design.css (global), NOT here. BSModal renders
   those elements, so a scoped selector here would never carry the scope id and would
   silently no-op (the modal would render at BlazorStrap's modal-xl 1140px instead of the
   intended 960px). Same trap documented in TaskFormModal.razor.css. */

.ish-doc-viewer__fileicon[b-9g42884xks] {
  font-size: 1.4rem;
  color: var(--ucpm-brand-teal, #0d9488);
}

.ish-doc-viewer__filename[b-9g42884xks] {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60ch;
}

/* The preview body holds the target element (iframe / sheet / img); the DataLoader shows
   as an overlay on top while bytes load, so the element stays in the DOM for the JS that
   fills it (getElementById must not race the render). */
.ish-doc-viewer__body[b-9g42884xks] {
  min-height: 420px;
  max-height: 70vh;
  overflow: auto;
  background: #f8f9fa;
  border-radius: var(--ucpm-radius-md, 0.5rem);
  padding: 12px;
  position: relative;
}

.ish-doc-viewer__body.is-loading[b-9g42884xks] {
  overflow: hidden;
}

.ish-doc-viewer__loader-overlay[b-9g42884xks] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(248, 249, 250, 0.85);
  z-index: 5;
}

.ish-doc-viewer__frame[b-9g42884xks] {
  width: 100%;
  height: 65vh;
  min-height: 420px;
  border: 0;
  border-radius: var(--ucpm-radius-md, 0.5rem);
  background: #fff;
}

.ish-doc-viewer__img-wrap[b-9g42884xks] {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 420px;
  padding: 8px;
}

.ish-doc-viewer__img[b-9g42884xks] {
  max-width: 100%;
  max-height: 65vh;
  object-fit: contain;
  border-radius: var(--ucpm-radius-sm, 0.25rem);
  box-shadow: var(--ucpm-shadow-tile, 0 1px 3px rgba(0,0,0,.12));
  background: #fff;
}

/* SheetJS output is a <table>; give it a little room to breathe. The <table> is injected
   at runtime by container.innerHTML = XLSX.utils.sheet_to_html(...), so it never carries a
   scope attribute. Use ::deep so the scope id lands on the .ish-doc-viewer__sheet ancestor
   (which IS in this component's markup) and the descendant half is left unscoped. */
.ish-doc-viewer__sheet[b-9g42884xks] {
  overflow: auto;
  max-height: 65vh;
}
.ish-doc-viewer__sheet[b-9g42884xks]  table {
  border-collapse: collapse;
  background: #fff;
  font-size: 13px;
  width: max-content;
  min-width: 100%;
}
.ish-doc-viewer__sheet[b-9g42884xks]  table th,
.ish-doc-viewer__sheet[b-9g42884xks]  table td {
  border: 1px solid #dee2e6;
  padding: 6px 10px;
  white-space: nowrap;
}
.ish-doc-viewer__sheet[b-9g42884xks]  table th {
  background: #f1f3f5;
  font-weight: 600;
}
/* Truncation notice appended by renderXlsx (runtime-injected, so ::deep). */
.ish-doc-viewer__sheet[b-9g42884xks]  .ish-doc-viewer__sheet-note {
  padding: 8px 10px;
  font-size: 12px;
  color: var(--ucpm-fg2);
  background: var(--ucpm-ink-025);
  border-top: 1px solid var(--ucpm-divider);
}

.ish-doc-viewer__error[b-9g42884xks],
.ish-doc-viewer__unsupported[b-9g42884xks] {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  padding: 24px;
}
/* /Components/Shared/ActivityCenter/Notes/NoteFormModal.razor.rz.scp.css */
/* /Components/Shared/ActivityCenter/Notes/NotesToolbar.razor.rz.scp.css */
/* NotesToolbar — search + spacer + action buttons row above the note list.
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the global-CSS-
   to-scoped migration.

   The .ish-notes-toolbar__actions class replaces an earlier accidental
   borrow of .ish-doc-toolbar__actions from the Documents toolbar. */

.ish-notes-toolbar[b-2v9eggr38h] {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--ucpm-divider);
  background: #fff;
  flex-wrap: wrap;
}
.ish-notes-toolbar__search[b-2v9eggr38h] { flex: 1; max-width: 420px; min-width: 220px; }
.ish-notes-toolbar__spacer[b-2v9eggr38h] { flex: 1; }
.ish-notes-toolbar__actions[b-2v9eggr38h] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
/* /Components/Shared/ActivityCenter/Tasks/TaskAttachments.razor.rz.scp.css */
/* TaskAttachments — flat attachment list inside the task modal.
   Migrated from wwwroot/css/ish-design.css under Phase 3 of the
   global-CSS-to-scoped migration. All elements are rendered directly
   by this component (no BlazorStrap wrappers). */

.ish-task-attach[b-4d2idzkfl3] {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--ucpm-divider);
}
.ish-task-attach__head[b-4d2idzkfl3] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ucpm-font-sans);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ucpm-fg3);
  margin-bottom: 12px;
}
.ish-task-attach__head > .bi[b-4d2idzkfl3] { color: var(--ucpm-brand-teal); font-size: 13px; }
.ish-task-attach__head .count[b-4d2idzkfl3] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 6px;
  background: var(--ucpm-success-soft);
  color: var(--ucpm-brand-teal);
  border-radius: 999px;
  font-size: 10.5px;
}
.ish-task-attach__list[b-4d2idzkfl3] {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-md);
  overflow: hidden;
}
.ish-task-attach__row[b-4d2idzkfl3] {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 14px;
  padding: 12px 14px;
  background: #fff;
  border-bottom: 1px solid var(--ucpm-divider);
}
.ish-task-attach__row:last-child[b-4d2idzkfl3] { border-bottom: 0; }
.ish-task-attach__row:hover[b-4d2idzkfl3] { background: var(--ucpm-ink-025); }
.ish-task-attach__icon[b-4d2idzkfl3] {
  font-size: 22px;
  color: var(--ucpm-fg3);
  align-self: start;
  margin-top: 2px;
}
.ish-task-attach__row.is-uploaded .ish-task-attach__icon[b-4d2idzkfl3] { color: var(--ucpm-brand-teal); }
.ish-task-attach__body[b-4d2idzkfl3] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.ish-task-attach__row-head[b-4d2idzkfl3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ish-task-attach__name[b-4d2idzkfl3] {
  font-family: var(--ucpm-font-sans);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ish-task-attach__rename[b-4d2idzkfl3] {
  border: 0;
  background: transparent;
  color: var(--ucpm-fg3);
  cursor: pointer;
  padding: 2px 4px;
  font-size: 11px;
  border-radius: 3px;
}
.ish-task-attach__rename:hover[b-4d2idzkfl3] { color: var(--ucpm-brand-teal); background: var(--ucpm-success-soft); }
.ish-task-attach__edit[b-4d2idzkfl3] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.ish-task-attach__edit .ish-edit-input[b-4d2idzkfl3] { height: 32px; flex: 1; min-width: 0; }
.ish-task-attach__ext[b-4d2idzkfl3] {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 8px;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 12px;
  color: var(--ucpm-fg3);
  background: var(--ucpm-ink-025);
  border: 1px solid var(--ucpm-divider);
  border-radius: var(--ucpm-radius-sm);
}
.ish-task-attach__meta[b-4d2idzkfl3] {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: var(--ucpm-fg3);
  flex-wrap: wrap;
}
.ish-task-attach__link[b-4d2idzkfl3] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--ucpm-brand-teal);
  text-decoration: none;
  font-weight: 500;
  font-size: 12.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 360px;
}
.ish-task-attach__link:hover[b-4d2idzkfl3] { text-decoration: underline; }
.ish-task-attach__date[b-4d2idzkfl3] { font-variant-numeric: tabular-nums; }
.ish-task-attach__status[b-4d2idzkfl3] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}
.ish-task-attach__status.is-uploading[b-4d2idzkfl3] { color: var(--ucpm-brand-teal); }
.ish-task-attach__status.is-pending[b-4d2idzkfl3] { color: var(--ucpm-warning); }
.ish-task-attach__shares[b-4d2idzkfl3] {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.ish-task-attach__share[b-4d2idzkfl3] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: var(--ucpm-fg2);
  cursor: pointer;
}
.ish-task-attach__share input[type="checkbox"][b-4d2idzkfl3] {
  width: 14px;
  height: 14px;
  accent-color: var(--ucpm-brand-teal);
  margin: 0;
}
.ish-task-attach__footnote[b-4d2idzkfl3] {
  margin-top: 10px;
  font-size: 12px;
  color: var(--ucpm-fg3);
  font-style: italic;
}
/* /Components/Shared/ActivityCenter/Tasks/TaskFormModal.razor.rz.scp.css */
/* TaskFormModal — BEM children of the task modal (head, title, sub,
   meta, status label, author block + avatar, body). Migrated from
   wwwroot/css/ish-design.css under Phase 3 of the global-CSS-to-scoped
   migration.

   These elements are rendered as ChildContent passed to BlazorStrap's
   <BSModalHeader> / <BSModalBody>; ChildContent inherits the parent's
   scope attribute, so plain class selectors work.

   The 5 selectors that target BlazorStrap-rendered elements
   (.ish-task-modal .modal-content / .modal-header / .modal-header
   .btn-close / .modal-body / .modal-footer) stayed in ish-design.css —
   migrating them would require ::deep on each BSModal* child component
   and is risky for too little payoff. */

.ish-task-modal__head[b-vq03e5ktk1] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 60px 16px 22px;
  min-width: 0;
}
.ish-task-modal__head-titles[b-vq03e5ktk1] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.ish-task-modal__title[b-vq03e5ktk1] {
  font-family: var(--ucpm-font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
  letter-spacing: -.005em;
  margin: 0;
  line-height: 1.2;
}
.ish-task-modal__sub[b-vq03e5ktk1] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--ucpm-fg3);
  font-weight: 600;
  letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
  font-family: var(--ucpm-font-sans);
}
.ish-task-modal__sub .bi[b-vq03e5ktk1] { font-size: 12px; opacity: .8; }
.ish-task-modal__head-meta[b-vq03e5ktk1] {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.ish-task-modal__status-label[b-vq03e5ktk1] {
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ucpm-fg3);
}
.ish-task-modal__author[b-vq03e5ktk1] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 4px 4px 12px;
  background: rgba(255, 255, 255, .85);
  border: 1px solid rgba(1, 62, 70, .08);
  border-radius: 999px;
  flex-shrink: 0;
  max-width: 280px;
  min-width: 0;
}
.ish-task-modal__author-meta[b-vq03e5ktk1] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.15;
  min-width: 0;
}
.ish-task-modal__author-label[b-vq03e5ktk1] {
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ucpm-fg3);
}
.ish-task-modal__author-name[b-vq03e5ktk1] {
  font-size: 13px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}
.ish-task-modal__author-avatar[b-vq03e5ktk1] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--ucpm-brand-teal);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  font-family: var(--ucpm-font-sans);
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  box-shadow: 0 1px 3px rgba(1, 62, 70, .15);
}
.ish-task-modal__author-avatar img[b-vq03e5ktk1] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ish-task-modal__author-avatar .bi[b-vq03e5ktk1] { font-size: 16px; }

.ish-task-modal__body[b-vq03e5ktk1] { padding: 22px 24px; }
/* Inside the task modal we already have the modal frame + body padding,
   so the edit-grid drops its border/background/padding to avoid box-in-box. */
.ish-task-modal__body .ish-edit-grid[b-vq03e5ktk1] {
  padding: 0;
  border: 0;
  background: transparent;
  gap: 18px 22px;
}

.ish-task-modal__foot[b-vq03e5ktk1] { width: 100%; }

@media (max-width: 768px) {
  .ish-task-modal__head[b-vq03e5ktk1] { flex-direction: column; align-items: flex-start; gap: 12px; padding-right: 22px; }
  .ish-task-modal__head-meta[b-vq03e5ktk1] { align-self: stretch; flex-wrap: wrap; }
}
/* /Components/Shared/ActivityCenter/Tasks/TasksToolbar.razor.rz.scp.css */
/* /Components/Shared/CopyButton.razor.rz.scp.css */
/* Shared inline copy-to-clipboard icon button — the single source for every
   copy icon in the app.

   Hidden by default (opacity:0); revealed when the host field (or its containing
   region) is hovered — the host adds a scoped rule such as
   `.ish-kv:hover ::deep .ish-copy-btn { opacity:1 }`. Also revealed on keyboard
   focus, and forced visible while the transient "Copied!" (`is-copied`) check
   state is showing.

   DRG rebrand: uses DRG neutral-400 for idle icon, navy-800 for hover text,
   neutral-100 for hover background, teal-600 for copied/active state. */
.ish-copy-btn[b-k77lx7hd02] {
  width: 24px; height: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-inline-start: 2px;
  vertical-align: middle;
  border: 0; background: transparent; color: var(--ucpm-ink-300);
  cursor: pointer; border-radius: 4px;
  opacity: 0;
  transition: opacity var(--ucpm-motion-fast),
              color var(--ucpm-motion-fast),
              background var(--ucpm-motion-fast);
  flex-shrink: 0;
}
.ish-copy-btn:hover[b-k77lx7hd02] {
  color: var(--ucpm-deep-navy);
  background: var(--ucpm-ink-100);
}
.ish-copy-btn:focus-visible[b-k77lx7hd02] {
  opacity: 1;
  outline: 2px solid var(--ucpm-brand-teal);
  outline-offset: 1px;
}
.ish-copy-btn .bi[b-k77lx7hd02] { font-size: 12px; }
.ish-copy-btn.is-copied[b-k77lx7hd02] {
  opacity: 1;
  color: var(--ucpm-deep-navy);
  background: var(--ucpm-ink-100);
}
/* /Components/Shared/EnvironmentBanner.razor.rz.scp.css */
/* Non-closable environment banner — amber, fixed top.
   --env-banner-h (the 30px this reserves in the layout) is owned by
   ish-design.css next to html.nav-is-rail, not duplicated here — see the
   ARCHITECTURE NOTE in EnvironmentBanner.razor. This file only has to keep
   the actual rendered height at or under that reserved value. */
.env-banner[b-oos59gnn6m] {
    background: linear-gradient(90deg, #F59E0B 0%, #D97706 100%);
    color: #fff;
    text-align: center;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    /* Sits deliberately above the sidebar/topbar (z-index 30/25) and below every
       overlay that can appear while it's visible: toasts (1080), the drawer
       (1045) and its scrim (1040), select menus (1060). Those overlays offset
       their own top by var(--env-banner-h, 0px) — see ish-design.css and
       SideDrawer.razor.css — instead of this banner reaching above them. */
    z-index: 35;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.env-banner-dot[b-oos59gnn6m] {
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    display: inline-block;
    animation: env-banner-pulse-b-oos59gnn6m 2s infinite;
    flex-shrink: 0;
}

@keyframes env-banner-pulse-b-oos59gnn6m {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

@media (prefers-reduced-motion: reduce) {
    .env-banner-dot[b-oos59gnn6m] { animation: none; }
}

.env-banner-text[b-oos59gnn6m] {
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.env-banner-text strong[b-oos59gnn6m] {
    font-weight: 700;
}

/* Below ~700px there isn't room for the full sentence at 13px; drop the
   trailing clause rather than let it wrap (which would grow the banner past
   the fixed --env-banner-h and start overlapping the sidebar/topbar below it —
   see MainLayout.razor.css and NavMenu.razor.css, both of which offset by
   that one fixed value). The bold environment name alone still gets the
   point across at a glance. */
@media (max-width: 700px) {
    .env-banner-detail[b-oos59gnn6m] { display: none; }
}
/* /Components/Shared/IshPagination.razor.rz.scp.css */
/* IshPagination — component-scoped. Recreates the Surplus Lines Solutions
   design `.pagination-x` on the app's --ucpm-* tokens. Design → app token map:
   --divider→--ucpm-divider, --ink-025→--ucpm-ink-025, --fg2/3→--ucpm-fg2/3,
   --brand-deep-navy→--ucpm-deep-navy, --radius-sm→--ucpm-radius-sm,
   --radius-card→--ucpm-radius-md. */

.ish-pagination[b-pcmxzqina7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 20px;
    border-top: 1px solid var(--ucpm-divider);
    background: var(--ucpm-ink-025);
    font-size: 12px;
    color: var(--ucpm-fg3);
    border-radius: 0 0 var(--ucpm-radius-md) var(--ucpm-radius-md);
}

.ish-pagination__meta[b-pcmxzqina7] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.ish-pagination__lbl[b-pcmxzqina7] { white-space: nowrap; }
.ish-pagination__showing[b-pcmxzqina7] { margin-left: 4px; white-space: nowrap; }

.ish-pagination__pages[b-pcmxzqina7] {
    display: inline-flex;
    gap: 3px;
    align-items: center;
}

/* Fixed-height, min-width pill. Min-width (not fixed width like the mock) so
   3-digit page numbers stay legible on large datasets without clipping. */
.ish-pagination__btn[b-pcmxzqina7] {
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-sm);
    background: #fff;
    color: var(--ucpm-fg2);
    font-size: 12px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
    transition: background var(--ucpm-motion-fast), color var(--ucpm-motion-fast), border-color var(--ucpm-motion-fast);
}
.ish-pagination__btn:hover:not([disabled])[b-pcmxzqina7] {
    background: var(--ucpm-ink-025);
    color: var(--ucpm-deep-navy);
}
.ish-pagination__btn[disabled][b-pcmxzqina7] { opacity: .4; cursor: not-allowed; }
.ish-pagination__btn.is-active[b-pcmxzqina7],
.ish-pagination__btn.is-active:hover[b-pcmxzqina7] {
    background: var(--ucpm-deep-navy);
    color: #fff;
    border-color: var(--ucpm-deep-navy);
}
/* /Components/Shared/IshSelect.razor.rz.scp.css */
/* IshSelect — reusable custom dropdown. Component-scoped; uses global --ucpm-*
   tokens. Trigger mirrors the app's form-control look; the menu mirrors the
   .ish-filter-select__menu treatment (teal-check on the selected option). */

.ish-sel[b-rwonqkp1yb] { position: relative; width: 100%; }

.ish-sel__btn[b-rwonqkp1yb] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 38px;
    padding: 7px 11px;
    background: #fff;
    border: 1px solid var(--ucpm-divider-strong);
    border-radius: var(--ucpm-radius-sm);
    font-family: var(--ucpm-font-sans);
    font-size: 13px;
    color: var(--ucpm-deep-navy);
    cursor: pointer;
    text-align: left;
    transition: border-color var(--ucpm-motion-fast), box-shadow var(--ucpm-motion-fast);
}
.ish-sel__btn:hover[b-rwonqkp1yb] { border-color: var(--ucpm-fg3); }
.ish-sel__btn.is-open[b-rwonqkp1yb],
.ish-sel__btn:focus-visible[b-rwonqkp1yb] {
    outline: none;
    border-color: var(--ucpm-brand-teal);
    box-shadow: 0 0 0 3px rgba(0, 134, 135, .12);
}
.ish-sel.is-disabled .ish-sel__btn[b-rwonqkp1yb],
.ish-sel__btn:disabled[b-rwonqkp1yb] {
    background: var(--ucpm-ink-025);
    color: var(--ucpm-fg3);
    cursor: not-allowed;
    opacity: .7;
}
.ish-sel__val[b-rwonqkp1yb] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ish-sel__chev[b-rwonqkp1yb] {
    color: var(--ucpm-fg3);
    font-size: 11px;
    flex: 0 0 auto;
    transition: transform var(--ucpm-motion-fast);
}
.ish-sel__btn.is-open .ish-sel__chev[b-rwonqkp1yb] { transform: rotate(180deg); color: var(--ucpm-brand-teal); }

/* Menu — position/top/left/min-width are set by ishSelect.js (fixed). Starts
   off-screen so it doesn't flash at its in-flow position before JS runs. */
.ish-sel__menu[b-rwonqkp1yb] {
    position: fixed;
    top: -9999px;
    left: -9999px;
    z-index: 1060;
    margin: 0;
    padding: 4px;
    list-style: none;
    background: #fff;
    border: 1px solid var(--ucpm-divider);
    border-radius: var(--ucpm-radius-md);
    box-shadow: var(--ucpm-shadow-float);
    max-height: 320px;
    overflow-y: auto;
    outline: none;
}
.ish-sel__opt[b-rwonqkp1yb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border-radius: var(--ucpm-radius-sm);
    font-size: 13px;
    color: var(--ucpm-deep-navy);
    cursor: pointer;
}
.ish-sel__opt-label[b-rwonqkp1yb] { flex: 1; min-width: 0; }
.ish-sel__opt-check[b-rwonqkp1yb] { color: var(--ucpm-brand-teal); font-size: 14px; flex: 0 0 auto; }
.ish-sel__opt:hover[b-rwonqkp1yb] { background: var(--ucpm-surface-sunken); }
.ish-sel__opt.is-highlight[b-rwonqkp1yb] { background: var(--ucpm-surface-sunken); }
/* Selected: teal text + faint teal tint always — uniform with .ish-filter-select. */
.ish-sel__opt.is-selected[b-rwonqkp1yb] { color: var(--ucpm-brand-teal); font-weight: 600; background: var(--ucpm-success-soft); }
.ish-sel__opt.is-selected.is-highlight[b-rwonqkp1yb],
.ish-sel__opt.is-selected:hover[b-rwonqkp1yb] { background: var(--ucpm-success-soft); }
/* /Components/Shared/SideDrawer.razor.rz.scp.css */
/* SideDrawer — reusable right-side offcanvas shell. Component-scoped; uses the
   global --ucpm-* tokens. The body scrolls; header + footer stay pinned. */

.ish-drawer-scrim[b-o9bkvwj3rz] {
    position: fixed;
    inset: 0;
    background: rgba(2, 44, 50, .42);
    z-index: 1040;
    animation: ish-drawer-fade-b-o9bkvwj3rz .18s ease;
}

.ish-drawer[b-o9bkvwj3rz] {
    /* Offset below the env banner (non-prod only) so the drawer's header
       isn't covered by the banner's fixed 0-30px band. */
    position: fixed;
    top: var(--env-banner-h, 0px);
    right: 0;
    height: calc(100% - var(--env-banner-h, 0px));
    max-width: 94vw;
    background: #fff;
    display: flex;
    flex-direction: column;
    box-shadow: -10px 0 40px rgba(1, 42, 46, .18);
    z-index: 1045;
    animation: ish-drawer-slide-b-o9bkvwj3rz .28s var(--ucpm-ease);
}

@media (max-width: 640px) {
    .ish-drawer[b-o9bkvwj3rz] { width: 100% !important; max-width: 100%; }
}

.ish-drawer__head[b-o9bkvwj3rz] {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--ucpm-divider);
    flex: 0 0 auto;
}
.ish-drawer__ico[b-o9bkvwj3rz] {
    width: 38px;
    height: 38px;
    border-radius: var(--ucpm-radius-sm);
    background: var(--ucpm-success-soft);
    color: var(--ucpm-brand-teal);
    display: grid;
    place-items: center;
    font-size: 18px;
    flex: 0 0 auto;
}
.ish-drawer__titles[b-o9bkvwj3rz] { min-width: 0; }
.ish-drawer__titles h3[b-o9bkvwj3rz] {
    font-family: var(--ucpm-font-display);
    font-size: 17px;
    font-weight: 600;
    color: var(--ucpm-deep-navy);
    margin: 0;
    line-height: 1.2;
}
.ish-drawer__titles .sub[b-o9bkvwj3rz] { font-size: 12px; color: var(--ucpm-fg3); margin-top: 3px; }
.ish-drawer__x[b-o9bkvwj3rz] {
    margin-left: auto;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: var(--ucpm-fg3);
    cursor: pointer;
    border-radius: var(--ucpm-radius-sm);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.ish-drawer__x:hover[b-o9bkvwj3rz] { background: var(--ucpm-ink-050); color: var(--ucpm-deep-navy); }

.ish-drawer__body[b-o9bkvwj3rz] {
    flex: 1;
    overflow: auto;
    padding: 6px 22px 10px;
}
.ish-drawer__foot[b-o9bkvwj3rz] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 22px;
    border-top: 1px solid var(--ucpm-divider);
    background: var(--ucpm-ink-025);
    flex: 0 0 auto;
}

@keyframes ish-drawer-fade-b-o9bkvwj3rz { from { opacity: 0; } to { opacity: 1; } }
@keyframes ish-drawer-slide-b-o9bkvwj3rz { from { transform: translateX(100%); } to { transform: translateX(0); } }
