@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: var(--ish-topbar-h);
  min-height: 100vh;
  transition: margin-left var(--ish-nav-motion) var(--ucpm-ease);
}
@media (max-width: 768px) {
  .ish-app__main[b-w0vy9xjarc] { margin-left: 0; }
}
/* /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: 0; bottom: 0;
  width: var(--ish-sidebar-w);
  background: #022C32;
  color: #C8DCDB;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #01272C;
  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: 12px;
  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: 28px;
  filter: brightness(0) invert(1);
  opacity: .95;
  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; }
/* Trim the lockup slightly (vs the shared 28px) so the stacked wordmark + the
   top-right corner toggle both fit the 268px sidebar without crowding. The rail
   diamond mark keeps the full 28px. */
.ish-sidebar__brand .ish-sidebar__brand-full[b-zk76mnva0v] { height: 26px; }
.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. */
  overflow: hidden;
  white-space: nowrap;
  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: 15.5px;
  line-height: 1.12;
  letter-spacing: 0;
}
.ish-sidebar__brand-sub[b-zk76mnva0v] {
  font-family: var(--ucpm-font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7AA293;
  margin-top: 2px;
}

/* 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: #6D8A88;
  /* 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: #B7CECD;
  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(0, 134, 135, 0.2);
  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-lime);
  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: #7AA293;
  /* 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: 0;
  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: #7E9D9C; 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; }
}
/* /Components/Loadings/Spinner.razor.rz.scp.css */
/* /Components/Modals/ConfirmModal.razor.rz.scp.css */
/* /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; }
/* /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;
}
.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-bottom: 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] {
  width: 96px; height: 96px; border-radius: 16px;
  background: linear-gradient(135deg, #F1F4F0 0%, #E3EEE6 60%, #D4E3D8 100%);
  border: 1px solid #BCDDD1;
  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;
}
.ish-agency__logo img[b-rrnbruwnsd] { max-width: 100%; max-height: 100%; object-fit: contain; }
.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;
  gap: 24px;
  align-items: start;
  padding: 18px 20px;
  min-height: 132px;
}
.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;
}
/* /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, #013E46);
  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-lime, #A9CF38);
  color: var(--ucpm-deep-sea, #013E46);
  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(0,134,135,.12);
}
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(0,134,135,.12);
}
.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(181,71,8,.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: #953a06; }

/* ---------- 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, #F1F4F0 0%, #E8EFE8 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 + 11-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; 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;
}
/* 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, #F1F4F0 0%, #E8EFE8 100%);
  border-bottom: 1px solid var(--ucpm-divider);
}
/* /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/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); }
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/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. */

/* ---------- 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) ---------- */
.ish-lc-head__ico[b-7l0ki16fvb] {
  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__stack[b-7l0ki16fvb] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ish-lc-head__eyebrow[b-7l0ki16fvb] {
  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__class[b-7l0ki16fvb] {
  font-family: var(--ucpm-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--ucpm-fg3);
}
.ish-lc-head__num[b-7l0ki16fvb] {
  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__num b[b-7l0ki16fvb] {
  color: var(--ucpm-brand-teal);
  font-weight: 700;
  margin-left: 4px;
}
.ish-lc-head__h[b-7l0ki16fvb] {
  font-family: var(--ucpm-font-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--ucpm-deep-navy);
}
.ish-lc-head__dash[b-7l0ki16fvb] { color: var(--ucpm-ink-300); }
.ish-lc-head__placeholder[b-7l0ki16fvb] {
  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/SlTaxFiling.razor.rz.scp.css */
/* 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;
}
.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-lime); }
.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 — deep-sea fill with lime label, white value, lime sparkline. */
.ish-kpi--hero[b-cfxihv89ec] {
  background:
    linear-gradient(135deg, rgba(1,62,70,0) 40%, rgba(0,134,135,0.28) 100%),
    var(--ucpm-deep-sea);
  border-color: transparent;
  color: #FFF;
  box-shadow: 0 2px 8px rgba(1,62,70,.18);
}
.ish-kpi--hero .ish-kpi__label[b-cfxihv89ec] { color: var(--ucpm-accent-lime); }
.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-lime); }
/* 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-lime);
  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/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.
   Migrated from wwwroot/css/ish-design.css under Phase 3. */

/* Sits where the amber notes block was. */
.ish-state-notes-edit[b-ye7zhtzbp6] { margin: 14px 22px; }

/* ---------- Amber info-notes callout (matches design's .info-notes) ---------- */
.ish-info-notes[b-ye7zhtzbp6] {
  margin: 18px 22px;
  padding: 14px 16px;
  background: #FFF8E0;
  border: 1px solid #F0CC9F;
  border-radius: var(--ucpm-radius-sm);
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.ish-info-notes__icon[b-ye7zhtzbp6] {
  font-size: 22px;
  color: #C68C2A;
  flex-shrink: 0;
  margin-top: 1px;
}
.ish-info-notes__body[b-ye7zhtzbp6] { flex: 1; min-width: 0; }
.ish-info-notes__lab[b-ye7zhtzbp6] {
  font-family: var(--ucpm-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #A05A18;
  margin-bottom: 6px;
}
.ish-info-notes__list[b-ye7zhtzbp6] {
  font-size: 13px;
  color: var(--ucpm-deep-navy);
  line-height: 1.7;
  font-weight: 500;
}
.ish-info-notes__list.u-muted[b-ye7zhtzbp6] {
  color: var(--ucpm-fg3);
  font-weight: 400;
}
.ish-info-notes__edit[b-ye7zhtzbp6] {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border: 1px solid #F0CC9F;
  background: #FFF;
  color: #A05A18;
  border-radius: var(--ucpm-radius-sm);
  font-family: var(--ucpm-font-sans);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .06em;
  flex-shrink: 0;
}
.ish-info-notes__edit:hover[b-ye7zhtzbp6] { background: #FFF1E0; }
.ish-info-notes__edit .bi[b-ye7zhtzbp6] { font-size: 12px; }
/* /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; }
.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);
}
.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: 130px; 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;
}
table.ish-doc-table tbody tr:hover[b-0erc2uql4m] { background: var(--ucpm-ink-025); }
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;
}
.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/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. */
.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-brand-teal);
  background: var(--ucpm-success-soft);
}
.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-brand-teal);
  background: var(--ucpm-success-soft);
}
/* /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] {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    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); } }
