:root {
  --navy: #344456;
  --royal: #3872e1;
  --sky: #63b5fb;
  --cream: #f1ede9;
  --teal: #66dad2;
  --sunset: #f3ac59;
  --red: #fb616a;
  --ink: #1f2733;
  --muted: #6b7584;
  --line: #dfe5ec;
  --table-border: #344456;
  --table-header: #dfe5ed;
  --table-header-dark: #d4dce6;
  --table-header-light: #eef1f5;
  --table-filter: #ffffff;
  --field-line: #c6d2e1;
  --field-bg: #fbfcfe;
  --surface: #ffffff;
  --surface-soft: #f7f9fb;
  --shadow: 0 10px 28px rgba(31, 39, 51, 0.08);
  --control-radius: 8px;
  --dialog-radius: 12px;
  --button-shadow: 0 2px 0 rgba(52, 68, 86, 0.22), 0 6px 14px rgba(52, 68, 86, 0.08);
  --button-shadow-pressed: 0 1px 0 rgba(52, 68, 86, 0.2), 0 2px 6px rgba(52, 68, 86, 0.08);
  --button-action-bg: #e4ddd6;
  --button-action-hover: #d8d0c8;
  --button-primary-bg: #91d0ff;
  --button-primary-hover: #a8dcff;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background: #ffffff;
  font-family: "Open Sans", "Work Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overscroll-behavior-y: none;
}

.hidden {
  display: none !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.auth-page {
  min-height: 100vh;
  background:
    linear-gradient(135deg, rgba(56, 114, 225, 0.12), rgba(102, 218, 210, 0.14)),
    #f6f9fc;
}

.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.auth-card {
  width: min(440px, 100%);
  padding: 24px;
  border: 1px solid #d8e3ef;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(31, 39, 51, 0.16);
}

.auth-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 24px;
}

.auth-brand h1 {
  margin: 0;
  color: var(--navy);
  font-size: 30px;
  line-height: 1.1;
}

.method-choice-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
}

.method-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #344456;
  border-radius: 8px;
  background: #f7f8fa;
}

.method-choice input {
  width: auto;
}

.method-choice span {
  display: grid;
  gap: 2px;
}

.method-choice small {
  color: #5d6978;
}

.recovery-method-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.recovery-method-choice {
  min-height: 52px;
  padding: 8px 10px;
}

.recovery-method-choice strong {
  font-size: 12px;
}

.recovery-method-choice small {
  font-size: 11px;
  line-height: 1.25;
  text-transform: none;
}

.auth-form {
  display: grid;
  gap: 14px;
}

.compact-recovery-form {
  gap: 10px;
}

.compact-recovery-form h2 {
  font-size: 19px;
}

.compact-recovery-form .section-note {
  margin-bottom: 0;
}

.compact-recovery-form .recaptcha-slot {
  min-height: 78px;
}

.field-error {
  color: #b34047;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: none;
}

.auth-form h2 {
  margin: 0;
  color: var(--ink);
  font-size: 20px;
}

.auth-form label {
  display: grid;
  gap: 6px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.auth-form .primary-button,
.auth-form .quiet-button {
  width: 100%;
}

.auth-message {
  min-height: 20px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.auth-message[data-tone="error"] {
  color: #b34047;
}

@media (max-height: 760px) {
  .auth-shell {
    align-items: start;
    padding: 12px;
  }

  .auth-card {
    padding: 18px;
  }

  .auth-brand {
    margin-bottom: 14px;
  }

  .auth-brand h1 {
    font-size: 26px;
  }

  .auth-form {
    gap: 10px;
  }

  .method-choice {
    padding: 8px 10px;
  }

  .auth-message {
    margin-top: 10px;
  }
}

a { color: inherit; }

button,
input,
select,
textarea {
  font: inherit;
}

button {
  border-radius: var(--control-radius);
  transition: transform 90ms ease, box-shadow 90ms ease, background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}

button:not(:disabled):active {
  transform: translateY(1px);
  box-shadow: var(--button-shadow-pressed);
}

input:not([type="radio"]):not([type="checkbox"]),
select,
textarea {
  border: 1px solid #9aa4b2;
  border-radius: var(--control-radius);
  background: var(--field-bg);
  color: var(--ink);
}

input:not([type="radio"]):not([type="checkbox"]):focus,
select:focus,
textarea:focus {
  border-color: var(--royal);
  background: #ffffff;
  outline: 3px solid rgba(56, 114, 225, 0.13);
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.app-shell {
  display: grid;
  --sidebar-width: 306px;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  min-height: 100vh;
  background: #ffffff;
}

.app-shell.collapsed {
  grid-template-columns: var(--sidebar-width, 78px) minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 6px 7px;
  background: #ffffff;
  border-right: 1px solid var(--line);
  z-index: 10;
}

.sidebar-resize-handle {
  position: absolute;
  top: 0;
  right: -4px;
  width: 8px;
  height: 100%;
  border: 0;
  background: transparent;
  cursor: col-resize;
  z-index: 12;
}

.sidebar-resize-handle::after {
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 3px;
  width: 2px;
  border-radius: 999px;
  background: transparent;
  content: "";
}

.sidebar-resize-handle:hover::after,
.resizing-sidebar .sidebar-resize-handle::after {
  background: #9db4d2;
}

.brand {
  min-height: 74px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px;
}

.brand-link {
  display: inline-grid;
  place-items: center;
  align-items: center;
  text-decoration: none;
  overflow: visible;
}

.brand img {
  display: block;
  object-fit: contain;
  object-position: center;
}

.brand-logo-full {
  width: 158px;
  max-width: 100%;
  height: auto;
  max-height: 56px;
}

.brand-logo-mark {
  display: none !important;
  position: relative;
  background: #ffffff;
  border-radius: 14px;
}

.collapsed .brand-logo-full {
  display: none !important;
}

.collapsed .brand-logo-mark {
  display: block !important;
  width: 54px;
  height: 54px;
}

.brand-logo-mark::before,
.genesis-appsuite-mark::before {
  position: absolute;
  inset: 8px;
  display: block;
  background: linear-gradient(135deg, #63d4ee 0%, #4faaf6 48%, #3975e7 100%);
  -webkit-mask: url("/admin/assets/appsuite-mark.png") center / contain no-repeat;
  mask: url("/admin/assets/appsuite-mark.png") center / contain no-repeat;
  content: "";
}

.sidebar-toggle {
  width: 34px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  cursor: pointer;
  align-self: flex-end;
  display: grid;
  place-items: center;
}

.sidebar-toggle:hover {
  border-color: #c6d2e1;
  background: #f7fbff;
}

.toggle-mark {
  position: relative;
  width: 17px;
  height: 14px;
  display: block;
  color: var(--navy);
}

.toggle-mark::before,
.toggle-mark::after {
  position: absolute;
  top: 3px;
  width: 7px;
  height: 7px;
  display: block;
  border: solid currentColor;
  border-width: 0 0 2px 2px;
  border-radius: 1px;
  transform: rotate(45deg);
  content: "";
}

.toggle-mark::before {
  left: 3px;
}

.toggle-mark::after {
  left: 8px;
}

.collapsed .toggle-mark::before,
.collapsed .toggle-mark::after {
  border-width: 2px 2px 0 0;
}

.nav {
  display: grid;
  gap: 0;
  overflow-y: auto;
  padding-right: 2px;
}

.nav-section-label {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
  padding: 3px 7px 0;
}

.nav-item {
  position: relative;
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  justify-content: start;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 27px;
  border-radius: 6px;
  padding: 1px 5px;
  text-align: left;
  text-decoration: none;
}

.nav-item.child {
  display: none;
  width: calc(100% - 22px);
  margin-left: 22px;
  grid-template-columns: 21px minmax(0, 1fr);
  min-height: 23px;
}

.nav-item.child.submenu-visible {
  display: grid;
}

.nav-item.child[data-submenu-parent="settings-logs"],
.nav-item.child[data-submenu-parent="dunning-settings"] {
  width: calc(100% - 42px);
  margin-left: 42px;
}

.nav-item:hover,
.nav-item.active {
  background: #eef5ff;
  color: var(--royal);
}

.nav-icon {
  position: relative;
  width: 21px;
  height: 21px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: #edf3f8;
  color: var(--navy);
  font-size: 10px;
  font-weight: 700;
}

.nav-item.has-children .nav-icon::after {
  position: absolute;
  right: -8px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: var(--sunset);
  content: "";
}

.nav-item.child .nav-icon {
  width: 18px;
  height: 18px;
  border-radius: 6px;
  font-size: 9px;
}

.nav-item.active .nav-icon {
  background: var(--royal);
  color: #ffffff;
}

.nav-label {
  min-width: 0;
  display: block;
  overflow: hidden;
  color: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.collapsed .nav-item:hover .nav-label,
.collapsed .nav-item:focus-visible .nav-label {
  position: absolute;
  left: 48px;
  z-index: 100;
  display: block;
  width: max-content;
  max-width: 240px;
  padding: 8px 10px;
  border: 1px solid #d7e1ec;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(31, 39, 51, 0.14);
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.collapsed .nav-item {
  grid-template-columns: 24px;
  justify-content: center;
}

.collapsed .nav-item.child {
  display: none;
  margin-left: 0;
  width: 100%;
  grid-template-columns: 24px;
}

.collapsed .brand {
  min-height: 50px;
  padding: 0;
}

.collapsed .brand-link {
  width: 60px;
  height: 60px;
}

.collapsed .nav-label,
.collapsed .nav-section-label,
.collapsed .legacy-link {
  display: none;
}

.sidebar-bottom {
  display: none;
  gap: 2px;
  margin-top: auto;
}

.legacy-link {
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--muted);
  text-decoration: none;
  font-size: 13px;
}

.legacy-link:hover {
  background: var(--surface-soft);
  color: var(--royal);
}

.collapsed .sidebar-bottom .nav-item {
  grid-template-columns: 28px;
  justify-content: center;
}

.workspace {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.topbar {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 7px 24px;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 8;
}

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

.header-todo-widget {
  position: relative;
}

.genesis-action-count {
  min-width: 18px;
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--proposal-action-color, var(--royal));
  color: #ffffff;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
}

.header-todo-button .genesis-action-label {
  grid-auto-flow: row;
  gap: 1px;
}

.header-todo-button .genesis-action-label span {
  display: block;
}

.header-todo-button .genesis-action-count {
  justify-self: center;
  min-width: 17px;
  padding: 0 4px;
  font-size: 9px;
  line-height: 1.15;
}

.header-todo-menu {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  z-index: 60;
  width: min(420px, calc(100vw - 32px));
  max-height: min(520px, calc(100vh - 95px));
  overflow: auto;
  border: 1px solid #8fa8c4;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(31, 39, 51, 0.22);
}

.header-todo-menu-header,
.header-todo-item {
  padding: 9px 11px;
  border-bottom: 1px solid #d7e1ee;
}

.header-todo-menu-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.header-todo-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: start;
}

.header-todo-item button.linklike-button {
  padding: 0;
  text-align: left;
  font-weight: 850;
}

.header-todo-item-meta {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.header-todo-item-meta .inline-link-button {
  display: inline;
  color: var(--royal);
  font-size: inherit;
  font-weight: 900;
  vertical-align: baseline;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--royal);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

h1,
h2 {
  margin: 0;
  color: var(--ink);
  letter-spacing: 0;
}

h1 {
  font-size: 22px;
  line-height: 1.2;
}

.breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 18px;
  margin-top: 3px;
  color: var(--royal);
  font-size: 12px;
  font-weight: 800;
}

.breadcrumb-link {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--royal);
  cursor: pointer;
  font-size: inherit;
  font-weight: 900;
  text-decoration: none;
}

.breadcrumb-link:hover {
  text-decoration: underline;
}

.breadcrumb-separator {
  color: #9aaec4;
  font-weight: 900;
}

.breadcrumb-current {
  color: #2759b6;
}

h2 {
  font-size: 16px;
  line-height: 1.3;
}

.topbar-actions,
.toolbar,
.action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.site-special-message {
  margin: 10px 28px 0;
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid #a8bfdf;
  border-left: 5px solid #f7c948;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(247, 201, 72, 0.22), rgba(56, 114, 225, 0.11)), #ffffff;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.site-special-message strong {
  color: #2759b6;
  font-weight: 900;
  text-transform: uppercase;
}

.site-special-message a {
  color: #2759b6;
  font-weight: 900;
  text-decoration: underline;
}

.link-button,
.primary-link {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  background: var(--navy);
  color: #ffffff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

.user-chip {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--navy);
  background: #ffffff;
  font-size: 13px;
  font-weight: 700;
}

.content {
  min-width: 0;
  flex: 1;
  padding: 24px 28px 40px;
  overflow: auto;
  overscroll-behavior: auto;
}

.embedded-admin-tool,
.embedded-admin-tool body {
  min-height: 100%;
  overflow: visible;
  background: #ffffff;
}

.embedded-admin-tool .app-shell {
  display: block;
  min-height: auto;
}

.embedded-admin-tool .sidebar,
.embedded-admin-tool .topbar {
  display: none;
}

.embedded-admin-tool .workspace {
  display: block;
}

.embedded-admin-tool .content {
  padding: 0;
  overflow: visible;
}

.genesis-footer {
  position: relative;
  margin: 0 28px 24px;
  border: 0;
  border-radius: 0;
  background: #344456;
  box-shadow: none;
  overflow: hidden;
}

.footer-inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0;
  padding: 34px 28px 28px;
}

.footer-brand-block {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  width: min(680px, 100%);
  padding-top: 4px;
  border-top: 0;
  text-align: center;
}

.footer-brand-block img {
  width: 300px;
  max-width: 100%;
  display: block;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.footer-brand-block p {
  margin: 0 0 6px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
  line-height: 1.45;
}

.footer-copyright {
  color: #f1ede9 !important;
  font-weight: 800;
}

.footer-legal {
  color: rgba(255, 255, 255, 0.78) !important;
}

.view {
  display: none;
}

.view.active {
  display: block;
}

.embedded-tool-view.active {
  display: flex;
  height: calc(100vh - 126px);
  min-height: 0;
  overflow: hidden;
}

.embedded-admin-frame {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  background: #ffffff;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.dashboard-view {
  display: none;
}

.dashboard-view.active {
  display: block;
}

.dashboard-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  min-height: 56px;
  padding: 9px 12px;
  margin-bottom: 12px;
  border: 1px solid #cfdced;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
}

.dashboard-hero h2 {
  max-width: 720px;
  color: var(--ink);
  font-size: clamp(20px, 1.8vw, 26px);
  line-height: 1.05;
}

.dashboard-subtitle {
  max-width: 560px;
  margin: 6px 0 0;
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--teal);
  box-shadow: 0 0 0 4px rgba(102, 218, 210, 0.2);
}

.audit-status-cell {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
  white-space: nowrap;
}

.audit-status-dot {
  width: 13px;
  height: 13px;
  border-radius: 999px;
  background: #d44333;
  box-shadow: 0 0 0 4px rgba(212, 67, 51, 0.16);
}

.audit-status-green .audit-status-dot {
  background: #12845f;
  box-shadow: 0 0 0 4px rgba(18, 132, 95, 0.16);
}

.audit-status-yellow .audit-status-dot {
  background: #d99a16;
  box-shadow: 0 0 0 4px rgba(217, 154, 22, 0.18);
}

.audit-toolbar label {
  min-width: 126px;
}

.audit-toolbar .audit-date-field {
  max-width: 160px;
}

.dashboard-metrics {
  grid-template-columns: repeat(6, minmax(126px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.metric {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  box-shadow: var(--shadow);
}

.metric-label {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.metric-value {
  color: var(--navy);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.1;
}

.dashboard-metrics .metric {
  position: relative;
  min-height: 52px;
  display: grid;
  grid-template-rows: auto minmax(44px, 1fr);
  padding: 0;
  border-color: #aebaca;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  text-align: center;
}

.dashboard-metrics .metric-label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 8px;
  overflow: hidden;
  background: linear-gradient(180deg, #e8f3ff 0%, #edf6ff 62%, #ffffff 100%);
  color: var(--navy);
  font-size: 11.5px;
  line-height: 1.15;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 0;
}

.dashboard-metrics .metric-value {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px 9px;
  text-align: center;
}

.compact-metrics {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.compact-metrics .metric {
  min-height: 44px;
  padding: 6px 8px;
}

.compact-metrics .metric-value {
  font-size: 16px;
}

#authMetrics,
#communicationsTestMetrics,
#pipelineMetrics,
#rtValidationMetrics,
#rtValidationEvidenceSummary,
#operationsControlMetrics,
#messagingOverviewMetrics,
#revenueVisibilityMetrics,
#contractReviewSummary {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

#authMetrics .metric,
#communicationsTestMetrics .metric,
#pipelineMetrics .metric,
#rtValidationMetrics .metric,
#rtValidationMetrics .metric-card,
#rtValidationEvidenceSummary .metric,
#rtValidationEvidenceSummary .metric-card,
#operationsControlMetrics .metric,
#messagingOverviewMetrics .metric,
#revenueVisibilityMetrics .metric,
#contractReviewSummary .metric-card,
#contractReviewSummary .metric {
  min-height: 38px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border: 1px solid var(--table-border);
  border-radius: 6px;
  background: var(--table-header-light);
  box-shadow: none;
}

#authMetrics .metric-label,
#communicationsTestMetrics .metric-label,
#pipelineMetrics .metric-label,
#rtValidationMetrics .metric-label,
#rtValidationMetrics .metric-card span,
#rtValidationEvidenceSummary .metric-label,
#rtValidationEvidenceSummary .metric-card span,
#operationsControlMetrics .metric-label,
#messagingOverviewMetrics .metric-label,
#revenueVisibilityMetrics .metric-label,
#contractReviewSummary .metric-card span,
#contractReviewSummary .metric-label {
  margin: 0;
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

#authMetrics .metric-value,
#communicationsTestMetrics .metric-value,
#pipelineMetrics .metric-value,
#rtValidationMetrics .metric-value,
#rtValidationMetrics .metric-card strong,
#rtValidationEvidenceSummary .metric-value,
#rtValidationEvidenceSummary .metric-card strong,
#operationsControlMetrics .metric-value,
#messagingOverviewMetrics .metric-value,
#revenueVisibilityMetrics .metric-value,
#contractReviewSummary .metric-card strong,
#contractReviewSummary .metric-value {
  color: #000000;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

#pipelineMetrics {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

#pipelineMetrics .metric {
  min-height: 50px;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  justify-items: start;
  gap: 4px;
}

#pipelineMetrics .metric-label,
#pipelineMetrics .metric-value {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

#pipelineMetrics .metric-label {
  white-space: normal;
}

#pipelineMetrics .metric-value {
  font-size: 14px;
  text-align: left;
  white-space: nowrap;
}

#rtValidationMetrics .metric-card {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 3px;
  text-align: center;
}

#rtValidationMetrics .metric-card span,
#rtValidationMetrics .metric-card strong {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}

#rtValidationMetrics .metric-card strong {
  font-size: 12px;
}

.manual-source-import-summary {
  color: var(--navy);
  font-size: 0.82rem;
  margin-top: 8px;
}

.manual-source-total-line {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.manual-source-total-line span {
  background: #eef3f8;
  border: 1px solid var(--navy);
  border-radius: 8px;
  padding: 5px 8px;
}

.compact-upload-form {
  grid-template-columns: minmax(280px, 1fr) auto;
}

.compact-summary-table th,
.compact-summary-table td {
  font-size: 0.78rem;
  padding: 5px 7px;
}

.manual-source-error-row td {
  background: #fff7f2;
  color: #8a2d1f;
  font-size: 0.75rem;
  white-space: normal;
}

#historicalManualSummary.compact-metrics,
.report-output-historical_checks .report-metrics,
.report-output-historical_wires .report-metrics,
.report-output-historical_adjustments .report-metrics {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

#historicalManualSummary .metric,
.report-output-historical_checks .report-metrics .metric,
.report-output-historical_wires .report-metrics .metric,
.report-output-historical_adjustments .report-metrics .metric {
  min-height: 38px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border: 1px solid var(--table-border);
  border-radius: 6px;
  background: var(--table-header-light);
  box-shadow: none;
}

#historicalManualSummary .metric-label,
.report-output-historical_checks .report-metrics .metric-label,
.report-output-historical_wires .report-metrics .metric-label,
.report-output-historical_adjustments .report-metrics .metric-label {
  margin: 0;
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

#historicalManualSummary .metric-value,
.report-output-historical_checks .report-metrics .metric-value,
.report-output-historical_wires .report-metrics .metric-value,
.report-output-historical_adjustments .report-metrics .metric-value {
  color: #000000;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

#historicalManualSummary.realtime-gateway-summary {
  grid-template-columns: repeat(4, minmax(150px, 180px));
  justify-content: start;
}

#historicalManualSummary.realtime-gateway-summary .metric {
  min-height: 36px;
}

.dashboard-metrics .metric-value {
  font-size: clamp(18px, 1.7vw, 25px);
  color: var(--navy);
  white-space: nowrap;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.75fr);
  gap: 16px;
  align-items: stretch;
}

.dashboard-main-grid {
  align-items: start;
}

.dashboard-product-panel {
  margin-top: 16px;
}

.dashboard-grid.secondary {
  grid-template-columns: 1fr;
}

.dashboard-side-stack {
  display: grid;
  gap: 16px;
  align-content: start;
}

.revenue-panel,
.dashboard-list-panel {
  min-height: 260px;
}

.monthly-dashboard-panel {
  min-height: 0;
}

.chart-stack {
  display: grid;
  gap: 14px;
}

.chart-block {
  display: grid;
  gap: 8px;
}

.chart-block-heading {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.revenue-chart {
  min-height: 210px;
}

.revenue-chart.compact-chart {
  min-height: 170px;
}

.bucket-chart {
  display: grid;
  gap: 8px;
  min-height: 170px;
  padding: 12px;
  border: 1px solid #aebaca;
  border-radius: 8px;
  background: #ffffff;
}

.bucket-row {
  display: grid;
  grid-template-columns: 138px minmax(90px, 1fr) 90px;
  align-items: center;
  gap: 10px;
}

.bucket-label {
  overflow: hidden;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bucket-track {
  position: relative;
  height: 12px;
  overflow: hidden;
  border-radius: 0;
  background: #f5f7fa;
}

.bucket-grid-lines {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.bucket-grid-lines span {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(52, 68, 86, 0.28);
}

.bucket-fill {
  position: relative;
  z-index: 2;
  height: 100%;
  min-width: 3px;
  border-radius: 0;
}

.bucket-value {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.product-table-wrap {
  width: 66.666%;
  max-width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: none;
  border: 1.5px solid var(--table-border);
  border-radius: 6px;
  background: #ffffff;
}

.product-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  color: var(--navy);
  font-size: 12px;
  table-layout: fixed;
}

.product-description-col { width: auto; }
.product-qty-col { width: 94px; }
.product-amount-col { width: 142px; }

@media (max-width: 920px) {
  .product-table-wrap {
    width: 100%;
  }
}

.product-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 3px 6px;
  border-right: 1px solid var(--table-border);
  border-bottom: 1.5px solid var(--table-border);
  background: var(--table-header);
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.product-table td {
  height: 32px;
  padding: 5px 6px;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  vertical-align: middle;
}

.product-table th:last-child,
.product-table td:last-child {
  border-right: 0;
}

.product-table tbody tr:last-child td {
  border-bottom: 0;
}

.product-table tfoot td {
  height: 32px;
  padding: 5px 6px;
  border-top: 2px solid var(--table-border);
  border-right: 1px solid var(--table-border);
  background: var(--table-header);
  color: var(--navy);
  font-weight: 900;
}

.product-table tfoot td:last-child {
  border-right: 0;
}

.product-table tbody tr:hover {
  background: #f8fbff;
}

.product-table .numeric {
  text-align: right;
  white-space: nowrap;
}

.product-description {
  max-width: none;
  overflow: hidden;
  color: var(--ink);
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-line-chart {
  width: 100%;
  min-height: 170px;
  display: block;
  border: 1px solid #aebaca;
  border-radius: 8px;
  background: #f8fafc;
}

.chart-plot-bg {
  fill: #f3f7fb;
}

.chart-axis {
  stroke: #d5dfeb;
  stroke-width: 1;
}

.chart-grid-line {
  stroke: #d7e0ea;
  stroke-width: 1;
}

.chart-area {
  opacity: 0;
}

.chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.chart-point {
  stroke-width: 3;
}

.chart-label {
  fill: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-anchor: middle;
}

.chart-value {
  fill: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-anchor: middle;
}

.dashboard-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1.5px solid var(--table-border);
  border-radius: 6px;
  background: #ffffff;
}

.dashboard-list-header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 112px;
  align-items: center;
  gap: 0;
  min-height: 26px;
  padding: 0;
  border-bottom: 1.5px solid var(--table-border);
  background: var(--table-header);
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}

.dashboard-list-header > div {
  min-height: 26px;
  display: grid;
  align-items: center;
  padding: 3px 7px;
  border-right: 1px solid var(--table-border);
  text-align: center;
}

.dashboard-list-header > div:last-child {
  border-right: 0;
}

.dashboard-list-header div:nth-child(2) {
  text-align: center;
}

.dashboard-list-header div:last-child {
  text-align: center;
}

.dashboard-list-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 112px;
  align-items: center;
  gap: 0;
  min-height: 30px;
  padding: 0;
  border-bottom: 1px solid var(--table-border);
  background: #ffffff;
}

.dashboard-list-row > div {
  min-height: 30px;
  display: grid;
  align-items: center;
  padding: 3px 7px;
  border-right: 1px solid var(--table-border);
}

.dashboard-list-row > div:last-child {
  border-right: 0;
}

.dashboard-list-row:last-child {
  border-bottom: 0;
}

.dashboard-list-rank {
  width: auto;
  height: auto;
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--navy);
  font-size: 11px;
  font-weight: 400;
  text-align: center;
  justify-content: center;
}

.dashboard-list-main {
  min-width: 0;
}

.dashboard-list-name {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-list-sub {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.dashboard-list-value {
  color: var(--navy);
  font-size: 12px;
  font-weight: 400;
  justify-content: end;
  text-align: right;
  white-space: nowrap;
}

.empty-state {
  display: grid;
  place-items: center;
  min-height: 120px;
  border: 1px dashed #cfdced;
  border-radius: 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.genesis-home-logo {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid rgba(56, 114, 225, 0.14);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(31, 39, 51, 0.06);
}

.genesis-appsuite-mark {
  width: 48px;
  height: 48px;
  display: block;
  position: relative;
  border-radius: 14px;
  background: #ffffff;
}

.genesis-appsuite-mark::before {
  inset: 6px;
}

.genesis-logo-text {
  color: var(--navy);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 900;
  line-height: 1;
}

.pipeline-panel {
  display: grid;
  gap: 10px;
}

.pipeline-actions {
  margin: 0;
  justify-content: flex-end;
}

.pipeline-run-action,
.pipeline-run-row {
  display: flex;
  justify-content: flex-start;
}

.pipeline-run-row {
  align-items: stretch;
  gap: 12px;
  flex-wrap: wrap;
}

.pipeline-run-button.primary-button {
  min-width: 300px;
  min-height: 62px;
  padding: 0 34px;
  border-width: 2px;
  border-radius: 8px;
  font-size: 19px;
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(44, 127, 208, 0.22);
}

.pipeline-details-button {
  min-height: 62px;
  padding-inline: 18px;
  font-size: 13px;
  font-weight: 950;
}

.pipeline-progress-summary {
  min-width: 320px;
  flex: 1 1 360px;
  align-self: center;
  border-left: 3px solid #9fb7d5;
  padding-left: 12px;
}

.pipeline-progress-summary h2 {
  margin: 0 0 4px;
  font-size: 16px;
}

.pipeline-progress-summary .section-note {
  margin: 0;
}

.pipeline-health-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid #cfdced;
  border-radius: 8px;
  background: #f7fbff;
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
}

.pipeline-health-banner.ok {
  border-color: rgba(30, 159, 134, 0.35);
  background: #f3fffb;
}

.pipeline-health-banner.warn {
  border-color: rgba(249, 145, 52, 0.45);
  background: #fff8ef;
}

.pipeline-health-banner.critical {
  border-color: rgba(205, 73, 73, 0.38);
  background: #fff4f4;
}

.pipeline-health-banner.warn .status-dot {
  background: var(--sunset);
  box-shadow: 0 0 0 4px rgba(249, 145, 52, 0.18);
}

.pipeline-health-banner.critical .status-dot {
  background: #cd4949;
  box-shadow: 0 0 0 4px rgba(205, 73, 73, 0.16);
}

.pipeline-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
}

.pipeline-progress-panel {
  display: grid;
  gap: 10px;
}

.pipeline-progress-meter {
  position: relative;
  overflow: hidden;
  height: 10px;
  border: 1px solid #c6d4e5;
  border-radius: 999px;
  background: #eef4fb;
}

.pipeline-progress-fill {
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2c7fd0, #1e9f86);
  transition: width 220ms ease;
}

.pipeline-progress-track {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
  overflow: hidden;
}

.pipeline-progress-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  min-width: 0;
}

.pipeline-step-slot {
  position: relative;
  display: grid;
  min-width: 0;
}

.pipeline-inline-arrow {
  position: absolute;
  top: 50%;
  right: -24px;
  width: 24px;
  height: 0;
  border-top: 3px solid #1e9f86;
  transform: translateY(-50%);
  pointer-events: none;
}

.pipeline-inline-arrow::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -7px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #1e9f86;
}

.pipeline-progress-empty {
  min-height: 58px;
  display: grid;
  place-items: center;
  border: 1px dashed #b9c8da;
  border-radius: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.pipeline-step {
  position: relative;
  z-index: 2;
  height: 108px;
  padding: 8px 8px 8px 34px;
  border: 1px solid #ccd8e6;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.pipeline-step::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 12px;
  width: 14px;
  height: 14px;
  border: 2px solid #a9b9ca;
  border-radius: 50%;
  background: #ffffff;
}

.pipeline-step.completed {
  border-color: rgba(30, 159, 134, 0.38);
  background: #f6fffc;
}

.pipeline-step.completed::before {
  border-color: #1e9f86;
  background: #1e9f86;
  box-shadow: inset 0 0 0 3px #ffffff;
}

.pipeline-step.running {
  border-color: rgba(44, 127, 208, 0.55);
  background: #f5faff;
  box-shadow: 0 0 0 3px rgba(44, 127, 208, 0.08);
}

.pipeline-step.running::before {
  border-color: #2c7fd0;
  background: #2c7fd0;
  box-shadow: 0 0 0 5px rgba(44, 127, 208, 0.14);
  animation: pipelinePulse 1.2s ease-in-out infinite;
}

.pipeline-step.failed {
  border-color: rgba(205, 73, 73, 0.42);
  background: #fff6f6;
}

.pipeline-step.failed::before {
  border-color: #cd4949;
  background: #cd4949;
}

.pipeline-step.pending {
  background: #fbfcfe;
}

.pipeline-step-title {
  color: var(--royal);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
}

.pipeline-step-meta {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.1;
}

.pipeline-step-detail {
  display: -webkit-box;
  margin-top: 4px;
  overflow: hidden;
  color: #4c5d70;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

@keyframes pipelinePulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.12);
    opacity: 0.78;
  }
}

.account-message-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.account-message-layout > section:first-child {
  display: grid;
  gap: 8px;
}

.account-message-layout > section:first-child .table-frame {
  max-height: 178px;
}

.account-message-layout .records-toolbar {
  margin-bottom: 0;
}

.account-message-detail {
  min-height: 0;
  border: 1px solid #cfd8e4;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
}

.nested-panel {
  margin-bottom: 0;
  box-shadow: none;
}

.pipeline-table-frame {
  max-height: 330px;
}

.pipeline-history-frame {
  width: 100%;
  max-width: 100%;
  max-height: 520px;
  overflow: auto;
}

.pipeline-history-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.pipeline-history-table th {
  white-space: normal;
}

.pipeline-history-table th:first-child,
.pipeline-history-table td:first-child {
  width: 46px;
}

.pipeline-history-table th:nth-child(2),
.pipeline-history-table td:nth-child(2) {
  width: 150px;
}

.pipeline-history-table th:nth-child(3),
.pipeline-history-table td:nth-child(3) {
  width: 158px;
}

.pipeline-history-table th:nth-child(n+4),
.pipeline-history-table td:nth-child(n+4) {
  width: calc((100% - 354px) / 11);
}

.pipeline-history-step-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pipeline-history-inspect-cell {
  text-align: center;
}

.pipeline-history-inspect-cell .table-icon-button {
  margin: 0 auto;
}

.pipeline-history-table th:first-child,
.pipeline-history-table td:first-child {
  min-width: 46px;
}

.pipeline-history-table th:nth-child(2),
.pipeline-history-table td:nth-child(2) {
  min-width: 150px;
}

.pipeline-cycle-status {
  display: grid;
  grid-template-columns: repeat(11, 14px);
  gap: 2px;
  align-items: center;
}

.pipeline-cycle-box {
  display: inline-grid;
  place-items: center;
  width: 14px;
  height: 14px;
  border-radius: 4px;
  background: #ffe7e7;
  color: #8f2626;
  font-size: 8px;
  font-weight: 950;
  line-height: 1;
}

.pipeline-cycle-box.ok {
  background: #dff8ef;
  color: #147d69;
}

.pipeline-cycle-box.running {
  background: #e6f1ff;
  color: #205fa8;
}

.pipeline-error-text {
  color: #a12d2d !important;
  font-weight: 800;
}

.pipeline-detail-card {
  width: min(920px, calc(100vw - 48px));
  max-height: calc(100vh - 72px);
  overflow: hidden;
}

.pipeline-run-dialog-summary {
  margin: 0 0 14px;
  padding: 10px;
  border: 1px solid #c8d6e7;
  border-radius: 8px;
  background: #fbfdff;
}

.pipeline-outline-document {
  display: grid;
  gap: 12px;
}

.pipeline-outline-step {
  padding: 0 0 12px;
  border-bottom: 1px solid #d8e3f0;
}

.pipeline-outline-step:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pipeline-outline-step h4 {
  margin: 0 0 5px;
  color: var(--royal);
  font-size: 15px;
  font-weight: 950;
}

.pipeline-outline-step p {
  margin: 0 0 4px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.42;
}

.pipeline-check-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.pipeline-check-pill.ok {
  background: #eafaf6;
  color: #147d69;
}

.pipeline-check-pill.warn {
  background: #fff0dc;
  color: #9c5812;
}

.pipeline-check-pill.critical {
  background: #ffe7e7;
  color: #9f2d2d;
}

.pipeline-freshness {
  display: grid;
  gap: 8px;
}

.freshness-row {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 28px;
  padding: 4px 7px;
  border: 1px solid var(--table-border);
  border-radius: 6px;
  background: #ffffff;
}

.freshness-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.freshness-value {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  text-align: right;
}

.panel {
  background: #ffffff;
  border: 1px solid #cfd8e4;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(52, 68, 86, 0.06);
  padding: 12px;
  margin-bottom: 12px;
}

.panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding-bottom: 7px;
  border-bottom: 1.5px solid var(--table-border);
}

#view-revenue-visibility .panel {
  padding: 10px;
  margin-bottom: 10px;
}

#view-revenue-visibility .panel-heading {
  margin-bottom: 8px;
}

#view-revenue-visibility .compact-metrics {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 8px;
}

#view-revenue-visibility .metric-card {
  min-height: 56px;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  justify-items: center;
  gap: 4px;
  padding: 8px 10px;
  border: 1px solid #7f8fa3;
  border-radius: 6px;
  background: #f8fafc;
  text-align: center;
}

#view-revenue-visibility .metric-card span,
#view-revenue-visibility .metric-card strong {
  min-width: 0;
  white-space: nowrap;
}

#view-revenue-visibility .metric-card span {
  color: var(--royal);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

#view-revenue-visibility .metric-card strong {
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}

#view-revenue-visibility .rv-toolbar-button {
  min-height: 34px;
  border-radius: 6px;
  border: 1px solid #52657a;
  padding: 0 12px;
  box-shadow: 0 1px 0 rgba(23, 37, 58, 0.08);
}

#view-revenue-visibility .quiet-button.rv-toolbar-button {
  background: var(--button-action-bg);
  color: var(--navy);
}

#view-revenue-visibility .quiet-button.rv-toolbar-button:hover {
  border-color: var(--navy);
  background: var(--button-action-hover);
  color: var(--navy);
}

#view-revenue-visibility .primary-button.rv-toolbar-button {
  border-color: var(--navy);
  background: var(--button-primary-bg);
  color: var(--navy);
}

.quiet-button,
.primary-button,
.secondary-button,
.danger-button,
.success-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto;
  min-width: 96px;
  min-height: 32px;
  border-radius: var(--control-radius);
  box-shadow: var(--button-shadow);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.quiet-button {
  border: 1px solid var(--navy);
  background: var(--button-action-bg);
  color: var(--navy);
  padding: 0 12px;
}

.quiet-button:hover {
  border-color: var(--navy);
  background: var(--button-action-hover);
  color: var(--navy);
}

.primary-button {
  border: 1px solid var(--navy);
  background: var(--button-primary-bg);
  color: var(--navy);
  padding: 0 12px;
}

.primary-button:hover {
  background: var(--button-primary-hover);
}

.secondary-button {
  border: 1px solid #52657a;
  background: var(--button-action-bg);
  color: var(--navy);
  padding: 0 12px;
}

.secondary-button:hover {
  border-color: var(--navy);
  background: var(--button-action-hover);
  color: var(--navy);
}

.danger-button {
  border: 1px solid #c64d55;
  background: var(--red);
  color: #000000;
  padding: 0 12px;
}

.danger-button:hover {
  background: #e9535d;
}

.success-button {
  border: 1px solid #0b6f3a;
  background: #2fb66d;
  color: #062713;
  padding: 0 12px;
}

.success-button:hover {
  background: #3bca7d;
}

.ai-for-ai-onboarding-panel,
.ai-for-ai-connections-panel {
  display: grid;
  gap: 10px;
  padding: 10px;
}

.ai-for-ai-onboarding-panel .panel-heading,
.ai-for-ai-connections-panel .panel-heading {
  margin-bottom: 0;
}

.aide-plain-help {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #d8e3ef;
  border-radius: 7px;
  background: #f8fbff;
}

.aide-plain-help > div {
  min-width: 0;
}

.aide-plain-help strong {
  display: block;
  margin-bottom: 2px;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.2;
}

.aide-plain-help span {
  display: block;
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.ai-for-ai-onboarding-metrics,
.ai-for-ai-connection-metrics {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 0;
}

.ai-for-ai-onboarding-metrics .metric,
.ai-for-ai-connection-metrics .metric {
  min-height: 48px;
  grid-template-rows: auto minmax(34px, 1fr);
}

.ai-for-ai-onboarding-metrics .metric-label,
.ai-for-ai-connection-metrics .metric-label {
  min-height: 24px;
  padding: 4px 8px;
  font-size: 11px;
}

.ai-for-ai-onboarding-metrics .metric-value,
.ai-for-ai-connection-metrics .metric-value {
  padding: 5px 8px 7px;
  font-size: 21px;
}

.ai-for-ai-onboarding-grid {
  display: grid;
  grid-template-columns: minmax(560px, 1.15fr) minmax(360px, .85fr);
  gap: 10px;
  min-height: 0;
}

.ai-for-ai-onboarding-table-frame {
  height: clamp(320px, calc(100vh - 390px), 640px);
  max-height: clamp(320px, calc(100vh - 390px), 640px);
  overflow-x: hidden;
}

.ai-for-ai-onboarding-table-frame table.sized-table {
  width: 100%;
  min-width: 100%;
}

.ai-for-ai-onboarding-table-frame .actions-cell {
  width: 86px;
}

.ai-for-ai-key-table-frame table.sized-table {
  table-layout: fixed;
  width: 100%;
  min-width: 920px;
}

.ai-for-ai-key-table-frame th,
.ai-for-ai-key-table-frame td {
  padding: 5px 6px;
  font-size: 11px;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ai-for-ai-key-table-frame .actions-cell {
  width: 44px;
}

.ai-for-ai-key-table-frame .muted-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-for-ai-onboarding-table-frame tbody tr[data-ai-for-ai-onboarding-row] {
  cursor: pointer;
}

.ai-for-ai-onboarding-table-frame tbody tr[data-ai-for-ai-onboarding-row]:hover {
  background: #f5f9ff;
}

.ai-for-ai-onboarding-detail {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  max-height: clamp(320px, calc(100vh - 390px), 640px);
  overflow: auto;
  padding: 9px;
  border: 1px solid #d8e3ef;
  border-radius: 7px;
  background: #fbfdff;
}

.ai-for-ai-onboarding-detail h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}

.aide-detail-section {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding-top: 8px;
  border-top: 1px solid #d8e3ef;
}

.aide-detail-section h4 {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.2;
}

.aide-detail-section p {
  margin: 0;
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.aide-detail-section ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.ai-for-ai-onboarding-readiness {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.ai-for-ai-onboarding-readiness > div,
.ai-for-ai-onboarding-evidence-item {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #ffffff;
}

.ai-for-ai-onboarding-readiness span,
.ai-for-ai-onboarding-evidence-item span {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-for-ai-onboarding-readiness strong,
.ai-for-ai-onboarding-evidence-item strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ai-for-ai-onboarding-report {
  display: grid;
  gap: 7px;
  padding: 8px;
  border: 1px solid #bcd0e6;
  border-radius: 7px;
  background: #ffffff;
}

.ai-for-ai-onboarding-report-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.ai-for-ai-onboarding-report h4 {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
}

.ai-for-ai-onboarding-report p {
  margin: 0;
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.ai-for-ai-onboarding-report-score {
  min-width: 78px;
  padding: 6px 8px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #f8fbff;
  text-align: right;
}

.ai-for-ai-onboarding-report-score span,
.ai-for-ai-onboarding-report-grid span {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-for-ai-onboarding-report-score strong {
  color: var(--ink);
  font-size: 15px;
}

.ai-for-ai-onboarding-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.ai-for-ai-onboarding-report-grid > div {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #fbfdff;
}

.ai-for-ai-onboarding-report-grid > .wide {
  grid-column: 1 / -1;
}

.ai-for-ai-onboarding-report-grid ul {
  display: grid;
  gap: 3px;
  margin: 0;
  padding-left: 17px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}

.ai-for-ai-onboarding-prompt {
  max-height: 260px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #cfdced;
  border-radius: 6px;
  background: #111827;
  color: #e5eefb;
  font-size: 11px;
  line-height: 1.35;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.ai-for-ai-onboarding-help-note {
  padding: 8px 10px;
  border: 1px solid #cfdced;
  border-radius: 6px;
  background: #f6f9fd;
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.ai-for-ai-onboarding-help-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 10px 0 0;
}

.ai-for-ai-onboarding-help-list > div {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #ffffff;
}

.ai-for-ai-onboarding-help-list dt {
  margin: 0 0 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-for-ai-onboarding-help-list dd {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}

.record-detail-card.ai-for-ai-onboarding-dialog-card,
.record-detail-card.ai-for-ai-onboarding-help-card,
.record-detail-card.ai-for-ai-connection-dialog-card {
  width: min(760px, 94vw);
  height: auto;
  max-height: min(640px, 90vh);
  grid-template-rows: auto auto;
}

.record-detail-card.ai-for-ai-onboarding-dialog-card > .panel-heading,
.record-detail-card.ai-for-ai-onboarding-help-card > .panel-heading,
.record-detail-card.ai-for-ai-connection-dialog-card > .panel-heading {
  padding: 13px 16px 10px;
}

.record-detail-card.ai-for-ai-onboarding-dialog-card > .record-detail-body,
.record-detail-card.ai-for-ai-connection-dialog-card > .record-detail-body {
  padding: 12px 16px 16px;
  overflow: visible;
}

.record-detail-card.ai-for-ai-onboarding-help-card > .record-detail-body {
  padding: 12px 16px 16px;
  overflow: auto;
}

.record-detail-card.ai-for-ai-onboarding-help-card .dialog-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.ai-for-ai-key-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 10px;
  padding: 12px 16px 16px;
}

.ai-for-ai-connection-dialog-card .ai-for-ai-key-form {
  padding: 0;
}

.ai-for-ai-key-form label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ai-for-ai-key-form .dialog-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 2px;
}

.ai-for-ai-token-panel {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #bfd0e7;
  border-radius: 7px;
  background: #f8fbff;
}

.ai-for-ai-token-panel h3 {
  margin: 0 0 3px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
}

.ai-for-ai-token-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}

.ai-for-ai-token-value {
  display: block;
  max-height: 84px;
  overflow: auto;
  padding: 7px 8px;
  border: 1px solid #cfdced;
  border-radius: 5px;
  background: #ffffff;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.ai-for-ai-connection-toolbar {
  margin-bottom: -2px;
}

.ai-for-ai-connection-toolbar label:first-child {
  min-width: min(360px, 100%);
}

.ai-for-ai-connection-toolbar label:last-child {
  min-width: 150px;
}

.compact-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 2px 1px 0;
}

.compact-section-header h3 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
}

.compact-section-header .section-note {
  margin: 2px 0 0;
}

.ai-for-ai-key-table-frame {
  height: clamp(190px, calc((100vh - 410px) / 2), 360px);
  max-height: clamp(190px, calc((100vh - 410px) / 2), 360px);
  overflow-x: auto;
}

.ai-for-ai-key-table-frame table.sized-table {
  width: 100%;
  min-width: 880px;
  table-layout: fixed;
}

.ai-for-ai-connections-table th:nth-child(1),
.ai-for-ai-connections-table td:nth-child(1) {
  width: 220px;
}

.ai-for-ai-connections-table th:nth-child(2),
.ai-for-ai-connections-table td:nth-child(2) {
  width: 160px;
}

.ai-for-ai-connections-table th:nth-child(3),
.ai-for-ai-connections-table td:nth-child(3) {
  width: 150px;
}

.ai-for-ai-connections-table th:nth-child(4),
.ai-for-ai-connections-table td:nth-child(4) {
  width: 190px;
}

.ai-for-ai-connections-table th:nth-child(5),
.ai-for-ai-connections-table td:nth-child(5) {
  width: 120px;
}

.ai-for-ai-connections-table th:nth-child(6),
.ai-for-ai-connections-table td:nth-child(6) {
  width: 86px;
}

.ai-for-ai-credentials-table th:nth-child(1),
.ai-for-ai-credentials-table td:nth-child(1) {
  width: 52px;
}

.ai-for-ai-credentials-table th:nth-child(2),
.ai-for-ai-credentials-table td:nth-child(2) {
  width: 260px;
}

.ai-for-ai-credentials-table th:nth-child(3),
.ai-for-ai-credentials-table td:nth-child(3),
.ai-for-ai-credentials-table th:nth-child(4),
.ai-for-ai-credentials-table td:nth-child(4) {
  width: 165px;
}

.ai-for-ai-credentials-table th:nth-child(5),
.ai-for-ai-credentials-table td:nth-child(5) {
  width: 140px;
}

.ai-for-ai-credentials-table th:nth-child(6),
.ai-for-ai-credentials-table td:nth-child(6) {
  width: 120px;
}

.ai-for-ai-key-table-frame .actions-cell {
  width: 52px;
  text-align: center;
}

.ai-for-ai-key-table-frame .danger-button.compact-button {
  min-height: 26px;
  padding: 0 9px;
  font-size: 11px;
}

.ai-for-ai-key-status {
  display: inline-flex;
  min-width: 70px;
  justify-content: center;
  padding: 4px 7px;
  border-radius: 999px;
  border: 1px solid #cfdced;
  font-size: 10.5px;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-for-ai-key-status.status-active {
  border-color: #86b98d;
  background: #edf8ef;
  color: #21532b;
}

.ai-for-ai-key-status.status-revoked,
.ai-for-ai-key-status.status-expired {
  border-color: #df9aa0;
  background: #fff0f1;
  color: #8d2730;
}

.ai-for-ai-key-status.status-unknown {
  background: #eef2f6;
  color: #52657a;
}

.ai-for-ai-downloads-panel {
  display: grid;
  gap: 10px;
  padding: 10px;
}

.ai-for-ai-downloads-panel .panel-heading {
  margin-bottom: 0;
}

.ai-for-ai-download-metrics {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 0;
}

.ai-for-ai-download-metrics .metric {
  min-height: 48px;
  grid-template-rows: auto minmax(34px, 1fr);
}

.ai-for-ai-download-metrics .metric-label {
  min-height: 24px;
  padding: 4px 8px;
  font-size: 11px;
}

.ai-for-ai-download-metrics .metric-value {
  padding: 5px 8px 7px;
  font-size: 21px;
  text-transform: capitalize;
}

.ai-for-ai-download-list {
  display: grid;
  gap: 9px;
}

.aide-download-row {
  display: grid;
  gap: 8px;
  padding: 8px 0 10px;
  border-top: 1px solid #d8e3ef;
}

.aide-download-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.aide-download-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.aide-download-heading h3 {
  margin: 0 0 2px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.15;
}

.aide-download-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.aide-download-meta > div {
  min-width: 0;
}

.aide-download-meta span,
.aide-setup-details summary {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.aide-download-meta strong {
  display: block;
  min-width: 0;
  margin-top: 2px;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.aide-setup-details {
  min-width: 0;
}

.aide-setup-details summary {
  cursor: pointer;
}

.aide-setup-details .ai-for-ai-setup-grid {
  margin-top: 7px;
}

.ai-for-ai-download-card {
  display: grid;
  gap: 9px;
  padding: 10px;
  border: 1px solid #d8e3ef;
  border-radius: 7px;
  background: #ffffff;
}

.ai-for-ai-download-card-heading,
.ai-for-ai-download-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.ai-for-ai-download-card h3 {
  margin: 0 0 2px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.15;
}

.ai-for-ai-download-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.ai-for-ai-download-actions a.compact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 29px;
  text-decoration: none;
}

.disabled-link {
  pointer-events: none;
  opacity: 0.55;
}

.ai-for-ai-download-meta-grid,
.ai-for-ai-setup-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.ai-for-ai-download-meta-grid > div,
.ai-for-ai-setup-grid > div {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #f8fafc;
}

.ai-for-ai-download-meta-grid span,
.ai-for-ai-setup-grid span,
.ai-for-ai-download-checksum span {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ai-for-ai-download-meta-grid strong,
.ai-for-ai-setup-grid code,
.ai-for-ai-download-checksum code {
  display: block;
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ai-for-ai-setup-grid code,
.ai-for-ai-download-checksum code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 700;
}

.ai-for-ai-install-steps {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 8px 10px 8px 28px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #fbfdff;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
}

.ai-for-ai-download-checksum {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #f8fafc;
}

@media (max-width: 980px) {
	  .ai-for-ai-connection-metrics,
	  .ai-for-ai-onboarding-metrics,
	  .ai-for-ai-onboarding-grid,
	  .ai-for-ai-onboarding-readiness,
	  .ai-for-ai-onboarding-report-grid,
	  .ai-for-ai-onboarding-help-list,
	  .ai-for-ai-download-metrics,
	  .ai-for-ai-download-meta-grid,
	  .aide-plain-help,
	  .aide-download-meta,
	  .ai-for-ai-setup-grid,
	  .ai-for-ai-key-form {
	    grid-template-columns: 1fr;
	  }

  .ai-for-ai-token-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .ai-for-ai-connection-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

	  .ai-for-ai-download-card-heading,
	  .aide-download-heading {
	    align-items: flex-start;
	    flex-direction: column;
	  }
}

.cancel-button {
  border-color: var(--navy);
  background: var(--navy);
  color: var(--cream);
}

.cancel-button:hover {
  background: #263545;
  color: var(--cream);
}

.delete-button,
.exit-button {
  border-color: #c64d55;
  background: var(--red);
  color: #000000;
}

.delete-button:hover,
.exit-button:hover {
  background: #e9535d;
}

.toolbar.compact {
  justify-content: flex-end;
}

.report-controls,
.compact-controls {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

select,
input,
textarea {
  min-height: 30px;
  border: 1px solid #9aa4b2;
  border-radius: var(--control-radius);
  background: var(--field-bg);
  color: var(--ink);
  padding: 4px 8px;
  font-size: 12px;
}

input[type="date"] {
  width: 142px;
}

input[type="tel"],
input[data-phone-input],
input.phone-input,
input[name*="phone" i] {
  width: 150px;
}

textarea {
  min-height: 64px;
  padding: 7px 9px;
  resize: vertical;
}

.toolbar select {
  width: 150px;
}

.toolbar input {
  width: min(320px, 42vw);
}

.small-button {
  min-width: 72px;
  min-height: 28px;
  padding: 4px 8px;
  font-size: 11px;
}

.genesis-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

.genesis-icon-button .button-icon {
  width: 15px;
  height: 15px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 15px;
}

.genesis-icon-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.table-frame {
  overflow: auto;
  overscroll-behavior: auto;
  border: 1.5px solid var(--table-border);
  border-radius: 6px;
  max-height: 420px;
  background: #ffffff;
}

#view-system-settings .table-frame {
  overscroll-behavior: auto;
}

.table-frame.tall {
  max-height: 520px;
}

.report-table-frame.large-answer-table-frame {
  height: clamp(300px, calc(100vh - 380px), 520px);
  max-height: clamp(300px, calc(100vh - 380px), 520px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.report-table-frame.large-answer-table-frame .report-data-table {
  border-collapse: separate;
  border-spacing: 0;
}

.table-frame.compact-table-frame {
  max-height: 300px;
}

table {
  width: max-content;
  min-width: 0;
  border-collapse: collapse;
  font-size: 12px;
  border: 1.5px solid var(--table-border);
}

table.sized-table {
  min-width: 100%;
  table-layout: fixed;
}

table.static-controlled-table {
  min-width: 100%;
  table-layout: fixed;
}

table.sized-table th,
table.sized-table td,
table.static-controlled-table th,
table.static-controlled-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}

th,
td {
  text-align: left;
  white-space: nowrap;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  padding: 3px 6px;
  vertical-align: bottom;
  line-height: 1.05;
}

table th,
table td {
  vertical-align: bottom !important;
}

.table-frame table input,
.table-frame table select,
.table-frame table textarea {
  max-width: 100%;
  box-sizing: border-box;
}

.product-catalog-frame {
  max-height: min(360px, calc(100vh - 310px));
  min-height: 260px;
}

#productCatalogTable {
  border-collapse: separate;
  border-spacing: 0;
}

#productCatalogTable th,
#productCatalogTable td {
  padding: 2px 4px;
  line-height: 1;
}

#productCatalogTable.product-grid-edit-mode th,
#productCatalogTable.product-grid-edit-mode td {
  padding: 1px 2px;
}

#productCatalogTable .boolean-cell {
  text-align: center;
}

#productCatalogTable th:nth-child(-n+5),
#productCatalogTable td:nth-child(-n+5) {
  position: sticky;
  box-shadow: inset -1px 0 0 var(--table-border);
}

#productCatalogTable th:nth-child(1),
#productCatalogTable td:nth-child(1) {
  left: var(--product-catalog-sticky-left-1, 0);
}

#productCatalogTable th:nth-child(2),
#productCatalogTable td:nth-child(2) {
  left: var(--product-catalog-sticky-left-2, 82px);
}

#productCatalogTable th:nth-child(3),
#productCatalogTable td:nth-child(3) {
  left: var(--product-catalog-sticky-left-3, 186px);
}

#productCatalogTable th:nth-child(4),
#productCatalogTable td:nth-child(4) {
  left: var(--product-catalog-sticky-left-4, 486px);
}

#productCatalogTable th:nth-child(5),
#productCatalogTable td:nth-child(5) {
  left: var(--product-catalog-sticky-left-5, 534px);
  box-shadow:
    inset -1px 0 0 var(--table-border),
    1px 0 0 var(--table-border);
}

#productCatalogTable .actions-cell {
  padding-right: 2px;
  padding-left: 2px;
}

#productCatalogTable .product-action-group {
  display: flex;
  gap: 3px;
  align-items: center;
  justify-content: center;
}

#productCatalogTable .product-action-group .table-icon-button {
  width: 20px;
  height: 19px;
  min-height: 19px;
  flex: 0 0 20px;
  border-radius: 6px;
}

#productCatalogTable thead th {
  z-index: 20;
  background: var(--table-header);
}

#productCatalogTable thead th:nth-child(-n+5) {
  z-index: 30;
  background: var(--table-header);
}

#productCatalogTable tbody td:nth-child(-n+5) {
  z-index: 10;
  background: #ffffff;
}

#productCatalogTable .product-grid-dirty-row td:nth-child(-n+5) {
  background: #fffaf0;
}

.product-grid-edit-cell {
  background: #ffffff;
}

.product-grid-input,
.product-grid-select {
  display: block;
  width: 100%;
  height: 20px;
  min-width: 0;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0 3px;
  color: var(--ink);
  background: #ffffff;
  font: inherit;
  line-height: 18px;
}

.product-grid-input.numeric {
  text-align: right;
}

.product-grid-input:focus,
.product-grid-select:focus,
.product-grid-checkbox:focus {
  border-color: #2f6fed;
  outline: 1px solid #2f6fed;
}

.product-grid-checkbox {
  width: 14px;
  height: 14px;
  margin: 0;
  vertical-align: middle;
}

.product-grid-dirty-row td {
  background: #fffaf0;
}

.sales-management-panel .panel-heading,
.sales-account-workspace-panel .sales-workspace-header {
  gap: 12px;
}

.sales-management-frame {
  max-height: min(420px, calc(100vh - 310px));
  min-height: 260px;
}

.sales-management-frame .selected-row td {
  background: #c7dcf6;
  box-shadow: inset 0 1px 0 #6f99d0, inset 0 -1px 0 #6f99d0;
  color: #10243c;
  font-weight: 850;
}

.sales-management-frame .selected-row td:first-child {
  background: #b8d1f0;
  box-shadow: inset 0 1px 0 #587faf, inset 0 -1px 0 #587faf, inset 4px 0 0 var(--royal);
}

.sales-picklist-tabs {
  margin-top: 0;
}

.sales-picklist-tables {
  display: grid;
  gap: 12px;
}

.sales-picklist-section {
  min-width: 0;
}

.sales-picklist-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 5px;
  border-bottom: 1px solid var(--navy);
}

.sales-picklist-section-heading h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}

.sales-picklist-section-heading span {
  margin: 0 0 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.sales-picklist-add-form {
  display: grid;
  grid-template-columns: minmax(160px, 240px) auto;
  align-items: end;
  gap: 6px;
  margin: 0 0 5px;
}

.sales-picklist-add-input {
  width: 100%;
  min-width: 0;
}

.sales-picklist-bulk-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.sales-picklist-bulk-actions > span,
.sales-picklist-bulk-actions > small {
  text-transform: uppercase;
}

.sales-picklist-select-cell,
.sales-picklist-table th:first-child {
  width: 42px;
  text-align: center;
}

.sales-picklist-select-cell input,
.sales-picklist-table th:first-child input {
  width: 14px;
  height: 14px;
  margin: 0;
}

.sales-picklist-frame {
  max-height: 310px;
}

.sales-picklist-table th,
.sales-picklist-table td {
  padding: 3px 5px;
  line-height: 1.1;
}

.sales-picklist-value-input {
  width: 100%;
  min-width: 0;
}

.sales-account-list-frame {
  max-height: min(620px, calc(100vh - 245px));
}

.sales-funnel-frame {
  max-height: min(660px, calc(100vh - 300px));
}

#salesFunnelPanel .panel-heading {
  align-items: flex-start;
  flex-wrap: wrap;
}

#salesFunnelPanel .panel-heading > div:first-child {
  flex: 1 1 260px;
  min-width: 240px;
}

#salesFunnelPanel .action-row {
  flex: 1 1 720px;
  min-width: 0;
  justify-content: flex-end;
  align-items: end;
}

#salesFunnelLayoutSelect {
  min-width: 206px;
}

.sales-funnel-date-filter {
  display: grid;
  grid-template-columns: minmax(126px, 1fr);
  gap: 4px;
  min-width: 136px;
  margin: 0;
  padding: 2px 5px 4px;
  border: 1px solid #b8c6d6;
  border-radius: 6px;
  background: #fbfcfe;
}

.sales-funnel-date-filter.has-custom-dates {
  grid-template-columns: minmax(126px, 1fr) 116px 116px;
  min-width: 380px;
}

.sales-funnel-date-filter legend {
  padding: 0 4px;
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.sales-funnel-date-filter .compact-input {
  min-height: 27px;
}

.sales-funnel-created-toggle {
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid #b8c6d6;
  border-radius: 6px;
  background: #ffffff;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.sales-funnel-selection-note {
  margin: 0 0 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.sales-funnel-totals {
  display: grid;
  grid-template-columns: repeat(6, minmax(112px, 1fr));
  gap: 7px;
  margin: 7px 0 10px;
}

.sales-funnel-total-card {
  min-height: 48px;
  display: grid;
  grid-template-rows: 21px 1fr;
  padding: 0;
  overflow: hidden;
  border: 1px solid #aebaca;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
  text-align: center;
}

.sales-funnel-total-card span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 21px;
  margin: 0;
  padding: 3px 7px;
  overflow: hidden;
  background: linear-gradient(180deg, #e8f3ff 0%, #edf6ff 62%, #ffffff 100%);
  color: var(--navy);
  font-size: 10.5px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.sales-funnel-total-card strong {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 5px 8px 7px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}

#salesLeadTable th,
#salesLeadTable td,
#salesArchivedLeadTable th,
#salesArchivedLeadTable td,
#salesAccountTable th,
#salesAccountTable td,
#salesFunnelTable th,
#salesFunnelTable td {
  padding: 2px 5px;
  line-height: 1.05;
}

#salesFunnelTable thead th {
  white-space: normal;
  vertical-align: bottom;
}

#salesFunnelTable thead th.date-cell,
#salesFunnelTable thead th.date-cell .table-label-text {
  text-align: right;
}

#salesFunnelTable thead .table-label-text {
  display: block;
  white-space: normal;
  line-height: 1.05;
}

.sales-funnel-opportunity-row td {
  font-size: 11px;
}

#salesFunnelTable .sales-funnel-opportunity-name-cell {
  padding-left: 32px;
}

#salesLeadTable th:first-child,
#salesLeadTable td:first-child,
#salesArchivedLeadTable th:first-child,
#salesArchivedLeadTable td:first-child,
#salesAccountTable th:first-child,
#salesAccountTable td:first-child {
  position: sticky;
  left: 0;
  box-shadow: inset -1px 0 0 var(--table-border);
}

#salesLeadTable thead th:first-child,
#salesArchivedLeadTable thead th:first-child,
#salesAccountTable thead th:first-child {
  z-index: 30;
  background: var(--table-header);
}

#salesLeadTable tbody td:first-child,
#salesArchivedLeadTable tbody td:first-child,
#salesAccountTable tbody td:first-child {
  z-index: 10;
  background: #ffffff;
}

#salesLeadTable tbody tr.selected-row td,
#salesArchivedLeadTable tbody tr.selected-row td,
#salesAccountTable tbody tr.selected-row td {
  background: #c7dcf6;
  box-shadow: inset 0 1px 0 #6f99d0, inset 0 -1px 0 #6f99d0;
  color: #10243c;
  font-weight: 850;
}

#salesLeadTable tbody tr.selected-row td:first-child,
#salesArchivedLeadTable tbody tr.selected-row td:first-child,
#salesAccountTable tbody tr.selected-row td:first-child {
  background: #b8d1f0;
  box-shadow: inset 0 1px 0 #587faf, inset 0 -1px 0 #587faf, inset 4px 0 0 var(--royal);
}

#salesLeadTable .actions-cell,
#salesArchivedLeadTable .actions-cell,
#salesAccountTable .actions-cell,
.sales-detail-frame .actions-cell {
  padding-right: 2px;
  padding-left: 2px;
}

.sales-action-group {
  display: flex;
  gap: 3px;
  align-items: center;
  justify-content: center;
}

.sales-action-group .table-icon-button {
  width: 22px;
  height: 20px;
  min-height: 20px;
  flex: 0 0 22px;
  border-radius: 6px;
}

.sales-select-cell {
  text-align: center;
}

.sales-funnel-owner-row td,
.sales-funnel-group-row td,
.sales-funnel-stage-row td,
.sales-funnel-subtotal-row td,
.sales-funnel-grand-total-row td {
  font-weight: 900;
}

.sales-funnel-owner-row td,
.sales-funnel-group-row td {
  background: #e7edf4;
  color: var(--royal);
  height: 32px;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  font-size: 13px;
  line-height: 1.2;
}

.sales-funnel-stage-row td {
  background: #f5f7fa;
  color: var(--ink);
  height: 28px;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-size: 13px;
  line-height: 1.2;
}

.sales-funnel-subtotal-row td {
  border-top: 1.5px solid #344456;
  background: #ffffff;
  color: var(--ink);
}

.sales-funnel-owner-total-row td {
  color: var(--royal);
}

.sales-funnel-grand-total-row td {
  border-top: 2px solid #344456;
  background: #dfe6ef;
}

.sales-funnel-opportunity-row {
  cursor: pointer;
}

.sales-funnel-owner-label {
  display: inline-block;
  padding-left: 4px;
}

.sales-funnel-stage-label {
  display: inline-block;
  padding-left: 18px;
}

.sales-funnel-total-label {
  display: inline-block;
  padding-left: 18px;
}

.sales-funnel-opportunity-row:hover td,
.sales-funnel-opportunity-row:focus td {
  background: #eef6ff;
}

.sales-funnel-opportunity-card {
  width: 90vw;
  height: 90vh;
  max-height: 90vh;
}

.sales-funnel-opportunity-body {
  padding: 12px 18px 18px;
}

.sales-funnel-modal-section + .sales-funnel-modal-section {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1.5px solid #344456;
}

.sales-funnel-account-summary {
  margin-bottom: 4px;
}

.sales-row-checkbox {
  width: 14px;
  height: 14px;
  margin: 0;
  vertical-align: middle;
}

.sales-summary-strip {
  display: none;
}

.sales-query-builder {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) 136px minmax(170px, 1fr) repeat(3, max-content);
  gap: 7px;
  align-items: center;
  margin: 8px 0 9px;
}

.sales-query-builder .compact-input,
.sales-query-builder button {
  min-height: 32px;
}

.sales-query-builder .genesis-action-button,
.sales-lead-view-controls .genesis-action-button,
.sales-account-toolbar-row .genesis-action-button {
  width: var(--genesis-action-width);
  height: var(--genesis-action-height);
  min-width: 0;
  min-height: var(--genesis-action-height);
  padding: 3px 7px 3px 4px;
}

#salesDataOverviewStrip {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 7px;
  margin: 7px 0;
}

#salesDataOverviewStrip .metric {
  min-height: 48px;
  display: grid;
  grid-template-rows: 21px 1fr;
  padding: 0;
  overflow: hidden;
  border-color: #aebaca;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
  text-align: center;
}

#salesDataOverviewStrip .metric-label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 21px;
  margin: 0;
  padding: 3px 7px;
  overflow: hidden;
  background: linear-gradient(180deg, #e8f3ff 0%, #edf6ff 62%, #ffffff 100%);
  color: var(--navy);
  font-size: 10.5px;
  line-height: 1.1;
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

#salesDataOverviewStrip .metric-value {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 5px 8px 7px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}

.sales-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  grid-column: 1 / -1;
  min-width: 0;
}

.sales-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  max-width: 360px;
  padding: 3px 7px;
  border: 1px solid #8fa8c4;
  border-radius: 6px;
  background: #eef1f5;
  color: #344456;
  font-size: 12px;
  font-weight: 800;
}

.sales-filter-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-filter-chip button {
  min-height: 20px;
  width: 20px;
  padding: 0;
  border-radius: 5px;
  line-height: 1;
}

.sales-lead-list-form {
  display: grid;
  gap: 10px;
  padding: 0 18px 18px;
}

.sales-lead-list-form label {
  display: grid;
  gap: 4px;
  color: #344456;
  font-size: 12px;
  font-weight: 900;
}

.sales-lead-list-form textarea {
  width: 100%;
  min-height: 78px;
  resize: vertical;
}

#salesLeadListModal .compact-dialog-card {
  width: min(700px, 94vw);
  height: auto;
  max-height: min(520px, 88vh);
  grid-template-rows: auto auto;
}

#salesLeadListModal .compact-dialog-card > .panel-heading {
  padding: 14px 16px 10px;
}

#salesLeadListModal .sales-lead-list-form {
  padding: 12px 16px 16px;
}

#salesLeadListModal .sales-lead-list-form textarea {
  min-height: 64px;
}

#salesLeadListModal .dialog-actions {
  margin-top: 2px;
}

.sales-summary-item {
  display: flex;
  gap: 7px;
  align-items: center;
  min-height: 26px;
  padding: 3px 8px;
  border: 1px solid #b7c6d8;
  border-radius: 6px;
  background: #ffffff;
  color: var(--navy);
  font-size: 12px;
}

.sales-summary-item span {
  color: var(--muted);
  font-weight: 800;
}

.sales-summary-item strong {
  color: var(--navy);
  font-weight: 900;
}

.sales-account-workspace-panel {
  margin-top: 12px;
}

.sales-account-workspace-panel.sales-account-proposal-fullscreen .sales-proposal-create-section {
  margin-top: 0;
}

.sales-account-group-links-frame {
  max-height: min(380px, calc(100vh - 360px));
}

.sales-page-editor {
  margin-top: 10px;
  border: 1px solid #8fa8c4;
  border-radius: 6px;
  background: #ffffff;
  overflow: hidden;
}

.sales-page-editor-header {
  padding: 10px 12px;
}

.sales-page-editor-body {
  max-height: none;
  padding: 10px 12px 12px;
}

.sales-account-inline-form {
  display: grid;
  gap: 8px;
}

.sales-account-inline-form .account-data-grid select,
.sales-account-inline-form .account-data-grid input,
.sales-account-inline-form .sales-account-metadata-edit-grid select,
.sales-account-inline-form .sales-account-metadata-edit-grid input,
.sales-account-inline-form .sales-account-metadata-edit-grid textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 7px;
  padding: 6px 8px;
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.sales-account-metadata-edit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(170px, 1fr));
  gap: 10px;
}

.sales-account-metadata-edit-grid label {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: #697789;
  font-size: 11px;
  font-weight: 800;
}

.sales-account-metadata-edit-grid .span-full {
  grid-column: 1 / -1;
}

.sales-todo-delivery-options {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 8px 12px;
  align-content: end;
  margin: 0;
  padding: 0;
  border: 0;
}

.sales-todo-delivery-options.wide,
.sales-todo-delivery-options.span-2 {
  grid-column: 1 / -1;
}

.sales-todo-delivery-options legend {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.sales-todo-delivery-options label {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
}

.sales-todo-delivery-options input[type="checkbox"] {
  flex: 0 0 16px;
  width: 16px;
  min-width: 16px;
  min-height: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  accent-color: var(--royal);
}

.sales-workspace-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  margin-bottom: 10px;
}

.sales-workspace-header h2 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 17px;
}

.sales-workspace-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.sales-workspace-meta span {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.sales-data-management-frame {
  max-height: min(58vh, 560px);
}

.salesforce-staging-refresh {
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px solid #c8d2df;
}

.salesforce-staging-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(170px, 1fr));
  gap: 8px;
  align-items: end;
}

.salesforce-staging-form label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.salesforce-staging-form input[type="file"] {
  max-width: 100%;
  min-height: 32px;
  padding: 5px 7px;
  border: 1px solid #b8c4d3;
  border-radius: 6px;
  background: #ffffff;
  color: var(--navy);
  font-size: 11px;
  font-weight: 700;
}

.salesforce-staging-toggle {
  display: inline-flex !important;
  grid-template-columns: none;
  gap: 6px !important;
  align-items: center;
  min-height: 32px;
  color: var(--navy) !important;
}

.salesforce-staging-actions {
  grid-column: 2 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.salesforce-staging-actions button {
  min-width: 126px;
  white-space: nowrap;
}

.salesforce-staging-actions .genesis-action-button {
  --genesis-action-width: 146px;
  --genesis-action-height: 30px;
  white-space: nowrap;
}

.salesforce-staging-actions .genesis-action-label {
  display: inline-flex;
  gap: 3px;
  justify-content: center;
  white-space: nowrap;
}

.salesforce-staging-actions .genesis-action-label span {
  display: inline;
}

.salesforce-staging-metrics {
  margin-top: 8px;
}

.salesforce-staging-status {
  min-height: 18px;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

@media (max-width: 1280px) {
  .salesforce-staging-form {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }

  .salesforce-staging-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .salesforce-staging-form {
    grid-template-columns: 1fr;
  }

  .salesforce-staging-actions {
    grid-column: 1;
  }

  .salesforce-staging-actions button {
    width: 100%;
  }
}

.sales-data-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0;
}

.sales-data-profile-item {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #8fa8c4;
  border-left: 4px solid var(--royal);
  border-radius: 6px;
  background: #f8fbff;
}

.compact-field-list {
  margin: 5px 0 0;
}

.compact-field-list div {
  grid-template-columns: 82px minmax(0, 1fr);
}

.compact-field-list dd {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-data-field-profile-frame {
  max-height: 68vh;
}

.sales-dialog-card.sales-data-field-profile-dialog {
  width: min(1040px, 94vw);
}

.sales-data-tabs {
  margin: 5px 0 8px;
}

.sales-data-tab-panel {
  min-width: 0;
}

.mini-panel-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 5px;
}

.mini-panel-heading h3 {
  margin: 0;
  color: #344456;
  font-size: 13px;
  font-weight: 900;
}

.mini-panel-heading span {
  color: #6f7d8d;
  font-size: 12px;
  font-weight: 850;
}

.sales-data-secondary-frame {
  max-height: min(54vh, 520px);
}

.sales-data-action-group {
  justify-content: flex-start;
  gap: 6px;
  white-space: nowrap;
}

.sales-data-action-group .row-action-button,
.sales-data-action-group .quiet-button,
.sales-data-action-group .danger-button {
  min-height: 25px;
  padding: 3px 9px;
}

.sales-data-tab-heading {
  min-height: 28px;
  align-items: center;
}

#salesDataListsPanel table th:last-child,
#salesDataListsPanel table td:last-child {
  min-width: 300px;
}

#salesDataImportsPanel table th:last-child,
#salesDataImportsPanel table td:last-child {
  min-width: 270px;
}

.sales-data-result-summary {
  margin-bottom: 8px;
}

.sales-data-result-frame {
  max-height: 460px;
}

.sales-data-import-card {
  width: min(1060px, 92vw);
  height: auto !important;
  max-height: 88vh !important;
  grid-template-rows: auto minmax(0, auto) !important;
}

.sales-account-merge-card {
  width: min(1320px, 96vw);
  height: auto !important;
  max-height: 90vh !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

.sales-account-merge-card .dialog-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
  padding: 12px 18px 18px;
}

.sales-account-merge-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.7fr);
  gap: 12px;
  max-height: 68vh;
  overflow: auto;
  padding: 0 18px;
}

.sales-account-merge-section {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

.sales-account-merge-section.span-2 {
  grid-column: 1 / -1;
}

.sales-account-merge-section h3 {
  margin: 0;
  color: #263647;
  font-size: 14px;
}

.sales-account-merge-selected,
.sales-account-merge-plan,
.sales-account-merge-options {
  display: grid;
  gap: 6px;
}

.sales-account-merge-selected {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.sales-account-merge-account,
.sales-account-merge-options label,
.sales-account-merge-choice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #ffffff;
  color: #344456;
  font-size: 12px;
  font-weight: 800;
}

.sales-account-merge-account.selected,
.sales-account-merge-choice.is-selected {
  border-color: #2f6fed;
  background: #f3f7ff;
}

.sales-account-merge-account span,
.sales-account-merge-options label,
.sales-account-merge-choice span {
  min-width: 0;
}

.sales-account-merge-account strong,
.sales-account-merge-account small,
.sales-account-merge-options small,
.sales-account-merge-choice strong,
.sales-account-merge-choice small,
.sales-account-merge-column-heading strong,
.sales-account-merge-column-heading small,
.sales-account-merge-table-heading strong,
.sales-account-merge-table-heading small,
.sales-account-merge-conflict-label strong,
.sales-account-merge-conflict-label span {
  display: block;
  overflow-wrap: anywhere;
}

.sales-account-merge-account small,
.sales-account-merge-options small,
.sales-account-merge-conflict-heading span,
.sales-account-merge-choice small,
.sales-account-merge-column-heading small,
.sales-account-merge-table-heading small,
.sales-account-merge-conflict-label span,
.sales-account-merge-empty-cell {
  color: #6f7d8d;
  font-size: 11px;
  font-weight: 750;
}

.sales-account-merge-plan {
  padding: 8px 9px;
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #f8fafc;
  color: #344456;
  font-size: 12px;
  font-weight: 800;
}

.sales-account-merge-conflicts-table {
  max-height: min(52vh, 520px);
  overflow: auto;
  border: 1px solid #b9c9dc;
  border-radius: 6px;
  background: #fbfdff;
  box-shadow: inset 0 0 0 1px rgba(185, 201, 220, 0.18);
}

.sales-account-merge-table-grid {
  display: grid;
  min-width: 820px;
}

.sales-account-merge-conflict-row {
  display: contents;
}

.sales-account-merge-table-heading,
.sales-account-merge-conflict-label,
.sales-account-merge-choice-cell {
  min-width: 0;
}

.sales-account-merge-table-heading,
.sales-account-merge-conflict-label,
.sales-account-merge-choice-cell {
  min-height: 58px;
  border-right: 1px solid #d8e2ee;
  border-bottom: 1px solid #d8e2ee;
}

.sales-account-merge-table-heading {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  min-height: 44px;
  padding: 8px 9px;
  border-bottom-color: #b9c9dc;
  background: #eaf1f8;
  color: #344456;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
}

.sales-account-merge-conflict-label {
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 8px 9px;
  background: #f8fafc;
  color: #263647;
  font-size: 13px;
  font-weight: 850;
}

.sales-account-merge-choice-cell {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 6px;
  background: #ffffff;
}

.sales-account-merge-choice {
  align-items: center;
  min-height: 44px;
  margin: 0;
  cursor: pointer;
}

.sales-account-merge-choice input {
  margin-top: 2px;
  flex: 0 0 auto;
}

.sales-account-merge-empty-cell {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 7px 8px;
  border: 1px dashed #d8e2ee;
  border-radius: 6px;
  background: #ffffff;
}

@media (max-width: 900px) {
  .sales-account-merge-layout {
    grid-template-columns: 1fr;
  }

  .sales-account-merge-conflict-label {
    align-items: flex-start;
    gap: 4px;
  }
}

@media (max-width: 640px) {
  .sales-account-merge-layout {
    max-height: 48vh;
  }

  .sales-account-merge-card .dialog-actions button {
    flex: 1 1 118px;
  }
}

.sales-data-import-form {
  display: grid;
  gap: 10px;
  padding: 0 18px 18px;
}

.sales-data-import-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.sales-data-import-controls label,
.sales-data-import-form > label {
  display: grid;
  gap: 4px;
  color: #6f7d8d;
  font-size: 12px;
  font-weight: 850;
}

.sales-data-import-status {
  min-height: 30px;
  padding: 7px 9px;
  border: 1px solid #c8d6e8;
  border-radius: 6px;
  background: #f5f9ff;
  color: #344456;
  font-size: 12px;
  font-weight: 800;
}

.sales-data-import-map-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 0;
  color: #344456;
  font-size: 12px;
  font-weight: 900;
}

.sales-data-import-map {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 2px;
  max-height: 330px;
  overflow: auto;
  padding-right: 6px;
}

.sales-data-import-map-heading,
.sales-data-import-map-row {
  display: grid;
  grid-template-columns: minmax(190px, 260px) minmax(300px, 450px) minmax(170px, 1fr);
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.sales-data-import-map-heading {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 4px 0;
  border-bottom: 1.5px solid #344456;
  background: #ffffff;
  color: #6f7d8d;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.sales-data-import-map-row {
  padding: 2px 0;
  border: 0;
  border-bottom: 1px solid #e2eaf4;
  border-radius: 0;
  background: transparent;
}

.sales-data-import-map-row span {
  overflow: hidden;
  color: #344456;
  font-size: 12px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-data-import-map-row .compact-input {
  min-height: 28px;
  padding: 4px 8px;
}

.sales-data-import-fixed-input-group {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.sales-data-import-fixed-input-group input {
  min-width: 0;
  flex: 1;
}

.sales-data-import-fixed-input-group .row-action-button {
  width: 30px;
  min-width: 30px;
  height: 28px;
  padding: 0;
  justify-self: end;
}

.sales-workspace-meta span + span::before {
  content: "|";
  margin: 0 7px;
  color: #8fa8c4;
}

.sales-workspace-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 2px 0 9px;
  border-bottom: 1px solid #8fa8c4;
}

.sales-lead-workbar {
  display: flex;
  gap: 8px;
  align-items: end;
  justify-content: space-between;
  margin: 8px 0 4px;
}

.sales-query-shell {
  position: relative;
  margin: 10px 0 12px;
  padding-top: 10px;
  border-top: 1px solid #c6d7eb;
}

.sales-query-shell.filters-collapsed {
  margin-bottom: 8px;
}

.sales-query-shell .sales-query-builder {
  margin: 0 0 6px;
}

.sales-query-caret-button {
  position: absolute;
  left: 50%;
  top: -12px;
  width: 24px;
  min-width: 24px;
  height: 22px;
  min-height: 22px;
  padding: 0;
  border-radius: 999px;
  transform: translate(-50%, 0);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  pointer-events: auto;
  z-index: 2;
}

.sales-query-caret-button span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
}

.sales-query-caret-button svg {
  width: 14px;
  height: 14px;
  display: block;
  transition: transform 0.12s ease;
  transform-origin: 50% 50%;
}

.sales-query-caret-button.is-collapsed svg {
  transform: rotate(180deg);
}

.sales-lead-workbar .sales-workspace-tabs {
  flex: 1 1 auto;
  margin-bottom: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  padding-bottom: 1px;
}

.sales-lead-workbar .sales-workspace-tab {
  flex: 0 0 auto;
}

.sales-lead-view-controls {
  flex: 0 0 auto;
  margin-bottom: 4px;
  gap: 6px;
}

.sales-lead-list-action-btn {
  min-width: 84px;
  min-height: 30px;
  padding: 0 8px;
}

.sales-lead-view-controls select {
  min-width: 126px;
}

.sales-lead-view-controls .quiet-button,
.sales-lead-view-controls .primary-button,
.sales-lead-view-controls .danger-button {
  min-width: 84px;
  min-height: 30px;
  padding: 0 8px;
}

.sales-account-toolbar-row {
  gap: 6px;
}

.sales-account-toolbar-row .quiet-button,
.sales-account-toolbar-row .primary-button,
.sales-account-toolbar-row .secondary-button,
.sales-account-toolbar-row .danger-button {
  min-width: 84px;
  min-height: 30px;
  padding: 0 8px;
}

.sales-account-toolbar-row #salesAccountSavedViewSelect {
  min-width: 124px;
}

.sales-lead-list-context {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 8px;
  padding: 7px 9px;
  border: 1px solid #b8cbe2;
  border-radius: 6px;
  background: #f6f9fd;
  color: var(--navy);
}

.sales-lead-list-context strong {
  font-size: 13px;
  font-weight: 900;
}

.sales-lead-list-context span {
  color: #5d7188;
  font-size: 12px;
  font-weight: 750;
}

.sales-lead-column-picker {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  max-height: min(430px, 58vh);
  overflow: auto;
  padding: 8px;
  border: 1px solid #b8cbe2;
  border-radius: 6px;
  background: #f7faff;
}

.sales-lead-column-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 32px;
  padding: 5px 6px;
  border: 1px solid #c6d7eb;
  border-radius: 6px;
  background: #ffffff;
}

.sales-lead-column-option .checkbox-line {
  min-width: 0;
}

.sales-lead-column-option .checkbox-line span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-lead-column-move {
  display: inline-flex;
  gap: 3px;
}

.sales-lead-column-move .table-icon-button {
  width: 23px;
  height: 22px;
  min-height: 22px;
}

@media (max-width: 760px) {
  .sales-lead-workbar {
    align-items: stretch;
    flex-direction: column;
  }

  .sales-lead-view-controls {
    justify-content: flex-start;
  }

  .sales-lead-column-picker {
    grid-template-columns: 1fr;
  }
}

.sales-workspace-tab {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid #8fa8c4;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  background: #eef1f5;
  color: var(--navy);
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.sales-workspace-tab.active {
  border-color: var(--royal);
  background: var(--royal);
  color: #ffffff;
  box-shadow: none;
}

.sales-workspace-tab strong {
  font-size: 11px;
  font-weight: 900;
}

.sales-workspace-tab .sales-tab-count {
  color: var(--royal);
}

.sales-workspace-tab.active .sales-tab-count {
  color: #ffffff;
}

.sales-workspace-tab-body {
  min-width: 0;
}

.sales-convert-form {
  display: grid;
  gap: 10px;
}

.sales-convert-section {
  padding: 8px 0 10px;
  border-top: 1px solid #8fa8c4;
  border-radius: 0;
  background: transparent;
}

.sales-convert-section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 7px;
}

.sales-convert-section-head h3 {
  margin: 0;
  color: var(--navy);
  font-size: 14px;
}

.sales-convert-section-head strong {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.sales-convert-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}

.sales-convert-button {
  min-width: 132px;
}

.sales-detail-grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.95fr) minmax(480px, 1.35fr);
  gap: 12px;
  align-items: start;
}

.sales-overview-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
  gap: 12px;
}

.sales-account-info-layout {
  grid-template-columns: max-content;
  justify-content: start;
  align-items: start;
}

.sales-account-info-layout .account-data-section {
  width: fit-content;
  max-width: 100%;
}

.sales-account-info-layout .account-data-section.account-section-identity .account-data-grid {
  grid-template-columns: 170px 180px 220px 180px;
  grid-template-areas:
    "id name name name"
    "dba dba org partner"
    "region segment account-owner account-owner"
    "created last-activity main account-mobile"
    "website website website website";
}

.sales-account-info-layout .account-data-section.account-section-identity .account-display-field-created {
  grid-area: created;
}

.sales-account-info-layout .account-data-section.account-section-identity .account-display-field-last-activity {
  grid-area: last-activity;
}

.sales-account-info-layout .account-data-section.account-section-identity .account-display-field-billing-id {
  grid-area: account-mobile;
}

.sales-account-section-notes {
  width: min(812px, 100%) !important;
}

.sales-account-billing-bridge-section {
  width: min(980px, 100%) !important;
}

.sales-account-billing-bridge-section .account-data-section-header {
  align-items: center;
}

.sales-account-billing-bridge-section .account-data-section-header span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.sales-account-billing-bridge-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(360px, 0.95fr);
  gap: 12px;
  align-items: start;
}

.sales-account-billing-bridge-current .sales-field-list {
  margin: 0;
}

.sales-account-billing-bridge-form {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.sales-account-billing-bridge-form label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.sales-account-billing-bridge-form label span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-account-billing-bridge-form input,
.sales-account-billing-bridge-form select {
  min-width: 0;
  width: 100%;
  height: 31px;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 7px;
  padding: 5px 8px;
  font: inherit;
}

.sales-account-billing-bridge-form select {
  background: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sales-account-billing-bridge-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.sales-detail-section {
  min-width: 0;
}

.sales-detail-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0 0 5px;
}

.sales-detail-heading h3 {
  margin: 0;
  color: var(--navy);
  font-size: 14px;
}

.sales-financial-section .sales-detail-heading {
  justify-content: center;
}

.sales-financial-section .sales-detail-heading h3 {
  text-align: center;
}

.sales-detail-total {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.sales-metadata-form {
  gap: 10px;
}

.sales-metadata-new-row {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(260px, 520px);
  gap: 10px;
  align-items: end;
}

.sales-metadata-actions {
  margin-top: 10px;
}

.sales-message-form textarea,
.sales-todo-form textarea {
  width: 100%;
  resize: vertical;
}

.sales-detail-heading span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.sales-detail-frame {
  max-height: 260px;
}

.sales-detail-frame table {
  min-width: 100%;
}

.sales-field-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(390px, 1fr));
  gap: 0 24px;
  margin: 0;
  border-top: 1px solid #c4d0dd;
}

.sales-field-list div {
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-width: 0;
  padding: 5px 2px;
  border: 0;
  border-bottom: 1px solid #c4d0dd;
  border-radius: 0;
  background: transparent;
}

.sales-field-list div.span-2 {
  grid-column: 1 / -1;
}

.sales-field-list dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: none;
}

.sales-field-list dd {
  min-height: 16px;
  margin: 0;
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.sales-financial-timing-meta {
  grid-template-columns: 1fr;
  margin-bottom: 10px;
}

.sales-financial-timing-meta div {
  grid-template-columns: 112px minmax(0, 1fr);
}

.sales-financial-matrix {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  border-top: 1px solid #c4d0dd;
}

.sales-financial-matrix th,
.sales-financial-matrix td {
  padding: 6px 8px;
  border-right: 0;
  border-bottom: 1px solid #c4d0dd;
  font-size: 13px;
  line-height: 1.1;
}

.sales-financial-matrix thead th {
  background: #eef4fb;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-align: right;
}

.sales-financial-matrix thead th:first-child,
.sales-financial-matrix tbody th {
  text-align: left;
}

.sales-financial-matrix tbody th {
  color: var(--muted);
  font-weight: 850;
}

.sales-financial-matrix td {
  color: var(--navy);
  font-weight: 800;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.sales-stage-pill {
  display: inline;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--navy);
  text-overflow: ellipsis;
  vertical-align: middle;
}

.sales-opportunity-detail-host {
  margin-top: 12px;
  border-top: 1.5px solid #344456;
  padding-top: 10px;
}

.sales-opportunity-workspace {
  min-width: 0;
}

.sales-opportunity-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 12px;
  align-items: start;
  margin-bottom: 8px;
}

.sales-object-label {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.sales-opportunity-header h3 {
  margin: 1px 0 0;
  color: var(--navy);
  font-size: 16px;
}

.sales-stage-path {
  display: flex;
  min-width: 0;
  margin: 6px 0 10px;
  overflow: hidden;
  border: 1px solid #c4d0dd;
  background: #eef1f5;
}

.sales-stage-segment {
  position: relative;
  display: flex;
  min-width: 92px;
  min-height: 28px;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-right: 1px solid #ffffff;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.sales-stage-segment span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-stage-segment.complete {
  background: #3da75a;
  color: #ffffff;
}

.sales-stage-segment.current {
  background: #075995;
  color: #ffffff;
}

.sales-stage-segment.future {
  background: #eef1f5;
}

.sales-stage-segment.current.abandoned {
  background: #ffd8dc;
  color: var(--navy);
}

.sales-stage-segment.current.closed-lost {
  background: var(--red);
  color: #000000;
}

.sales-owner-change-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
  margin: 0 0 10px;
  padding: 8px 0 10px;
  border-bottom: 1px solid #c4d0dd;
}

.sales-owner-change-form label {
  display: grid;
  grid-template-columns: 90px 260px;
  gap: 8px;
  align-items: center;
  color: var(--navy);
  font-size: 12px;
  font-weight: 850;
}

.sales-owner-change-form select {
  width: 260px;
  min-width: 0;
}

.sales-inline-editor-form {
  margin: 0 0 12px;
  padding: 10px 0 12px;
  border-top: 1px solid #c4d0dd;
  border-bottom: 1px solid #c4d0dd;
}

.sales-inline-editor-top-actions {
  margin: 0 0 8px;
}

.sales-opportunity-detail-grid {
  display: grid;
  grid-template-columns: minmax(390px, 1.2fr) minmax(330px, 0.8fr);
  gap: 18px;
  align-items: start;
}

.sales-opportunity-history-section {
  margin-top: 12px;
}

.sales-opportunity-history-frame {
  max-height: 240px;
}

.sales-dialog-modal {
  position: fixed;
  inset: 0;
  z-index: 2450;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 3vh 3vw;
}

.sales-dialog-modal.active {
  display: flex;
}

.sales-progress-dialog-modal {
  position: fixed;
  inset: 0;
  z-index: 2600;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.sales-progress-dialog-modal.active {
  display: flex;
}

.sales-progress-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(31, 39, 51, 0.34);
}

.sales-progress-dialog-card {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(390px, calc(100vw - 32px));
  padding: 14px 16px;
  border: 1px solid #9bc2ee;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.2);
  color: #17324d;
}

.sales-progress-dialog-card strong,
.sales-progress-dialog-card div > span {
  display: block;
}

.sales-progress-dialog-card strong {
  font-size: 14px;
  line-height: 1.2;
}

.sales-progress-dialog-card div > span {
  margin-top: 3px;
  color: #44617f;
  font-size: 12px;
  line-height: 1.35;
}

.sales-progress-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid #c7ddf5;
  border-top-color: #205fa8;
  border-radius: 50%;
  animation: button-spinner-rotate 720ms linear infinite;
  flex: 0 0 auto;
}

.sales-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(31, 39, 51, 0.48);
}

.sales-dialog-card {
  position: relative;
  z-index: 1;
  width: min(980px, 94vw);
  max-height: 90vh;
  overflow: hidden;
  border: 1px solid #8fa8c4;
  border-radius: var(--dialog-radius);
  background: #ffffff;
  box-shadow: 0 24px 64px rgba(31, 39, 51, 0.28);
}

.sales-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 16px;
  align-items: start;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #8fa8c4;
  background: #fbfdff;
}

.sales-dialog-header h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 17px;
}

.sales-dialog-header p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.sales-dialog-header-fields {
  margin-top: 8px;
}

.sales-dialog-header-field {
  display: grid;
  grid-template-columns: max-content minmax(160px, 280px);
  gap: 8px;
  align-items: center;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.sales-dialog-header-field input,
.sales-dialog-header-field select {
  min-width: 0;
  width: 100%;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.sales-dialog-body {
  max-height: calc(90vh - 74px);
  overflow: auto;
  padding: 12px 14px 14px;
}

.sales-dialog-card.sales-lead-load-dialog {
  width: min(520px, 94vw);
}

.sales-dialog-card.wide-dialog {
  width: min(920px, 94vw);
}

.sales-lead-load-body {
  display: grid;
  gap: 9px;
}

.sales-lead-load-body > label {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.sales-lead-load-list {
  display: grid;
  gap: 6px;
  max-height: min(390px, 58vh);
  overflow: auto;
  padding-right: 2px;
}

.sales-lead-load-option {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 46px;
  padding: 7px 8px;
  border: 1px solid #c6d7eb;
  border-radius: 6px;
  background: #ffffff;
  color: var(--navy);
  cursor: pointer;
}

.sales-lead-load-option input {
  margin: 0;
}

.sales-lead-load-option strong,
.sales-lead-load-option small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-lead-load-option strong {
  font-size: 12px;
  font-weight: 900;
}

.sales-lead-load-option small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.sales-lead-load-option:has(input:checked) {
  border-color: var(--royal);
  background: #eaf3ff;
}

.sales-dialog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  gap: 10px;
  align-items: start;
}

.sales-dialog-form-sections {
  display: grid;
  gap: 12px;
}

.sales-dialog-field-section {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 8px 0 0;
  border-top: 1px solid #8fa8c4;
}

.sales-dialog-field-section:first-child {
  padding-top: 0;
  border-top: 0;
}

.sales-dialog-field-section h4 {
  margin: 0;
  color: var(--royal);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sales-dialog-grid.sales-dialog-grid-2 {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.sales-dialog-grid.sales-dialog-grid-3 {
  grid-template-columns: repeat(3, minmax(160px, 1fr));
}

.sales-dialog-grid.sales-dialog-grid-4 {
  grid-template-columns: repeat(4, minmax(132px, 1fr));
}

.sales-dialog-grid.sales-opportunity-dialog-grid {
  grid-template-columns: repeat(4, minmax(132px, 1fr));
}

.sales-dialog-grid .span-2 {
  grid-column: span 2;
}

.sales-dialog-grid .span-full {
  grid-column: 1 / -1;
}

.sales-dialog-grid label,
.sales-dialog-notes {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.sales-dialog-grid .checkbox-line {
  display: flex;
  align-items: center;
  gap: 7px;
}

.sales-dialog-grid .checkbox-line input {
  width: auto;
}

.sales-dialog-grid input,
.sales-dialog-grid select,
.sales-dialog-grid textarea,
.sales-dialog-notes textarea {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.sales-dialog-grid input[type="checkbox"],
.sales-dialog-toggle-grid input[type="checkbox"],
.sales-outreach-notification-options input[type="checkbox"] {
  flex: 0 0 16px;
  width: 16px;
  min-width: 16px;
  min-height: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  accent-color: var(--royal);
}

.sales-dialog-grid textarea {
  resize: vertical;
}

.sales-outreach-notification-options {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 8px 14px;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0;
}

.sales-outreach-notification-options label {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
}

.sales-dialog-toggle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 6px 12px;
  margin-top: 12px;
}

.sales-dialog-toggle-grid label {
  display: flex;
  gap: 6px;
  align-items: center;
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
}

.sales-dialog-subhead {
  margin: 12px 0 6px;
  color: var(--navy);
  font-size: 13px;
}

.sales-dialog-notes {
  margin-top: 12px;
}

@media (max-width: 760px) {
  .sales-dialog-grid.sales-dialog-grid-3,
  .sales-dialog-grid.sales-dialog-grid-4,
  .sales-dialog-grid.sales-opportunity-dialog-grid {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
}

@media (max-width: 520px) {
  .sales-dialog-grid.sales-dialog-grid-2,
  .sales-dialog-grid.sales-dialog-grid-3,
  .sales-dialog-grid.sales-dialog-grid-4,
  .sales-dialog-grid.sales-opportunity-dialog-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sales-dialog-grid.sales-dialog-grid-2 .span-2,
  .sales-dialog-grid.sales-dialog-grid-3 .span-2,
  .sales-dialog-grid.sales-dialog-grid-4 .span-2,
  .sales-dialog-grid.sales-opportunity-dialog-grid .span-2 {
    grid-column: 1 / -1;
  }

  .sales-outreach-notification-options {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1120px) {
	  .sales-detail-grid,
	  .sales-overview-grid,
	  .sales-workspace-header,
  .sales-opportunity-header,
  .sales-opportunity-detail-grid,
  .sales-funnel-totals,
	  .sales-dialog-header {
	    grid-template-columns: 1fr;
	  }

  .sales-field-list {
    grid-template-columns: 1fr;
  }

  .sales-owner-change-form label {
    grid-template-columns: 1fr;
  }
}

th:last-child,
td:last-child {
  border-right: 0;
}

th {
  position: sticky;
  top: 0;
  z-index: 1;
  overflow: visible;
  resize: none;
  background: var(--table-header);
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.1;
  border-bottom: 1.5px solid var(--table-border);
}

tr.total-row th,
tr.total-row td,
tfoot th,
tfoot td {
  border-top: 2px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  background: var(--table-header);
  color: var(--navy);
  font-weight: 900;
}

.report-table-frame.large-answer-table-frame thead th {
  top: 0;
  z-index: 9;
  box-shadow: inset 0 -1.5px 0 var(--table-border);
}

.report-table-frame.large-answer-table-frame tfoot th,
.report-table-frame.large-answer-table-frame tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 8;
  box-shadow: inset 0 2px 0 var(--table-border);
}

.report-table-ar_balance_by_period th,
.report-table-ar_balance_by_period td {
  padding: 3px 5px;
  font-size: 10px;
  line-height: 1.1;
}

.report-table-ar_balance_by_period th:nth-child(1),
.report-table-ar_balance_by_period td:nth-child(1) {
  position: sticky;
  box-shadow: inset -1.5px 0 0 var(--table-border);
}

.report-table-ar_balance_by_period th:nth-child(1),
.report-table-ar_balance_by_period td:nth-child(1) {
  left: 0;
}

.report-table-ar_balance_by_period tbody td:nth-child(1) {
  z-index: 4;
  background: #ffffff;
}

.report-table-ar_balance_by_period thead th:nth-child(1) {
  z-index: 12;
  background: var(--table-header);
}

.report-table-ar_balance_by_period tfoot td:nth-child(1),
.report-table-ar_balance_by_period tr.total-row td:nth-child(1) {
  z-index: 11;
  background: var(--table-header);
}

.resizable-th {
  position: sticky;
}

.column-resize-handle {
  position: absolute;
  top: 0;
  right: -3px;
  width: 8px;
  height: 100%;
  cursor: col-resize;
  z-index: 3;
}

.column-resize-handle:hover {
  background: transparent;
}

thead tr.table-label-row th {
  top: 0;
  height: 34px;
  padding-top: 2px;
  padding-bottom: 2px;
  z-index: 8;
  background: var(--table-header);
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid var(--table-border);
  border-bottom: 1.5px solid var(--table-border);
  box-shadow: inset 0 -1.5px 0 var(--table-border);
}

thead tr.table-label-row th.sortable-th {
  cursor: pointer;
}

thead tr.table-label-row th.sortable-th:hover,
thead th.compact-header-control-cell.sortable-th:hover {
  background: #d7dee8;
}

thead tr.table-label-row th.sortable-th.sort-asc .table-label-text::after,
thead th.compact-header-control-cell.sortable-th.sort-asc .table-label-text::after {
  content: " ▲";
  font-size: 8px;
}

thead tr.table-label-row th.sortable-th.sort-desc .table-label-text::after,
thead th.compact-header-control-cell.sortable-th.sort-desc .table-label-text::after {
  content: " ▼";
  font-size: 8px;
}

thead tr.table-label-row th.sortable-th.sort-active .table-label-text::after,
thead th.compact-header-control-cell.sortable-th.sort-active .table-label-text::after {
  content: " ↕";
  font-size: 8px;
}

thead tr.table-action-row th {
  top: 34px;
  height: 26px;
  padding-top: 4px;
  padding-bottom: 1px;
  z-index: 7;
  background: #ffffff;
  text-align: center;
  vertical-align: bottom;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  box-shadow: inset 0 -1px 0 var(--table-border);
}

thead tr.table-action-row.compacted-header-actions {
  display: none;
}

.table-label-text {
  display: inline-block;
  min-width: 0;
  max-width: calc(100% - 16px);
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.1;
  vertical-align: middle;
}

.static-controlled-table td {
  white-space: nowrap;
}

.static-controlled-table td.description-cell {
  overflow-wrap: anywhere;
  white-space: normal;
}

.static-controlled-table .status-pill,
.static-controlled-table .small-button,
.static-controlled-table .table-icon-button,
.static-controlled-table .email-lifecycle {
  max-width: 100%;
}

.column-actions {
  display: flex;
  height: 100%;
  gap: 4px;
  align-items: flex-end;
  justify-content: center;
}

.table-icon-button {
  width: 22px;
  height: 21px;
  min-height: 21px;
  border: 1px solid #344456;
  border-radius: 7px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(52, 68, 86, 0.16);
  cursor: pointer;
  display: inline-grid;
  place-items: center;
  padding: 0;
}

.table-icon-button svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.table-icon-button.sort-button {
  color: #344456;
}

.table-icon-button.filter-button {
  color: #344456;
}

thead tr.table-label-row .filter-button,
thead th.compact-header-control-cell > .filter-button {
  position: absolute;
  right: 7px;
  top: auto;
  bottom: 3px;
  width: 14px;
  height: 14px;
  min-height: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #1c6d4e;
  transform: none;
}

thead tr.table-label-row .filter-button svg,
thead th.compact-header-control-cell > .filter-button svg {
  width: 11px;
  height: 11px;
  stroke-width: 2;
}

thead tr.table-label-row .filter-button:hover,
thead tr.table-label-row .filter-button.active,
thead th.compact-header-control-cell > .filter-button:hover,
thead th.compact-header-control-cell > .filter-button.active {
  background: transparent;
  color: #0f5132;
}

.compact-header-sort-source {
  display: none !important;
}

.table-icon-button:hover,
.table-icon-button.active {
  border-color: #344456;
  background: #eef1f5;
}

.table-icon-button.filter-button.active {
  background: #dfe5ed;
}

.table-icon-button.sort-button.active {
  background: #dfe5ed;
}

.email-lifecycle-legend-slot {
  margin: 2px 0 6px;
}

.email-lifecycle-legend-slot.compact-email-legend {
  margin: 1px 0 5px;
}

.email-lifecycle-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 5px;
  padding: 2px 4px;
  border: 1px solid #d8e1ec;
  border-radius: 4px;
  background: #f7f9fc;
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
}

.email-lifecycle-legend.image-legend {
  display: block;
  overflow-x: auto;
  padding: 3px 4px;
}

.email-lifecycle-legend.image-legend img {
  display: block;
  width: min(100%, 420px);
  height: auto;
}

.compact-email-legend .email-lifecycle-legend.image-legend img {
  width: min(100%, 315px);
}

.email-lifecycle-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-width: 0;
}

.email-lifecycle-legend-item span:last-child {
  display: none;
}

.email-lifecycle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 244px;
  max-width: 244px;
  vertical-align: middle;
}

.email-lifecycle.compact {
  min-width: 164px;
  max-width: 164px;
  gap: 2px;
}

.email-lifecycle-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 39px;
  height: 32px;
  background-image: url("/admin/assets/email-lifecycle-icons.png?v=20260513c");
  background-repeat: no-repeat;
  background-size: 600% 100%;
  background-position: var(--lifecycle-position, 0%) center;
  opacity: 0.18;
  filter: grayscale(1);
}

.email-lifecycle.compact .email-lifecycle-icon {
  width: 26px;
  height: 21px;
}

.email-lifecycle-legend .email-lifecycle-icon {
  width: 28px;
  height: 23px;
}

.email-lifecycle-icon.active {
  opacity: 1;
  filter: none;
}

.lifecycle-cell-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.lifecycle-cell-button:hover .email-lifecycle-icon {
  opacity: 0.5;
}

.lifecycle-cell-button:hover .email-lifecycle-icon.active {
  opacity: 1;
}

.lifecycle-event-dialog table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin: 10px 0 14px;
}

.lifecycle-event-dialog th:nth-child(1),
.lifecycle-event-dialog td:nth-child(1) {
  width: 106px;
}

.lifecycle-event-dialog th:nth-child(2),
.lifecycle-event-dialog td:nth-child(2) {
  width: 82px;
}

.lifecycle-event-dialog th,
.lifecycle-event-dialog td {
  border: 1px solid #d8e2ee;
  padding: 7px 8px;
  text-align: left;
  vertical-align: top;
  font-size: 12px;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}

.lifecycle-send-note {
  display: grid;
  gap: 4px;
  margin: 10px 0;
}

.lifecycle-send-note textarea {
  width: 100%;
  min-height: 74px;
  resize: vertical;
}

.account-inner-table,
.compact-schedule-table,
.operations-control-table,
.rt-validation-table,
.booked-schedule-entry-table,
.process-table-frame table,
.pipeline-table-frame table,
.message-template-list-panel table,
#view-users .table-frame table,
#view-collections .table-frame table,
#view-dunning .table-frame table,
#view-account-messaging .table-frame table,
#view-message-log .table-frame table,
#view-message-recipients .table-frame table,
#view-sendgrid-webhook-events .table-frame table,
#view-messaging-rules .table-frame table,
#view-messaging-schedules .table-frame table,
#view-email-signatures .table-frame table,
#view-system-settings .table-frame table {
  width: max-content;
  min-width: 100%;
  border: 1.5px solid var(--table-border);
  border-collapse: collapse;
  color: var(--navy);
  font-size: 12px;
}

.dunning-settings-panel {
  display: grid;
  gap: 12px;
  margin: 10px 0 12px;
  padding: 12px;
  border: 1px solid #b8c7d9;
  border-radius: 8px;
  background: #f8fbff;
}

.dunning-settings-heading {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.dunning-settings-heading h3 {
  margin: 0 0 2px;
  color: var(--navy);
  font-size: 16px;
}

.dunning-threshold-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(118px, 1fr));
  gap: 8px;
}

.dunning-threshold-grid label,
.dunning-exclusion-section label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.dunning-threshold-grid input,
.dunning-exclusion-section input {
  min-height: 32px;
  border: 1px solid #9eb0c6;
  border-radius: 6px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.dunning-threshold-grid input {
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.dunning-exclusion-section {
  display: grid;
  gap: 8px;
}

.dunning-exclusion-picker .dual-list-box {
  min-height: 188px;
}

.collections-agencies-panel {
  display: grid;
  gap: 10px;
  margin: 10px 0 12px;
  padding: 12px;
  border: 1px solid #b8c7d9;
  border-radius: 8px;
  background: #f8fbff;
}

.collections-agencies-heading,
.account-collections-heading,
.account-collections-wizard-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.collections-agencies-heading h3,
.account-collections-heading h4,
.account-collections-wizard-heading h4 {
  margin: 0 0 2px;
}

.collections-agencies-table-frame {
  max-height: 360px;
}

.collections-agencies-table-frame input,
.collections-agencies-table-frame textarea {
  width: 100%;
  min-width: 118px;
  font-size: 12px;
}

.collections-agencies-table-frame textarea {
  min-height: 32px;
  resize: vertical;
}

.collections-agency-primary-cell {
  text-align: center;
}

.account-collections-note-form,
.account-collections-wizard {
  display: grid;
  gap: 10px;
}

.account-collections-note-form textarea {
  width: min(720px, 100%);
  min-height: 74px;
  resize: vertical;
}

.account-collections-review-list {
  display: grid;
  gap: 8px;
  border: 1px solid #c8d6e5;
  border-radius: 8px;
  background: #f8fbff;
  padding: 8px;
}

.account-collections-review-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.account-collections-review-heading strong {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-collections-review-heading span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.account-collections-review-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 8px;
}

.account-collections-review-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 44px;
  border: 1px solid #b7c8db;
  border-radius: 7px;
  background: #ffffff;
  padding: 7px 8px;
  color: var(--navy);
  text-decoration: none;
}

button.account-collections-review-item {
  width: 100%;
  appearance: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.account-collections-review-item:hover {
  border-color: var(--royal);
  background: #f4f8ff;
}

.account-collections-review-item.missing {
  border-style: dashed;
  color: #8a5a00;
  background: #fffaf0;
}

.account-collections-review-item svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}

.account-collections-review-item span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.account-collections-review-item strong {
  min-width: 0;
  overflow: hidden;
  color: inherit;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-collections-review-item small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-collections-attachment-controls {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(220px, 360px);
  gap: 10px;
}

.account-collections-attachment-controls label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-collections-attachment-controls select,
.account-collections-attachment-controls input {
  min-height: 32px;
}

@media (max-width: 980px) {
  .dunning-settings-heading {
    grid-template-columns: 1fr;
  }

  .dunning-threshold-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }

  .dunning-exclusion-picker {
    grid-template-columns: 1fr;
  }

  .account-collections-attachment-controls,
  .account-collections-review-items {
    grid-template-columns: 1fr;
  }
}

.account-inner-table th,
.compact-schedule-table th,
.operations-control-table th,
.rt-validation-table th,
.booked-schedule-entry-table th,
.process-table-frame table th,
.pipeline-table-frame table th,
.message-template-list-panel table th,
#view-users .table-frame table th,
#view-collections .table-frame table th,
#view-dunning .table-frame table th,
#view-account-messaging .table-frame table th,
#view-message-log .table-frame table th,
#view-sendgrid-webhook-events .table-frame table th,
#view-messaging-rules .table-frame table th,
#view-messaging-schedules .table-frame table th,
#view-email-signatures .table-frame table th,
#view-system-settings .table-frame table th {
  height: 26px;
  padding: 3px 6px;
  border-right: 1px solid var(--table-border);
  border-bottom: 1.5px solid var(--table-border);
  background: var(--table-header);
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}

.account-inner-table td,
.compact-schedule-table td,
.operations-control-table td,
.rt-validation-table td,
.booked-schedule-entry-table td,
.process-table-frame table td,
.pipeline-table-frame table td,
.message-template-list-panel table td,
#view-users .table-frame table td,
#view-collections .table-frame table td,
#view-dunning .table-frame table td,
#view-account-messaging .table-frame table td,
#view-message-log .table-frame table td,
#view-sendgrid-webhook-events .table-frame table td,
#view-messaging-rules .table-frame table td,
#view-messaging-schedules .table-frame table td,
#view-email-signatures .table-frame table td,
#view-system-settings .table-frame table td {
  height: 26px;
  padding: 3px 6px;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  color: var(--ink);
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
}

.account-inner-table th:last-child,
.account-inner-table td:last-child,
.compact-schedule-table th:last-child,
.compact-schedule-table td:last-child,
.operations-control-table th:last-child,
.operations-control-table td:last-child,
.rt-validation-table th:last-child,
.rt-validation-table td:last-child,
.booked-schedule-entry-table th:last-child,
.booked-schedule-entry-table td:last-child,
.process-table-frame table th:last-child,
.process-table-frame table td:last-child,
.pipeline-table-frame table th:last-child,
.pipeline-table-frame table td:last-child,
.message-template-list-panel table th:last-child,
.message-template-list-panel table td:last-child,
#view-users .table-frame table th:last-child,
#view-users .table-frame table td:last-child,
#view-collections .table-frame table th:last-child,
#view-collections .table-frame table td:last-child,
#view-dunning .table-frame table th:last-child,
#view-dunning .table-frame table td:last-child,
#view-account-messaging .table-frame table th:last-child,
#view-account-messaging .table-frame table td:last-child,
#view-message-log .table-frame table th:last-child,
#view-message-log .table-frame table td:last-child,
#view-sendgrid-webhook-events .table-frame table th:last-child,
#view-sendgrid-webhook-events .table-frame table td:last-child,
#view-messaging-rules .table-frame table th:last-child,
#view-messaging-rules .table-frame table td:last-child,
#view-messaging-schedules .table-frame table th:last-child,
#view-messaging-schedules .table-frame table td:last-child,
#view-email-signatures .table-frame table th:last-child,
#view-email-signatures .table-frame table td:last-child,
#view-system-settings .table-frame table th:last-child,
#view-system-settings .table-frame table td:last-child {
  border-right: 0;
}

.payment-brand-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.payment-brand-icon {
  display: block;
  width: 54px;
  height: 38px;
  object-fit: contain;
  flex: 0 0 auto;
}

.payment-brand-name {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

td.description-cell {
  white-space: normal;
  min-width: 220px;
  max-width: 420px;
}

.system-log-table th,
.system-log-table td {
  vertical-align: top;
}

.system-log-details {
  max-width: 520px;
  overflow-wrap: anywhere;
  white-space: normal;
}

.system-log-summary {
  white-space: normal;
  min-width: 260px;
  max-width: 520px;
}

.system-log-record {
  white-space: normal;
  min-width: 150px;
  max-width: 260px;
}

.system-log-detail-list {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
}

.system-log-detail-list div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 8px;
}

.system-log-detail-list dt {
  margin: 0;
  color: var(--muted);
  font-weight: 800;
}

.system-log-detail-list dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.register-row td {
  vertical-align: middle;
}

#manualEntryTable {
  font-size: 10px;
}

#manualEntryTable th,
#manualEntryTable td {
  padding: 2px 4px;
  line-height: 1;
}

.register-heading-main {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  min-width: 0;
}

.register-heading-main h2 {
  margin: 0;
}

.register-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.compact-header-summary {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.25;
}

.register-summary-item {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 8px;
  border: 1px solid #d7e4f2;
  border-radius: 8px;
  background: #f7fbff;
  color: var(--navy);
  white-space: nowrap;
}

#view-bp-settlement-cash,
#view-bp-settlement-cash .panel,
#view-bp-settlement-cash .nested-panel {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

#view-bp-settlement-cash .pipeline-table-frame {
  width: 100%;
  max-width: 100%;
  overflow: auto;
}

#view-bp-settlement-cash .pipeline-history-table {
  width: max-content !important;
  min-width: 0 !important;
  max-width: 100%;
  table-layout: fixed !important;
}

#view-bp-settlement-cash .pipeline-history-table th,
#view-bp-settlement-cash .pipeline-history-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}

#view-bp-settlement-cash .pipeline-history-table th:first-child,
#view-bp-settlement-cash .pipeline-history-table td:first-child {
  width: 44px;
  min-width: 44px;
}

#view-bp-settlement-cash .pipeline-history-table th:nth-child(2),
#view-bp-settlement-cash .pipeline-history-table td:nth-child(2) {
  width: 146px;
  min-width: 146px;
}

#view-bp-settlement-cash .pipeline-history-table th:nth-child(3),
#view-bp-settlement-cash .pipeline-history-table td:nth-child(3) {
  width: 184px;
  min-width: 184px;
}

#view-bp-settlement-cash .pipeline-history-table th:nth-child(n+4),
#view-bp-settlement-cash .pipeline-history-table td:nth-child(n+4) {
  width: calc((100% - 374px) / 11);
  min-width: 0;
}

#view-bp-settlement-cash .pipeline-history-step-cell {
  white-space: nowrap;
}

.pipeline-freshness-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.pipeline-freshness-card {
  min-width: 0;
  padding: 10px;
  border: 1px solid #b8c9dd;
  border-radius: 8px;
  background: #fbfdff;
}

.pipeline-freshness-card h3 {
  margin: 0 0 6px;
  color: var(--royal);
  font-size: 13px;
  font-weight: 950;
}

.pipeline-freshness-card p {
  margin: 0 0 3px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
}

.pipeline-exceptions-table {
  width: 100%;
  table-layout: fixed;
}

.pipeline-exceptions-table th:first-child,
.pipeline-exceptions-table td:first-child {
  width: 52px;
}

.pipeline-exceptions-table th:nth-child(2),
.pipeline-exceptions-table td:nth-child(2),
.pipeline-exceptions-table th:nth-child(3),
.pipeline-exceptions-table td:nth-child(3),
.pipeline-exceptions-table th:nth-child(4),
.pipeline-exceptions-table td:nth-child(4) {
  width: 112px;
}

.pipeline-exceptions-table th:nth-child(5),
.pipeline-exceptions-table td:nth-child(5),
.pipeline-exceptions-table th:nth-child(6),
.pipeline-exceptions-table td:nth-child(6) {
  width: 96px;
}

.pipeline-exceptions-table th,
.pipeline-exceptions-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}

.pipeline-exception-form {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.pipeline-exception-form label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.pipeline-exception-form input,
.pipeline-exception-form select,
.pipeline-exception-form textarea {
  border: 1px solid #9fb0c4;
  border-radius: 7px;
  padding: 8px;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}

.pipeline-exception-context {
  padding: 8px;
  border: 1px solid #cfdaea;
  border-radius: 8px;
  background: #f8fbff;
}

.pipeline-exception-context p {
  margin: 0 0 4px;
  font-size: 12px;
}

.pipeline-exception-diagnosis {
  margin: 0 0 12px;
}

.pipeline-exception-diagnosis h4 {
  margin: 0 0 8px;
  color: var(--royal);
  font-size: 15px;
  font-weight: 950;
}

.pipeline-exception-facts {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid #8fa8c4;
}

.pipeline-exception-facts th,
.pipeline-exception-facts td {
  padding: 7px 8px;
  border: 1px solid #8fa8c4;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
  vertical-align: top;
  overflow-wrap: anywhere;
  white-space: normal;
}

.pipeline-exception-facts th {
  width: 170px;
  background: #dce4ee;
  font-weight: 950;
}

.pipeline-exception-candidate-list {
  display: grid;
  gap: 8px;
}

.pipeline-exception-candidate {
  padding: 8px;
  border: 1px solid #8fa8c4;
  border-radius: 7px;
  background: #fbfdff;
}

.pipeline-exception-candidate-title {
  margin: 0;
  color: var(--royal);
  font-size: 12px;
  font-weight: 950;
}

.pipeline-exception-candidate-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 6px;
}

.pipeline-exception-candidate dl {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 4px 8px;
  margin: 0;
}

.pipeline-exception-candidate dt,
.pipeline-exception-candidate dd {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pipeline-exception-candidate dt {
  font-weight: 950;
  color: var(--muted);
}

.pipeline-exception-candidate dd {
  min-width: 0;
}

.dialog-action-footer {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 10px 0 0;
  background: #ffffff;
}

.status-pill.blocking {
  border-color: rgba(205, 73, 73, 0.35);
  background: #fff2f2;
  color: #a12d2d;
}

.status-pill.review {
  border-color: rgba(249, 145, 52, 0.35);
  background: #fff8ef;
  color: #9a5618;
}

@media (max-width: 1120px) {
  .pipeline-freshness-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.register-summary-item span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.register-summary-item strong {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.register-row:hover {
  background: #f8fbff;
}

.register-row.editing {
  background: #eef6ff;
  box-shadow: inset 3px 0 0 var(--royal);
}

.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #d7e2ee;
  border-radius: 999px;
  background: #ffffff;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

#manualEntryTable .status-pill {
  min-height: 18px;
  padding: 1px 5px;
  font-size: 9px;
  line-height: 1;
}

.status-pill.status-ok,
.status-pill.status-info {
  border-color: #9fd8cf;
  background: #e8faf7;
  color: #087568;
}

.status-pill.status-warning {
  border-color: #f4c78f;
  background: #fff7ed;
  color: #9a4a00;
}

.status-pill.status-muted {
  background: #eef3f8;
  color: #5f7084;
}

.account-cell {
  max-width: 260px;
  overflow: hidden;
  color: var(--ink);
  font-weight: 750;
  text-overflow: ellipsis;
}

.register-amount {
  text-align: right;
}

#manualEntryTable .entry-edit-input {
  width: 100%;
  min-height: 19px;
  border: 0;
  border-radius: 0;
  padding: 1px 2px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 800;
  outline: 1px solid transparent;
  outline-offset: -1px;
  box-shadow: none;
  appearance: none;
}

#manualEntryTable .entry-edit-input:focus {
  background: #ffffff;
  outline-color: #6f9fd4;
}

#manualEntryTable .date-entry-input {
  width: 100%;
}

#manualEntryTable .reference-entry-input {
  width: 100%;
}

#manualEntryTable .amount-entry-input {
  width: 100%;
  text-align: right;
  font-weight: 800;
}

#manualEntryTable .description-entry-input {
  min-width: 0;
  min-height: 19px;
  resize: none;
}

#manualEntryTable td.description-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entry-actions {
  position: sticky;
  left: 0;
  width: 48px;
  min-width: 48px;
  background: var(--panel);
  box-shadow: 8px 0 12px rgba(12, 22, 34, 0.05);
  white-space: nowrap;
  text-align: center;
  z-index: 2;
}

.manual-entry-table th:first-child,
.manual-entry-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  width: 48px;
  min-width: 48px;
  border-right: 0;
  border-bottom: 0;
  background: #ffffff;
  box-shadow:
    inset -1px 0 0 var(--table-border),
    inset 0 -1px 0 var(--table-border),
    8px 0 12px rgba(12, 22, 34, 0.05);
}

.manual-entry-table thead th:first-child {
  z-index: 8;
  border-right: 0;
  border-bottom: 0;
  background: var(--table-header);
  box-shadow:
    inset -1px 0 0 var(--table-border),
    inset 0 -1.5px 0 var(--table-border),
    8px 0 12px rgba(12, 22, 34, 0.05);
}

.manual-entry-table .register-row:hover td:first-child {
  background: #f8fbff;
}

.manual-entry-table .register-row.editing td:first-child {
  background: #eef6ff;
}

.manual-entry-table .row-action-group {
  justify-content: center;
  gap: 3px;
}

.manual-entry-table .table-icon-button {
  width: 18px;
  height: 18px;
  min-height: 18px;
  border-radius: 5px;
}

.manual-entry-table .table-icon-button svg {
  width: 10px;
  height: 10px;
}

.message-recipient-table th,
.message-recipient-table td {
  padding: 3px 6px;
  height: 25px;
  line-height: 1.1;
}

.message-recipient-table th:first-child,
.message-recipient-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  width: 54px;
  min-width: 54px;
  text-align: center;
  background: #ffffff;
  box-shadow: 8px 0 12px rgba(12, 22, 34, 0.05);
}

.message-recipient-table thead th:first-child {
  z-index: 8;
  background: var(--table-header);
}

.message-recipient-table .section-note {
  margin-top: 1px;
  font-size: 10px;
  line-height: 1.1;
}

.entry-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 16px;
}

.process-panel {
  padding: 12px;
}

.process-period-pill {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #d7e4f2;
  border-radius: 8px;
  background: #f7fbff;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
}

.process-flow {
  display: grid;
  gap: 12px;
}

.process-launcher-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 4px;
}

.process-launcher-grid .process-launch-action {
  justify-self: center;
}

.process-launch-card {
  min-width: 0;
  min-height: 58px;
  display: grid;
  grid-template-rows: auto auto;
  align-items: center;
  justify-items: center;
  align-content: center;
  gap: 4px;
  padding: 7px 10px;
  border: 1.5px solid #344456;
  border-radius: 7px;
  background: #ffffff;
  color: var(--navy);
  text-align: center;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(52, 68, 86, 0.16);
}

.process-launch-card strong {
  color: var(--royal);
  font-size: 12px;
  line-height: 1.15;
  text-align: center;
}

.process-launch-card span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.15;
  text-align: center;
}

.process-launch-card:hover {
  border-color: var(--navy);
  background: #eef7ff;
}

.process-step {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.step-marker {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--sky), var(--royal));
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
}

.step-body {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e2e9f1;
  border-radius: 8px;
  background: #fbfdff;
}

.step-body h3 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 14px;
}

.process-segments {
  width: fit-content;
  max-width: 100%;
}

.compact-step-body {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 10px 12px;
}

.compact-step-body h3 {
  margin: 0;
  min-width: 132px;
}

.compact-method-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.compact-method-row .process-actions {
  margin-top: 0;
}

.process-form-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.4fr) repeat(3, minmax(140px, 0.7fr));
  gap: 12px;
}

.process-form-grid label:nth-last-child(-n + 2) {
  grid-column: span 2;
}

.process-form-grid input,
.process-form-grid textarea {
  width: 100%;
}

.process-actions {
  margin-top: 10px;
}

.process-review-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  margin-bottom: 10px;
}

.process-total-card {
  min-width: 190px;
  padding: 10px 12px;
  border: 1px solid #d7e4f2;
  border-radius: 8px;
  background: #ffffff;
  text-align: right;
}

.process-total-card span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.process-total-card strong {
  display: block;
  color: var(--navy);
  font-size: 20px;
  font-weight: 900;
}

.process-total-card small {
  display: block;
  margin-top: 2px;
  color: #1c7f66;
  font-size: 12px;
  font-weight: 800;
}

.process-table-frame {
  max-height: 300px;
}

.process-table-frame table {
  width: 100%;
}

.process-table-frame th,
.process-table-frame td {
  text-align: right;
}

.process-table-frame th:first-child,
.process-table-frame td:first-child {
  text-align: left;
}

.apply-amount-input {
  width: 92px;
  height: 20px;
  min-height: 20px;
  padding: 2px 4px;
  font-size: 10px;
  text-align: right;
}

.currency-input,
.apply-amount-input {
  font-variant-numeric: tabular-nums;
}

.process-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
}

.process-validation {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.process-validation.ready {
  color: #1c7f66;
}

.process-validation.blocked {
  color: #b34047;
}

#accountBluepayCreditBody {
  min-height: 0;
  overflow: auto;
}

#accountBluepayCreditModal .record-detail-card {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.wizard-progress {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.wizard-progress .status-pill {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  padding: 0;
  background: #eef4fb;
  color: var(--navy);
  border: 1px solid #c9d8ea;
}

.wizard-progress .status-pill.active {
  background: var(--royal);
  color: #ffffff;
  border-color: var(--royal);
}

.bluepay-credit-table-frame {
  max-height: 430px;
}

.bluepay-credit-table-frame table {
  width: 100%;
  table-layout: fixed;
}

#accountBluepayCreditModal .bluepay-credit-table-frame th,
#accountBluepayCreditModal .bluepay-credit-table-frame td {
  padding: 3px 4px;
  font-size: 10px;
  line-height: 1.05;
  vertical-align: middle;
  white-space: nowrap;
}

#accountBluepayCreditModal .bluepay-credit-table-frame td {
  overflow: hidden;
  text-overflow: ellipsis;
}

#accountBluepayCreditModal .bluepay-credit-table-frame .row-action-cell {
  overflow: visible;
}

#accountBluepayCreditModal .bluepay-credit-table-frame .status-pill {
  min-height: 18px;
  padding: 1px 5px;
  font-size: 9px;
  line-height: 1;
}

.posting-col-actions {
  width: 102px;
}

.posting-col-invoice,
.posting-col-note {
  width: auto;
}

.posting-col-source,
.posting-col-payment {
  width: 64px;
}

.posting-col-date {
  width: 62px;
}

.posting-col-reference,
.posting-col-source-tx {
  width: 84px;
}

.posting-col-money {
  width: 68px;
}

.posting-col-apply {
  width: 72px;
}

.posting-col-gateway {
  width: 82px;
}

.bluepay-credit-table-frame .selected-row td {
  background: #eef7ff;
}

.wizard-left-toolbar {
  width: 100%;
  justify-content: flex-start !important;
  margin-bottom: 10px;
}

.wizard-left-toolbar input[type="search"] {
  width: min(420px, 100%);
}

.wizard-mode-toggle {
  justify-content: flex-start;
  margin-top: 4px;
}

.wizard-unapplied-confirm {
  margin: 0 0 10px;
  color: var(--navy);
  font-weight: 800;
}

.wizard-inline-error {
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1px solid #d58c93;
  border-radius: 8px;
  background: #fff5f6;
}

.wizard-inline-status {
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1px solid #97cdbd;
  border-radius: 8px;
  background: #f1fbf7;
}

.wizard-inline-status.blocked {
  border-color: #e0b15f;
  background: #fff8e8;
  color: #79510f;
}

.wizard-selection-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wizard-credit-source {
  display: grid;
  gap: 8px;
  margin: 0 0 10px;
  padding: 10px;
  border: 1px solid #c9d8ea;
  border-radius: 8px;
  background: #f8fbff;
}

.wizard-credit-source h4 {
  margin: 0;
  color: var(--navy);
}

.churn-analysis-table-frame {
  max-height: 620px;
}

.churn-analysis-table-frame table.sized-table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1.5px solid var(--table-border);
}

.churn-analysis-table-frame thead {
  position: sticky;
  top: 0;
  z-index: 20;
}

.churn-analysis-table-frame th,
.churn-analysis-table-frame td {
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  background-clip: padding-box;
}

.churn-analysis-table-frame thead th {
  border-bottom: 1.5px solid var(--table-border);
}

.churn-analysis-table-frame thead th {
  position: sticky;
  top: 0;
  z-index: 21;
  background: #dfe6ee;
  box-shadow: inset 0 -1.5px 0 var(--table-border);
}

.churn-analysis-table-frame thead th:first-child {
  left: 0;
  z-index: 24;
}

.churn-analysis-table-frame table {
  min-width: 100%;
}

.churn-analysis-table-frame th:first-child {
  min-width: 260px;
  text-align: left;
}

.churn-analysis-table-frame tbody tr:not(.section-row) th:first-child {
  position: sticky;
  left: 0;
  z-index: 12;
  background: #ffffff;
  border-right: 1.5px solid var(--table-border);
  box-shadow: inset -1.5px 0 0 var(--table-border), inset 0 -1px 0 var(--table-border);
}

.churn-analysis-table-frame th:nth-child(n+2),
.churn-analysis-table-frame td:nth-child(n+2) {
  min-width: 118px;
  text-align: right;
}

.churn-analysis-table-frame .subtotal-row th,
.churn-analysis-table-frame .subtotal-row td {
  background: #f0f4f8;
  font-weight: 900;
}

.churn-analysis-table-frame .section-row th,
.churn-analysis-table-frame .section-row td {
  background: #344456;
  color: #ffffff;
  text-align: left;
  font-size: 13px;
  border-bottom: 1.5px solid var(--table-border);
}

.churn-analysis-table-frame .section-row th:first-child {
  position: sticky;
  left: 0;
  z-index: 13;
  border-right: 1.5px solid var(--table-border);
  box-shadow: inset -1.5px 0 0 var(--table-border), inset 0 -1.5px 0 var(--table-border);
}

.churn-analysis-table-frame .section-row.analysis th,
.churn-analysis-table-frame .section-row.analysis td,
.churn-analysis-table-frame .section-row.org th,
.churn-analysis-table-frame .section-row.org td {
  background: #255db4;
}

.churn-analysis-table-frame .section-row.account th,
.churn-analysis-table-frame .section-row.account td {
  background: #23835a;
}

.churn-analysis-table-frame .section-row.run_rate th,
.churn-analysis-table-frame .section-row.run_rate td {
  background: #9f343d;
}

.churn-analysis-table-frame .churn-outline-row th,
.churn-analysis-table-frame .churn-outline-row td {
  background: #eef3f8;
  color: var(--navy);
  font-weight: 900;
}

.churn-analysis-table-frame tbody tr.churn-outline-row > th:first-child {
  background: #eef3f8 !important;
  color: var(--navy) !important;
  border-right: 1.5px solid var(--table-border);
  box-shadow: inset -1.5px 0 0 var(--table-border), inset 0 -1px 0 var(--table-border);
}

.churn-analysis-table-frame tbody tr.churn-outline-border-after > th:first-child {
  border-bottom-width: 2px;
  border-bottom-color: var(--navy) !important;
  box-shadow: inset -1.5px 0 0 var(--table-border), inset 0 -2px 0 var(--navy);
}

.churn-analysis-table-frame .churn-outline-level-0 th:first-child {
  padding-left: 12px;
  text-transform: uppercase;
}

.churn-analysis-table-frame .churn-outline-level-1 th:first-child {
  padding-left: 28px;
  color: #255db4;
  font-weight: 900;
}

.churn-analysis-table-frame .churn-outline-level-2 th:first-child {
  padding-left: 48px;
  font-weight: 800;
}

.churn-analysis-table-frame .churn-outline-border-after th,
.churn-analysis-table-frame .churn-outline-border-after td {
  border-bottom-width: 2px;
  border-bottom-color: var(--navy) !important;
}

.accounts-review-table-frame {
  max-height: 560px;
}

.accounts-review-table-frame table {
  min-width: 1280px;
}

.accounts-review-table-frame thead th {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #dfe6ee;
}

.accounts-review-table-frame td {
  max-width: 260px;
  height: 28px;
  padding: 4px 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounts-review-table-frame .preview-cell {
  width: 56px;
  text-align: center;
}

.accounts-review-table-frame .preview-cell .small-button {
  min-width: 48px;
  min-height: 22px;
  padding: 2px 8px;
  font-size: 11px;
}

.section-filter-box {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 8px 0;
  padding: 8px 10px;
  border: 1px solid #b8c7d9;
  border-radius: 6px;
  background: #f8fbff;
}

.section-filter-box h3 {
  margin: 0 6px 0 0;
  color: var(--blue);
  font-size: 14px;
}

.section-filter-box label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--navy);
  font-weight: 800;
}

.churn-methodology-card,
.revenue-visibility-methodology-card {
  width: min(980px, 94vw);
}

.methodology-content {
  overflow: auto;
  padding: 4px 6px 12px 0;
  color: var(--navy);
  line-height: 1.45;
}

.methodology-content section {
  border-top: 1px solid #d7e2ef;
  padding: 14px 0;
}

.methodology-content section:first-child {
  border-top: 0;
  padding-top: 2px;
}

.methodology-content h3 {
  margin: 0 0 7px;
  color: var(--blue);
  font-size: 18px;
}

.methodology-content p {
  max-width: 860px;
  margin: 0;
}

.methodology-content ul {
  margin: 0;
  padding-left: 20px;
}

.methodology-content li {
  margin: 5px 0;
}

.churn-exclusion-form {
  display: grid;
  gap: 16px;
}

.churn-exclusion-section {
  display: grid;
  gap: 8px;
}

.churn-exclusion-section h3 {
  margin: 0;
  color: var(--blue);
  font-size: 18px;
}

.churn-exclusion-picker {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto minmax(280px, 1fr);
  gap: 12px;
  align-items: center;
}

.churn-exclusion-picker label {
  display: grid;
  gap: 4px;
}

.churn-exclusion-picker select[multiple] {
  min-height: 300px;
}

.churn-exclusion-actions {
  display: grid;
  gap: 8px;
}

.churn-exclusion-actions .genesis-action-button {
  --genesis-action-width: 96px;
  --genesis-action-height: 32px;
}

@media (max-width: 1100px) {
  .process-launcher-grid {
    gap: 7px;
  }
}

@media (max-width: 900px) {
  .process-launcher-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .process-launcher-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .process-launch-card {
    justify-content: center;
  }
}

.entry-form {
  display: grid;
  gap: 10px;
  align-content: start;
}

.entry-form.narrow {
  max-width: 760px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 10px;
}

label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

label.wide {
  grid-column: 1 / -1;
}

.report-locked-window.wide {
  grid-column: 1 / -1;
}

.placeholder {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 20px;
}

.placeholder p {
  color: var(--muted);
  line-height: 1.5;
}

.messaging-overview-grid {
  align-items: stretch;
}

.template-detail-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 10px 12px 14px;
}

.template-detail-panel h3 {
  margin: 0;
  color: var(--ink);
  font-size: 16px;
}

.template-editor-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 8px;
}

.template-edit-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  margin: 8px 0 12px;
}

.template-edit-form input,
.template-edit-form select {
  background: #f8fafc;
  border-color: #9aa4b2;
}

.template-edit-form input:focus,
.template-edit-form select:focus {
  background: #ffffff;
  border-color: var(--royal);
}

.template-edit-form .wide,
.template-token-list,
.template-edit-form .action-row {
  grid-column: 1 / -1;
}

.template-edit-form .action-row {
  display: flex;
  gap: 10px;
  align-items: center;
  padding-top: 18px;
  margin-top: 6px;
  border-top: 3px solid #2f6db5;
}

.template-edit-form .action-row .primary-button {
  min-height: 38px;
  padding: 9px 18px;
  font-size: 13px;
  box-shadow: 0 8px 18px rgba(28, 75, 133, 0.16);
}

.template-edit-form .action-row .quiet-button {
  min-height: 38px;
  padding: 9px 16px;
  border-color: #aeb8c5;
  background: #ffffff;
  color: var(--navy);
}

.template-token-list {
  padding: 8px 10px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #f8fbff;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.template-editor-section {
  display: grid;
  gap: 8px;
  padding-top: 16px;
  margin-top: 8px;
  border-top: 2px solid #2f6db5;
}

.template-editor-label {
  color: var(--royal);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}

.template-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid #d5dbe4;
  border-radius: 8px;
  background: #f4f5f7;
}

.template-editor-toolbar .quiet-button,
.template-editor-toolbar .small-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 2px;
  border-color: #aeb8c5;
  background: #ffffff;
  color: var(--navy);
  box-shadow: none;
}

.template-editor-toolbar .editor-icon-button {
  width: 34px;
  padding: 2px;
}

.editor-toolbar-img {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

.template-editor-toolbar .quiet-button:hover,
.template-editor-toolbar .small-button:hover {
  border-color: var(--navy);
  color: var(--navy);
  background: #ffffff;
}

.field-picker-select,
.font-size-select {
  width: 180px;
  min-height: 28px;
  padding: 3px 8px;
  border: 1px solid #aeb8c5;
  border-radius: 7px;
  background: #ffffff;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
}

.font-size-select {
  width: 92px;
}

.font-size-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.font-step-button {
  min-width: 34px;
  padding-inline: 2px;
  position: relative;
}

.editor-font-size-svg {
  width: 27px;
  height: 27px;
  display: block;
  overflow: visible;
}

.editor-font-size-svg .font-size-a {
  fill: var(--navy);
}

.editor-font-size-svg .font-size-caret {
  fill: none;
  stroke: #000000;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.editor-bullet-list-svg {
  width: 27px;
  height: 27px;
  display: block;
  fill: var(--navy);
  stroke: var(--navy);
  stroke-width: 3;
  stroke-linecap: round;
}

.template-active-flag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid var(--navy);
  border-radius: var(--control-radius);
  background: #ffffff;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.template-active-flag input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--sky);
}

.editor-icon-button {
  width: 34px;
  min-width: 34px;
  padding: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.editor-icon-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.align-icon {
  width: 16px;
  height: 13px;
  display: inline-grid;
  gap: 3px;
}

.align-icon::before,
.align-icon::after,
.align-icon {
  background-repeat: no-repeat;
}

.align-icon {
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor);
  background-size: 16px 2px, 11px 2px, 16px 2px;
  background-position: 0 0, 0 5px, 0 10px;
}

.align-icon.align-center {
  background-position: 0 0, 2.5px 5px, 0 10px;
}

.align-icon.align-right {
  background-position: 0 0, 5px 5px, 0 10px;
}

.compose-editor-toolbar {
  margin: 4px 0 6px;
}

.message-body-field {
  display: grid;
  gap: 6px;
}

.row-action-group {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: nowrap;
}

.row-action-group.centered {
  justify-content: center;
}

.table-action-cell {
  text-align: center;
}

.table-action-cell .row-action-group {
  justify-content: center;
}

.table-action-cell .table-icon-button {
  margin: 0 auto;
}

.table-icon-button:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.compact-actions {
  gap: 6px;
  flex-wrap: nowrap;
}

.template-editor-box {
  min-height: 72px;
  max-height: 360px;
  overflow: auto;
  border: 1px solid #9aa4b2;
  border-radius: 8px;
  background: #f7f9fb;
  color: var(--ink);
  padding: 10px 12px;
  font-weight: 400;
  line-height: 1.5;
}

.template-editor-box strong {
  font-weight: 700;
}

.template-editor-box.medium {
  min-height: 104px;
}

.template-editor-box.tall {
  min-height: 210px;
}

.template-editor-box.legal {
  min-height: 190px;
  max-height: 440px;
}

.sales-rich-text-editor-section {
  margin-top: 0;
  padding-top: 10px;
  border-top: 1px solid #d6e1ee;
}

.sales-rich-text-editor-section .template-editor-label {
  color: var(--navy);
  font-size: 14px;
}

.sales-rich-text-toolbar {
  padding: 6px;
}

.editor-color-control {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 34px;
  padding: 2px 5px;
  border: 1px solid #aeb8c5;
  border-radius: 7px;
  background: #ffffff;
  color: var(--navy);
}

.editor-color-presets {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.editor-color-swatch {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  padding: 0;
  border: 1px solid #7d8794;
  border-radius: 4px;
  background: var(--swatch-color);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
  cursor: pointer;
}

.editor-color-swatch:hover,
.editor-color-swatch:focus-visible {
  border-color: var(--navy);
  box-shadow: 0 0 0 2px rgba(0, 79, 176, 0.18);
}

.editor-color-custom {
  display: inline-grid;
  grid-template-columns: auto 18px;
  align-items: center;
  gap: 5px;
  margin-left: 2px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.editor-color-custom input {
  width: 18px;
  height: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.sales-rich-text-editor {
  width: 100%;
  box-sizing: border-box;
  background: #ffffff;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  overflow-x: hidden;
}

.sales-rich-text-editor * {
  max-width: 100%;
  box-sizing: border-box;
}

.template-editor-box:focus {
  outline: 2px solid rgba(28, 75, 133, 0.24);
  border-color: var(--royal);
  background: #ffffff;
}

.email-special-message {
  margin-top: 12px;
  padding-top: 14px;
  border-top: 2px solid var(--royal);
}

.email-special-message-image {
  margin-bottom: 10px;
}

.email-special-message-image img {
  max-width: 520px;
  width: 100%;
  height: auto;
  display: block;
}

.preview-heading {
  margin: 16px 0 10px;
  color: var(--navy);
  font-size: 12px;
  text-transform: uppercase;
}

.email-preview-frame {
  overflow: hidden;
  border: 1px solid #d6e1ee;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(31, 39, 51, 0.08);
  max-width: 760px;
}

.email-preview-header {
  padding: 22px 24px 12px;
  background: #ffffff;
}

.email-preview-header img {
  display: block;
  width: 188px;
  height: auto;
}

.email-section img {
  display: block;
  max-width: 220px;
  height: auto;
  margin: 6px 0;
}

.email-subject {
  padding: 16px 24px 0;
  color: var(--navy);
  font-size: 18px;
  font-weight: 900;
}

.email-section {
  padding: 12px 24px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.65;
  white-space: normal;
}

.email-section-header {
  color: var(--navy);
  font-weight: 800;
}

.email-signature {
  border-top: 1px solid #e6edf5;
  color: var(--navy);
  font-weight: 700;
}

.email-body a {
  color: var(--royal);
  font-weight: 800;
}

.email-body table,
.template-editor-box table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0 4px;
  font-size: 13px;
}

.email-body th,
.template-editor-box th {
  padding: 8px 10px;
  border: 1px solid #d6e1ee;
  background: #eef5ff;
  color: var(--navy);
  font-weight: 900;
  text-align: right;
  resize: none;
}

.email-body th:first-child,
.template-editor-box th:first-child,
.email-body td:first-child,
.template-editor-box td:first-child {
  text-align: left;
}

.email-body td,
.template-editor-box td {
  padding: 9px 10px;
  border: 1px solid #d6e1ee;
  color: var(--ink);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.email-body ul,
.template-editor-box ul {
  margin: 8px 0 12px;
  padding-left: 20px;
}

.email-footer {
  padding: 12px 24px;
  border-top: 1px solid #e6edf5;
  background: #f8fbff;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.compact-cell-input,
.json-cell-input {
  width: 100%;
  min-width: 190px;
}

.json-cell-input {
  min-width: 280px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}

.rule-control-stack {
  display: grid;
  gap: 8px;
  min-width: 310px;
}

.rule-control-stack label {
  gap: 4px;
}

.rule-control-stack details {
  color: var(--muted);
  font-size: 12px;
}

.rule-control-stack summary {
  cursor: pointer;
  font-weight: 800;
}

.dual-list {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  gap: 8px;
  align-items: center;
}

.dual-list-label {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.dual-list-box {
  width: 100%;
  min-height: 150px;
}

.dual-list-actions {
  display: grid;
  gap: 6px;
}

.rule-editor-form,
.message-compose-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.message-compose-panel .panel-heading {
  margin-bottom: 6px;
  padding-bottom: 5px;
}

.message-compose-panel .panel-heading h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.1;
}

.message-compose-panel .panel-heading .section-note {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.2;
}

.message-compose-panel .panel-heading .action-row {
  gap: 7px;
}

.compose-submit-inline {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #9bc2ee;
  border-radius: 999px;
  background: #eaf4ff;
  color: #174f8c;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.compose-submit-status,
#composeSubmitStatus {
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid #9bc2ee;
  border-radius: 8px;
  background: #eaf4ff;
  color: #174f8c;
  font-weight: 700;
}

.message-compose-panel {
  position: relative;
}

.compose-busy-overlay {
  position: absolute;
  inset: 64px 12px 12px;
  z-index: 20;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 28px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(1px);
}

.compose-busy-overlay.hidden {
  display: none;
}

.compose-busy-panel {
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(520px, calc(100% - 24px));
  padding: 14px 16px;
  border: 1px solid #9bc2ee;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.16);
  color: #17324d;
}

.compose-busy-panel strong,
.compose-busy-panel span {
  display: block;
}

.compose-busy-panel strong {
  font-size: 14px;
  line-height: 1.2;
}

.compose-busy-panel span {
  margin-top: 3px;
  color: #44617f;
  font-size: 12px;
  line-height: 1.35;
}

.compose-busy-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid #c7ddf5;
  border-top-color: #205fa8;
  border-radius: 999px;
  animation: composeBusySpin 0.8s linear infinite;
  flex: 0 0 auto;
}

@keyframes composeBusySpin {
  to {
    transform: rotate(360deg);
  }
}

.message-compose-grid {
  gap: 7px 12px;
}

.message-compose-grid > label {
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 10px;
  line-height: 1.1;
}

.message-compose-grid > label input,
.message-compose-grid > label select {
  min-width: 0;
  min-height: 28px;
  height: 28px;
  padding: 3px 8px;
  font-size: 12px;
}

.rule-editor-form .wide,
.message-compose-grid .wide {
  grid-column: 1 / -1;
}

.message-compose-attachments {
  display: grid;
  gap: 5px;
  border: 1px solid #cfd8e4;
  border-radius: 7px;
  background: #f8fbff;
  padding: 6px 8px;
}

.message-compose-attachments.hidden {
  display: none;
}

.compose-attachment-heading {
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.compose-attachment-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.message-compose-file-input {
  display: none;
}

.compose-attachment-add-button {
  flex: 0 0 auto;
}

.compose-attachment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.compose-attachment-empty {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.compose-attachment-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 360px;
}

.compose-attachment-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 310px;
  min-height: 32px;
  border: 1px solid #b7c8db;
  border-radius: 6px;
  background: #ffffff;
  padding: 5px 8px;
  color: var(--navy);
  text-decoration: none;
}

button.compose-attachment-link {
  appearance: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

button.compose-attachment-link:hover {
  border-color: var(--royal);
  background: #f4f8ff;
}

.compose-attachment-static {
  cursor: default;
}

.compose-attachment-remove {
  flex: 0 0 28px;
}

.compose-attachment-link svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

.compose-attachment-link span {
  display: grid;
  min-width: 0;
}

.compose-attachment-link strong,
.compose-attachment-link small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.compose-attachment-link strong {
  color: inherit;
  font-size: 12px;
  font-weight: 900;
}

.compose-attachment-link small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.account-message-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.account-message-detail {
  min-height: 0;
  border: 1px solid #cfd8e4;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
}

.account-message-detail h3 {
  margin: 0;
}

.message-compose-panel {
  min-height: calc(100vh - 150px);
}

.account-package-table {
  table-layout: fixed;
  min-width: 1040px;
}

.account-package-table th:first-child,
.account-package-table td:first-child {
  width: 108px;
  min-width: 108px;
  text-align: center;
}

.account-package-table td {
  vertical-align: middle;
}

.account-package-table th:nth-child(4),
.account-package-table td:nth-child(4) {
  width: 112px;
}

.account-package-terms-badges {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px;
  max-width: 100%;
}

.account-package-terms-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  border: 1px solid #7aa3cc;
  border-radius: 999px;
  background: #f7fbff;
  color: #174d83;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  padding: 1px 5px;
}

.account-package-terms-badges span.is-inactive {
  border-color: #d1d9e3;
  background: #ffffff;
  color: #8b98a8;
}

.account-package-terms-badges span.is-active {
  border-color: #2272b8;
  background: #eef7ff;
  color: #174d83;
}

.account-package-custom-payment-flags {
  display: grid;
  gap: 6px;
  margin: -2px 0 10px;
  padding: 8px 10px;
  border: 1px solid #d6e1ee;
  border-radius: 6px;
  background: #fbfdff;
}

.account-package-custom-payment-flags > strong {
  color: var(--royal);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.account-package-custom-payment-flags > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.account-package-plan-enable-section,
.account-package-plan-pending-approvals {
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #d8e3ef;
}

.account-package-plan-enable-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.account-package-plan-enable-grid .account-package-flag-control {
  min-height: 30px;
  padding: 4px 7px;
  border: 1px solid #d6e1ee;
  border-radius: 6px;
  background: #ffffff;
}

.account-package-plan-enable-grid .account-package-flag-control small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.account-package-plan-enable-grid .account-package-flag-control.is-disabled {
  color: #9aa7b8;
  background: #f7f9fb;
}

.sales-dialog-card.account-package-payment-plan-dialog {
  width: min(1120px, 96vw);
}

.sales-dialog-card.account-package-payment-plan-dialog .sales-dialog-header [data-sales-dialog-submit] {
  --genesis-action-width: 126px;
  --genesis-action-height: 42px;
  font-size: 9px;
}

.sales-dialog-card.account-package-history-dialog {
  width: min(1280px, 97vw);
}

.account-package-history-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.account-package-history-summary span {
  border: 1px solid #d7e1ec;
  border-radius: 6px;
  padding: 5px 8px;
  background: #f6f9fc;
}

.account-package-history-frame {
  max-height: 62vh;
}

.account-package-history-table th:nth-child(1),
.account-package-history-table td:nth-child(1) {
  min-width: 138px;
}

.account-package-history-table th:nth-child(5),
.account-package-history-table td:nth-child(5) {
  min-width: 180px;
}

.account-package-history-table th:nth-child(6),
.account-package-history-table td:nth-child(6) {
  min-width: 360px;
}

.account-package-history-field-list {
  display: grid;
  gap: 4px;
  min-width: 340px;
  max-width: 520px;
}

.account-package-history-field-list div {
  display: grid;
  grid-template-columns: minmax(110px, 0.8fr) minmax(90px, 1fr) auto minmax(90px, 1fr);
  gap: 6px;
  align-items: start;
  font-size: 11px;
  line-height: 1.25;
}

.account-package-history-field-list strong {
  color: #243246;
}

.account-package-history-arrow {
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
}

.account-package-payment-plan {
  display: grid;
  gap: 12px;
}

.account-package-plan-top-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(132px, 1fr));
  gap: 8px;
  align-items: stretch;
}

.account-package-plan-top-grid label {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #d6e1ee;
  border-radius: 6px;
  background: #fbfdff;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.account-package-plan-top-grid input {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.account-package-plan-request-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, 320px);
  gap: 8px;
}

.account-package-plan-request-grid label {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.account-package-plan-request-grid .span-2 {
  grid-column: span 2;
}

.account-package-plan-request-grid textarea,
.account-package-plan-request-grid select {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.account-package-plan-pending-approvals h4 {
  margin: 0;
  color: #b36b15;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-package-plan-pending-approvals > div {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid #f0c56d;
  border-radius: 6px;
  background: #fff8e8;
}

.account-package-plan-pending-approvals strong,
.account-package-plan-pending-approvals span,
.account-package-plan-pending-approvals p {
  margin: 0;
  font-size: 11px;
}

.account-package-plan-section {
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #d8e3ef;
}

.account-package-plan-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.account-package-plan-section-heading h4 {
  margin: 0;
  color: var(--royal);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.account-package-plan-section-heading span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.account-package-plan-controls {
  display: grid;
  grid-template-columns: minmax(140px, 180px) minmax(120px, 160px) max-content;
  gap: 8px;
  align-items: end;
}

.account-package-plan-controls label {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.account-package-plan-controls input,
.account-package-plan-controls select,
.account-package-plan-schedule-table input {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 4px 6px;
  color: var(--ink);
  font-size: 12px;
}

.account-package-plan-allocation {
  display: grid;
  gap: 1px;
  min-width: 124px;
  text-align: right;
}

.account-package-plan-allocation strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.account-package-plan-allocation small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.account-package-plan-allocation.is-balanced small {
  color: #22744d;
}

.account-package-plan-allocation.is-unbalanced small {
  color: #b42318;
}

.account-package-plan-schedule-table th,
.account-package-plan-schedule-table td {
  padding: 4px 6px;
  white-space: nowrap;
}

.account-package-plan-schedule-table th:first-child,
.account-package-plan-schedule-table td:first-child {
  width: 148px;
}

.account-package-plan-schedule-table th:nth-child(2),
.account-package-plan-schedule-table td:nth-child(2),
.account-package-plan-schedule-table th:nth-child(3),
.account-package-plan-schedule-table td:nth-child(3),
.account-package-plan-schedule-table th:nth-child(4),
.account-package-plan-schedule-table td:nth-child(4) {
  width: 112px;
}

.account-package-plan-event-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 8px;
}

.account-package-plan-event-summary > div {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid #d6e1ee;
  border-radius: 6px;
  background: #fbfdff;
}

.account-package-plan-event-summary span,
.account-package-plan-event-summary small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}

.account-package-plan-event-summary strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.account-package-plan-future-invoices table {
  min-width: 680px;
}

.account-package-plan-future-invoices th,
.account-package-plan-future-invoices td {
  padding: 5px 7px;
  white-space: nowrap;
}

.account-package-plan-future-invoices th:nth-child(2),
.account-package-plan-future-invoices td:nth-child(2) {
  white-space: normal;
}

.account-package-plan-future-row.is-future td {
  background: #edf8f1;
}

.account-package-special-terms-review {
  max-height: min(420px, 60vh);
  overflow: auto;
  text-align: left;
}

@media (max-width: 900px) {
	  .account-package-plan-top-grid,
	  .account-package-plan-controls,
  .account-package-plan-request-grid {
	    grid-template-columns: 1fr;
	  }

  .account-package-plan-request-grid .span-2 {
    grid-column: auto;
  }
	}

.account-package-flag-control {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
  color: #657386;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.account-package-flag-control input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--royal);
}

.account-package-flag-control.is-checked {
  color: var(--navy);
}

.account-package-state-button.is-play {
  border-color: #1e8f63;
  background: #e7f6ee;
  color: #116544;
}

.account-package-state-button.is-pause {
  border-color: #b36b15;
  background: #fff3df;
  color: #7a4508;
}

.sales-dialog-card.account-add-invoice-dialog {
  width: min(1380px, 96vw);
}

.sales-dialog-card.account-add-invoice-dialog .sales-dialog-header [data-sales-dialog-submit],
.sales-dialog-card.account-invoice-catalog-dialog .sales-dialog-header [data-sales-dialog-submit] {
  --genesis-action-width: 108px;
  --genesis-action-height: 36px;
  font-size: 8.5px;
}

.sales-dialog-card.account-invoice-preview-dialog .sales-dialog-submit-row .genesis-action-button {
  --genesis-action-width: 84px;
  font-size: 9px;
}

.account-add-invoice-setup-grid {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.account-add-invoice-setup-grid textarea {
  min-height: 76px;
}

.account-invoice-step-actions {
  justify-content: flex-start;
  margin-bottom: 8px;
}

.account-invoice-preview-shell {
  max-height: calc(86vh - 160px);
  overflow: auto;
  padding: 10px;
  border: 1px solid #c5d1df;
  background: #eef3f8;
}

.account-invoice-review-editor {
  display: grid;
  gap: 10px;
  background: #f6f9fc;
  min-width: 0;
}

.account-invoice-description-editor {
  display: grid;
  gap: 5px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-invoice-description-editor textarea {
  width: 100%;
  min-height: 92px;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 5px;
  padding: 8px 9px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-transform: none;
}

.account-invoice-preview-document {
  max-width: 980px;
  margin: 0 auto;
  padding: 16px;
  border: 1.5px solid var(--table-border);
  background: #ffffff;
}

.account-invoice-preview-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
  gap: 18px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--royal);
}

.account-invoice-preview-header h3 {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 22px;
}

.account-invoice-preview-header p {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.35;
}

.account-invoice-preview-lines {
  min-width: 0;
}

.account-invoice-preview-lines input {
  width: 100%;
  min-width: 0;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 11px;
}

.account-invoice-preview-totals {
  width: 280px;
  margin: 10px 0 0 auto;
  border-collapse: collapse;
  font-size: 12px;
}

.account-invoice-preview-totals td {
  border: 1px solid #9aa9bb;
  padding: 5px 8px;
}

.account-invoice-preview-totals td:last-child {
  text-align: right;
  font-weight: 800;
}

.account-invoice-custom-plan {
  display: grid;
  gap: 8px;
  padding: 9px;
  border-top: 1px solid #d8e3ef;
  background: #ffffff;
}

.account-invoice-custom-plan-section {
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #d8e3ef;
}

.account-invoice-custom-plan-table th,
.account-invoice-custom-plan-table td {
  padding: 4px 6px;
  white-space: nowrap;
}

.account-invoice-custom-plan-table input {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 4px 6px;
  color: var(--ink);
  font-size: 12px;
}

.account-invoice-custom-plan-reason {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.account-invoice-custom-plan-reason textarea {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.account-invoice-preview-description {
  margin: 10px 0 0;
  font-size: 12px;
}

.account-invoice-compose-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  min-width: 0;
}

.account-invoice-inline-preview-region:not(:empty) {
  margin-top: 12px;
}

.account-invoice-inline-preview {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid #b9c8da;
  border-radius: 7px;
  background: #ffffff;
  padding: 8px;
}

.account-invoice-inline-preview-header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.account-invoice-inline-preview-header > div:first-child {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.account-invoice-inline-preview-header strong {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-invoice-inline-preview-header span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.account-invoice-inline-preview-frame {
  height: min(58vh, 620px);
  min-height: 420px;
  border: 1px solid #c5d1df;
  background: #f8fbff;
}

.account-invoice-inline-preview-frame object {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.account-invoice-inline-preview-status {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  height: 100%;
  padding: 24px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.account-invoice-inline-preview-error {
  color: #8a1f1f;
  background: #fff7f7;
}

.billing-invoice-product-types-table th:first-child,
.billing-invoice-product-types-table td:first-child {
  width: 74px;
  text-align: center;
}

.billing-invoice-product-types-table th:nth-child(3),
.billing-invoice-product-types-table td:nth-child(3) {
  width: 88px;
}

.billing-invoice-product-types-table input[name="notes"] {
  width: 100%;
}

.compact-schedule-table th,
.compact-schedule-table td {
  padding: 3px 6px;
  vertical-align: middle;
}

.compact-schedule-table th {
  line-height: 1.15;
}

.schedule-time-select {
  width: 74px;
  min-width: 74px;
}

.schedule-days-input {
  width: 44px;
  min-width: 44px;
  max-width: 52px;
  text-align: center;
}

.schedule-name-input {
  width: 230px;
  min-width: 230px;
}

.schedule-cadence-select {
  width: 112px;
  min-width: 112px;
}

.schedule-zone-select {
  width: 124px;
  min-width: 124px;
}

#view-messaging-schedules .table-frame table.compact-schedule-table {
  width: max-content;
  min-width: 0;
  table-layout: fixed;
}

#view-messaging-schedules .compact-schedule-table th,
#view-messaging-schedules .compact-schedule-table td {
  white-space: nowrap;
}

#view-messaging-schedules .compact-schedule-table th:nth-child(5),
#view-messaging-schedules .compact-schedule-table td:nth-child(5) {
  min-width: 250px;
  max-width: 270px;
  white-space: normal;
}

#view-messaging-schedules .compact-schedule-table th:nth-child(6),
#view-messaging-schedules .compact-schedule-table td:nth-child(6) {
  min-width: 100px;
}

#view-messaging-schedules .compact-schedule-table th:nth-child(9),
#view-messaging-schedules .compact-schedule-table td:nth-child(9),
#view-messaging-schedules .compact-schedule-table th:nth-child(10),
#view-messaging-schedules .compact-schedule-table td:nth-child(10) {
  min-width: 82px;
}

#view-messaging-schedules .compact-schedule-table .section-note {
  max-width: 250px;
  white-space: normal;
}

.message-schedule-config-table thead tr {
  height: 26px;
}

.message-schedule-config-table th {
  overflow: hidden;
  text-overflow: ellipsis;
}

.message-schedule-config-table td {
  overflow: hidden;
}

.message-schedule-config-table input,
.message-schedule-config-table select {
  max-width: 100%;
}

.message-schedule-config-table input:disabled,
.message-schedule-config-table select:disabled {
  opacity: 1;
  color: var(--ink);
  background: #f5f8fc;
  -webkit-text-fill-color: var(--ink);
}

.message-schedule-config-table tr.editing-row {
  background: #fbfdff;
}

.schedule-summary-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 150px;
}

.schedule-summary-cell strong {
  color: var(--navy);
  font-size: 12px;
  white-space: nowrap;
}

.schedule-actions-cell {
  min-width: 96px;
  white-space: nowrap;
}

.schedule-actions-cell .small-button {
  margin-right: 4px;
}

.schedule-rule-dialog,
.record-detail-modal,
.invoice-pdf-modal {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: grid;
  place-items: center;
  padding: 28px;
}

.invoice-pdf-modal {
  z-index: 3200;
}

.schedule-rule-dialog.hidden,
.record-detail-modal.hidden,
.invoice-pdf-modal.hidden {
  display: none;
}

.schedule-rule-dialog::before,
.record-detail-backdrop {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(20, 31, 52, 0.42);
}

.schedule-rule-card,
.record-detail-card {
  position: relative;
  z-index: 1;
  width: min(900px, 96vw);
  max-height: min(760px, 92vh);
  overflow: hidden;
  border: 1px solid #d4e0ee;
  border-radius: var(--dialog-radius);
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(31, 39, 51, 0.24);
  padding: 0;
}

.record-detail-card,
.invoice-pdf-card,
.schedule-rule-card {
  width: min(90vw, 1320px);
  height: min(88vh, 860px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.schedule-rule-card {
  width: min(900px, 96vw);
  height: auto;
  max-height: min(760px, 92vh);
}

.record-detail-card > .panel-heading,
.record-detail-card > .record-detail-heading,
.invoice-pdf-card > .panel-heading,
.schedule-rule-card > .panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 18px 18px 12px;
  border-bottom: 1px solid #d8e3f0;
}

.record-detail-body {
  min-height: 0;
  overflow: auto;
  padding: 16px 18px;
}

.record-detail-actions {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 12px 18px;
  border-top: 1px solid #d8e3f0;
  background: #ffffff;
  box-shadow: 0 -8px 18px rgba(31, 39, 51, 0.06);
}

.record-detail-actions .action-row {
  justify-content: center;
}

.doordash-mail-card {
  width: min(96vw, 1280px);
  max-width: 96vw;
  min-width: 0;
}

.doordash-mail-card.compact-result {
  width: min(430px, 92vw);
  height: auto;
  max-height: 60vh;
}

.doordash-mail-card.compact-result #doordashMailBody {
  overflow: visible;
}

.operations-event-card {
  width: min(96vw, 1180px);
}

.watchdog-rule-card {
  width: min(760px, 94vw);
  height: auto;
  max-height: min(760px, 92vh);
}

.alert-recipient-card {
  width: min(560px, 94vw);
  height: auto;
  max-height: min(520px, 92vh);
}

.watchdog-rule-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.watchdog-rule-form .wide,
.watchdog-rule-form .form-error {
  grid-column: 1 / -1;
}

.operations-alert-user-form {
  grid-template-columns: minmax(260px, 420px) auto;
  align-items: end;
}

.alert-recipient-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-error {
  margin: 0;
  border: 1px solid #e59ba0;
  border-radius: 6px;
  background: #fff5f5;
  color: #9f2d2d;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 800;
}

.operations-control-header-panel {
  padding: 8px 10px;
  margin-bottom: 8px;
}

#operationsControlMetrics.compact-metrics {
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 8px;
  margin-bottom: 0;
}

#operationsControlMetrics.compact-metrics .metric {
  min-height: 42px;
  display: grid;
  align-content: center;
  justify-items: center;
  border-color: #bfd0e5;
  background: #f1f5f9;
  padding: 6px 9px;
  text-align: center;
  box-shadow: none;
}

#operationsControlMetrics .metric-label {
  margin-bottom: 2px;
  font-size: 10px;
  line-height: 1.1;
  color: var(--royal);
}

#operationsControlMetrics .metric-value {
  font-size: 15px;
  line-height: 1.05;
}

#view-operations-control > .panel:not(.operations-control-header-panel) {
  padding: 11px 12px;
  margin-bottom: 10px;
}

#view-operations-control > .panel:not(.operations-control-header-panel) .panel-heading {
  margin-bottom: 8px;
}

#view-operations-control > .panel:not(.operations-control-header-panel) .panel-heading h2 {
  margin: 0;
  font-size: 16px;
}

#view-operations-control > .panel:not(.operations-control-header-panel) .section-note {
  margin: 2px 0 0;
  font-size: 12px;
}

.operations-queue-heading {
  align-items: flex-start;
  margin-bottom: 6px !important;
}

.operations-mode-pill {
  display: inline-block;
  min-width: 74px;
  padding: 2px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  vertical-align: middle;
}

.operations-mode-pill.mode-normal {
  color: #167146;
  background: #e8f7ef;
}

.operations-mode-pill.mode-supervisory {
  color: #8a5f00;
  background: #fff2c2;
}

.operations-mode-pill.mode-dry-run {
  color: #725027;
  background: #f2e2cf;
}

.operations-mode-pill.mode-kill-switch {
  color: #9d1e28;
  background: #ffd9dc;
}

.operations-queue-controls {
  display: grid;
  grid-template-columns: 140px 90px 120px minmax(240px, 1fr);
  gap: 8px;
  align-items: end;
  margin-bottom: 0;
  padding: 0;
}

.operations-queue-heading .action-row .genesis-action-button {
  --genesis-action-width: 96px;
  --genesis-action-height: 32px;
}

.operations-queue-heading .action-row #deleteSelectedOperationsBtn {
  --genesis-action-width: 96px;
  --genesis-action-height: 32px;
}

.operations-queue-controls label {
  min-width: 0;
}

.operations-queue-controls select,
.operations-queue-controls input {
  height: 28px;
  min-height: 28px;
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 12px;
}

#operationsSearch {
  min-width: 0;
}

.operations-save-button,
.operations-refresh-button,
.operations-test-button,
.operations-delete-selected-button {
  height: 28px;
  min-height: 28px;
  border-radius: var(--control-radius);
  border: 1px solid transparent;
  box-shadow: var(--button-shadow);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}

.operations-save-button {
  border-color: var(--navy);
  background: var(--sky);
  color: var(--navy);
}

.operations-refresh-button {
  border-color: var(--navy);
  background: var(--button-action-bg);
  color: var(--navy);
  width: 142px;
}

.operations-test-button {
  border-color: var(--navy);
  background: var(--button-action-bg);
  color: var(--navy);
  width: 142px;
}

.operations-delete-selected-button {
  border-color: #cc4b55;
  background: #fb616a;
  color: #000000;
}

.operations-queue-controls #saveOperationsModeBtn.genesis-action-button {
  --genesis-action-width: 90px;
  --genesis-action-height: 30px;
}

.operations-save-button:hover,
.operations-refresh-button:hover,
.operations-test-button:hover,
.operations-delete-selected-button:hover {
  filter: brightness(0.97);
}

.operations-event-card #operationsEventDetail {
  min-height: 0;
  overflow: auto;
  padding-right: 4px;
}

.record-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.record-detail-grid > div {
  min-width: 0;
  border: 1px solid #c8d6e7;
  border-radius: var(--control-radius);
  background: var(--field-bg);
  padding: 6px 8px;
}

.record-detail-grid span {
  display: block;
  color: var(--royal);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.record-detail-grid strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.operations-preview-section {
  margin-top: 14px;
}

.operations-preview-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.operations-preview-section h3 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
  text-transform: uppercase;
}

.email-envelope-preview {
  border: 1px solid #d8dde5;
  border-radius: 6px;
  background: #ffffff;
  overflow: hidden;
  color: var(--navy);
}

.email-envelope-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  min-height: 42px;
  border-bottom: 1px solid #d8dde5;
  font-size: 14px;
}

.email-envelope-row span {
  padding: 0 12px;
  color: #666666;
  font-weight: 700;
}

.email-envelope-row strong {
  min-width: 0;
  padding: 0 10px;
  color: #222222;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.email-envelope-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
  background: #f7f7f7;
}

.email-attachment-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 260px;
  border: 1px solid #d8dde5;
  border-radius: 4px;
  background: #ffffff;
  padding: 6px 9px;
  color: #344456;
  font-size: 12px;
  font-weight: 700;
}

.email-attachment-chip svg {
  width: 15px;
  height: 15px;
}

.message-delivery-controls {
  align-items: end;
  margin-bottom: 10px;
}

.message-delivery-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  min-width: 0;
  max-width: 100%;
}

.message-delivery-overview {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.message-delivery-kpi {
  min-width: 0;
  border: 1px solid #d7deea;
  border-left: 4px solid var(--royal);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(27, 42, 66, 0.08);
  padding: 10px;
  min-height: 86px;
}

.message-delivery-kpi span,
.message-delivery-kpi small {
  display: block;
  color: #596579;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.message-delivery-kpi strong {
  display: block;
  color: var(--navy);
  font-size: 23px;
  line-height: 1.15;
  margin: 4px 0;
}

.message-delivery-kpi.tone-risk {
  border-left-color: #c74850;
}

.message-delivery-kpi.tone-good {
  border-left-color: #3f9f75;
}

.message-delivery-daily-panel,
.message-delivery-detail-panel {
  min-width: 0;
  border: 1px solid #d7deea;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(27, 42, 66, 0.08);
  padding: 14px;
}

.message-delivery-panel-title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.message-delivery-panel-title h3 {
  margin: 0;
  color: var(--navy);
  font-size: 17px;
}

.message-delivery-panel-title p {
  margin: 2px 0 0;
  color: #596579;
  font-size: 12px;
  font-weight: 800;
}

.message-delivery-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 8px 14px;
  color: #344456;
  font-size: 11px;
  font-weight: 800;
}

.message-delivery-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.message-delivery-legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
}

.legend-pending,
.segment-pending {
  background: #8ca2bd;
}

.legend-queued,
.segment-queued {
  background: #dbe3ee;
}

.legend-delivered,
.segment-delivered {
  background: #3872e1;
}

.legend-opened,
.segment-opened {
  background: #3f9f75;
}

.legend-risk,
.segment-risk {
  background: #c74850;
}

.message-delivery-day-chart {
  display: grid;
  gap: 0;
  align-items: end;
  min-width: 0;
  min-height: 170px;
  border: 1px solid #e0e6ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fafc 0%, #f8fafc 83%, #eef3f8 83%, #eef3f8 100%);
  padding: 12px 10px 8px;
  overflow: hidden;
}

.message-delivery-day {
  display: grid;
  grid-template-rows: 132px 16px;
  align-items: end;
  gap: 5px;
  min-width: 0;
  border: 0;
  border-left: 1px dotted #cfdae8;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  padding: 0 2px;
  position: relative;
}

.message-delivery-day:first-child {
  border-left-color: transparent;
}

.message-delivery-day.week-anchor {
  border-left: 1px solid #9eb0c6;
}

.message-delivery-day-stack {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  width: min(100%, var(--message-delivery-bar-width, 18px));
  min-height: 8px;
  justify-self: center;
  border-radius: 5px 5px 2px 2px;
  box-shadow: inset 0 0 0 1px rgba(52, 68, 86, 0.15);
  overflow: hidden;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.message-delivery-day:hover .message-delivery-day-stack,
.message-delivery-day:focus-visible .message-delivery-day-stack {
  box-shadow: inset 0 0 0 1px var(--navy), 0 6px 12px rgba(27, 42, 66, 0.18);
  transform: translateY(-2px);
}

.message-delivery-day:disabled {
  cursor: default;
  opacity: 0.72;
}

.message-delivery-day:disabled .message-delivery-day-stack {
  box-shadow: none;
  transform: none;
}

.message-delivery-day-segment {
  display: block;
  width: 100%;
}

.segment-empty {
  background: #e6ebf2;
}

.message-delivery-day-label {
  color: #596579;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.message-delivery-day-label:empty {
  visibility: hidden;
}

.message-delivery-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 12px;
  min-width: 0;
}

.message-delivery-card {
  display: grid;
  gap: 11px;
  min-width: 0;
  border: 1px solid #d7deea;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(27, 42, 66, 0.08);
  padding: 12px;
}

.message-delivery-card-heading {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.message-delivery-card-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #eaf1ff;
  color: var(--navy);
}

.message-delivery-card-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.message-delivery-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.2;
}

.message-delivery-card p {
  margin: 2px 0 0;
  color: #596579;
  font-size: 11px;
  font-weight: 800;
}

.message-delivery-card-counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.message-delivery-card-counts div {
  border: 1px solid #d7deea;
  border-radius: 6px;
  background: #f8fafc;
  padding: 6px 5px;
  text-align: center;
}

.message-delivery-card-counts span {
  display: block;
  color: #596579;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.message-delivery-card-counts strong {
  display: block;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.15;
}

.message-delivery-meter-stack {
  display: grid;
  gap: 6px;
}

.message-delivery-meter {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) 56px;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  padding: 0;
  text-align: left;
}

.message-delivery-meter-label {
  color: #344456;
  font-size: 11px;
  font-weight: 900;
}

.message-delivery-meter-track {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: #e5ebf3;
  overflow: hidden;
}

.message-delivery-meter-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #3872e1;
}

.message-delivery-meter.tone-risk .message-delivery-meter-track i {
  background: #c74850;
}

.message-delivery-meter strong {
  fill: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-align: right;
}

.message-delivery-meter:disabled {
  cursor: default;
  opacity: 0.72;
}

.message-delivery-sparkline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(5px, 1fr));
  align-items: end;
  gap: 3px;
  height: 38px;
  border-top: 1px solid #eef2f7;
  padding-top: 5px;
}

.message-delivery-spark-bar {
  min-height: 3px;
  border: 0;
  border-radius: 2px 2px 0 0;
  background: #8ca2bd;
  cursor: pointer;
  padding: 0;
}

.message-delivery-spark-bar:hover,
.message-delivery-spark-bar:focus-visible {
  background: var(--royal);
}

.message-delivery-spark-bar:disabled {
  cursor: default;
  opacity: 0.7;
}

.message-delivery-spark-bar:disabled:hover,
.message-delivery-spark-bar:disabled:focus-visible {
  background: #8ca2bd;
}

.email-analytics-report-charts {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
}

.email-analytics-report-charts .message-delivery-day,
.email-analytics-report-meter,
.email-analytics-report-spark-bar {
  cursor: default;
  pointer-events: none;
}

.email-analytics-report-card .message-delivery-card-heading {
  grid-template-columns: 34px minmax(0, 1fr);
}

.message-delivery-detail-table {
  max-width: 100%;
  max-height: 430px;
  overflow: auto;
}

.message-delivery-detail-table table {
  min-width: 1120px;
}

.message-delivery-detail-table td,
.message-delivery-detail-table th {
  white-space: nowrap;
}

.message-delivery-status-label {
  margin-top: 4px;
}

.message-delivery-evidence,
.message-delivery-mapping {
  display: inline-block;
  max-width: 210px;
  overflow: hidden;
  color: #344456;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.message-delivery-mapping {
  max-width: 180px;
  color: #596579;
}

.message-delivery-empty-chart {
  border: 1px solid #d8dde5;
  border-radius: 5px;
  padding: 20px 8px;
  color: #596579;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.report-schedule-card {
  width: min(900px, 92vw);
  max-height: 92vh;
}

.report-schedule-summary {
  border: 1px solid var(--navy);
  border-radius: 8px;
  background: #f7f9fb;
  margin: 4px 0 10px;
  padding: 8px 10px;
}

.report-schedule-summary-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  color: var(--navy);
  font-size: 12px;
  line-height: 1.35;
}

.report-schedule-summary-row span {
  min-width: min(100%, 180px);
}

.report-schedule-body {
  min-height: 190px;
}

.report-schedule-body .entry-form {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}

.report-schedule-body .entry-form label.wide {
  grid-column: 1 / -1;
}

.report-schedule-body select[multiple] {
  min-height: 140px;
}

.report-schedule-pick-step {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(360px, 1.2fr);
  gap: 18px;
  align-items: start;
}

.report-schedule-pick-copy {
  border-left: 4px solid var(--royal);
  padding: 6px 0 8px 12px;
  color: var(--navy);
}

.report-schedule-pick-copy h3 {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 900;
}

.report-schedule-pick-copy p {
  margin: 0;
  color: #596579;
  font-size: 13px;
  line-height: 1.45;
}

.report-schedule-pick-step .entry-form {
  grid-template-columns: 1fr;
}

.report-schedule-pick-step select,
.report-schedule-pick-step input {
  font-size: 14px;
}

.report-schedule-criteria-form .report-dual-field,
.report-schedule-criteria-form .report-concentration-flags,
.report-schedule-criteria-form .report-date-pair,
.report-schedule-criteria-form .report-range-pair {
  grid-column: 1 / -1;
}

.report-schedule-check-group {
  border: 1px solid #c8d0d9;
  border-radius: 8px;
  padding: 8px 10px;
}

.report-schedule-format-grid {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 10px 0;
}

.report-schedule-final-summary {
  border: 1.5px solid var(--navy);
  border-radius: 8px;
  background: #ffffff;
  color: var(--navy);
  padding: 14px 16px;
}

.report-schedule-final-summary h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 900;
  text-align: left;
}

.report-schedule-final-grid {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);
  gap: 8px 14px;
  align-items: start;
  text-align: left;
}

.report-schedule-final-label {
  color: var(--navy);
  font-size: 15px;
  font-weight: 900;
}

.report-schedule-final-value {
  min-width: 0;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.report-schedule-empty-step {
  border: 1px solid #c8d0d9;
  border-radius: 8px;
  background: #ffffff;
  color: var(--navy);
  padding: 18px;
}

.report-schedule-empty-step h3 {
  margin: 0 0 6px;
  font-size: 16px;
}

.report-schedule-empty-step p {
  margin: 0;
  color: #596579;
  font-size: 13px;
  line-height: 1.45;
}

.operations-open-preview-link {
  height: 28px;
  min-height: 28px;
  padding: 5px 10px;
  text-decoration: none;
}

.message-preview-frame {
  max-height: none;
  overflow: auto;
  border: 1px solid #c8d6e7;
  border-radius: 6px;
  background: #ffffff;
}

.operations-email-preview-frame {
  display: block;
  width: 100%;
  min-height: 520px;
}

.operations-payload-pre {
  max-height: 320px;
  overflow: auto;
  border: 1px solid #c8d6e7;
  border-radius: 6px;
  background: #f4f6f8;
  padding: 12px;
  color: var(--ink);
  font-size: 12px;
  white-space: pre-wrap;
}

.operations-action-buttons {
  justify-content: flex-start;
  gap: 5px;
}

.pre-wrap-cell {
  white-space: pre-wrap;
}

.audit-detail-note {
  margin: 0 0 10px;
}

.audit-action-status-cell {
  line-height: 1.25;
}

.audit-action-status-main {
  color: var(--navy);
  font-weight: 900;
}

.audit-action-status-sub {
  margin-top: 2px;
  color: #4f6073;
  font-size: 11px;
  font-weight: 700;
}

.operations-action-buttons .table-icon-button {
  width: 30px;
  height: 30px;
}

.operations-action-buttons .danger-icon-button {
  border-color: #a32630;
  color: #a32630;
}

.operations-action-buttons .danger-icon-button:hover {
  background: #ffd3d3;
}

.operations-action-buttons .send-icon-button {
  border-color: #9cc9ad;
  background: #e8f5ed;
  color: #246b3c;
}

.operations-action-buttons .send-icon-button:hover:not(:disabled) {
  background: #d6ebde;
}

.operations-action-buttons .table-icon-button svg {
  width: 17px;
  height: 17px;
}

.alert-recipient-action-buttons {
  justify-content: flex-start;
  gap: 6px;
  min-width: 72px;
}

.alert-recipient-action-buttons .table-icon-button {
  width: 30px;
  height: 30px;
  border-radius: 5px;
}

.alert-recipient-action-buttons .table-icon-button svg {
  width: 15px;
  height: 15px;
}

.alert-edit-button {
  border-color: #6f8dad;
  background: #c9d8ea;
  color: #203b59;
}

.alert-delete-button {
  border-color: #c64d55;
  background: var(--red);
  color: #000000;
}

.alert-delete-button:hover {
  border-color: #c64d55;
  background: #e9535d;
  color: #000000;
}

.usage-mail-button {
  box-shadow: 0 5px 14px rgba(32, 90, 176, 0.18);
}

.doordash-mail-card .panel-heading {
  grid-template-columns: minmax(0, 1fr) auto;
}

.doordash-mail-card .action-row {
  flex-wrap: nowrap;
}

#doordashMailBody {
  min-width: 0;
  overflow: auto;
}

#doordashMailBody .table-frame {
  width: 100%;
  max-width: 100%;
  overflow: auto;
}

#doordashMailBody table {
  width: max-content;
  min-width: 0;
  table-layout: fixed;
}

#doordashMailBody th,
#doordashMailBody td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.doordash-mail-table-frame {
  max-height: calc(88vh - 150px);
}

.doordash-mail-table-frame td {
  vertical-align: middle;
}

.doordash-mail-table-frame .warning-row td {
  background: #fff8e8;
}

.mail-result-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 8px 0 2px;
}

.mail-result-summary div {
  border: 1px solid #d8e2ef;
  border-radius: 8px;
  background: #f7f9fc;
  padding: 12px;
  text-align: center;
}

.mail-result-summary strong {
  display: block;
  color: var(--navy);
  font-size: 22px;
  line-height: 1.1;
}

.mail-result-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

#recordDetailModalBody {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.invoice-pdf-card {
  position: relative;
  z-index: 1;
  width: 90vw;
  height: 90vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid #d4e0ee;
  border-radius: var(--dialog-radius);
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(31, 39, 51, 0.24);
  padding: 0;
}

.invoice-pdf-card iframe {
  width: 100%;
  height: 100%;
  border: 1px solid #d7e4f2;
  border-radius: 8px;
  background: #f8fbff;
}

.schedule-rule-body {
  margin-top: 12px;
}

.schedule-rule-section {
  display: grid;
  gap: 12px;
}

.schedule-rule-section h3 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
}

.schedule-weekday-grid,
.schedule-day-grid {
  display: grid;
  gap: 8px;
}

.schedule-weekday-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.schedule-day-grid {
  grid-template-columns: repeat(7, minmax(38px, 1fr));
}

.schedule-pick-button {
  min-height: 36px;
  border: 1px solid var(--field-line);
  border-radius: var(--control-radius);
  box-shadow: var(--button-shadow);
  background: var(--field-bg);
  color: var(--navy);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
}

.schedule-pick-button.active {
  border-color: var(--royal);
  background: var(--royal);
  color: #ffffff;
}

.compact-account-cell {
  max-width: 210px;
  min-width: 170px;
  white-space: normal;
}

.compact-email-cell {
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.automation-log-full {
  margin-top: 12px;
}

.payment-automation-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.payment-automation-panel > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #f8fbff;
}

.payment-automation-panel strong {
  color: var(--navy);
}

.payment-automation-panel span,
.signature-preview {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

#emailSignatureRows td.signature-preview {
  min-width: 300px;
  max-width: 380px;
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
  vertical-align: top;
}

.signature-preview-content {
  max-height: 76px;
  display: block;
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
}

.signature-preview strong {
  color: var(--navy);
}

.messaging-service-list {
  display: grid;
  gap: 10px;
}

.messaging-service-list > div,
.settings-shortcut {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #dce5ef;
  border-radius: var(--control-radius);
  background: #f8fbff;
}

.messaging-service-list strong,
.settings-shortcut strong {
  color: var(--navy);
  font-size: 13px;
}

.messaging-service-list span,
.settings-shortcut span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.settings-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.settings-shortcut {
  cursor: pointer;
  text-align: left;
}

.settings-shortcut:hover {
  border-color: var(--sky);
  background: #f1f7ff;
}

.settings-more-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.settings-more-card {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 14px;
  border: 1px solid #dce5ef;
  border-radius: var(--control-radius);
  background: #f8fbff;
}

.settings-more-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.settings-more-list {
  display: grid;
  gap: 8px;
}

.settings-more-link {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 11px;
  border: 1px solid #c9d8ea;
  border-radius: var(--control-radius);
  background: #ffffff;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.settings-more-link::after {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  content: "";
}

.settings-more-link:hover {
  border-color: var(--sky);
  background: #f1f7ff;
}

.system-settings-form {
  display: grid;
  gap: 10px;
}

.system-settings-group {
  display: grid;
  gap: 0;
  padding: 14px 16px 8px;
  border: 3px solid #8fa6c1;
  border-radius: 8px;
  background: #fbfcfe;
}

.accounting-period-settings-group {
  gap: 10px;
}

.accounting-period-heading {
  align-items: center;
}

.accounting-period-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 8px;
}

.accounting-period-table-frame {
  max-height: none;
}

.accounting-period-settings-table {
  table-layout: fixed;
  min-width: 760px;
}

.accounting-period-settings-table th:nth-child(1),
.accounting-period-settings-table td:nth-child(1) {
  width: 180px;
}

.accounting-period-settings-table th:nth-child(2),
.accounting-period-settings-table td:nth-child(2) {
  width: 180px;
}

.accounting-period-settings-table input {
  width: 100%;
  min-height: 30px;
  border: 1px solid #9eb0c6;
  border-radius: 6px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.special-message-settings-group {
  gap: 10px;
}

.role-permissions-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.28fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.role-list-panel,
.role-editor-panel {
  border: 1px solid #aab8c9;
  border-radius: 8px;
  background: #fbfcfe;
  padding: 10px;
}

.role-list-panel h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 14px;
}

.role-list {
  display: grid;
  gap: 6px;
}

.role-list-row {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #c8d4e1;
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.role-list-row strong {
  color: var(--navy);
  font-size: 13px;
}

.role-list-row span {
  color: var(--muted);
  font-size: 11px;
}

.role-list-row.active {
  border-color: var(--royal);
  background: #f0f6ff;
}

.role-detail-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(260px, 1.4fr) minmax(260px, 1fr);
  gap: 10px;
  align-items: end;
  margin-bottom: 10px;
}

.role-detail-form label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.role-detail-form .inline-toggle {
  display: flex;
  min-height: 38px;
  align-items: center;
  color: var(--navy);
}

.role-system-note {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
}

.role-permission-menu-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.role-expand-button {
  min-width: 52px;
  min-height: 26px;
  padding: 3px 8px;
}

.role-expand-spacer {
  width: 52px;
  flex: 0 0 52px;
}

.role-permission-parent-label {
  color: var(--navy);
  font-weight: 800;
}

.role-permission-child-label {
  color: var(--ink);
  font-weight: 500;
}

.compact-table-toolbar {
  display: flex;
  align-items: end;
  gap: 10px;
  margin: 0 0 8px;
}

.compact-table-toolbar label {
  display: grid;
  gap: 4px;
  min-width: min(420px, 100%);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.role-permission-table-frame {
  max-height: calc(100vh - 330px);
}

.settings-group-heading {
  padding-bottom: 6px;
  border-bottom: 1px solid #dce4ee;
}

.password-policy-heading {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: end;
}

.special-message-heading {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: end;
}

.status-report-heading {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: end;
}

.status-report-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.settings-group-heading h3 {
  margin: 0 0 2px;
  color: var(--royal);
  font-size: 30px;
  line-height: 1.1;
}

.system-setting-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(280px, 1.2fr);
  gap: 14px;
  align-items: start;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.system-setting-row label {
  display: block;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.system-setting-row input:not([type="file"]):not([type="checkbox"]) {
  width: 100%;
}

.compact-time-input {
  width: 110px !important;
  max-width: 110px;
}

.status-report-settings-grid {
  display: grid;
  gap: 12px;
}

.status-report-control-panel {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.status-report-enable-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 22px auto auto;
  gap: 12px;
  align-items: center;
}

.status-report-enable-copy label,
.status-report-subscriber-panel label,
.status-report-extra-panel label,
.status-report-time-control {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.status-report-time-control {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  white-space: nowrap;
}

.status-report-recipient-layout {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(260px, 0.42fr);
  gap: 14px;
  align-items: start;
}

.status-report-subscriber-panel,
.status-report-extra-panel {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.status-report-user-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(190px, 1fr));
  gap: 8px;
}

.status-report-user-option {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px;
  border: 1px solid #c8d4e1;
  border-radius: 6px;
  background: #ffffff;
}

.status-report-user-option input {
  width: 16px !important;
  height: 16px;
  margin-top: 1px;
}

.status-report-user-option span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.status-report-user-option small {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.status-report-extra-panel textarea {
  width: 100%;
  min-height: 142px;
  resize: vertical;
}

@media (max-width: 980px) {
  .status-report-enable-row,
  .status-report-recipient-layout {
    grid-template-columns: 1fr;
  }

  .status-report-user-grid {
    grid-template-columns: 1fr;
  }
}

.password-policy-checkbox-row {
  grid-template-columns: minmax(220px, 560px) auto;
  justify-content: start;
  align-items: center;
  column-gap: 12px;
}

.system-setting-row input.setting-checkbox {
  width: 18px !important;
  height: 18px;
  margin: 0;
}

.message-preference-settings-group .system-setting-row {
  grid-template-columns: minmax(260px, 440px) minmax(280px, 700px);
  justify-content: start;
}

.message-preference-settings-group .setting-toggle {
  width: fit-content;
  min-width: 118px;
}

.message-preference-settings-group [data-system-setting-value="message_preferences_unsubscribe_warning"] {
  max-width: 700px;
}

.compact-number-input {
  width: 58px !important;
  max-width: 58px;
  text-align: center;
}

.mode-toggle {
  width: fit-content;
  display: inline-grid;
  grid-template-columns: repeat(2, 58px);
  gap: 0;
  overflow: hidden;
  border: 1px solid #9fb2ca;
  border-radius: 999px;
  background: #eef3f8;
}

.mode-toggle button {
  min-height: 30px;
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
}

.mode-toggle button.active {
  background: #2f6fd6;
  color: #ffffff;
}

.mode-toggle button.active.danger {
  background: #b74444;
}

.ar-treatment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}

.ar-treatment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #d5dee9;
  border-radius: 8px;
  background: #fbfcfe;
}

.ar-treatment-row label {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.ar-treatment-row .section-note {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 11px;
  line-height: 1.25;
}

.system-setting-row select,
.special-message-control-strip select,
.special-message-control-strip input[type="date"] {
  min-height: 30px;
}

.special-message-control-strip {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.special-message-control-strip label,
.special-message-toggle-control {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.special-message-control-strip input[type="date"] {
  width: 140px;
}

.setting-toggle {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  border: 1px solid #9fb2ca;
  border-radius: 999px;
  background: #eef3f8;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.setting-toggle input {
  width: 16px !important;
  height: 16px;
  flex: 0 0 auto;
}

.special-message-edit-grid {
  display: grid;
  gap: 0;
}

.compact-special-row {
  padding: 8px 0;
}

.system-setting-row.system-setting-wide {
  grid-template-columns: 1fr;
}

.coa-mapping-frame {
  max-height: 360px;
}

.coa-mapping-frame table {
  width: max-content;
  min-width: 1060px;
  table-layout: fixed;
}

.coa-mapping-frame th:nth-child(1),
.coa-mapping-frame td:nth-child(1) {
  width: 116px;
}

.coa-mapping-frame th:nth-child(2),
.coa-mapping-frame td:nth-child(2) {
  width: 74px;
  text-align: center;
}

.coa-mapping-frame th:nth-child(3),
.coa-mapping-frame td:nth-child(3) {
  width: 170px;
}

.coa-mapping-frame th:nth-child(4),
.coa-mapping-frame td:nth-child(4) {
  width: 210px;
}

.coa-mapping-frame th:nth-child(5),
.coa-mapping-frame td:nth-child(5) {
  width: 170px;
}

.coa-mapping-frame th:nth-child(6),
.coa-mapping-frame td:nth-child(6) {
  width: 320px;
}

.coa-mapping-frame input:not([type="checkbox"]) {
  width: 100%;
  min-width: 0;
  min-height: 28px;
  padding: 3px 6px;
  box-sizing: border-box;
}

.coa-mapping-frame input[type="checkbox"] {
  display: block;
  margin: 0 auto;
}

.system-setting-image {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.setting-image-preview {
  max-width: 120px;
  max-height: 54px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
  padding: 5px;
}

.special-message-preview-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(320px, 1.15fr);
  gap: 14px;
  padding: 12px 0 10px;
}

.special-message-preview-grid h4 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 13px;
}

.preview-special-message {
  margin: 0;
}

.special-message-email-preview {
  min-height: 90px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid #b9cbe2;
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.special-message-email-preview img {
  max-width: 140px;
  max-height: 90px;
  object-fit: contain;
}

.quickbooks-card {
  display: grid;
  gap: 9px;
  padding: 6px 0;
}

.quickbooks-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 10px;
}

.quickbooks-status-grid-compact {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 6px;
}

.quickbooks-status-grid-compact .metric {
  min-height: 34px;
  padding: 5px 8px;
  border-radius: 6px;
  box-shadow: none;
}

.quickbooks-status-grid-compact .metric-label {
  margin-bottom: 2px;
  font-size: 9px;
  line-height: 1.05;
}

.quickbooks-status-grid-compact .metric-value {
  overflow: hidden;
  font-size: 12px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quickbooks-actions {
  justify-content: flex-start;
}

.quickbooks-actions .genesis-action-button {
  --genesis-action-width: 84px;
  --genesis-action-height: 28px;
  flex: 0 0 var(--genesis-action-width);
  grid-template-columns: 19px minmax(0, 1fr);
  gap: 4px;
  padding: 3px 6px 3px 3px;
  font-size: 8.5px;
  line-height: 1;
}

.quickbooks-actions .genesis-action-icon {
  width: 19px;
  height: 19px;
}

.quickbooks-sync-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 240px));
  gap: 8px;
}

.quickbooks-sync-row label {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.salesforce-upload-row {
  grid-template-columns: minmax(260px, 500px) 124px;
  align-items: end;
}

.salesforce-upload-row label {
  min-width: 0;
}

.salesforce-upload-row input[type="file"] {
  width: 100%;
  min-height: 30px;
}

.salesforce-upload-row .primary-button {
  min-height: 30px;
}

.quickbooks-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.quickbooks-panels h4 {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.settings-scroll-table {
  max-height: 262px;
  overflow: auto;
}

.settings-scroll-table table {
  min-width: 100%;
}

.salesforce-import-frame table {
  min-width: 980px;
  table-layout: fixed;
}

.salesforce-import-frame th:nth-child(1),
.salesforce-import-frame td:nth-child(1),
.salesforce-import-frame th:nth-child(2),
.salesforce-import-frame td:nth-child(2) {
  width: 132px;
}

.salesforce-import-frame th:nth-child(3),
.salesforce-import-frame td:nth-child(3),
.salesforce-import-frame th:nth-child(4),
.salesforce-import-frame td:nth-child(4) {
  width: 116px;
}

.salesforce-import-frame th:nth-child(5),
.salesforce-import-frame td:nth-child(5),
.salesforce-import-frame th:nth-child(6),
.salesforce-import-frame td:nth-child(6),
.salesforce-import-frame th:nth-child(7),
.salesforce-import-frame td:nth-child(7) {
  width: 78px;
  text-align: right;
}

.salesforce-import-frame th:nth-child(8),
.salesforce-import-frame td:nth-child(8) {
  width: 250px;
}

.salesforce-opportunities-frame table {
  min-width: 720px;
  table-layout: fixed;
}

.salesforce-opportunities-frame th:nth-child(1),
.salesforce-opportunities-frame td:nth-child(1) {
  width: 130px;
}

.salesforce-opportunities-frame th:nth-child(2),
.salesforce-opportunities-frame td:nth-child(2) {
  width: 240px;
}

.salesforce-opportunities-frame th:nth-child(3),
.salesforce-opportunities-frame td:nth-child(3) {
  width: 170px;
}

.salesforce-opportunities-frame th:nth-child(4),
.salesforce-opportunities-frame td:nth-child(4),
.salesforce-opportunities-frame th:nth-child(5),
.salesforce-opportunities-frame td:nth-child(5) {
  width: 90px;
}

.settings-scroll-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.payment-link-form {
  align-items: end;
  margin-bottom: 12px;
}

.payment-link-form input {
  width: min(230px, 28vw);
}

.section-note {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.section-note.warning-note {
  color: #9f1d1d;
  font-weight: 700;
}

.detail-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.linklike-button {
  border: 0;
  background: transparent;
  color: var(--royal);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 0;
  text-align: left;
}

.linklike-button:hover {
  text-decoration: underline;
}

.segmented-control {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: calc(var(--control-radius) + 2px);
  background: #f7f9fb;
}

.segment {
  min-height: 30px;
  border: 0;
  border-radius: var(--control-radius);
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
}

.segment.active {
  background: var(--royal);
  color: #ffffff;
}

.records-toolbar {
  margin-bottom: 12px;
}

.records-toolbar input {
  width: min(420px, 40vw);
}

.records-toolbar #recordSavedViewSelect {
  flex: 0 0 150px;
  width: 150px;
}

.realtime-live-status {
  align-self: center;
  margin: 0 0 0 4px;
  white-space: nowrap;
}

.realtime-live-switch {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  min-width: 86px;
  border: 1px solid var(--navy);
  border-radius: var(--control-radius);
  background: var(--button-action-bg);
  color: var(--navy);
  box-shadow: var(--button-shadow);
  cursor: pointer;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 900;
}

.realtime-live-switch.is-on {
  border-color: #17804b;
  background: #eefaf3;
  color: #12633c;
}

.realtime-live-switch-track {
  position: relative;
  width: 34px;
  height: 18px;
  border: 1px solid #8fa8c4;
  border-radius: 999px;
  background: #dfe7f0;
}

.realtime-live-switch.is-on .realtime-live-switch-track {
  border-color: #51b979;
  background: #88d59f;
}

.realtime-live-switch-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(31, 39, 51, 0.28);
  transition: transform 120ms ease;
}

.realtime-live-switch.is-on .realtime-live-switch-knob {
  transform: translateX(16px);
}

.realtime-methodology-grid {
  display: grid;
  gap: 10px;
}

.realtime-methodology-rule {
  border: 1px solid #c7d7e8;
  border-radius: 8px;
  background: #f8fbff;
  padding: 10px 12px;
}

.realtime-methodology-rule h4 {
  margin: 0 0 5px;
  color: var(--royal);
  font-size: 14px;
}

.realtime-methodology-rule p {
  margin: 0;
  color: var(--navy);
  font-size: 12px;
  line-height: 1.35;
}

.inline-toggle {
  display: inline-flex;
  grid-auto-flow: column;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  white-space: nowrap;
}

.inline-toggle input {
  min-height: auto;
  width: auto;
  padding: 0;
}

.records-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.8fr);
  gap: 14px;
  align-items: start;
}

.records-layout.records-layout-full {
  grid-template-columns: minmax(0, 1fr);
}

.records-layout.records-layout-full .record-detail {
  display: none;
}

.account-fullscreen-active .records-toolbar,
.account-fullscreen-active .records-layout {
  display: none;
}

.account-fullscreen {
  min-height: calc(100vh - 170px);
  border: 1px solid #bfd0e5;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.account-fullscreen.hidden {
  display: none;
}

.account-fullscreen-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid #2f6eb3;
}

.account-fullscreen-header h2 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
}

.records-table-frame {
  max-height: calc(100vh - 280px);
}

.historical-manual-table-frame {
  max-height: calc(100vh - 390px);
  min-height: 360px;
}

.historical-manual-table-frame.bluepay-raw-table-frame {
  max-height: clamp(320px, calc(100vh - 390px), 470px);
  min-height: 320px;
  scrollbar-gutter: stable both-edges;
}

.historical-manual-table-frame.realtime-gateway-table-frame {
  max-height: clamp(360px, calc(100vh - 390px), 520px);
  min-height: 360px;
  scrollbar-gutter: stable both-edges;
}

#recordRows tr {
  cursor: pointer;
}

#recordRows td {
  height: 26px;
  padding: 2px 6px;
  line-height: 1.1;
  white-space: nowrap;
}

#recordRows input[type="checkbox"] {
  display: block;
  width: 14px;
  height: 14px;
  min-height: 0;
  margin: 0 auto;
  padding: 0;
}

#recordRows .small-button {
  min-height: 24px;
  height: 24px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
}

#recordRows .record-col-account_id,
#recordRows .record-col-state,
#recordRows .record-col-invoice_number,
#recordRows .record-col-invoice_type,
#recordRows .record-col-invoice_status {
  max-width: 74px;
  overflow: hidden;
  text-overflow: ellipsis;
}

#recordRows .record-col-state {
  max-width: 42px;
}

#recordRows .record-col-account_name,
#recordRows .record-col-dba_name {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
}

#recordRows .record-col-dba_name {
  max-width: 220px;
}

#recordRows .select-cell,
#recordRows .preview-cell {
  width: 44px;
  text-align: center;
}

#view-accounts-orgs-invoices.records-view-invoices {
  color: #344456;
  background: #ffffff;
}

#view-accounts-orgs-invoices.records-view-invoices > .panel-heading {
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1.5px solid #344456;
}

#view-accounts-orgs-invoices.records-view-invoices .records-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border: 1.5px solid #344456;
  border-radius: 8px;
  background: #ffffff;
}

#view-accounts-orgs-invoices.records-view-invoices .records-toolbar input {
  flex: 0 1 220px;
  width: 220px;
}

#view-accounts-orgs-invoices.records-view-invoices .records-toolbar select {
  flex: 0 1 300px;
  width: 300px;
}

#view-accounts-orgs-invoices.records-view-invoices .records-toolbar #recordSavedViewSelect {
  flex: 0 0 150px;
  width: 150px;
}

#view-accounts-orgs-invoices.records-view-invoices .records-toolbar button,
#view-accounts-orgs-invoices.records-view-invoices .records-toolbar .inline-toggle {
  flex: 0 0 auto;
}

#view-accounts-orgs-invoices.records-view-invoices .records-toolbar .inline-toggle {
  min-height: 30px;
}

#view-accounts-orgs-invoices.records-view-invoices .records-toolbar .inline-toggle input[type="checkbox"] {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  min-height: 16px;
}

#view-accounts-orgs-invoices.records-view-invoices .records-toolbar input,
#view-accounts-orgs-invoices.records-view-invoices .records-toolbar select,
#view-accounts-orgs-invoices.records-view-invoices .records-toolbar button {
  min-height: 30px;
  border-radius: 8px;
}

#view-accounts-orgs-invoices.records-view-invoices .records-layout {
  gap: 10px;
}

#view-accounts-orgs-invoices.records-view-invoices .records-table-frame {
  border: 0;
  border-radius: 8px;
  background: #ffffff;
}

#view-accounts-orgs-invoices.records-view-invoices #recordTable {
  border: 1.5px solid #344456;
  color: #344456;
}

#view-accounts-orgs-invoices.records-view-invoices #recordTable th,
#view-accounts-orgs-invoices.records-view-invoices #recordTable td {
  border-right: 1px solid #344456;
  border-bottom: 1px solid #344456;
  color: #344456;
}

#view-accounts-orgs-invoices.records-view-invoices #recordTable thead tr.table-label-row th {
  height: 34px;
  padding: 2px 6px;
  border-bottom: 1.5px solid var(--table-border);
  background: var(--table-header);
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  box-shadow: inset 0 -1.5px 0 var(--table-border);
}

#view-accounts-orgs-invoices.records-view-invoices #recordTable thead tr.table-action-row th {
  top: 34px;
  height: 24px;
  padding: 1px 6px 2px;
  border-bottom: 1px solid #344456;
  background: #ffffff;
}

#view-accounts-orgs-invoices.records-view-invoices #recordTable .table-icon-button {
  width: 22px;
  height: 20px;
  min-height: 20px;
  border: 1px solid #344456;
  border-radius: 7px;
  background: #ffffff;
  color: #344456;
  box-shadow: 0 1px 0 rgba(52, 68, 86, 0.16);
}

#view-accounts-orgs-invoices.records-view-invoices #recordTable .table-icon-button svg {
  width: 12px;
  height: 12px;
}

#view-accounts-orgs-invoices.records-view-invoices #recordTable .pdf-preview-button img {
  width: 15px;
  height: 15px;
  object-fit: contain;
}

#view-accounts-orgs-invoices.records-view-invoices #recordTable .table-icon-button:hover,
#view-accounts-orgs-invoices.records-view-invoices #recordTable .table-icon-button.active {
  border-color: #344456;
  background: #eef1f5;
}

#view-accounts-orgs-invoices.records-view-invoices #recordRows .preview-cell .table-icon-button {
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#view-accounts-orgs-invoices.records-view-invoices #recordRows .preview-cell .table-icon-button:hover,
#view-accounts-orgs-invoices.records-view-invoices #recordRows .preview-cell .table-icon-button.active {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: #0072ce;
}

#view-accounts-orgs-invoices.records-view-invoices #recordRows .preview-cell .table-icon-button:focus-visible {
  outline: 1.5px solid rgba(0, 114, 206, 0.5);
  outline-offset: 1px;
}

#view-accounts-orgs-invoices.records-view-invoices #recordRows td {
  height: 24px;
  padding: 2px 6px;
  line-height: 1.05;
}

#view-accounts-orgs-invoices.records-view-invoices #recordRows tr:hover td {
  background: #f7f4f1;
}

.pdf-preview-button {
  min-width: 24px;
  width: 24px;
  height: 22px;
  min-height: 22px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #c73333;
  border-radius: 5px;
  background: #fff1f1;
  color: #b4232b;
  box-shadow: none;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

.pdf-preview-button:hover {
  background: #ffe4e4;
}

#recordRows tr:hover td,
#recordRows tr.active td {
  background: #eef5ff;
}

#view-accounts-orgs-invoices.records-view-accounts .records-table-frame {
  border: 1.5px solid #344456;
  background: #ffffff;
}

#view-accounts-orgs-invoices.records-view-accounts #recordTable {
  border: 1.5px solid #344456;
  color: #344456;
  font-family: "Open Sans", "Work Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#view-accounts-orgs-invoices.records-view-accounts #recordTable th,
#view-accounts-orgs-invoices.records-view-accounts #recordTable td {
  border-right: 1px solid #344456;
  border-bottom: 1px solid #344456;
}

#view-accounts-orgs-invoices.records-view-accounts #recordTable thead tr.table-label-row th {
  background: var(--table-header);
  color: #000000;
  border-bottom: 1.5px solid #344456;
  font-weight: 900;
}

#view-accounts-orgs-invoices.records-view-accounts #recordTable thead tr.table-action-row th {
  background: var(--table-filter);
  border-bottom: 1px solid #344456;
}

#view-accounts-orgs-invoices.records-view-accounts #recordRows tr:hover td,
#view-accounts-orgs-invoices.records-view-accounts #recordRows tr.active td {
  background: var(--table-header-light);
  color: #000000;
}

.record-detail {
  min-height: 360px;
  max-height: calc(100vh - 280px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 14px;
}

.record-detail h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 16px;
}

.detail-section {
  border: 1px solid #d7e4f2;
  border-left: 4px solid var(--royal);
  border-radius: 8px;
  background: #fbfdff;
  padding: 14px;
  margin-top: 12px;
}

.detail-section h4 {
  margin: 0 0 10px;
  color: var(--royal);
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.detail-field {
  min-width: 0;
}

.detail-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.detail-value {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

.account-data-section {
  min-width: 0;
  border: 1px solid #9fb7d5;
  border-left: 4px solid #2f6eb3;
  border-radius: 8px;
  background: #fbfdff;
  padding: 11px 12px;
  margin-top: 10px;
}

.account-info-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.account-modal-tab-info .account-info-layout {
  grid-template-columns: max-content;
  justify-content: start;
  align-items: start;
}

.account-info-layout .account-data-section {
  margin-top: 0;
}

.account-modal-tab-info .account-data-section {
  width: fit-content;
  max-width: 100%;
}

.account-info-layout .account-section-full {
  grid-column: 1 / -1;
}

.account-data-section-header {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 9px;
}

.account-data-section h4 {
  margin: 0;
  color: var(--royal);
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-copy-address-button:not(.genesis-action-button) {
  height: 26px;
  min-height: 26px;
  border: 1px solid #9db4d2;
  border-radius: 6px;
  background: #eaf1fa;
  color: var(--navy);
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.account-copy-address-button.genesis-action-button {
  justify-self: end;
}

.account-lifecycle-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.account-data-grid {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  align-items: start;
  justify-content: start;
  gap: 8px 10px;
}

.account-activity-form {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(220px, 1fr) max-content;
  gap: 8px 10px;
  align-items: end;
}

.account-activity-form label {
  display: grid;
  gap: 4px;
  font-size: 11px;
  font-weight: 900;
  color: var(--muted);
  text-transform: uppercase;
}

.account-activity-form input,
.account-activity-form textarea {
  width: 100%;
  border: 1px solid #bccadd;
  border-radius: 6px;
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  padding: 7px 9px;
  text-transform: none;
}

.account-activity-check {
  align-self: center;
  display: inline-flex !important;
  grid-auto-flow: column;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.account-activity-check input {
  width: auto;
  margin: 0;
}

.account-attention-summary {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-attention-summary.is-open {
  color: #b82c36;
}

.account-activity-table th:nth-child(1),
.account-activity-table td:nth-child(1) {
  width: 62px;
  white-space: nowrap;
}

.account-activity-table {
  table-layout: fixed;
  width: 100%;
  min-width: 860px;
}

.account-activity-col-actions {
  width: 62px;
}

.account-activity-col-when {
  width: 128px;
}

.account-activity-col-type,
.account-activity-col-status {
  width: 96px;
}

.account-activity-col-title {
  width: 220px;
}

.account-activity-col-source {
  width: 120px;
}

.account-activity-table th:nth-child(2),
.account-activity-table td:nth-child(2),
.account-activity-table th:nth-child(3),
.account-activity-table td:nth-child(3),
.account-activity-table th:nth-child(4),
.account-activity-table td:nth-child(4),
.account-activity-table th:nth-child(7),
.account-activity-table td:nth-child(7) {
  width: 98px;
  white-space: nowrap;
}

.account-activity-table th:nth-child(2),
.account-activity-table td:nth-child(2) {
  width: 128px;
}

.account-activity-table td:nth-child(5),
.account-activity-table td:nth-child(6) {
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-activity-row-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
}

.account-activity-row-actions .table-icon-button {
  width: 20px;
  height: 20px;
  min-height: 20px;
}

.success-icon-button {
  color: #1f7a2e;
  border-color: #92c69b;
  background: #f3fbf4;
}

.sales-dialog-card.account-activity-detail-dialog {
  width: min(860px, 94vw);
}

.account-activity-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, max-content));
  gap: 8px;
  align-items: start;
}

.account-activity-detail-grid .span-full {
  grid-column: 1 / -1;
}

.account-activity-source-payload {
  display: grid;
  gap: 6px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #d8e3ef;
}

.account-activity-source-payload h4 {
  margin: 0;
  color: var(--royal);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-activity-source-payload pre {
  max-height: min(300px, 42vh);
  overflow: auto;
  margin: 0;
  padding: 10px;
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #f8fafc;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.4;
  white-space: pre-wrap;
}

.account-activity-open-action td {
  background: #fff7f7;
}

.account-data-section.account-section-identity .account-data-grid,
.account-data-section.account-section-email .account-data-grid {
  grid-template-columns: 170px 180px 220px 180px;
}

.account-data-section.account-section-identity .account-data-grid {
  grid-template-areas:
    "id name name name"
    "dba dba org partner"
    "region segment signup ."
    "website website main account-mobile";
}

.account-data-section.account-section-address .account-data-grid {
  grid-template-columns: 220px 78px 120px;
  grid-template-areas:
    "address address address"
    "address2 address2 address2"
    "city state zip"
    "country country country";
  align-items: start;
}

.account-data-section.account-section-contact .account-data-grid,
.account-data-section.account-section-lifecycle .account-data-grid {
  grid-template-columns: 170px 260px;
}

.account-data-section.account-section-email .account-data-grid {
  grid-template-columns: 360px 520px;
}

.account-data-section.account-section-contact-billing .account-data-grid {
  grid-template-columns: 220px 170px;
  grid-template-areas:
    "billing terms"
    "billing-phone billing-mobile";
}

.account-contact-route-table-wrap {
  max-width: 920px;
  overflow: auto;
  border: 1px solid #b6c9e3;
  border-radius: 6px;
  background: #fff;
}

.account-contact-route-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 12px;
}

.account-contact-route-table th,
.account-contact-route-table td {
  border: 1px solid #d3dfef;
  padding: 7px 9px;
  text-align: left;
  vertical-align: middle;
}

.account-contact-route-table th {
  background: #e8f0fb;
  color: var(--navy);
  font-weight: 900;
}

.account-contact-route-table td {
  color: var(--ink);
  font-weight: 700;
}

.account-data-section.account-section-lifecycle-notes .account-data-grid {
  grid-template-columns: 128px 160px 148px 220px;
  grid-template-areas:
    "active-flag account-type term-date term-reason"
    "notes notes notes notes";
}

.account-data-section.account-section-lifecycle-notes label.is-disabled {
  color: #6f7f91;
}

.account-data-section.account-section-lifecycle-notes label.is-disabled input,
.account-data-section.account-section-lifecycle-notes label.is-disabled select {
  background: #eef1f5;
  color: #667386;
}

.account-data-grid label {
  display: grid;
  align-content: start;
  gap: 3px;
  min-width: 0;
}

.account-data-grid label > span {
  white-space: nowrap;
}

.account-data-grid label:not(.span-2):not(.span-3):not(.span-4):not(.span-full):not(.address-line-field):not(.address-city-field):not(.address-state-field):not(.address-zip-field):not(.address-country-field) {
  grid-column: span 1;
}

.account-data-grid .account-field-label-hidden {
  font-size: 0;
}

.account-data-grid .account-field-label-hidden > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.account-data-section.account-section-identity .account-field-short,
.account-data-section.account-section-identity .account-field-date {
  grid-column: span 1;
}

.account-data-section.account-section-identity .account-field-name,
.account-data-section.account-section-identity .account-field-url,
.account-data-section.account-section-identity .account-field-medium {
  grid-column: auto;
}


.account-data-section.account-section-contact .account-field-short,
.account-data-section.account-section-contact .account-field-date,
.account-data-section.account-section-contact .account-field-phone,
.account-data-section.account-section-lifecycle .account-field-short,
.account-data-section.account-section-lifecycle .account-field-date,
.account-data-section.account-section-lifecycle .account-field-select {
  grid-column: span 1;
}

.account-data-section.account-section-contact .account-field-name,
.account-data-section.account-section-contact .account-field-email,
.account-data-section.account-section-lifecycle .account-field-name {
  grid-column: 1 / -1;
}

.account-data-section.account-section-address .address-line-field {
  grid-column: auto;
}

.account-data-section.account-section-address .address-line-field:first-child {
  grid-area: address;
}

.account-data-section.account-section-address .address-line-field:nth-child(2) {
  grid-area: address2;
}

.account-data-section.account-section-address .address-city-field {
  grid-area: city;
}

.account-data-section.account-section-address .address-state-field {
  grid-area: state;
}

.account-data-section.account-section-address .address-zip-field {
  grid-area: zip;
}

.account-data-section.account-section-address .address-country-field {
  grid-area: country;
}

.account-data-grid .span-2 {
  grid-column: span 2;
}

.account-data-grid .span-3 {
  grid-column: span 3;
}

.account-data-grid .span-4,
.account-data-grid .span-full {
  grid-column: 1 / -1;
}

.account-data-section.account-section-identity .account-display-field-account-id {
  grid-area: id;
}

.account-data-section.account-section-identity .account-display-field-account-name {
  grid-area: name;
}

.account-data-section.account-section-identity .account-display-field-dba {
  grid-area: dba;
}

.account-data-section.account-section-identity .account-display-field-organization {
  grid-area: org;
}

.account-data-section.account-section-identity .account-display-field-partner {
  grid-area: partner;
}

.account-data-section.account-section-identity .account-display-field-region {
  grid-area: region;
}

.account-data-section.account-section-identity .account-display-field-segment {
  grid-area: segment;
}

.account-data-section.account-section-identity .account-display-field-website {
  grid-area: website;
}

.account-data-section.account-section-identity .account-display-field-signup-date {
  grid-area: signup;
}

.account-data-section.account-section-identity .account-display-field-main-number {
  grid-area: main;
}

.account-data-section.account-section-identity .account-display-field-account-owner-mobile {
  grid-area: account-mobile;
}

.account-info-layout.sales-account-info-layout {
  grid-template-columns: max-content;
  justify-content: start;
  align-items: start;
}

.account-info-layout.sales-account-info-layout .account-data-section {
  width: fit-content;
  max-width: 100%;
}

.account-info-layout.sales-account-info-layout .account-data-section.account-section-identity .account-data-grid {
  grid-template-columns: 170px 180px 220px 180px;
  grid-template-areas:
    "id name name name"
    "dba dba org partner"
    "region segment account-owner account-owner"
    "created last-activity main account-mobile"
    "website website website website";
}

.account-info-layout.sales-account-info-layout .account-data-section.account-section-identity .account-display-field-created {
  grid-area: created;
}

.account-info-layout.sales-account-info-layout .account-data-section.account-section-identity .account-display-field-last-activity {
  grid-area: last-activity;
}

.account-info-layout.sales-account-info-layout .account-data-section.account-section-identity .account-display-field-account-owner,
.sales-account-info-layout .account-data-section.account-section-identity .account-display-field-account-owner {
  grid-area: account-owner;
}

.account-info-layout.sales-account-info-layout .account-data-section.account-section-identity .account-display-field-billing-id {
  grid-area: account-mobile;
}

.account-data-section.account-section-contact-billing .account-display-field-payment-terms {
  grid-area: terms;
}

.account-data-section.account-section-contact-billing .account-display-field-billing-contact {
  grid-area: billing;
}

.account-data-section.account-section-contact-billing .account-display-field-billing-phone {
  grid-area: billing-phone;
}

.account-data-section.account-section-contact-billing .account-display-field-billing-mobile-phone {
  grid-area: billing-mobile;
}

.account-data-section.account-section-lifecycle-notes .account-display-field-termination-date {
  grid-area: term-date;
}

.account-data-section.account-section-lifecycle-notes .account-display-field-active-flag {
  grid-area: active-flag;
}

.account-data-section.account-section-lifecycle-notes .account-display-field-account-type {
  grid-area: account-type;
}

.account-data-section.account-section-lifecycle-notes .account-display-field-termination-reason {
  grid-area: term-reason;
}

.account-data-section.account-section-lifecycle-notes .account-display-field-notes {
  grid-area: notes;
}

.account-data-section.account-section-address .account-data-section-header {
  justify-content: flex-start;
}

.account-data-grid input,
.account-data-grid select,
.account-data-grid textarea {
  width: min(100%, var(--account-field-width, 220px));
  background: var(--field-bg);
}

.account-data-grid .account-field-short {
  --account-field-width: 120px;
}

.account-data-grid .account-field-date {
  --account-field-width: 148px;
}

.account-data-grid .account-field-phone {
  --account-field-width: 170px;
}

.account-data-grid .account-field-money {
  --account-field-width: 140px;
}

.account-data-grid .account-field-select {
  --account-field-width: 190px;
}

.account-data-grid .account-field-medium {
  --account-field-width: 220px;
}

.account-data-grid .account-field-name,
.account-data-grid .account-field-url {
  --account-field-width: 320px;
}

.account-data-grid .account-field-email {
  --account-field-width: 360px;
}

.account-data-grid .account-field-address-line,
.account-data-grid .account-field-long {
  --account-field-width: 520px;
}

.account-data-grid .account-field-city {
  --account-field-width: 220px;
}

.account-data-grid .account-field-state {
  --account-field-width: 78px;
}

.account-data-grid .account-field-zip {
  --account-field-width: 120px;
}

.account-data-grid .account-field-country {
  --account-field-width: 180px;
}

.account-data-grid input,
.account-data-grid select {
  height: 30px;
  min-height: 30px;
}

.account-data-grid textarea {
  min-height: 30px;
  background: var(--field-bg);
}

.account-data-section.account-section-notes textarea,
.account-data-section.account-section-email textarea {
  min-height: 48px;
}

.account-data-grid input[readonly],
.account-data-grid textarea[readonly],
.account-data-grid select:disabled {
  opacity: 1;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
}

.package-summary-grid {
  margin-bottom: 10px;
}

.account-document-upload-form {
  display: grid;
  grid-template-columns: minmax(0, 920px);
  gap: 8px;
  margin-bottom: 10px;
}

.account-document-subtabs {
  display: flex;
  gap: 6px;
  align-items: center;
  margin: 6px 0 10px;
}

.account-document-subtab {
  display: grid;
  gap: 1px;
  min-height: 30px;
  padding: 5px 11px;
  border: 1px solid #bfd0e3;
  border-radius: 6px;
  background: #eef4fb;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.account-document-subtab span {
  line-height: 1.05;
}

.account-document-subtab small {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.05;
}

.account-document-subtab.active {
  border-color: var(--royal);
  background: var(--royal);
  color: #ffffff;
}

.account-document-subtab.active span {
  color: #ffffff;
}

.account-document-subtab.active small {
  color: #eaf2ff;
}

.account-document-upload-topline {
  display: grid;
  grid-template-columns: minmax(260px, 420px) max-content;
  gap: 8px;
  align-items: end;
}

.account-document-upload-form input[type="file"] {
  width: 100%;
  max-width: 420px;
}

.compact-document-button:not(.genesis-action-button) {
  width: max-content;
  min-width: 132px;
  justify-self: start;
}

.compact-document-button.genesis-action-button {
  justify-self: start;
}

.account-todo-save-button.genesis-action-button {
  --genesis-action-width: 108px;
  --genesis-action-height: 36px;
}

.account-todo-save-button .genesis-action-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  white-space: nowrap;
}

.account-todo-save-button .genesis-action-label span {
  display: inline;
}

.account-document-metadata-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 210px));
  gap: 8px 10px;
  align-items: start;
}

.account-document-metadata-grid label {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.account-document-metadata-grid input,
.account-document-metadata-grid textarea,
.account-document-metadata-grid select {
  width: 100%;
  max-width: 100%;
}

.account-document-metadata-grid .wide {
  grid-column: span 3;
  max-width: 520px;
}

.compact-checkbox-label {
  align-content: end;
}

.compact-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.account-document-edit-form {
  max-width: 760px;
  margin: 0 0 10px;
  padding: 10px;
  border: 1px solid #8fa8c4;
  border-radius: 8px;
  background: #fbfdff;
}

.account-document-replace-row {
  display: grid;
  grid-template-columns: minmax(260px, 420px) max-content;
  gap: 8px;
  align-items: end;
  margin: 10px 0 0;
}

.account-document-replace-row label {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.account-document-table {
  table-layout: fixed;
}

.account-document-table th,
.account-document-table td {
  padding: 2px 4px;
  font-size: 10px;
  line-height: 1.05;
  white-space: nowrap;
}

.account-document-table th {
  height: 24px;
  font-size: 9.5px;
  line-height: 1;
  white-space: normal;
}

.account-document-table .document-actions-cell {
  overflow: visible;
}

.account-document-table .document-actions-cell .table-icon-button {
  width: 22px;
  height: 22px;
  min-width: 22px;
  padding: 2px;
}

.account-document-table .document-actions-cell .table-icon-button + .table-icon-button {
  margin-left: 2px;
}

.account-document-table .linklike-button {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}

.account-document-workspace-modal {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 3vh 3vw;
}

.account-document-workspace-modal.active {
  display: flex;
}

.account-document-workspace-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(31, 39, 51, 0.48);
}

.account-document-workspace-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(90vw, 1440px);
  height: 90vh;
  overflow: hidden;
  border: 1px solid #8fa8c4;
  border-radius: var(--dialog-radius);
  background: #ffffff;
  box-shadow: 0 24px 64px rgba(31, 39, 51, 0.28);
}

.account-document-workspace-form {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
}

.account-document-workspace-header {
  flex: 0 0 auto;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #8fa8c4;
  background: #fbfdff;
}

.account-document-workspace-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 16px;
  align-items: start;
  margin-bottom: 10px;
}

.account-document-workspace-title-row h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 18px;
}

.account-document-workspace-title-row p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.account-document-workspace-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.account-document-workspace-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 190px));
  gap: 8px 10px;
  align-items: end;
}

.account-document-workspace-grid label {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.account-document-workspace-grid input,
.account-document-workspace-grid textarea,
.account-document-workspace-grid select {
  width: 100%;
  max-width: 100%;
}

.account-document-workspace-grid .wide {
  grid-column: span 2;
}

.account-document-workspace-grid textarea {
  min-height: 42px;
  resize: vertical;
}

.account-document-replacement-field {
  grid-column: span 2;
}

.account-document-workspace-preview {
  flex: 1 1 auto;
  min-height: 0;
  padding: 12px 16px 16px;
  background: #eef4fb;
}

.account-document-workspace-preview iframe {
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 1px solid #8fa8c4;
  border-radius: 8px;
  background: #ffffff;
}

.document-actions-column {
  width: 92px;
  min-width: 92px;
}

.document-actions-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 92px;
  white-space: nowrap;
}

.danger-icon-button {
  color: #a51616;
  border-color: #e0a1a1;
  background: #fff4f4;
}

.compact-heading {
  margin-bottom: 8px;
}

.contract-batch-upload-form {
  display: grid;
  grid-template-columns: minmax(280px, 520px) auto minmax(180px, 1fr);
  gap: 10px;
  align-items: end;
}

.contract-review-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.metric-card.compact {
  border: 1px solid #c4d2e4;
  border-radius: 8px;
  background: #f5f8fc;
  padding: 7px 10px;
  text-align: center;
}

.metric-card.compact span {
  display: block;
  color: var(--royal);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.metric-card.compact strong {
  display: block;
  color: var(--navy);
  font-size: 18px;
  font-weight: 900;
}

.contract-review-toolbar {
  grid-template-columns: 170px minmax(220px, 1fr) auto;
}

.contract-review-bulk-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  padding: 7px 9px;
  border: 1px solid #c4d2e4;
  border-radius: 8px;
  background: #f5f8fc;
}

.contract-review-bulk-actions strong {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.contract-review-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.contract-review-table-frame {
  max-height: 238px;
}

.contract-review-table-frame tr:focus {
  outline: 2px solid rgba(56, 114, 225, 0.35);
  outline-offset: -2px;
}

.contract-review-detail {
  min-width: 0;
  padding: 10px;
}

.contract-review-detail-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 12px;
}

.contract-review-actions {
  margin: 10px 0;
}

.contract-reassign-form {
  display: grid;
  grid-template-columns: minmax(320px, 460px) minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.contract-review-text {
  max-height: 170px;
  overflow: auto;
  border: 1px solid #c7d3e3;
  border-radius: 6px;
  background: #f6f8fb;
  padding: 8px;
  color: var(--ink);
  font-size: 11px;
  white-space: pre-wrap;
}

.danger-button {
  border-color: #c64d55;
  background: var(--red);
  color: #000000;
}

.account-modal-tabs {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  padding: 0;
  border-bottom: 1px solid #8fa8c4;
  background: #ffffff;
}

.account-modal-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  border: 1px solid #8fa8c4;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  background: #eef1f5;
  color: var(--navy);
  cursor: pointer;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.account-attention-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #b82c36;
  color: #ffffff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  padding: 0 5px;
}

.record-col-open_attention_count {
  text-align: center;
}

.account-list-attention-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 20px;
  border: 1px solid #9f2029;
  border-radius: 999px;
  background: #b82c36;
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  padding: 0 6px;
}

.account-list-attention-empty {
  color: #9aa5b1;
  font-size: 11px;
  font-weight: 700;
}

.account-modal-tab.active {
  border-color: var(--royal);
  background: var(--royal);
  color: #ffffff;
}

.account-modal-tab-panel {
  min-height: 0;
  overflow: auto;
  padding-top: 4px;
}

.account-modal-tab-invoices {
  display: grid;
  overflow: hidden;
}

.account-invoices-section {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto auto auto minmax(0, 1fr);
  gap: 6px;
  padding: 10px 12px 8px;
}

.account-invoices-section .detail-section-heading {
  margin-bottom: 0;
}

.account-invoices-section .detail-section-heading h4 {
  margin-bottom: 2px;
}

.account-invoices-section .section-note {
  margin-top: 0;
  font-size: 11px;
  line-height: 1.2;
}

.account-aging-summary {
  display: grid;
  grid-template-columns: repeat(7, minmax(82px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.account-aging-cell {
  border: 1px solid #cfe0f2;
  border-radius: 7px;
  background: #ffffff;
  padding: 7px 9px;
}

.account-aging-cell span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-aging-cell strong {
  display: block;
  margin-top: 2px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.table-frame.compact-table-frame.account-invoice-table-frame {
  min-height: 0;
  max-height: none;
}

.account-invoice-toolbar {
  margin: 0;
  align-items: center;
}

.account-invoice-toolbar input {
  width: min(380px, 48vw);
}

.account-invoice-bulk-update-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 3px 8px;
  font-size: 11px;
}

.account-invoice-action-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  color: #40556e;
  font-size: 11px;
  font-weight: 800;
}

.account-invoice-action-legend span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.account-invoice-table-frame th,
.account-invoice-table-frame td {
  white-space: nowrap;
}

.account-invoice-table-frame td {
  height: 20px;
  padding: 1px 5px;
  line-height: 1.1;
  font-size: 11px;
}

.account-invoice-table-frame .account-invoice-action-cell {
  padding-inline: 2px;
  overflow: visible;
  text-align: center;
}

.account-invoice-icon-button {
  appearance: none;
  -webkit-appearance: none;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  line-height: 1;
  outline: 0;
  box-shadow: none;
}

.account-invoice-icon-button:hover,
.account-invoice-icon-button:focus,
.account-invoice-icon-button:focus-visible,
.account-invoice-icon-button:active {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--royal);
  outline: 0;
  transform: none;
}

.account-invoice-icon-button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.invoice-action-icon {
  display: block;
  width: 17px;
  height: 17px;
  overflow: visible;
  pointer-events: none;
}

.invoice-action-icon-pdf {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.invoice-action-icon-refund {
  fill: #e8f3ff;
  stroke: #155fa8;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.invoice-action-icon-retry {
  fill: none;
  stroke: #c72534;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.invoice-action-icon-payment {
  width: 20px;
  height: 16px;
  fill: #e8f3ff;
  stroke: #155fa8;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.invoice-action-icon-failure {
  fill: #fff4e0;
  stroke: #a85100;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-invoice-row.is-failed-charge td {
  background: #fff1f1;
  color: #7f1d1d;
  border-bottom-color: #f0b4b4;
}

.account-invoice-row.is-failed-charge td:first-child {
  box-shadow: inset 3px 0 0 #c72534;
}

.account-invoice-table-frame input[type="checkbox"] {
  display: block;
  width: 14px;
  height: 14px;
  min-height: 0;
  margin: 0 auto;
  padding: 0;
}

.account-invoice-table-frame .select-cell,
.account-invoice-table-frame .preview-cell {
  width: 44px;
  text-align: center;
}

.account-invoice-table-frame .record-col-invoice_number,
.account-invoice-table-frame .record-col-invoice_status,
.account-invoice-table-frame .record-col-invoice_type {
  max-width: 96px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.account-invoice-table-frame .record-col-payment_type {
  max-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.account-invoice-payment-method-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-invoice-payment-targets {
  margin-top: 10px;
  max-height: 260px;
}

.sales-dialog-card.account-invoice-failure-dialog {
  width: min(720px, 94vw);
}

.account-invoice-failure-dialog-body {
  display: grid;
  gap: 12px;
}

.account-invoice-failure-panel {
  display: grid;
  gap: 8px;
}

.account-invoice-failure-panel h4 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
}

.account-invoice-failure-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
  margin: 0;
}

.account-invoice-failure-field {
  min-width: 0;
  border: 1px solid #d7e4f2;
  border-radius: 6px;
  background: #fbfdff;
  padding: 6px 8px;
}

.account-invoice-failure-field dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-invoice-failure-field dd {
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.account-invoice-failure-interpretations {
  display: grid;
  gap: 8px;
}

.account-invoice-failure-interpretation {
  border: 1px solid #efc7a0;
  border-radius: 6px;
  background: #fff9f0;
  padding: 8px 10px;
}

.account-invoice-failure-code {
  color: #8a3d00;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-invoice-failure-interpretation h4 {
  margin: 2px 0 4px;
  color: #7f1d1d;
  font-size: 13px;
}

.account-invoice-failure-interpretation p {
  margin: 3px 0;
  color: #25364a;
  font-size: 12px;
  line-height: 1.35;
}

.payment-method-list {
  display: grid;
  gap: 8px;
}

.payment-method-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #d7e4f2;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px 12px;
}

.payment-method-row.current {
  border-color: #9bc2f0;
  background: #f4f9ff;
}

.payment-method-row div {
  display: grid;
  gap: 3px;
}

.payment-method-row strong {
  color: var(--navy);
  font-size: 13px;
}

.payment-method-row span:not(.status-pill) {
  color: var(--muted);
  font-size: 12px;
}

.payment-link-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.payment-link-grid .wide {
  grid-column: 1 / -1;
}

.account-tab-empty .table-frame {
  margin-top: 12px;
}

.message-detail-row {
  display: grid;
  grid-template-columns: 92px 78px minmax(0, 1fr);
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid #edf2f7;
  font-weight: 650;
}

.modal-context-actions,
.invoice-detail-actions {
  margin: 8px 0 12px;
}

.record-sort-button {
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  font-size: 12px;
  font-weight: 800;
}

.record-sort-button.active {
  color: var(--royal);
}

.filter-popover {
  position: fixed;
  display: none;
  width: min(360px, calc(100vw - 24px));
  max-height: min(520px, calc(100vh - 24px));
  overflow: hidden;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
  z-index: 1000;
}

.filter-popover.active {
  display: flex;
}

.filter-title {
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
}

.filter-search {
  width: 100%;
}

.filter-actions,
.filter-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.filter-footer {
  justify-content: flex-end;
}

.filter-actions button:not(.genesis-action-button),
.filter-footer button:not(.genesis-action-button) {
  min-height: 34px;
  width: auto;
  border-radius: 8px;
  padding: 0 10px;
}

.filter-actions .genesis-action-button,
.filter-footer .genesis-action-button {
  --genesis-action-width: 90px;
  --genesis-action-height: 30px;
}

.filter-list {
  overflow: auto;
  min-height: 120px;
  max-height: 260px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px;
}

.filter-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 500;
}

.filter-item:hover {
  background: #f4f8fc;
}

.filter-item input {
  width: auto;
  min-height: 0;
  padding: 0;
}

.filter-tree-row {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  min-height: 28px;
}

.filter-tree-toggle,
.filter-tree-toggle-spacer {
  width: 18px;
  height: 18px;
  margin-left: 2px;
}

.filter-tree-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #b8c6d6;
  border-radius: 4px;
  background: #ffffff;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.filter-tree-row .filter-tree-item {
  min-height: 28px;
}

.filter-tree-year .filter-tree-item {
  font-weight: 800;
}

.filter-tree-month {
  padding-left: 22px;
}

.filter-tree-month .filter-tree-item {
  font-weight: 700;
}

.filter-tree-day {
  padding-left: 44px;
}

.filter-tree-value {
  padding-left: 66px;
}

.filter-tree-value .filter-tree-item {
  color: var(--muted);
}

.filter-count {
  color: var(--muted);
  font-size: 12px;
}

.status-box {
  min-height: 160px;
  max-height: 420px;
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--navy);
  font-size: 12px;
}

.reporting-workbench {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 0;
}

.usage-billing-panel {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  margin-bottom: 10px;
}

.usage-billing-panel .panel-heading {
  margin-bottom: 0;
}

.usage-billing-panel .panel-heading h2 {
  font-size: 15px;
}

.usage-billing-panel .panel-heading .section-note {
  margin-top: 2px;
  font-size: 11px;
}

.billing-engine-panel .panel-heading {
  align-items: center;
}

.billing-engine-safety {
  border: 1px solid #9ec5fe;
  border-radius: 6px;
  background: #eef6ff;
  color: var(--navy);
  padding: 8px 10px;
  font-size: 12px;
}

.billing-engine-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}

.billing-central-mode-bar {
  display: inline-flex;
  width: fit-content;
  border: 1px solid #8da4bd;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.billing-central-mode-button {
  min-width: 96px;
  border: 0;
  border-right: 1px solid #8da4bd;
  background: #f8fafc;
  color: var(--navy);
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.billing-central-mode-button:last-child {
  border-right: 0;
}

.billing-central-mode-button.active {
  background: #2f80d1;
  color: #fff;
}

.billing-command-strip {
  display: grid;
  grid-template-columns: 150px 180px 210px minmax(280px, 1fr);
  gap: 8px;
  align-items: end;
  border: 1px solid #a8bed8;
  border-radius: 6px;
  background: #f8fafc;
  padding: 8px;
}

.billing-command-strip[data-billing-central-panel='prep'] {
  grid-template-columns: 150px minmax(180px, 1fr);
}

.billing-command-strip label {
  display: grid;
  gap: 3px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.billing-command-strip input,
.billing-command-strip select {
  min-height: 30px;
  border: 1px solid #9fb0c5;
  border-radius: 5px;
  padding: 4px 7px;
  color: var(--navy);
  font-size: 12px;
  text-transform: none;
}

.billing-command-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.billing-command-strip[data-billing-central-panel='prep'] .billing-command-actions {
  justify-content: flex-start;
}

.billing-process-workspace {
  display: grid;
  gap: 10px;
}

.billing-process-control {
  display: grid;
  grid-template-columns: 150px 180px minmax(0, 1fr);
  gap: 8px;
  align-items: end;
  border: 1px solid #a8bed8;
  border-radius: 6px;
  background: #f8fafc;
  padding: 8px;
}

.billing-process-control .billing-command-actions {
  grid-column: 1 / -1;
}

.billing-process-primary-actions {
  order: -1;
}

.billing-process-control > label,
.billing-type-picker {
  display: grid;
  gap: 3px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.billing-process-control input[type="month"],
.billing-process-control select {
  min-height: 30px;
  border: 1px solid #9fb0c5;
  border-radius: 5px;
  padding: 4px 7px;
  color: var(--navy);
  font-size: 12px;
}

.billing-type-picker {
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  border: 0;
  margin: 0;
  padding: 0;
}

.billing-type-picker legend {
  grid-column: 1 / -1;
  padding: 0;
}

.billing-type-picker label {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 30px;
  border: 1px solid #c4d1df;
  border-radius: 5px;
  background: #fff;
  padding: 4px 7px;
  font-size: 12px;
  font-weight: 800;
  text-transform: none;
}

.billing-type-picker label input {
  flex: 0 0 auto;
}

.billing-type-picker label > span:not(.status-pill) {
  min-width: 0;
  flex: 1 1 auto;
}

.billing-type-status {
  flex: 0 0 auto;
  padding: 2px 6px;
  font-size: 9px;
}

.billing-type-billed {
  background: #fff7ec !important;
}

.billing-process-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
  gap: 10px;
}

.billing-process-grid > section {
  border: 1px solid #c2d0df;
  border-radius: 6px;
  background: #fff;
  padding: 10px;
}

.billing-process-grid h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 15px;
}

.billing-posting-review {
  display: grid;
  gap: 8px;
  border: 1px solid #c2d0df;
  border-radius: 6px;
  background: #ffffff;
  padding: 10px;
}

.billing-posting-review-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.billing-posting-review-heading h3 {
  margin: 0 0 3px;
  color: var(--navy);
  font-size: 15px;
}

.billing-posting-review-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.billing-posting-session-lock {
  border: 1px solid #a8bed8;
  border-left: 4px solid var(--blue);
  border-radius: 5px;
  background: #eef6ff;
  padding: 7px 9px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
}

.billing-posting-table-frame {
  max-height: 560px;
}

.billing-posting-table {
  --billing-posting-header-height: 30px;
  width: max(100%, 1320px) !important;
  min-width: 1320px !important;
  max-width: none !important;
  table-layout: fixed !important;
  font-size: 10px;
}

.billing-posting-table th,
.billing-posting-table td {
  box-sizing: border-box;
  padding: 3px 4px;
  white-space: nowrap;
  vertical-align: bottom !important;
  overflow-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}

.billing-posting-table td:nth-child(n+3):nth-child(-n+11) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.billing-posting-table th {
  position: sticky;
  top: 0;
  z-index: 6;
  height: var(--billing-posting-header-height);
  padding: 2px;
  background: var(--table-header);
  font-size: 9.4px;
  line-height: 1.1;
}

.billing-posting-table td {
  font-size: 10px;
}

.billing-posting-table th:nth-child(1),
.billing-posting-table td:nth-child(1) {
  width: 3%;
}

.billing-posting-table th:nth-child(2),
.billing-posting-table td:nth-child(2) {
  width: 13%;
  white-space: nowrap;
  overflow-wrap: normal;
}

.billing-posting-table th:nth-child(3),
.billing-posting-table td:nth-child(3),
.billing-posting-table th:nth-child(4),
.billing-posting-table td:nth-child(4) {
  width: 6.2%;
}

.billing-posting-table th:nth-child(5),
.billing-posting-table td:nth-child(5) {
  width: 6.8%;
}

.billing-posting-table th:nth-child(6),
.billing-posting-table td:nth-child(6),
.billing-posting-table th:nth-child(7),
.billing-posting-table td:nth-child(7) {
  width: 6.2%;
}

.billing-posting-table th:nth-child(8),
.billing-posting-table td:nth-child(8),
.billing-posting-table th:nth-child(9),
.billing-posting-table td:nth-child(9) {
  width: 6.5%;
}

.billing-posting-table th:nth-child(10),
.billing-posting-table td:nth-child(10) {
  width: 5.8%;
}

.billing-posting-table th:nth-child(11),
.billing-posting-table td:nth-child(11) {
  width: 7%;
  text-align: right;
}

.billing-posting-table th:nth-child(12),
.billing-posting-table td:nth-child(12) {
  width: 4.6%;
  text-align: center;
}

.billing-posting-table th:nth-child(13),
.billing-posting-table td:nth-child(13) {
  width: 4.2%;
  text-align: center;
}

.billing-posting-table th:nth-child(14),
.billing-posting-table td:nth-child(14) {
  width: 5.5%;
}

.billing-posting-table th:nth-child(15),
.billing-posting-table td:nth-child(15) {
  width: 6.5%;
}

.billing-posting-table th:nth-child(16),
.billing-posting-table td:nth-child(16) {
  width: 5.6%;
}

.billing-column-selector {
  display: grid;
  justify-items: center;
  gap: 1px;
  color: inherit;
  font-weight: 900;
  font-size: 9px;
  line-height: 1;
}

.billing-column-selector input {
  width: 11px;
  min-width: 11px;
  height: 11px;
  min-height: 11px;
  margin: 0;
  padding: 0;
}

.billing-summary-row td {
  position: sticky;
  top: var(--billing-posting-header-height);
  z-index: 5;
  border-top: 2px solid #5f6b7a;
  border-bottom: 2px solid #5f6b7a;
  background: #fff;
  font-weight: 900;
  box-shadow: 0 2px 0 rgba(52, 68, 86, 0.16);
}

.billing-row-locked {
  color: #65768a;
}

.billing-service-cell {
  position: relative;
  text-align: right;
}

.billing-service-cell.muted {
  color: #8a98a8;
  background: transparent;
}

.billing-service-cell.already-billed {
  color: #65768a;
  background: transparent;
}

.billing-service-flag {
  display: inline-flex;
  align-items: center;
  margin-left: 3px;
  border: 1px solid #c2d0df;
  border-radius: 999px;
  background: #fff;
  padding: 1px 4px;
  color: #5d6f84;
  font-size: 8.5px;
  font-weight: 900;
  line-height: 1;
}

.billing-pdf-button {
  width: 26px;
  min-width: 26px;
  height: 24px;
  padding: 2px;
}

.billing-posting-table .billing-pdf-button {
  width: 21px;
  min-width: 21px;
  height: 20px;
  min-height: 20px;
  padding: 1px;
}

.billing-pdf-button img {
  display: block;
  width: 16px;
  height: 16px;
}

.billing-posting-table .billing-pdf-button img {
  width: 14px;
  height: 14px;
}

.billing-posting-table .status-pill {
  min-height: 18px;
  padding: 1px 5px;
  font-size: 9px;
  line-height: 1;
}

.billing-service-review-cell {
  font-size: 10px;
}

.billing-service-selector {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: 12px minmax(0, 1fr);
  align-items: end;
  gap: 2px;
  font-weight: 800;
  font-size: 10px;
  line-height: 1;
  vertical-align: bottom;
  font-variant-numeric: tabular-nums;
}

.billing-service-selector input {
  width: 11px;
  min-width: 11px;
  height: 11px;
  min-height: 11px;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

.billing-posting-table .checkbox-cell input {
  width: 11px;
  min-width: 11px;
  height: 11px;
  min-height: 11px;
  margin: 0;
  padding: 0;
}

.billing-service-selector span {
  display: block;
  min-width: 0;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}

.billing-currency-cell {
  text-align: right;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.billing-service-report-link {
  width: 20px;
  min-width: 20px;
  height: 20px;
  margin-left: 2px;
  padding: 1px;
  vertical-align: middle;
}

.billing-service-report-link img {
  display: block;
  width: 14px;
  height: 14px;
}

.billing-service-summary,
.billing-report-button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.billing-service-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 3px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.billing-service-chip {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  min-width: 0;
  border: 1px solid #c5d1df;
  border-radius: 4px;
  background: #f7fafc;
  padding: 2px 5px;
  color: var(--navy);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
}

.billing-service-chip strong {
  flex: 0 0 auto;
  color: #2d4f73;
  font-size: 9.5px;
  text-transform: uppercase;
}

.billing-service-chip span {
  flex: 0 1 auto;
  min-width: 0;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
}

.billing-service-chip.muted,
.billing-service-chip.zero {
  color: #7d8a9b;
  background: #f3f5f8;
}

.billing-report-chip {
  border: 1px solid #9fb5d1;
  border-radius: 4px;
  background: #fff;
  color: var(--navy);
  padding: 2px 5px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  cursor: pointer;
}

.billing-report-chip:hover {
  background: #edf5ff;
}

.billing-payment-cell {
  color: #33445a;
  font-size: 10px;
  white-space: nowrap;
  overflow-wrap: normal;
}

.billing-central-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 8px;
}

.billing-central-lane {
  display: grid;
  gap: 5px;
  min-height: 112px;
  border: 1px solid #8da4bd;
  border-radius: 6px;
  background: #fff;
  padding: 8px;
  color: var(--navy);
}

.billing-central-lane-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.billing-central-lane-header strong {
  font-size: 14px;
}

.billing-central-lane-source,
.billing-central-lane-detail {
  font-size: 11px;
  line-height: 1.3;
}

.billing-central-lane-source {
  color: #546579;
}

.billing-central-lane-measure {
  font-size: 18px;
  font-weight: 900;
}

.billing-central-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 10px;
}

.billing-engine-card {
  border: 1px solid #a8bed8;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
  text-align: center;
}

.billing-engine-card-title {
  padding: 5px 8px;
  background: linear-gradient(180deg, #e7f3ff 0%, #f8fbff 100%);
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.billing-engine-card-value {
  padding: 8px;
  color: var(--navy);
  font-size: 19px;
  font-weight: 900;
}

.billing-engine-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 10px;
}

.billing-settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
  gap: 10px;
}

.billing-settings-actions {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  min-width: 82px;
}

.billing-engine-detail-list {
  display: grid;
  gap: 6px;
}

.billing-engine-detail-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #d6e1ee;
  padding: 5px 0;
  color: var(--navy);
  font-size: 12px;
}

.billing-engine-detail-row strong {
  text-align: right;
}

.billing-central-queue-row,
.billing-central-gate-row {
  align-items: center;
}

.billing-central-queue-row span:first-child,
.billing-central-gate-row span:first-child {
  display: grid;
  gap: 2px;
}

.billing-central-queue-row strong,
.billing-central-gate-row strong {
  text-align: left;
}

.billing-central-queue-row em,
.billing-central-gate-row em {
  color: #5d6f84;
  font-size: 11px;
  font-style: normal;
}

.billing-usage-prep {
  margin-top: 10px;
}

.billing-usage-prep-status {
  display: grid;
  gap: 8px;
}

.billing-usage-rating-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
}

.billing-usage-rating-head h3 {
  margin: 1px 0 0;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.1;
}

.billing-usage-rating-kicker {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.billing-usage-rating-overall {
  display: flex;
  justify-content: flex-end;
}

.billing-usage-rating-status-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--table-border);
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}

.billing-usage-rating-status-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: center;
  min-width: 0;
  border-left: 1px solid var(--table-border);
  padding: 8px 10px;
  color: var(--navy);
  font-size: 11px;
}

.billing-usage-rating-status-item:first-child {
  border-left: 0;
}

.billing-usage-rating-status-item span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.billing-usage-rating-status-item strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.billing-usage-rating-status-item em {
  min-width: 0;
  overflow: hidden;
  color: #5d6f84;
  font-size: 10px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.billing-usage-rating-table-frame,
.billing-usage-rating-issue-frame {
  border: 2px solid var(--table-border);
  border-radius: 0;
  background: #fff;
  overflow: auto;
}

.billing-usage-rating-table,
.billing-usage-rating-issue-table {
  width: 100%;
  min-width: 1220px;
  border-collapse: separate;
  border-spacing: 0;
  color: #1f2937;
  font-size: 11px;
}

.billing-usage-rating-issue-table {
  min-width: 920px;
}

.billing-usage-rating-table th,
.billing-usage-rating-table td,
.billing-usage-rating-issue-table th,
.billing-usage-rating-issue-table td {
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  padding: 5px 7px;
  vertical-align: middle;
  white-space: nowrap;
}

.billing-usage-rating-table th:last-child,
.billing-usage-rating-table td:last-child,
.billing-usage-rating-issue-table th:last-child,
.billing-usage-rating-issue-table td:last-child {
  border-right: 0;
}

.billing-usage-rating-table tbody tr:last-child td,
.billing-usage-rating-issue-table tbody tr:last-child td {
  border-bottom: 0;
}

.billing-usage-rating-table thead th,
.billing-usage-rating-issue-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--table-header);
  color: var(--navy);
  font-weight: 900;
  text-align: left;
}

.billing-usage-rating-table thead tr:first-child th {
  background: var(--table-header);
  color: var(--navy);
  text-align: center;
}

.billing-usage-rating-table thead tr:first-child th[rowspan] {
  border-bottom: 2px solid var(--table-border);
  text-align: left;
}

.billing-usage-rating-table thead tr:nth-child(2) th {
  border-bottom: 2px solid var(--table-border);
}

.billing-usage-rating-table thead tr:first-child th:nth-child(3),
.billing-usage-rating-table tbody td:nth-child(3) {
  border-right: 2px solid var(--table-border);
}

.billing-usage-rating-table thead tr:first-child th:nth-child(4),
.billing-usage-rating-table thead tr:nth-child(2) th:nth-child(6),
.billing-usage-rating-table tbody td:nth-child(9) {
  border-right: 2px solid var(--table-border);
}

.billing-usage-rating-table .billing-usage-rating-group {
  text-align: center;
}

.billing-usage-rating-table tbody td:first-child,
.billing-usage-rating-table tbody td:nth-child(2),
.billing-usage-rating-table tbody td:nth-child(3) {
  font-weight: 800;
}

.billing-usage-rating-table .numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.billing-usage-rating-table .total {
  background: var(--table-header);
  color: var(--navy);
  font-weight: 900;
}

.billing-usage-rating-charge-status {
  display: inline;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font-size: inherit;
  font-weight: 800;
  line-height: 1.2;
  text-align: left;
  text-transform: none;
}

.billing-usage-rating-charge-status.status-ok {
  color: inherit;
}

.billing-usage-rating-charge-status.status-info {
  color: inherit;
}

.billing-usage-rating-charge-status.status-warning {
  color: inherit;
}

.billing-usage-rating-charge-status.status-muted {
  color: inherit;
}

.billing-usage-rating-issues {
  display: grid;
  gap: 6px;
}

.billing-usage-rating-issue-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
}

.billing-usage-rating-issue-head h3 {
  margin: 0;
  color: #111827;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
}

.billing-usage-rating-issue-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.billing-usage-rating-issue-summary span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  border: 1px solid #b8c9dc;
  border-radius: 4px;
  background: #f8fbff;
  padding: 3px 6px;
  color: #43576e;
  font-size: 11px;
  font-weight: 800;
}

.billing-usage-rating-issue-summary strong {
  color: var(--navy);
}

.billing-usage-rating-issue-table thead th {
  background: var(--table-header);
  color: var(--navy);
}

.billing-usage-rating-issue-table th:nth-child(1),
.billing-usage-rating-issue-table td:nth-child(1) {
  width: 170px;
  font-weight: 800;
}

.billing-usage-rating-issue-table th:nth-child(2),
.billing-usage-rating-issue-table td:nth-child(2) {
  width: 300px;
}

.billing-usage-rating-issue-table th:nth-child(3),
.billing-usage-rating-issue-table td:nth-child(3) {
  white-space: normal;
}

.billing-usage-rating-issue-group td {
  border-top: 2px solid var(--table-border);
  border-bottom: 2px solid var(--table-border);
  background: var(--table-header-light);
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
}

.billing-usage-rating-issue-group td {
  padding: 6px 8px;
}

.billing-usage-rating-issue-group td strong {
  margin-right: 8px;
}

.billing-usage-rating-issue-group td span {
  display: inline-flex;
  min-width: 26px;
  justify-content: center;
  border: 1px solid var(--table-border);
  padding: 1px 5px;
  font-size: 10px;
}

.billing-usage-rating-issue-type-spacer {
  background: #fff;
}

.billing-usage-rating-issue-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: baseline;
}

.billing-usage-rating-issue-detail strong {
  color: var(--navy);
  font-weight: 900;
}

.billing-usage-rating-issue-action-link {
  color: var(--royal);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 1100px) {
  .billing-command-strip,
  .billing-process-control,
  .billing-process-grid,
  .billing-posting-review-heading,
  .billing-central-grid {
    grid-template-columns: 1fr;
  }

  .billing-command-actions {
    justify-content: flex-start;
  }

  .billing-type-picker {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .billing-posting-review-actions {
    justify-content: flex-start;
  }

  .billing-central-board {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }

  .billing-usage-rating-status-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-usage-rating-status-item:nth-child(odd) {
    border-left: 0;
  }
}

@media (max-width: 640px) {
  .billing-central-board {
    grid-template-columns: 1fr;
  }

  .billing-usage-rating-head,
  .billing-usage-rating-issue-head {
    grid-template-columns: 1fr;
  }

  .billing-usage-rating-status-strip {
    grid-template-columns: 1fr;
  }

  .billing-usage-rating-status-item {
    border-left: 0;
    border-top: 1px solid var(--table-border);
  }

  .billing-usage-rating-status-item:first-child {
    border-top: 0;
  }

  .billing-usage-rating-issue-summary {
    justify-content: flex-start;
  }
}

.product-dialog-modal {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 3vh 3vw;
}

.product-dialog-modal.active {
  display: flex;
}

.product-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(31, 39, 51, 0.48);
}

.product-dialog-card {
  position: relative;
  z-index: 1;
  width: min(980px, 94vw);
  max-height: 90vh;
  overflow: hidden;
  border: 1px solid #8fa8c4;
  border-radius: var(--dialog-radius);
  background: #ffffff;
  box-shadow: 0 24px 64px rgba(31, 39, 51, 0.28);
}

.product-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 16px;
  align-items: start;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #8fa8c4;
  background: #fbfdff;
}

.product-dialog-header h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 17px;
}

.product-dialog-header p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.product-dialog-body {
  max-height: calc(90vh - 74px);
  overflow: auto;
  padding: 12px 14px 14px;
}

.product-dialog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.product-dialog-grid .span-2 {
  grid-column: span 2;
}

.usage-group-settings-grid {
  grid-template-columns: minmax(280px, 1.35fr) 120px minmax(238px, 0.95fr);
  gap: 7px 8px;
  align-items: start;
}

.usage-group-settings-grid label,
.usage-date-pair label {
  min-width: 0;
}

.usage-date-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  min-width: 0;
}

.usage-notes-field {
  grid-column: 1 / -1;
}

.usage-notes-field textarea {
  height: 40px;
  min-height: 40px;
  resize: vertical;
}

.product-dialog-grid label,
.product-dialog-notes {
  display: grid;
  gap: 3px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.product-dialog-grid input,
.product-dialog-grid select,
.product-dialog-notes textarea {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.product-dialog-toggle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  gap: 6px 12px;
  margin-top: 12px;
}

.product-dialog-toggle-grid label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
}

.product-dialog-subhead {
  margin: 8px 0 0;
  color: var(--navy);
  font-size: 13px;
}

.product-dialog-notes {
  margin-top: 12px;
}

.usage-service-matrix {
  display: grid;
  gap: 0;
  margin-top: 5px;
  border: 1px solid #9aa9bb;
  border-radius: 6px;
  overflow: hidden;
  max-width: 520px;
}

.usage-service-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) 68px 118px;
  align-items: center;
  border-top: 1px solid #d5deea;
  min-height: 30px;
}

.usage-service-row:first-child {
  border-top: 0;
}

.usage-service-row > * {
  min-width: 0;
  padding: 3px 8px;
}

.usage-service-head {
  background: #edf3fa;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.usage-service-check {
  display: flex;
  align-items: center;
  justify-self: start;
  height: 24px;
}

.usage-service-check input[type='checkbox'] {
  width: 13px;
  height: 13px;
  min-height: 0;
  margin: 0;
}

.usage-service-row input[type='number'] {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  height: 24px;
  min-height: 24px;
  padding: 2px 7px;
  color: var(--ink);
  font-size: 12px;
}

.usage-member-dual-list {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 92px minmax(220px, 1fr);
  gap: 8px;
  align-items: center;
  margin-top: 5px;
}

.usage-member-list {
  display: grid;
  gap: 4px;
}

.usage-member-list-title {
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.usage-member-search {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 4px 7px;
  color: var(--ink);
  font-size: 12px;
}

.usage-member-list select {
  width: 100%;
  min-height: 160px;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  color: var(--ink);
  font-size: 12px;
}

.usage-member-move-actions {
  display: grid;
  gap: 6px;
}

.doordash-group-editor {
  display: grid;
  gap: 10px;
}

.doordash-group-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 12px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #b7c6d8;
  border-radius: 6px;
  background: #edf3fa;
  color: var(--navy);
}

.doordash-group-banner strong,
.doordash-group-banner span {
  display: block;
}

.doordash-group-banner span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}

.doordash-group-banner label {
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 12px;
  font-weight: 800;
}

.doordash-banner-actions {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.doordash-help-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 5;
  width: min(560px, 74vw);
  max-height: 440px;
  overflow: auto;
  border: 1px solid #8fa8c4;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(31, 39, 51, 0.22);
  padding: 10px 12px;
}

.doordash-help-title {
  margin-bottom: 8px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.doordash-help-panel dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.doordash-help-panel dt {
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.doordash-help-panel dd {
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
}

.doordash-group-settings-grid {
  grid-template-columns: minmax(220px, 1.2fr) 120px minmax(240px, 1fr) minmax(240px, 1fr);
  gap: 8px;
}

.doordash-rule-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 8px;
}

.doordash-rule-grid label {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.doordash-rule-grid input,
.doordash-rule-grid select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.doordash-store-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
}

.doordash-store-toolbar strong {
  color: var(--navy);
}

.doordash-store-dual-list {
  margin-top: 4px;
}

@media (max-width: 1120px) {
  .doordash-group-settings-grid,
  .doordash-rule-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }

  .doordash-group-banner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1120px) {
  .usage-group-settings-grid {
    grid-template-columns: minmax(260px, 1fr) 118px minmax(238px, 0.9fr);
  }

  .usage-date-pair {
    grid-column: auto;
  }

  .usage-notes-field {
    grid-column: 1 / -1;
  }
}

.usage-upload-form {
  display: grid;
  grid-template-columns: minmax(150px, 210px) minmax(260px, 1fr) minmax(220px, 320px) auto;
  gap: 10px;
  align-items: end;
}

.usage-upload-form label {
  gap: 3px;
  font-size: 11px;
}

.usage-upload-form input,
.usage-upload-form select {
  min-height: 28px;
  padding-top: 3px;
  padding-bottom: 3px;
}

.usage-upload-actions {
  display: flex;
  align-items: end;
}

.usage-status {
  min-height: 18px;
  font-weight: 800;
  font-size: 12px;
}

.product-dialog-modal {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 3vh 3vw;
}

.product-dialog-modal.active {
  display: flex;
}

.product-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(31, 39, 51, 0.48);
}

.product-dialog-card {
  position: relative;
  z-index: 1;
  width: min(980px, 94vw);
  max-height: 90vh;
  overflow: hidden;
  border: 1px solid #8fa8c4;
  border-radius: var(--dialog-radius);
  background: #ffffff;
  box-shadow: 0 24px 64px rgba(31, 39, 51, 0.28);
}

.product-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 16px;
  align-items: start;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #8fa8c4;
  background: #fbfdff;
}

.product-dialog-header h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 17px;
}

.product-dialog-header p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.product-dialog-body {
  max-height: calc(90vh - 74px);
  overflow: auto;
  padding: 12px 14px 14px;
}

.product-dialog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.product-dialog-grid label,
.product-dialog-notes {
  display: grid;
  gap: 3px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.product-dialog-grid input,
.product-dialog-grid select,
.product-dialog-notes textarea {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #9aa9bb;
  border-radius: 4px;
  padding: 5px 7px;
  color: var(--ink);
  font-size: 12px;
}

.product-dialog-toggle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  gap: 6px 12px;
  margin-top: 12px;
}

.product-dialog-toggle-grid label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
}

.product-dialog-subhead {
  margin: 8px 0 0;
  color: var(--navy);
  font-size: 13px;
}

.product-dialog-notes {
  margin-top: 12px;
}

#doordashUsageResultsPanel {
  padding: 10px 12px;
}

#doordashUsageResultsPanel .panel-heading {
  margin-bottom: 6px;
}

#doordashUsageResultsPanel .panel-heading h2 {
  font-size: 15px;
}

#doordashUsageResultsPanel .panel-heading .section-note {
  margin-top: 2px;
  font-size: 11px;
}

#doordashSaveExitBtn {
  min-height: 31px;
  padding: 5px 11px;
  font-size: 12px;
}

#doordashUsageMetrics.compact-metrics {
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 6px;
  margin-bottom: 8px;
}

#doordashUsageMetrics .metric-card.compact {
  min-height: 40px;
  padding: 6px 8px;
  border: 1px solid #c8d7e8;
  border-radius: 7px;
  background: #f8fbff;
  box-shadow: none;
}

#doordashUsageMetrics .metric-card.compact span {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

#doordashUsageMetrics .metric-card.compact strong {
  display: block;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.doordash-review-panel {
  display: grid;
  gap: 7px;
  margin: 0 0 8px;
  padding: 8px 10px;
  border: 1px solid #c8d7e8;
  border-radius: 7px;
  background: #f8fbff;
}

.doordash-review-panel.blocked {
  border-color: #f4bf66;
  background: #fff8ed;
}

.doordash-review-panel.warning {
  border-color: #b8c8dc;
  background: #f8fafc;
}

.doordash-review-panel.ready {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.doordash-review-panel strong {
  display: block;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.doordash-review-panel span,
.doordash-review-panel p {
  color: var(--muted);
  font-size: 11px;
}

.doordash-review-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.doordash-review-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.doordash-review-metrics span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  min-height: 24px;
  padding: 4px 7px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #ffffff;
  color: var(--navy);
  font-weight: 800;
}

.doordash-review-metrics strong {
  display: inline;
  font-size: 12px;
}

.doordash-review-table-frame {
  max-height: 168px;
  overflow: auto;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #ffffff;
}

.doordash-review-table-frame table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.doordash-review-table-frame th,
.doordash-review-table-frame td {
  padding: 5px 6px;
  border-bottom: 1px solid #edf2f7;
  text-align: left;
  vertical-align: top;
}

.doordash-review-table-frame th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.doordash-map-wizard-card {
  max-width: min(980px, calc(100vw - 32px));
}

.doordash-map-wizard {
  display: grid;
  gap: 10px;
}

.doordash-map-step {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 9px;
  border: 1px solid #d8e3ef;
  border-radius: 7px;
  background: #ffffff;
}

.doordash-map-step.final {
  align-items: center;
}

.doordash-map-step-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--navy);
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
}

.doordash-map-step-body {
  min-width: 0;
}

.doordash-map-step-body h4 {
  margin: 0 0 7px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.doordash-map-store-list {
  display: grid;
  gap: 5px;
  max-height: 168px;
  overflow: auto;
  padding: 6px;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #f8fafc;
}

.doordash-map-store-list label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 6px 7px;
  border: 1px solid #edf2f7;
  border-radius: 6px;
  background: #ffffff;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.doordash-map-store-list input {
  width: 15px;
  height: 15px;
}

.doordash-map-store-list span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.doordash-map-store-list em {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.usage-artifact-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.usage-download-section {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin-bottom: 6px;
  padding: 5px 7px;
  border: 1px solid #d8e3ef;
  border-radius: 7px;
  background: #f8fafc;
}

.usage-download-title {
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.usage-artifact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 8px;
  border-color: #8faac8;
  background: #eef5ff;
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
}

.usage-table-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 6px;
}

.usage-tab {
  min-height: 29px;
  border: 1px solid #b9c9dc;
  border-radius: 7px;
  background: #f7faff;
  color: var(--navy);
  cursor: pointer;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 900;
}

.usage-tab.active {
  border-color: var(--royal);
  background: #eaf2ff;
  color: #204574;
}

.revenue-source-table-frame {
  max-height: 620px;
}

.rv-source-input {
  width: 170px;
  min-height: 30px;
  padding: 5px 7px;
  border-radius: 6px;
}

.rv-source-input[type="number"],
.rv-source-input[type="date"] {
  width: 132px;
}

.rv-source-input.readonly-input {
  background: #eef3f8;
  color: var(--navy);
  font-weight: 800;
}

.visibility-matrix {
  --rv-matrix-header-height: 20px;
  width: max-content;
  min-width: 100%;
  table-layout: fixed;
  border: 1px solid var(--table-border);
  border-collapse: separate;
  border-spacing: 0;
  color: var(--navy);
}

.visibility-matrix th:first-child,
.visibility-matrix td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  background: #f8fafc;
  color: var(--navy);
  font-weight: 400;
  width: 260px;
  min-width: 260px;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.visibility-matrix thead th:first-child,
.visibility-drilldown-matrix thead th:first-child {
  left: 0;
  z-index: 6;
  background: #dfe5ed;
  text-align: center;
  border-bottom: 1.5px solid var(--table-border);
  font-weight: 900;
}

.visibility-matrix thead th {
  position: sticky;
  top: 0;
  z-index: 5;
  padding: 3px 6px;
  border-right: 1px solid var(--table-border);
  border-bottom: 1.5px solid var(--table-border);
  background: var(--table-header);
  font-weight: 900;
}

.visibility-matrix tbody th {
  position: sticky;
  left: 0;
  top: auto;
  z-index: 4;
  min-width: 190px;
  background: #ffffff;
  text-align: left;
  font-weight: 400;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  padding: 3px 6px;
  line-height: 1.05;
}

.visibility-matrix td {
  text-align: right;
  width: 122px;
  min-width: 122px;
  max-width: 122px;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  padding: 3px 6px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.visibility-matrix thead th:not(:first-child) {
  width: 122px;
  min-width: 122px;
  max-width: 122px;
}

.visibility-matrix .matrix-total-row th,
.visibility-matrix .matrix-total-row td {
  background: #dfe5ed;
  color: var(--navy);
  font-weight: 900;
}

#revenueVisibilitySummaryFrame .visibility-matrix .matrix-total-row th,
#revenueVisibilitySummaryFrame .visibility-matrix .matrix-total-row td {
  position: sticky;
  bottom: 0;
  z-index: 4;
  box-shadow: inset 0 1px 0 var(--table-border);
}

#revenueVisibilitySummaryFrame .visibility-matrix .matrix-total-row th {
  left: 0;
  z-index: 6;
}

.visibility-matrix .matrix-group-row th,
.visibility-matrix .matrix-group-row td {
  background: #eef3f8;
  color: var(--navy);
  font-weight: 800;
}

.revenue-visibility-supporting-detail-frame .visibility-matrix tfoot th,
.revenue-visibility-supporting-detail-frame .visibility-matrix tfoot td {
  position: sticky;
  top: auto;
  bottom: 0;
  z-index: 4;
  background: #dfe5ed;
  box-shadow: inset 0 1px 0 var(--table-border);
}

.revenue-visibility-supporting-detail-frame .visibility-matrix tfoot th {
  left: 0;
  z-index: 6;
}

.visibility-matrix .matrix-child-row th {
  padding-left: 18px;
}

.visibility-matrix .matrix-contributor-row th {
  padding-left: 32px;
  color: #52657a;
  font-weight: 700;
}

.revenue-visibility-detail-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-bottom: 10px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #f8fafc;
}

.detail-toggle-title {
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.detail-toggle-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.detail-toggle {
  min-height: 24px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.rt-validation-table .status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid #8fa2b8;
  border-radius: 6px;
  background: #eef3f8;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.rt-validation-table .status-pill.unexplained-variance,
.rt-validation-table .status-pill.missing-in-genesis,
.rt-validation-table .status-pill.missing-in-rt {
  border-color: #b56b28;
  background: #fff7ef;
  color: #7c3f12;
}

.rt-validation-table .status-pill.matched {
  border-color: #24735d;
  background: #edf8f5;
  color: #174d3f;
}

.rt-validation-table .status-pill.matched-with-known-difference {
  border-color: var(--table-border);
  background: var(--table-header-light);
  color: var(--navy);
}

.muted-cell {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
}

.matrix-drilldown-button {
  display: flex;
  width: 100%;
  min-height: 28px;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
  padding: 0;
}

.matrix-drilldown-button::after {
  content: "";
  display: none;
}

.matrix-drilldown-button:hover,
.matrix-drilldown-button.active,
.matrix-drilldown-row.active .matrix-drilldown-button {
  background: #eef6ff;
  color: var(--royal);
}

.source-total-row th,
.source-total-row td {
  border-top: 3px solid #52657a;
  border-bottom: 2px solid #52657a;
  background: #dfe5ed;
  color: var(--navy);
  font-weight: 900;
}

.revenue-visibility-drilldown {
  margin-top: 22px;
}

.revenue-visibility-drilldown-frame,
.revenue-visibility-supporting-detail-frame {
  max-height: 620px;
}

#revenueVisibilitySummaryFrame,
.revenue-visibility-supporting-detail-frame {
  position: relative;
  isolation: isolate;
  contain: paint;
}

.revenue-visibility-supporting-detail {
  margin-top: 22px;
}

.revenue-visibility-supporting-detail-tables {
  display: grid;
  gap: 14px;
}

.revenue-visibility-supporting-detail-section {
  min-width: 0;
}

.revenue-visibility-supporting-detail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 12px;
}

.revenue-visibility-supporting-detail-heading span {
  color: #52657a;
  font-weight: 900;
}

.visibility-drilldown-matrix {
  min-width: 100%;
}

.visibility-drilldown-matrix tbody th {
  width: 320px;
  min-width: 320px;
  max-width: 360px;
  white-space: normal;
}

.drilldown-account-name {
  display: block;
}

#revenueVisibilitySourceRows tr {
  cursor: pointer;
}

.revenue-visibility-modal-card {
  width: min(980px, calc(100vw - 38px));
  height: auto;
  max-height: min(88vh, 860px);
  display: block;
  overflow: auto;
}

.user-edit-card {
  width: min(820px, calc(100vw - 38px));
}

.user-edit-form .action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.revenue-visibility-modal-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.revenue-visibility-modal-form.booked-deal-form {
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 8px 12px;
  margin-top: 4px;
  margin-bottom: 0;
}

.revenue-visibility-modal-form.booked-deal-form label {
  grid-column: span 2;
}

.revenue-visibility-modal-form.booked-deal-form .booked-account-field {
  grid-column: span 4;
}

.revenue-visibility-modal-form.churn-impact-form {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px 12px;
}

.revenue-visibility-modal-form.churn-impact-form .churn-account-field {
  grid-column: span 6;
}

.revenue-visibility-modal-form.churn-impact-form .churn-effective-field,
.revenue-visibility-modal-form.churn-impact-form .churn-type-field,
.revenue-visibility-modal-form.churn-impact-form .churn-revenue-field,
.revenue-visibility-modal-form.churn-impact-form .churn-cashflow-field {
  grid-column: span 3;
}

.revenue-visibility-modal-form.churn-impact-form .churn-reason-field {
  grid-column: span 6;
}

.revenue-visibility-modal-form.churn-impact-form .churn-helper-panel {
  grid-column: 1 / -1;
  border: 1px solid #b9c7d8;
  border-radius: 8px;
  padding: 12px;
  background: #f8fbff;
}

.churn-helper-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.churn-helper-heading h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}

.churn-helper-cards {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.churn-helper-card {
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid #d8e2ee;
  border-radius: 8px;
  background: #ffffff;
}

.churn-helper-card span {
  min-height: 24px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
}

.churn-helper-card strong {
  color: var(--navy);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.1;
}

.churn-reasons-card {
  width: min(920px, calc(100vw - 38px));
  height: auto;
  max-height: min(86vh, 760px);
  display: block;
  overflow: auto;
}

.churn-reason-entry {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  align-items: start;
  gap: 10px;
  margin: 12px 0;
}

.churn-reason-entry input {
  height: 32px;
  min-height: 32px;
}

.churn-reason-entry .primary-button {
  height: 32px;
  min-height: 32px;
}

.churn-reasons-table input,
.churn-reasons-table select {
  width: 100%;
}

.churn-reasons-table {
  min-width: 746px;
  table-layout: fixed;
}

.churn-reasons-table th:nth-child(1),
.churn-reasons-table td:nth-child(1) {
  width: 148px;
  overflow: visible !important;
}

.churn-reasons-table th:nth-child(2),
.churn-reasons-table td:nth-child(2) {
  width: 370px;
}

.churn-reasons-table th:nth-child(3),
.churn-reasons-table td:nth-child(3) {
  width: 138px;
}

.churn-reasons-table th:nth-child(4),
.churn-reasons-table td:nth-child(4) {
  width: 90px;
}

.churn-reasons-table input[readonly] {
  background: #eef3f8;
  color: var(--navy);
  font-weight: 800;
}

.churn-reasons-table .row-action-cell {
  white-space: nowrap;
  text-align: left;
}

.churn-reasons-table .row-action-cell button {
  --genesis-action-width: 60px;
  --genesis-action-height: 20px;
  min-width: var(--genesis-action-width);
  min-height: var(--genesis-action-height);
  font-size: 7px;
}

.churn-reasons-table .row-action-cell button + button {
  margin-left: 5px;
}

.button-spinner {
  width: 13px;
  height: 13px;
  border: 2px solid rgba(31, 47, 68, 0.24);
  border-top-color: var(--navy);
  border-radius: 50%;
  animation: button-spinner-rotate 720ms linear infinite;
}

@keyframes button-spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}

.revenue-visibility-modal-form label {
  display: grid;
  gap: 5px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.revenue-visibility-modal-form input:disabled {
  background: #eef3f8;
  color: var(--navy);
  font-weight: 800;
}

.revenue-visibility-schedule-editor {
  margin-top: 2px;
  padding-top: 0;
  border-top: 0;
}

.schedule-editor-heading {
  display: none;
}

.schedule-editor-heading h3 {
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}

.booked-schedule-entry-table {
  min-width: 780px;
  font-size: 13px;
}

.booked-schedule-entry-table th,
.booked-schedule-entry-table td {
  padding: 4px 7px;
  text-align: right;
}

.booked-schedule-entry-table th {
  text-align: center;
}

.booked-schedule-entry-table th:first-child,
.booked-schedule-entry-table td:first-child {
  text-align: left;
}

.booked-schedule-entry-table th:nth-child(3),
.booked-schedule-entry-table td:nth-child(3) {
  padding-left: 14px;
}

.booked-schedule-entry-table .copy-down-cell {
  width: 28px;
  min-width: 28px;
  padding-right: 2px;
  text-align: center;
}

.booked-schedule-entry-table input {
  width: 100%;
  min-width: 110px;
  text-align: right;
}

.booked-schedule-entry-table input.currency-field {
  font-variant-numeric: tabular-nums;
}

.booked-schedule-entry-table input[type="number"]::-webkit-outer-spin-button,
.booked-schedule-entry-table input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.booked-schedule-entry-table input[type="number"] {
  -moz-appearance: textfield;
}

.rv-row-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding-left: 3px;
  padding-right: 3px;
}

.rv-row-icon-button,
.copy-down-button {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  padding: 2px;
}

.delete-row-icon-button {
  color: #a9323b;
}

.tab-button {
  min-height: 27px;
  border: 1px solid #b9c9dc;
  border-radius: var(--control-radius);
  box-shadow: var(--button-shadow);
  background: #f7faff;
  color: var(--navy);
  cursor: pointer;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 900;
}

.tab-button.active {
  border-color: var(--royal);
  background: var(--royal);
  color: #ffffff;
}

.usage-table-frame {
  max-height: calc(100vh - 280px);
  min-height: 420px;
}

#doordashUsageTable .total-row td {
  border-top: 2px solid #344456;
  background: #f5f7fa;
  color: #122033;
  font-weight: 900;
}

.usage-pdf-link {
  display: inline-grid;
  place-items: center;
}

.reporting-heading {
  align-items: center;
}

.reporting-save-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.report-format-toggle {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 7px;
  border: 1px solid #344456;
  border-radius: 7px;
  background: #eef1f5;
  color: #344456;
  font-size: 11px;
  font-weight: 900;
}

.report-format-toggle img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex: 0 0 18px;
}

.report-format-toggle input {
  width: 13px;
  height: 13px;
  min-height: 13px;
  margin: 0;
  padding: 0;
}

.reporting-save-controls .quiet-button,
.report-output-toolbar > .quiet-button,
.report-email-row .quiet-button {
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #344456;
  border-radius: 8px;
  background: var(--button-action-bg);
  color: var(--navy);
  font-weight: 900;
  box-shadow: var(--button-shadow);
}

.reporting-save-controls .quiet-button:hover,
.report-output-toolbar > .quiet-button:hover,
.report-email-row .quiet-button:hover {
  border-color: var(--navy);
  background: var(--button-action-hover);
}

.genesis-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

.genesis-icon-button .button-icon {
  width: 15px;
  height: 15px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 15px;
}

.genesis-icon-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.report-email-row {
  display: grid;
  grid-template-columns: minmax(240px, 520px) auto;
  gap: 10px;
  align-items: end;
  width: min(100%, 660px);
}

.report-email-row label {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.report-email-row .quiet-button {
  width: auto;
  min-width: 96px;
  justify-self: start;
}

.report-picker-grid {
  display: grid;
  grid-template-columns: minmax(280px, 520px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.report-picker-grid > label {
  max-width: 520px;
}

.report-picker-grid label,
.report-criteria-grid label {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.report-picker-grid select,
.report-picker-grid input,
.report-criteria-grid select,
.report-criteria-grid input {
  min-height: 30px;
  padding: 4px 8px;
  border-radius: 6px;
}

.report-locked-window {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.report-locked-window strong {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #eef4fb;
  color: var(--ink);
  font-size: 12px;
  text-transform: none;
}

.report-criteria-grid input:disabled,
.report-schedule-criteria-form input:disabled {
  background: #eef4fb;
  color: var(--ink);
  opacity: 1;
  cursor: default;
}

.ar-ledger-filter-grid {
  display: grid;
  grid-template-columns: 104px 132px 132px 132px 112px minmax(0, 1fr);
  grid-template-areas:
    "date start type limit custom ."
    "search search search search run ."
    "account account account account account .";
  gap: 7px 10px;
  align-items: end;
  margin: 8px 0 10px;
}

.ar-ledger-filter-grid label {
  display: grid;
  gap: 3px;
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
}

.ar-ledger-filter-grid select,
.ar-ledger-filter-grid input {
  width: 100%;
  min-height: 28px;
  padding: 3px 7px;
  border-radius: 5px;
}

.ar-ledger-filter-grid .date-mode-field {
  grid-area: date;
}

.ar-ledger-filter-grid .start-date-field {
  grid-area: start;
}

.ar-ledger-filter-grid .transaction-type-field {
  grid-area: type;
}

.ar-ledger-filter-grid .ledger-search-field {
  grid-area: search;
  width: 100%;
  max-width: 100%;
}

.ar-ledger-filter-grid .ledger-row-limit-field {
  grid-area: limit;
}

.ar-ledger-filter-grid .ledger-custom-limit-field {
  grid-area: custom;
}

.ar-ledger-filter-grid .report-run-actions {
  grid-area: run;
  align-self: end;
}

.ar-ledger-filter-grid .report-run-actions .primary-button {
  width: 104px;
  min-width: 104px;
  min-height: 28px;
}

.ar-ledger-filter-grid .account-search-field {
  grid-area: account;
  width: 100%;
  max-width: 100%;
}

.ar-ledger-filter-grid .ledger-search-field input,
.ar-ledger-filter-grid .account-search-field input {
  width: 100%;
  max-width: 100%;
}

.ar-ledger-filter-grid .start-date-field.hidden,
.ar-ledger-filter-grid .ledger-custom-limit-field.hidden {
  display: none;
}

.ar-ledger-load-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 10px;
}

.ar-ledger-load-summary {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.ar-ledger-table-frame {
  max-height: 760px;
}

.table-frame.compact-table-frame.account-ar-ledger-frame {
  max-height: 420px;
}

.account-ar-workspace .compact-table-frame:not(.statement-aging-table):not(.account-ar-ledger-frame) {
  max-height: 760px;
}

.account-ar-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.account-ar-date-controls {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.account-ar-date-controls label {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-ar-date-controls input[type="date"] {
  width: 142px;
}

.account-ar-statement-section {
  margin-top: 16px;
}

.account-ar-statement-section + .account-ar-statement-section {
  margin-top: 20px;
}

.account-ar-statement-section h5 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.account-ar-statement-section .section-note {
  margin: 0 0 8px;
}

.account-inner-table.presentation-table {
  width: max-content;
  min-width: 0;
}

.account-inner-table.presentation-table.ar-ledger-table {
  width: max-content;
  min-width: 0;
  max-width: none;
}

.account-inner-table.presentation-table th,
.account-inner-table.presentation-table td {
  overflow: visible;
  text-overflow: clip;
}

.account-inner-table.presentation-table.ar-ledger-table th,
.account-inner-table.presentation-table.ar-ledger-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ar-ledger-table {
  width: 100%;
  table-layout: fixed;
  border: 1.5px solid var(--table-border);
}

.ar-ledger-table th,
.ar-ledger-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
}

.ar-ledger-table thead tr.table-ledger-total-row th {
  position: sticky;
  top: 0;
  z-index: 9;
  height: 26px;
  padding-top: 2px;
  padding-bottom: 2px;
  background: var(--table-header);
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid var(--table-border);
  border-bottom: 1.5px solid var(--table-border);
  box-shadow: inset 0 -1.5px 0 var(--table-border);
}

.ar-ledger-table thead tr.table-ledger-total-row th.numeric {
  text-align: right;
}

.ar-ledger-table thead tr.table-label-row th {
  top: 26px;
}

.account-ar-ledger-frame .ar-ledger-table thead tr.table-label-row th {
  top: 0;
  height: 36px;
  white-space: normal;
  line-height: 1.05;
}

.account-ar-ledger-frame .ar-ledger-table th,
.account-ar-ledger-frame .ar-ledger-table td {
  padding: 2px 4px;
}

.ar-ledger-table thead tr.table-action-row th {
  top: 60px;
}

.ledger-inspect-cell {
  text-align: center;
}

.ledger-inspect-cell .table-icon-button {
  width: 20px;
  height: 22px;
  min-width: 20px;
  padding: 2px;
}

.ledger-truncated-cell {
  max-width: 75ch;
}

.date-cell {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.report-table-ar_account_transactions_ledger,
.report-table-ar_invoice_transactions_ledger {
  table-layout: fixed;
}

.report-table-ar_account_transactions_ledger .report-cell-description,
.report-table-ar_account_transactions_ledger .report-cell-memo,
.report-table-ar_invoice_transactions_ledger .report-cell-description,
.report-table-ar_invoice_transactions_ledger .report-cell-memo {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ar-ledger-inspect-card,
.ar-ledger-email-card {
  width: min(920px, 92vw);
}

.ledger-inspect-dialog {
  display: grid;
  gap: 10px;
  width: 100%;
  color: var(--navy);
}

.ledger-inspect-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 8px;
}

.ledger-inspect-field {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfcfe;
}

.ledger-inspect-label {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ledger-inspect-value {
  min-height: 18px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.ledger-inspect-dialog label {
  display: grid;
  gap: 5px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ledger-inspect-dialog textarea {
  width: 100%;
  min-height: 190px;
  padding: 8px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--navy);
  font: 12px/1.4 "Open Sans", Arial, sans-serif;
  white-space: pre-wrap;
}

.ar-ledger-email-form {
  display: grid;
  gap: 10px;
}

.ar-ledger-email-form label {
  display: grid;
  gap: 4px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ar-ledger-email-form input,
.ar-ledger-email-form textarea {
  width: 100%;
  max-width: 75ch;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--navy);
  font: 12px/1.4 "Open Sans", Arial, sans-serif;
}

.ar-ledger-email-form textarea {
  min-height: 120px;
  max-width: 100%;
  resize: vertical;
}

.report-criteria-grid select[multiple] {
  min-height: 88px;
  padding: 4px;
  text-transform: none;
}

.report-dual-field {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfe;
}

.report-dual-label {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.report-dual-search-row {
  display: grid;
  grid-template-columns: minmax(200px, 360px) auto;
  gap: 10px;
  align-items: center;
}

.report-dual-search-row span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.report-dual-picker {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
  gap: 10px;
  align-items: stretch;
}

.report-dual-picker select {
  width: 100%;
  min-height: 170px;
}

.report-dual-actions {
  display: grid;
  align-content: center;
  gap: 6px;
}

.report-dual-actions .report-dual-action-button,
.dual-list-actions .report-dual-action-button {
  --genesis-action-width: 78px;
  --genesis-action-height: 26px;
  grid-template-columns: 17px minmax(0, 1fr);
  gap: 4px;
  padding: 2px 5px 2px 3px;
  border-radius: 6px;
  font-size: 8px;
}

.report-dual-actions .report-dual-action-button .genesis-action-icon,
.dual-list-actions .report-dual-action-button .genesis-action-icon {
  width: 17px;
  height: 17px;
}

.report-criteria-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
  align-items: start;
  grid-column: 1 / -1;
  justify-items: start;
}

.report-criteria-grid .report-dual-field {
  grid-column: 1 / -1;
  width: min(100%, 1120px);
  justify-self: start;
}

.report-period-balance-lane {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.report-period-balance-lane .report-dual-field {
  width: 100%;
  max-width: min(100%, 980px);
}

.report-period-balance-lane .report-dual-picker {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.report-period-balance-lane .report-dual-search-row {
  grid-template-columns: minmax(0, 360px) auto;
}

.report-date-pair,
.report-range-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(130px, 1fr));
  gap: 10px;
  width: min(100%, 430px);
  margin: 0;
  padding: 10px;
  border: 1px solid #b8c6d6;
  border-radius: 8px;
  background: #fbfcfe;
}

.report-date-pair legend,
.report-range-pair legend {
  padding: 0 5px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.report-run-actions {
  display: flex;
  justify-content: flex-start;
  grid-column: 1;
}

.report-run-actions .primary-button {
  min-width: 160px;
  min-height: 34px;
}

.reporting-output-panel {
  margin-top: 12px;
  min-height: calc(100vh - 250px);
}

.report-output-toolbar {
  position: relative;
  top: auto;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: -4px 0 8px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.report-concentration-flags {
  display: flex;
  flex-direction: column;
  gap: 6px;
  grid-column: 1 / 2;
  justify-self: start;
  align-self: end;
  width: 320px;
}

.report-criteria-grid .report-concentration-flags .inline-toggle {
  display: flex;
  width: 100%;
  min-height: 30px;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.report-criteria-grid .report-concentration-flags .inline-toggle input {
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  min-height: 15px;
  margin: 0;
  padding: 0;
  border-radius: 3px;
}

.report-detail-flags-title {
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.revenue-visibility-report-detail-flags {
  align-self: start;
}

.report-output-toolbar .report-email-row {
  flex: 0 1 660px;
  max-width: 660px;
}

.report-output {
  display: grid;
  gap: 8px;
}

.report-brand-header {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 82px;
  padding: 8px 0 12px;
  border-bottom: 2px solid #e7edf5;
  overflow: visible;
}

.report-brand-header img {
  display: block;
  width: auto;
  max-width: 210px;
  max-height: 74px;
  height: auto;
  object-fit: contain;
}

.inline-toggle.is-disabled {
  color: #9aa6b5;
  cursor: not-allowed;
  opacity: 0.62;
}

.inline-toggle.is-disabled input {
  cursor: not-allowed;
}

.report-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 4px;
}

.report-title-row h2 {
  margin: 0;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.1;
}

.report-criteria-line {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.report-row-count {
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #f7fafd;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.report-metrics {
  margin-bottom: 2px;
}

.report-output-salesforce_funnel .report-metrics {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin-bottom: 8px;
}

.report-output-salesforce_funnel .report-metrics .metric {
  min-height: 36px;
  flex: 1 1 0;
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  justify-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px 8px;
  border: 1px solid #344456;
  border-radius: 6px;
  background: var(--table-header-light);
  color: #000000;
  text-align: center;
}

.report-output-salesforce_funnel .report-metrics .metric-label {
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.report-output-salesforce_funnel .report-metrics .metric-value {
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.report-table-frame {
  max-height: calc(100vh - 360px);
  min-height: 320px;
  resize: vertical;
  padding-top: 0;
}

.report-table-frame table {
  table-layout: auto;
  width: max-content;
  min-width: 0;
  margin-right: 0;
  margin-left: 0;
}

.report-table-frame .compact-fit-table {
  table-layout: auto;
  width: max-content;
  min-width: 0;
}

.report-data-table {
  max-width: none;
  border: 1.5px solid var(--table-border);
}

.report-table-frame th,
.report-table-frame td {
  overflow: hidden;
  padding: 3px 7px;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
  text-overflow: ellipsis;
}

.report-table-frame th:last-child,
.report-table-frame td:last-child {
  border-right: 0;
}

.report-table-frame th {
  background: var(--table-header);
  color: var(--navy);
  text-align: center;
  font-weight: 900;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
  border-right-color: var(--table-border);
  border-bottom: 1px solid var(--table-border);
}

.report-table-frame thead tr.table-label-row th {
  background: var(--table-header);
  color: var(--navy);
  font-weight: 900;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
  border-right: 1px solid var(--table-border);
  border-bottom: 1.5px solid var(--table-border);
}

.report-table-frame .table-label-text {
  white-space: normal;
  overflow-wrap: anywhere;
}

.report-table-frame thead tr.table-action-row th {
  background: #ffffff;
  border-right: 1px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
}

.report-table-frame .static-controlled-table {
  min-width: 0;
  margin-right: 0;
  margin-left: 0;
  border: 1.5px solid var(--table-border);
}

.report-table-frame tfoot td {
  position: sticky;
  bottom: 0;
  background: #f5f7fa;
  color: var(--navy);
  font-weight: 800;
  border-top: 2px solid #344456;
  border-bottom: 0;
}

.report-table-frame .report-total-row td {
  background: var(--table-header);
  color: var(--navy);
  font-weight: 900;
  border-top: 2px solid var(--table-border);
}

.report-table-revenue_visibility_summary .report-group-row td {
  background: #eef3f8;
  color: var(--navy);
  font-weight: 900;
  border-top: 1.5px solid var(--table-border);
  border-bottom: 1px solid var(--table-border);
}

.report-table-revenue_visibility_summary .report-supporting-header-row td {
  background: var(--navy);
  color: #ffffff;
  font-weight: 900;
  border-top: 2px solid var(--table-border);
  border-bottom: 2px solid var(--table-border);
}

.report-table-revenue_visibility_summary .report-child-row td:first-child {
  padding-left: 18px;
}

.report-table-revenue_visibility_summary .report-detail-row td:first-child,
.report-table-revenue_visibility_summary .report-churn-contributor-row td:first-child {
  padding-left: 32px;
  color: #52657a;
  font-weight: 700;
}

.report-supporting-detail {
  margin-top: 18px;
}

.report-supporting-detail h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 15px;
  font-weight: 900;
}

.report-supporting-detail-section {
  margin-top: 12px;
}

.report-supporting-detail-section + .report-supporting-detail-section {
  margin-top: 18px;
}

.report-supporting-detail-section h4 {
  margin: 0 0 6px;
  padding: 6px 8px;
  border: 1px solid var(--table-border);
  background: var(--table-header);
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.report-supporting-detail-section .revenue-visibility-report-frame {
  max-height: 420px;
}

.report-table-account_renewal_calendar .report-total-row td {
  background: var(--table-header);
  color: var(--navy);
  font-weight: 900;
  border-bottom: 2px solid var(--table-border);
}

.report-table-account_renewal_calendar th:first-child,
.report-table-account_renewal_calendar td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #ffffff;
  box-shadow: 1px 0 0 var(--table-border);
}

.report-table-account_renewal_calendar th:first-child {
  z-index: 4;
  background: var(--table-header);
}

.report-table-account_renewal_calendar .report-total-row td:first-child {
  z-index: 3;
  background: var(--table-header);
}

.report-table-account_renewal_calendar .report-cell-organization_name,
.report-table-account_renewal_calendar .report-cell-account_name {
  white-space: nowrap;
}

.report-table-account_renewal_calendar .report-cell-term_months,
.report-table-account_renewal_calendar .report-cell-cancellation_notice_days,
.report-table-account_renewal_calendar [class*="report-cell-month_"],
.report-table-account_renewal_calendar [class*="report-cell-quarter_"],
.report-table-account_renewal_calendar [class*="report-cell-year_"] {
  text-align: center;
}

.report-table-account_renewal_calendar .report-total-row [class*="report-cell-month_"],
.report-table-account_renewal_calendar .report-total-row [class*="report-cell-quarter_"],
.report-table-account_renewal_calendar .report-total-row [class*="report-cell-year_"] {
  padding-right: 7px;
  text-align: right;
}

.report-output-account_renewal_calendar .report-footnote {
  margin-top: 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.report-output-account_renewal_calendar .report-footnote strong {
  color: var(--navy);
}

.distribution-report-frame {
  max-height: none;
  min-height: 0;
  resize: none;
  padding: 16px;
  border-color: #74869a;
  background: #ffffff;
}

.distribution-report-frame table {
  margin: 0 auto;
  border: 2px solid #74869a;
}

.distribution-report-frame th,
.distribution-report-frame td {
  height: 42px;
  padding: 8px 12px;
  border-right: 1.5px solid #8d9aaa;
  border-bottom: 1.5px solid #b6c4d3;
  font-size: 15px;
  line-height: 1.25;
}

.distribution-report-frame th {
  background: #dbe3ee;
  border-bottom: 2px solid #74869a;
  color: #26384c;
  font-size: 15px;
  font-weight: 900;
}

.distribution-report-frame tfoot td {
  height: 44px;
  background: #e8eef6;
  border-top: 3px solid #25364a;
  border-bottom: 2px solid #25364a;
  color: #1f2733;
  font-size: 15px;
  font-weight: 900;
}

.report-table-frame th {
  height: 24px;
}

.report-table-frame td {
  height: 25px;
}

.report-table-error_log td,
.report-table-user_access_log td,
.report-table-user_actions_log td {
  height: auto;
  min-height: 25px;
  vertical-align: top;
}

.report-table-error_log .report-cell-message,
.report-table-error_log .report-cell-details,
.report-table-user_access_log .report-cell-action,
.report-table-user_access_log .report-cell-entity_id,
.report-table-user_access_log .report-cell-details,
.report-table-user_actions_log .report-cell-summary,
.report-table-user_actions_log .report-cell-detail_text {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  line-height: 1.25;
}

.salesforce-funnel-frame {
  min-height: 420px;
  padding-top: 0;
}

.report-table-salesforce_funnel {
  min-width: 1120px;
  border: 1.5px solid #344456;
  border-collapse: collapse;
  color: #344456;
  font-family: "Open Sans", "Work Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.report-table-salesforce_funnel th {
  background: var(--table-header);
  color: #000000;
  border-color: #344456;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.report-table-salesforce_funnel td {
  height: 18px;
  border-right: 1px solid #344456;
  border-bottom: 1px solid #344456;
  padding: 1px 6px;
  vertical-align: top;
}

.report-table-salesforce_funnel td strong {
  display: block;
  color: var(--navy);
  font-size: 11px;
  line-height: 1.08;
}

.report-table-salesforce_funnel td span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.12;
  white-space: normal;
}

.report-table-salesforce_funnel .salesforce-owner-row td {
  position: sticky;
  top: 24px;
  z-index: 2;
  background: var(--table-header-light);
  color: #000000;
  font-weight: 900;
  border-top: 1px solid #344456;
  border-bottom: 1px solid #344456;
}

.report-table-salesforce_funnel .salesforce-stage-row td {
  background: var(--table-filter);
  color: #344456;
  font-weight: 900;
  border-bottom: 1px solid #344456;
}

.report-table-salesforce_funnel .salesforce-stage-total-row td {
  background: var(--table-filter);
  color: #000000;
  font-weight: 900 !important;
  border-top: 2px solid #344456 !important;
  border-bottom: 1px solid #344456 !important;
}

.report-table-salesforce_funnel .salesforce-owner-total-row td {
  background: var(--table-header-light);
  color: #000000;
  font-weight: 900 !important;
  border-top: 2px solid #344456 !important;
  border-bottom: 1px solid #344456 !important;
}

.report-table-salesforce_funnel .salesforce-grand-total-row td {
  background: var(--table-header);
  color: #000000;
  font-weight: 900 !important;
  border-top: 2px solid #344456 !important;
  border-bottom: 1px solid #344456 !important;
}

.report-table-salesforce_funnel .salesforce-stage-total-row td,
.report-table-salesforce_funnel .salesforce-owner-total-row td,
.report-table-salesforce_funnel .salesforce-grand-total-row td {
  height: 19px;
  vertical-align: middle;
}

.numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.centered {
  text-align: center;
}

.report-monthly-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.report-distribution-section {
  gap: 18px;
}

.report-line-chart-wrap {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfe;
}

.report-line-chart-wrap.titled-chart {
  border: 1px solid #8d9aaa;
  border-radius: 0;
  background: #ffffff;
}

.report-line-chart {
  display: block;
  width: 100%;
  height: auto;
}

.report-chart-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.report-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.chart-frame {
  fill: none;
  stroke: #8d9aaa;
  stroke-width: 1.2;
}

.chart-title {
  fill: #1f2733;
  font-size: 22px;
  font-weight: 900;
  text-anchor: middle;
}

.chart-subtitle {
  fill: #344456;
  font-size: 16px;
  font-weight: 800;
  text-anchor: middle;
}

.chart-title-text {
  color: #1f2733;
  font-size: 22px;
  font-weight: 900;
  text-align: center;
}

.chart-subtitle-text {
  color: #344456;
  font-size: 15px;
  font-weight: 800;
  margin-top: 2px;
  text-align: center;
}

.chart-point-label {
  fill: #1f2733;
  font-size: 10px;
  font-weight: 800;
}

.report-chart-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.report-screen-footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 14px;
  text-align: center;
}

.report-screen-footer .report-footer-left {
  text-align: left;
  font-size: 12px;
  font-weight: 700;
}

.report-screen-footer strong {
  font-size: 15px;
}

.report-bar-chart {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfe;
}

.customer-concentration-slide {
  position: relative;
  max-width: 1050px;
  margin: 0 auto;
  overflow: auto;
  padding: 18px 24px 22px;
  background: #ffffff;
}

.customer-concentration-layout {
  display: grid;
  grid-template-columns: 414px 300px;
  gap: 0;
  align-items: stretch;
  justify-content: center;
}

.concentration-report-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 714px;
  max-width: 100%;
  margin: 0 auto 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #2f4055;
}

.concentration-report-header h3 {
  margin: 0;
  color: #1f2733;
  font-size: 28px;
  line-height: 1;
}

.concentration-report-header p {
  margin: 5px 0 0;
  color: #59677a;
  font-size: 13px;
  font-weight: 800;
}

.concentration-metrics-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  width: 714px;
  max-width: 100%;
  margin: 0 auto 12px;
}

.concentration-metrics-row div {
  border: 1px solid #aab8c9;
  background: #f6f8fb;
  padding: 8px 10px;
  text-align: center;
}

.concentration-metrics-row span,
.concentration-metrics-row strong {
  display: block;
}

.concentration-metrics-row span {
  color: #59677a;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.concentration-metrics-row strong {
  margin-top: 3px;
  color: #1f2733;
  font-size: 17px;
  line-height: 1.1;
}

.customer-concentration-main {
  border: 1px solid #111111;
  border-right: 0;
  background: #ffffff;
}

.concentration-grid-head {
  display: grid;
  grid-template-columns: 300px 72px 42px;
  border-bottom: 1px solid #111111;
  background: #d7d7d7;
  color: #000000;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
}

.concentration-grid-head div {
  display: grid;
  place-items: center;
  min-height: 34px;
  border-right: 1px solid #111111;
}

.concentration-grid-head div:last-child {
  border-right: 0;
}

.report-table-customer-concentration {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-bottom: 1px solid #111111;
}

.report-table-customer-concentration td {
  height: 12px;
  padding: 1px 5px;
  border-right: 1px solid #111111;
  border-bottom: 1px solid #111111;
  color: #000000;
  font-size: 7.6px;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.report-table-customer-concentration td:last-child {
  border-right: 0;
}

.concentration-band-top10 td {
  background: #e2f0d9;
}

.concentration-band-11-20 td {
  background: #ddebf7;
}

.concentration-band-21-50 td {
  background: #fff2cc;
}

.concentration-band-51-plus td {
  background: #eeeeee;
}

.customer-concentration-chart {
  position: relative;
  border: 1px solid #111111;
  background: #d9d9d9;
}

.concentration-stats-head {
  display: grid;
  grid-template-columns: repeat(3, 100px);
  border-bottom: 1px solid #111111;
  background: #d7d7d7;
  color: #000000;
  font-weight: 900;
  height: 34px;
  font-size: 13px;
}

.concentration-stats-head div {
  display: grid;
  place-items: center;
  border-right: 1px solid #111111;
}

.concentration-stats-head div:last-child {
  border-right: 0;
}

.concentration-stat-cell {
  position: absolute;
  display: grid;
  place-items: center;
  color: #111111;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
  border: 0;
  box-sizing: border-box;
  align-content: center;
  gap: 2px;
  z-index: 1;
}

.concentration-stat-cell span,
.concentration-stat-cell strong {
  display: block;
}

.concentration-stat-cell strong {
  margin-top: 0;
  font-size: 14px;
}

.concentration-stat-cell.range {
  left: 0;
  width: 100px;
}

.concentration-stat-cell.top10 {
  top: 34px;
  height: 120px;
  background: #eeeeee;
}

.concentration-stat-cell.eleven {
  top: 154px;
  height: 120px;
  background: #eeeeee;
}

.concentration-stat-cell.twentyone {
  top: 274px;
  height: 360px;
  background: #eeeeee;
}

.concentration-stat-cell.aggregate {
  background: #d6d6d6;
}

.concentration-stat-cell.top20 {
  left: 100px;
  top: 34px;
  width: 100px;
  height: 240px;
  background: #d6d6d6;
}

.concentration-stat-cell.top50 {
  left: 200px;
  top: 34px;
  width: 100px;
  height: 600px;
  background: #bdbdbd;
}

.customer-concentration-chart::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 34px;
  bottom: 0;
  pointer-events: none;
  z-index: 2;
  background:
    linear-gradient(#111111, #111111) 100px 0 / 1px 100% no-repeat,
    linear-gradient(#111111, #111111) 200px 0 / 1px 100% no-repeat,
    linear-gradient(#111111, #111111) 0 120px / 100px 1px no-repeat,
    linear-gradient(#111111, #111111) 0 240px / 200px 1px no-repeat;
}

.customer-concentration-monthly .report-line-chart-wrap {
  margin-top: 0;
}

.customer-concentration-monthly {
  display: grid;
  gap: 10px;
}

.customer-concentration-monthly .report-table-frame {
  display: grid;
  place-items: center;
  min-height: 238px;
  max-height: none;
  padding: 0;
  overflow: visible;
}

.concentration-small-multiples {
  padding: 7px 12px 8px;
}

.concentration-mini-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
  margin-top: 6px;
}

.concentration-mini-chart {
  display: block;
  width: 100%;
  height: auto;
}

.chart-mini-frame {
  fill: #fbfcfe;
  stroke: #8d9aaa;
  stroke-width: 1;
}

.chart-mini-title {
  fill: #1f2733;
  font-size: 13px;
  font-weight: 900;
  text-anchor: middle;
}

.chart-label.compact {
  font-size: 9px;
}

.chart-label.compact.dense {
  font-size: 7.5px;
}

.concentration-small-multiples .report-chart-legend {
  gap: 8px 18px;
  margin-top: 6px;
  font-size: 14px;
}

.concentration-small-multiples .report-chart-legend i {
  width: 12px;
  height: 12px;
}

.customer-concentration-monthly .report-table-frame th,
.customer-concentration-monthly .report-table-frame td {
  text-align: center;
}

.customer-concentration-monthly .report-table-frame table {
  margin-top: 0;
  margin-bottom: 0;
  border-bottom: 1px solid #aab8c9;
}

.customer-concentration-monthly .report-table-frame tbody tr:last-child td {
  border-bottom: 1px solid #aab8c9;
}

.concentration-small-multiples .chart-point-label {
  font-size: 11px;
}

.concentration-small-multiples.is-dense .chart-point-label {
  font-size: 10px;
}

.region-summary-chart {
  max-width: 980px;
}

.report-distribution-section .region-summary-chart,
.report-pie-card {
  width: min(100%, 1100px);
  margin-right: auto;
  margin-left: auto;
}

.report-pie-card {
  padding: 16px 18px 18px;
  border: 1.5px solid #8d9aaa;
  border-radius: 8px;
  background: #fbfcfe;
}

.report-pie-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-top: 10px;
}

.report-pie-chart {
  display: block;
  width: 280px;
  height: 280px;
}

.pie-center-label {
  fill: #59677a;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.pie-center-value {
  fill: #1f2733;
  font-size: 17px;
  font-weight: 900;
}

.report-pie-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
}

.report-pie-legend div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding-bottom: 7px;
  border-bottom: 1px solid #d7e0eb;
  color: #1f2733;
  font-size: 14px;
}

.report-pie-legend span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-pie-legend i {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 999px;
}

.report-pie-legend strong {
  font-size: 14px;
  font-weight: 900;
  text-align: right;
}

.report-pie-legend em {
  color: #59677a;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  text-align: right;
}

.analytics-panel {
  display: grid;
  gap: 14px;
}

.analytics-heading {
  align-items: center;
}

.analytics-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.analytics-actions .genesis-action-button {
  --genesis-action-width: 96px;
  --genesis-action-height: 32px;
}

.analytics-mode-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.analytics-mode-card {
  min-height: 96px;
  display: grid;
  gap: 7px;
  align-content: start;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.analytics-mode-card:hover,
.analytics-mode-card.active {
  border-color: rgba(56, 114, 225, 0.42);
  background: #f4f8ff;
}

.analytics-mode-card strong {
  color: var(--navy);
  font-size: 14px;
}

.analytics-mode-card span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.analytics-embed-shell {
  display: grid;
  gap: 10px;
}

.analytics-embed-message {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #d8e3ef;
  border-radius: 8px;
  background: #f8fbff;
  color: var(--muted);
  font-size: 13px;
}

.analytics-embed-message strong {
  color: var(--navy);
  font-size: 14px;
}

.analytics-embed-shell iframe {
  display: none;
  width: 100%;
  min-height: 680px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.analytics-embed-shell.can-embed iframe {
  display: block;
}

.analytics-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.analytics-info-card {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.analytics-info-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 15px;
}

.analytics-info-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.analytics-list-row {
  display: grid;
  gap: 3px;
  padding: 8px 0;
  border-bottom: 1px solid #edf2f7;
}

.analytics-list-row:last-child {
  border-bottom: 0;
}

.analytics-list-row strong {
  color: var(--ink);
  font-size: 13px;
}

.analytics-list-row span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.report-bar-row {
  display: grid;
  grid-template-columns: minmax(90px, 160px) minmax(100px, 1fr) minmax(80px, auto);
  gap: 8px;
  align-items: center;
  min-height: 24px;
}

.report-bar-label {
  overflow: hidden;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-bar-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef6;
}

.report-bar-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--royal), var(--teal));
}

.report-bar-value {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.report-dashboard-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.panel-lite {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.panel-lite h3 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  max-width: min(420px, calc(100vw - 48px));
  padding: 12px 14px;
  border-radius: 8px;
  background: var(--navy);
  color: #ffffff;
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
  font-size: 13px;
  font-weight: 700;
}

.toast.visible {
  opacity: 1;
  transform: translateY(0);
}

.confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 3200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.confirm-modal.active {
  display: flex;
}

.confirm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(31, 39, 51, 0.42);
}

.confirm-card {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  padding: 20px;
  border: 1px solid #d8e2ee;
  border-radius: var(--dialog-radius);
  background: #ffffff;
  box-shadow: 0 24px 64px rgba(31, 39, 51, 0.24);
}

.confirm-card:has(.lifecycle-event-dialog) {
  width: min(860px, 100%);
}

.confirm-card:has(.genesis-dialog-result) {
  width: min(640px, 100%);
}

.confirm-card h2 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 18px;
}

.confirm-card p {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}

.confirm-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.genesis-dialog-result {
  display: grid;
  gap: 12px;
}

.genesis-dialog-result-note {
  display: block;
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
}

.genesis-dialog-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.genesis-dialog-result-item {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
  border: 1px solid #d8e3f0;
  border-radius: 7px;
  background: #fbfdff;
}

.genesis-dialog-result-item strong {
  color: var(--navy);
  font-size: 16px;
  font-weight: 950;
  line-height: 1;
}

.genesis-dialog-result-item span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

.amount-negative {
  color: #b34047;
  font-weight: 800;
}

.amount-positive {
  color: var(--navy);
  font-weight: 800;
}

.import-match-panel {
  margin-bottom: 14px;
  width: 100%;
}

.compact-panel-heading {
  gap: 12px;
  padding-bottom: 8px;
}

.import-match-toolbar {
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 8px 0 10px;
}

.import-match-toolbar select,
.import-match-toolbar input {
  height: 32px;
}

.import-match-toolbar select {
  min-width: 132px;
}

.import-match-toolbar input {
  width: min(360px, 36vw);
}

.import-match-refresh-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 98px;
  border-color: #087568;
  background: #087568;
  color: #ffffff;
}

.import-match-refresh-button:hover:not(:disabled) {
  border-color: #075f55;
  background: #075f55;
}

.import-match-refresh-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.25;
}

.import-match-summary {
  justify-content: flex-end;
}

.import-match-table-frame {
  max-height: 390px;
  width: 100%;
}

.import-match-table-frame table {
  width: 100%;
  min-width: 940px;
  table-layout: fixed;
}

.import-match-sync-status {
  margin: 4px 0 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}

.import-match-sync-status[data-tone="running"] {
  color: #8a5a00;
}

.import-match-sync-status[data-tone="success"] {
  color: #087568;
}

.import-match-sync-status[data-tone="error"] {
  color: #a12d2d;
}

.import-match-action-cell {
  min-width: 174px;
  overflow: visible !important;
}

.import-match-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  width: max-content;
  white-space: nowrap;
}

#importMatchTable {
  font-size: 10px;
}

#importMatchTable th,
#importMatchTable td {
  padding: 2px 4px;
  line-height: 1.05;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#importMatchTable col.import-match-col-action {
  width: 174px;
}

#importMatchTable col.import-match-col-status {
  width: 66px;
}

#importMatchTable col.import-match-col-date {
  width: 68px;
}

#importMatchTable col.import-match-col-amount {
  width: 82px;
}

#importMatchTable col.import-match-col-type {
  width: 58px;
}

#importMatchTable col.import-match-col-source {
  width: 72px;
}

#importMatchTable col.import-match-col-account {
  width: 184px;
}

#importMatchTable col.import-match-col-confidence {
  width: 78px;
}

#importMatchTable col.import-match-col-description {
  width: auto;
}

#importMatchTable thead th {
  vertical-align: middle;
}

#importMatchTable thead tr.table-action-row th {
  border-bottom: 2px solid var(--table-border);
  box-shadow: inset 0 -1px 0 var(--table-border);
}

#importMatchTable td:first-child,
#importMatchTable th:first-child {
  overflow: visible;
}

.match-account-select {
  display: grid;
  gap: 4px;
}

.match-account-select input {
  min-width: 0;
  width: 100%;
  height: 22px;
  padding: 2px 4px;
  font-size: 10px;
}

.match-confidence {
  font-weight: 800;
  color: var(--navy);
}

#importMatchTable .status-pill {
  min-height: 18px;
  padding: 1px 5px;
  font-size: 9px;
  line-height: 1;
}

.match-description-cell {
  max-width: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.import-match-description-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-height: 20px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.import-match-description-button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.import-match-description-button svg {
  width: 14px;
  height: 14px;
  color: var(--royal);
  stroke-width: 2.2;
}

.import-match-description-button:hover span {
  text-decoration: underline;
}

.import-match-detail-card {
  width: min(940px, 94vw);
  height: min(82vh, 760px);
}

.import-match-detail-grid {
  display: grid;
  gap: 12px;
}

.import-match-detail-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px 10px;
}

.import-match-detail-field {
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid #d8e3f0;
  border-radius: 6px;
  background: #fbfdff;
}

.import-match-detail-field span {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.import-match-detail-field strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.import-match-detail-section {
  display: grid;
  gap: 6px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.import-match-detail-section h3 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
  font-weight: 950;
}

.import-match-diagnostic-list {
  margin: 0;
  padding-left: 18px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}

.import-match-detail-section textarea {
  width: 100%;
  min-height: 112px;
  resize: vertical;
  border: 1px solid #9fb0c4;
  border-radius: 7px;
  padding: 8px;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  line-height: 1.35;
}

.import-match-detail-section pre {
  max-height: 220px;
  margin: 0;
  overflow: auto;
  border: 1px solid #d8e3f0;
  border-radius: 7px;
  padding: 8px;
  background: #f8fbff;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.35;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.import-match-wizard-card {
  width: 90vw;
  height: 90vh;
  max-width: 90vw;
  max-height: 90vh;
  display: grid;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.import-match-wizard-summary {
  justify-content: flex-start;
  margin: 0 0 8px;
}

.wizard-steps {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.wizard-step {
  border: 1px solid var(--navy);
  border-radius: 999px;
  padding: 5px 12px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
  background: #ffffff;
}

.wizard-step.active {
  background: var(--navy);
  color: var(--cream);
}

.import-match-wizard-step {
  min-height: 0;
  overflow: auto;
}

.import-match-wizard-grid {
  grid-template-columns: minmax(260px, 1.4fr) repeat(4, minmax(130px, 0.7fr));
  align-items: end;
}

.import-match-wizard-grid label.wide {
  grid-column: 1 / -1;
}

.import-match-invoice-frame {
  max-height: calc(90vh - 360px);
}

.import-match-wizard-footer {
  align-items: center;
  justify-content: flex-end;
  margin-top: 10px;
}

.controlled-picklist-menu {
  position: absolute;
  z-index: 2500;
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid var(--navy);
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0 14px 28px rgba(49, 65, 82, 0.18);
  padding: 4px;
}

.controlled-picklist-option {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--ink);
  padding: 7px 9px;
  text-align: left;
  cursor: pointer;
}

.controlled-picklist-option:hover,
.controlled-picklist-option.active {
  background: #eaf4ff;
}

.controlled-picklist-primary {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}

.controlled-picklist-secondary {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.controlled-picklist-empty {
  padding: 10px;
  color: var(--muted);
  font-weight: 700;
}

@media (max-width: 1180px) {
  .message-delivery-overview {
    gap: 6px;
  }

  .message-delivery-kpi {
    padding: 8px;
    min-height: 74px;
  }

  .message-delivery-kpi span,
  .message-delivery-kpi small {
    font-size: 9px;
  }

  .message-delivery-kpi strong {
    font-size: 21px;
  }

  .message-delivery-day-chart {
    padding-left: 8px;
    padding-right: 8px;
  }

  .message-delivery-day {
    grid-template-rows: 132px 16px;
    padding-inline: 1px;
  }

  .message-delivery-day-stack {
    width: min(100%, 14px, var(--message-delivery-bar-width, 14px));
  }

  .message-delivery-day-label {
    visibility: hidden;
  }

  .message-delivery-day.week-anchor .message-delivery-day-label {
    visibility: visible;
  }
}

@media (max-width: 720px) {
  .message-delivery-overview {
    gap: 4px;
  }

  .message-delivery-kpi {
    border-left-width: 3px;
    padding: 7px 5px;
    min-height: 68px;
  }

  .message-delivery-kpi span,
  .message-delivery-kpi small {
    font-size: 7.5px;
    line-height: 1.12;
  }

  .message-delivery-kpi strong {
    font-size: clamp(14px, 3.8vw, 18px);
    line-height: 1.05;
  }

  .message-delivery-panel-title {
    display: grid;
  }

  .message-delivery-legend {
    justify-content: start;
  }

  .message-delivery-day-chart {
    padding-left: 6px;
    padding-right: 6px;
  }

  .message-delivery-day {
    grid-template-rows: 112px 16px;
  }

  .message-delivery-day-stack {
    width: min(100%, 10px, var(--message-delivery-bar-width, 10px));
  }

  .message-delivery-card-counts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
  }

  .message-delivery-card-counts div {
    padding: 5px 3px;
  }

  .message-delivery-card-counts span {
    font-size: 7.5px;
  }

  .message-delivery-card-counts strong {
    font-size: 14px;
  }

  .message-delivery-meter {
    grid-template-columns: 104px minmax(0, 1fr) 48px;
  }
}

@media (max-width: 920px) {
  .app-shell,
  .app-shell.collapsed {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: relative;
    height: auto;
    flex-direction: row;
    align-items: center;
    overflow-x: auto;
    scrollbar-width: none;
  }

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

  .brand img {
    width: 110px;
  }

  .sidebar-toggle,
  .sidebar-resize-handle,
  .legacy-link {
    display: none;
  }

  .nav {
    display: flex;
    gap: 5px;
    min-width: max-content;
    padding: 0 2px 2px;
  }

  .nav-item {
    flex: 0 0 auto;
    width: auto;
    grid-template-columns: 22px max-content;
    min-height: 32px;
    max-width: 230px;
    padding: 4px 8px;
    border: 1px solid #dce6f2;
    background: #ffffff;
  }

  .nav-item.child {
    display: none;
    width: auto;
    margin-left: 0;
    grid-template-columns: 20px max-content;
  }

  .nav-item.child.submenu-visible {
    display: grid;
  }

  .nav-item.submenu-open {
    border-color: #b8cef0;
    background: #eef5ff;
    color: var(--royal);
  }

  .nav-section-label {
    display: none;
  }

  .nav-label {
    display: block;
    max-width: 168px;
    font-size: 11px;
  }

  .nav-icon {
    width: 20px;
    height: 20px;
  }

  .nav-item.child .nav-icon {
    width: 18px;
    height: 18px;
  }

  .topbar {
    position: relative;
    height: auto;
    align-items: flex-start;
    padding: 18px;
  }

  .content {
    padding: 18px;
  }

  .site-special-message {
    margin: 10px 18px 0;
  }

  .genesis-footer {
    margin: 0 18px 18px;
  }

  .footer-inner {
    align-items: center;
    gap: 16px;
  }

  .footer-brand-block {
    flex-direction: column;
  }

  .ar-treatment-grid {
    grid-template-columns: 1fr;
  }

  .special-message-preview-grid {
    grid-template-columns: 1fr;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .records-layout {
    grid-template-columns: 1fr;
  }

  .records-toolbar input {
    width: 100%;
  }

  .process-form-grid,
  .process-review-heading {
    grid-template-columns: 1fr;
  }

  .process-form-grid label:nth-last-child(-n + 2) {
    grid-column: auto;
  }

  .process-review-heading,
  .process-footer {
    display: grid;
  }

  .process-total-card {
    text-align: left;
  }

  .dashboard-hero,
  .dashboard-grid,
  .dashboard-grid.secondary,
  .dashboard-side-stack,
  .report-picker-grid,
  .ar-ledger-filter-grid,
  .report-monthly-section,
  .report-dashboard-grid,
  .analytics-info-grid,
  .genesis-home-logo {
    grid-template-columns: 1fr;
  }

  .ar-ledger-filter-grid {
    grid-template-areas:
      "date"
      "start"
      "type"
      "search"
      "limit"
      "custom"
      "run"
      "account";
  }

  .report-criteria-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-hero {
    display: grid;
    padding: 20px;
  }

  .dashboard-metrics {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }

  .settings-shortcut-grid {
    grid-template-columns: 1fr;
  }

  .payment-automation-panel {
    grid-template-columns: 1fr;
  }

  .template-edit-form {
    grid-template-columns: 1fr;
  }

  .account-message-layout,
  .message-delivery-grid,
  .account-info-layout,
  .contract-batch-upload-form,
  .contract-review-layout,
  .contract-reassign-form,
  .rule-editor-form,
  .message-compose-grid,
  .payment-link-grid,
  .sales-data-profile-grid,
  .sales-data-import-controls,
  .sales-data-import-map,
  .sales-data-import-map-heading,
  .sales-data-import-map-row {
    grid-template-columns: 1fr;
  }

  #salesDataOverviewStrip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contract-review-summary,
  .contract-review-toolbar,
  .contract-review-detail-grid {
    grid-template-columns: 1fr;
  }

  .account-data-grid,
  .account-data-section.account-section-identity .account-data-grid,
  .account-data-section.account-section-email .account-data-grid,
  .account-data-section.account-section-address .account-data-grid,
  .account-data-section.account-section-contact .account-data-grid,
  .account-data-section.account-section-lifecycle .account-data-grid,
  .account-data-section.account-section-lifecycle-notes .account-data-grid {
    grid-template-columns: 1fr;
  }

  .account-data-grid .span-2,
  .account-data-grid .span-3,
  .account-data-grid .span-4,
  .account-data-grid .span-full,
  .account-data-section.account-section-address .address-line-field,
  .account-data-section.account-section-address .address-city-field,
  .account-data-section.account-section-address .address-state-field,
  .account-data-section.account-section-address .address-zip-field,
  .account-data-section.account-section-address .address-country-field {
    grid-column: auto;
  }

  .account-data-section.account-section-lifecycle-notes .account-display-field-active-flag,
  .account-data-section.account-section-lifecycle-notes .account-display-field-account-type,
  .account-data-section.account-section-lifecycle-notes .account-display-field-termination-date,
  .account-data-section.account-section-lifecycle-notes .account-display-field-termination-reason,
  .account-data-section.account-section-lifecycle-notes .account-display-field-notes {
    grid-area: auto;
  }

  .account-aging-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payment-link-form input {
    width: 100%;
  }

  .revenue-chart {
    overflow-x: auto;
    grid-template-columns: repeat(4, minmax(88px, 1fr));
  }

  .sidebar-bottom {
    display: flex;
    margin-top: 0;
  }
}

.sales-proposal-action-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 6px;
  align-items: end;
}

.sales-proposal-builder-full {
  width: 100%;
}

.sales-proposal-title-number {
  color: #000;
  font: inherit;
  font-weight: inherit;
  letter-spacing: 0;
  white-space: nowrap;
}

.sales-proposal-action-grid-full {
  grid-template-columns: repeat(6, minmax(150px, 1fr));
}

.sales-proposal-action-grid label {
  display: grid;
  gap: 2px;
  min-width: 0;
  font-size: 10px;
  font-weight: 800;
  color: var(--muted);
  text-transform: uppercase;
}

.sales-proposal-action-grid input,
.sales-proposal-action-grid select,
.sales-proposal-line-builder input,
.sales-proposal-line-builder select {
  min-width: 0;
  width: 100%;
  height: 28px;
  font-size: 11px;
}

.sales-proposal-control-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.sales-proposal-builder-config {
  display: grid;
  gap: 6px;
}

.sales-proposal-builder-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sales-proposal-builder-title-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.sales-proposal-builder-title-row h4 {
  margin: 0;
}

.sales-proposal-builder-toggle-caption,
.sales-proposal-draft-line-count {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.sales-proposal-workspace-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sales-proposal-workspace-toggle .sales-proposal-header-action-button {
  --genesis-action-width: 90px;
}

.sales-proposal-control-group {
  margin: 0;
  border: 1px solid #c6d7eb;
  border-radius: 6px;
  padding: 6px 7px 7px;
  background: #fbfdff;
  display: grid;
  gap: 5px;
  align-content: start;
  min-width: 0;
}

.sales-proposal-control-group legend {
  justify-self: center;
  padding: 0 4px;
  color: var(--royal);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

.sales-proposal-group-actions {
  margin-top: 2px;
  gap: 4px;
  flex-wrap: wrap;
}

.sales-proposal-group-actions .quiet-button,
.sales-proposal-group-actions .primary-button {
  min-width: 88px;
  min-height: 28px;
  padding: 0 10px;
  font-size: 11px;
}

.genesis-action-button,
.sales-proposal-builder-action-button {
  --proposal-action-color: #006ec8;
  --proposal-action-hover-bg: #f2f8ff;
  --genesis-action-width: 108px;
  --genesis-action-height: 36px;
  aspect-ratio: 3 / 1;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  justify-items: stretch;
  gap: 6px;
  width: var(--genesis-action-width);
  max-width: 100%;
  min-width: 0;
  height: var(--genesis-action-height);
  min-height: var(--genesis-action-height);
  border: 1.5px solid var(--proposal-action-color);
  border-radius: 7px;
  padding: 3px 7px 3px 4px;
  background: #ffffff;
  box-shadow: none;
  color: var(--proposal-action-color);
  cursor: pointer;
  font-size: 9.5px;
  font-weight: 500;
  line-height: 1.05;
  text-align: left;
  text-transform: uppercase;
  white-space: normal;
}

a.genesis-action-button {
  text-decoration: none;
}

.genesis-action-button:hover,
.sales-proposal-builder-action-button:hover {
  background: var(--proposal-action-hover-bg);
}

.genesis-action-button:focus-visible,
.sales-proposal-builder-action-button:focus-visible {
  outline: 2px solid rgba(39, 89, 182, 0.35);
  outline-offset: 2px;
}

.genesis-action-button:disabled,
.sales-proposal-builder-action-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.genesis-action-button.is-working,
.sales-proposal-builder-action-button.is-working {
  opacity: 0.72;
}

.genesis-action-blue,
.sales-proposal-builder-action-blue {
  --proposal-action-color: #0072ce;
  --proposal-action-hover-bg: #eef7ff;
}

.genesis-action-green,
.sales-proposal-builder-action-green {
  --proposal-action-color: #2f9e26;
  --proposal-action-hover-bg: #f0fbef;
}

.genesis-action-orange,
.sales-proposal-builder-action-orange {
  --proposal-action-color: #c44f11;
  --proposal-action-hover-bg: #fff3ec;
}

.genesis-action-red,
.sales-proposal-builder-action-red {
  --proposal-action-color: #c8343c;
  --proposal-action-hover-bg: #fff0f1;
}

.genesis-action-black,
.sales-proposal-builder-action-black {
  --proposal-action-color: #111827;
  --proposal-action-hover-bg: #f3f4f6;
}

.sales-proposal-builder-action-button.sales-proposal-crosscheck-button {
  display: grid;
}

.genesis-header-action-button,
.sales-proposal-header-action-button {
  --genesis-action-width: 90px;
  --genesis-action-height: 30px;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 5px;
  border-width: 1.5px;
  border-radius: 6px;
  padding: 3px 7px 3px 5px;
  font-size: 9.5px;
}

.genesis-header-action-button .genesis-action-icon,
.sales-proposal-header-action-button .sales-proposal-action-icon {
  width: 21px;
  height: 21px;
}

.sales-proposal-mode-action.is-active {
  background: #ffffff;
  box-shadow: none;
}

.genesis-action-icon,
.sales-proposal-action-icon {
  display: grid;
  place-items: center;
  justify-self: center;
  width: 23px;
  height: 23px;
  border-radius: 0;
  background: #ffffff;
  color: var(--proposal-action-color);
  box-shadow: none;
}

.genesis-action-icon svg,
.sales-proposal-action-icon svg {
  display: block;
  width: 86%;
  height: 86%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
  shape-rendering: geometricPrecision;
}

.genesis-action-icon svg *,
.sales-proposal-action-icon svg * {
  vector-effect: non-scaling-stroke;
}

.genesis-action-icon svg .filled,
.sales-proposal-action-icon svg .filled {
  fill: currentColor;
  stroke: none;
}

.genesis-action-icon svg .contrast-stroke,
.sales-proposal-action-icon svg .contrast-stroke {
  stroke: #ffffff;
}

.sales-proposal-action-icon-verify svg {
  stroke-width: 3;
}

.sales-proposal-action-icon-wizard svg,
.sales-proposal-action-icon-prices svg {
  stroke-width: 2.35;
}

.genesis-action-label,
.sales-proposal-action-label {
  display: grid;
  align-items: center;
  justify-items: center;
  justify-self: stretch;
  min-width: 0;
  color: inherit;
  line-height: 1.02;
  text-align: center;
}

.genesis-action-label span,
.sales-proposal-action-label span {
  display: block;
}

.genesis-topbar-action-button {
  grid-template-columns: 24px minmax(0, 1fr);
  width: 90px;
  height: 30px;
  min-height: 30px;
  border-width: 1.5px;
  border-radius: 7px;
  padding: 3px 7px 3px 5px;
  font-size: 9.5px;
}

.genesis-topbar-action-button .genesis-action-icon {
  width: 22px;
  height: 22px;
  border-radius: 0;
}

.genesis-topbar-action-button .genesis-action-label {
  display: inline-grid;
  grid-auto-flow: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

.genesis-topbar-action-button .genesis-action-label span {
  display: inline-block;
}

.genesis-toolbar-action-button {
  --genesis-action-width: 90px;
  --genesis-action-height: 30px;
  grid-template-columns: 21px minmax(0, 1fr);
  gap: 5px;
  border-width: 1.5px;
  border-radius: 7px;
  padding: 3px 7px 3px 4px;
  font-size: 9.5px;
}

.genesis-toolbar-action-button .genesis-action-icon {
  width: 21px;
  height: 21px;
  border-radius: 0;
}

.genesis-row-action-button {
  --genesis-action-width: 66px;
  --genesis-action-height: 22px;
  display: inline-grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 3px;
  border-width: 1px;
  border-radius: 5px;
  padding: 2px 5px 2px 2px;
  font-size: 7.75px;
  line-height: 1;
}

.genesis-row-action-button .genesis-action-icon {
  width: 14px;
  height: 14px;
}

.genesis-row-action-button .genesis-action-icon svg {
  stroke-width: 2.45;
}

.sales-account-action-button,
.sales-account-wide-action-button {
  --genesis-action-width: 108px;
  --genesis-action-height: 34px;
}

.sales-account-workspace-actions {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.sales-account-workspace-actions .sales-account-action-button,
.sales-account-workspace-actions .sales-proposal-header-action-button,
.sales-detail-heading .sales-account-action-button,
.account-data-section-header .sales-account-action-button,
.sales-opportunity-header .sales-account-action-button,
.sales-inline-editor-top-actions .sales-account-action-button,
.sales-metadata-actions .sales-account-action-button,
.sales-account-billing-bridge-actions .sales-account-action-button {
  flex: 0 0 var(--genesis-action-width);
}

.sales-account-linked-open-cell {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
}

.sales-account-linked-open-cell > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-message-attachment-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 3px 7px;
  border: 1px solid #c6d4e2;
  border-radius: 6px;
  background: #f7fbff;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.sales-message-attachment-pill svg {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  stroke: currentColor;
}

.row-action-cell {
  text-align: left !important;
  white-space: nowrap;
}

.row-action-cell .genesis-row-action-button + .genesis-row-action-button {
  margin-left: 2px;
}

.genesis-topbar-action-button.header-todo-button {
  --genesis-action-width: 96px;
  --genesis-action-height: 32px;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 4px;
}

.genesis-topbar-action-button.header-todo-button .genesis-action-label {
  display: grid;
  grid-auto-flow: row;
  align-content: center;
  justify-content: stretch;
  justify-items: center;
  gap: 1px;
}

.genesis-topbar-action-button.header-todo-button .genesis-action-label span {
  display: block;
}

.genesis-topbar-action-button.header-todo-button .genesis-action-count {
  max-width: 100%;
  min-width: 16px;
  padding: 0 3px;
  box-sizing: border-box;
  font-size: 8.5px;
  line-height: 1.15;
  white-space: nowrap;
}

.sales-proposal-management-mini-action {
  --genesis-action-width: 108px;
  --genesis-action-height: 36px;
}

.sales-proposal-management-action-row {
  align-items: center;
  gap: 6px;
}

.sales-proposal-builder-full .sales-proposal-builder-action-button {
  --genesis-action-width: 108px;
  --genesis-action-height: 36px;
  font-weight: 500;
}

.sales-proposal-builder-full .sales-proposal-header-action-button {
  grid-template-columns: 21px minmax(0, 1fr);
  --genesis-action-width: 90px;
  --genesis-action-height: 30px;
  border-width: 1.5px;
  padding: 2px 6px 2px 4px;
  font-size: 8.5px;
}

.sales-proposal-builder-full .sales-proposal-action-icon {
  box-shadow: none;
}

.sales-proposal-builder-full .sales-proposal-header-action-button .sales-proposal-action-icon {
  width: 20px;
  height: 20px;
}

.sales-proposal-edit-method-actions {
  justify-content: center;
  display: grid;
  grid-template-columns: minmax(106px, 108px);
  grid-auto-rows: 36px;
  align-content: space-between;
  gap: 6px;
  min-height: 170px;
}

.sales-proposal-edit-method-actions .quiet-button,
.sales-proposal-edit-method-actions .primary-button,
.sales-proposal-edit-method-actions .success-button {
  width: 100%;
  height: 34px;
  min-height: 34px;
}

.sales-proposal-discount-field {
  align-items: center;
  justify-items: center;
  text-align: center;
}

.sales-proposal-discount-field input {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px;
}

.sales-proposal-discount-actions,
.sales-proposal-price-actions {
  justify-content: center;
}

.sales-proposal-discount-actions .sales-proposal-builder-action-button,
.sales-proposal-price-actions .sales-proposal-builder-action-button {
  --genesis-action-width: 108px;
  --genesis-action-height: 36px;
}

.sales-proposal-custom-payment-terms {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  align-self: stretch;
  justify-items: start;
  border-top: 1px solid var(--line);
  margin-top: 4px;
  padding-top: 7px;
}

.sales-proposal-custom-payment-terms > strong {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
}

.sales-proposal-custom-payment-terms .sales-proposal-checkbox {
  min-height: 20px;
  padding-top: 0;
}

.sales-proposal-checkbox {
  align-self: center;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 7px;
  min-height: 24px;
  padding-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: none;
}

.sales-proposal-checkbox input[type="checkbox"] {
  flex: 0 0 auto;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  margin: 0;
  transform: none !important;
}

.sales-proposal-checkbox span {
  min-width: 0;
  white-space: nowrap;
}

.sales-proposal-catalog-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px 10px;
  background: #fbfdff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.sales-proposal-action-grid .span-full {
  grid-column: 1 / -1;
}

.sales-proposal-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.sales-proposal-total-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 7px;
}

.sales-proposal-total-strip div {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  min-width: 0;
}

.sales-proposal-total-strip span,
.sales-proposal-meta-grid span {
  display: block;
  font-size: 10px;
  font-weight: 800;
  color: var(--muted);
  text-transform: uppercase;
}

.sales-proposal-total-strip strong,
.sales-proposal-meta-grid strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink);
}

.sales-proposal-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.sales-proposal-meta-grid div {
  border-bottom: 1px solid var(--line);
  padding-bottom: 5px;
}

.sales-proposal-template-list {
  margin-top: 10px;
}

.sales-proposal-management-totals {
  grid-template-columns: repeat(6, minmax(108px, 1fr));
}

.sales-proposal-management-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.sales-proposal-management-main,
.sales-proposal-management-detail {
  min-width: 0;
}

.sales-proposal-management-template-fields {
  grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.sales-proposal-management-detail {
  position: static;
}

.sales-proposal-management-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: end;
  margin-bottom: 8px;
}

.sales-proposal-toolbar-field {
  display: grid;
  gap: 2px;
  min-width: 130px;
  max-width: 320px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.sales-proposal-toolbar-field input,
.sales-proposal-toolbar-field select {
  height: 31px;
  min-width: 0;
}

.sales-proposal-toolbar-name {
  min-width: 240px;
  max-width: 360px;
}

.sales-proposal-management-toolbar .compact-button {
  min-height: 31px;
  padding: 6px 11px;
}

.sales-proposal-management-control-groups {
  grid-template-columns: minmax(240px, 0.9fr) minmax(260px, 1fr) minmax(260px, 1fr);
}

.sales-proposal-management-control-groups .sales-proposal-control-group,
.sales-proposal-management-control-groups .sales-proposal-control-group label {
  min-width: 0;
}

.sales-proposal-management-control-groups .sales-proposal-control-group input,
.sales-proposal-management-control-groups .sales-proposal-control-group select {
  min-width: 0;
  width: 100%;
  height: 31px;
}

.sales-proposal-management-control-groups .sales-proposal-group-actions {
  min-width: 0;
}

.sales-proposal-single-add {
  display: grid;
  gap: 2px;
  min-width: 220px;
  max-width: 360px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.sales-proposal-single-add select {
  min-width: 220px;
  height: 31px;
}

.numeric-input {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.sales-dialog-card.sales-proposal-preview-dialog {
  width: min(1360px, 96vw);
}

.sales-proposal-preview-print {
  display: grid;
  gap: 12px;
}

.pso-document {
  width: 1240px;
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 8.4px;
  line-height: 1.12;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  forced-color-adjust: none;
}

.pso-document * {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  forced-color-adjust: none;
}

.pso-logo-row {
  text-align: center;
  margin: 0 0 14px;
}

.pso-logo-row img {
  width: 112px;
  height: auto;
  object-fit: contain;
}

.pso-title {
  background: #d9e4f2;
  color: #234f86;
  border: 1px solid #000;
  border-bottom: 0;
  text-align: center;
  font-size: 18px;
  font-weight: 800;
  padding: 7px 8px;
}

.pso-info-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr .75fr;
  border: 1px solid #000;
  border-bottom: 0;
}

.pso-info-panel {
  border-right: 1px solid #000;
  min-width: 0;
}

.pso-info-panel:last-child {
  border-right: 0;
}

.pso-panel-title {
  color: #234f86;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  padding: 3px 4px;
  border-bottom: 1px solid #000;
}

.pso-field-row {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 5px;
  padding: 2px 6px;
}

.pso-field-row span:first-child {
  color: #234f86;
  font-size: 9.6px;
  font-weight: 800;
}

.pso-field-row strong {
  font-size: 9.4px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.pso-payment-link {
  color: #0b5cad;
  text-decoration: underline;
  text-underline-offset: 1px;
}

.pso-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid #000;
  font-size: 7.35px;
  line-height: 1.1;
}

.pso-table th,
.pso-table td {
  border: 1px solid #000;
  padding: 2px 3px;
  vertical-align: middle;
  overflow: hidden;
  overflow-wrap: break-word;
  word-break: break-word;
}

.pso-table thead th {
  background: #d8e0ea;
  color: #000;
  font-weight: 800;
  text-align: center;
}

.pso-table thead .pso-band {
  background: #d8e0ea;
  color: #004fb0;
  font-size: 9px;
}

.pso-table .pso-col-std,
.pso-table .pso-col-unit {
  background: #e8f2ff;
}

.pso-table .pso-col-ext {
  background: #eef7e9;
}

.pso-table .pso-col-discount {
  background: #fff0df;
}

.pso-table .pso-col-sell {
  background: #eaf6ea;
}

.pso-table .pso-col-tax {
  background: #fff4c9;
}

.pso-table .pso-col-total {
  background: #ddebd8;
  font-weight: 800;
}

.pso-table thead .pso-col-std,
.pso-table thead .pso-col-unit {
  background: #d8eafd;
  color: #003e73;
}

.pso-table thead .pso-col-ext {
  background: #dfefd8;
  color: #285b20;
}

.pso-table thead .pso-col-discount {
  background: #fde2c0;
  color: #73430c;
}

.pso-table thead .pso-col-sell {
  background: #d8edd8;
  color: #245622;
}

.pso-table thead .pso-col-tax {
  background: #ffe8a1;
  color: #6e4b00;
}

.pso-table thead .pso-col-total {
  background: #cfe3c9;
  color: #213f1e;
}

.pso-category-row td {
  background: #d9e4f2;
  color: #21558f;
  text-align: center;
  font-weight: 800;
  font-size: 10.4px;
  padding: 3px 4px;
}

.pso-table .numeric {
  text-align: right;
  white-space: nowrap;
  font-size: 8.4px;
}

.pso-table .centered {
  text-align: center;
}

.pso-table .pso-item-cell {
  text-align: left;
  white-space: normal;
}

.pso-software-table {
  font-size: 8.4px;
}

.pso-hardware-table {
  font-size: 8.4px;
}

.pso-line-total-cell {
  font-weight: 800;
}

.pso-total-row td {
  font-weight: 900;
  background: #f3f7fc;
  border-top: 2px solid #000;
}

.pso-total-row td.numeric {
  font-size: 7.25px;
  font-weight: 900;
}

.pso-section-title {
  border: 1px solid #000;
  border-top: 0;
  background: #d8e0ea;
  color: #005fc7;
  text-align: center;
  font-weight: 800;
  padding: 5px;
  font-size: 8.8px;
}

.pso-section-title-strong {
  margin-top: 0;
  border-top: 1px solid #000;
  background: #d9e4f2;
  color: #234f86;
  font-size: 14px;
  padding: 7px 8px;
}

.pso-section-title-spaced {
  margin-top: 14px;
}

.pso-special-body {
  border: 1px solid #000;
  border-top: 0;
  min-height: 22px;
  padding: 5px 8px;
  font-size: 8px;
  line-height: 1.25;
  font-weight: 500;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  text-align: left;
}

.pso-terms-body {
  border: 1px solid #000;
  border-top: 0;
  padding: 6px 8px;
  font-size: 8px;
  line-height: 1.25;
  text-align: justify;
}

.pso-terms-body-with-initial {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.pso-legal-text {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: inherit;
  line-height: inherit;
}

.pso-legal-text * {
  max-width: 100%;
  box-sizing: border-box;
  font-size: inherit !important;
  line-height: inherit !important;
}

.pso-legal-text p,
.pso-legal-text div {
  margin: 0 0 4px;
  white-space: normal;
}

.pso-legal-text p:last-child,
.pso-legal-text div:last-child {
  margin-bottom: 0;
}

.pso-legal-text-sm {
  font-size: 7.2px;
  line-height: 1.2;
}

.pso-legal-text-xs {
  font-size: 6.6px;
  line-height: 1.16;
}

.pso-grand-total-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid #000;
  border-top: 0;
  background: #eef4fb;
}

.pso-grand-total-strip div {
  display: grid;
  gap: 2px;
  padding: 5px 6px;
  border-right: 1px solid #000;
  text-align: right;
}

.pso-grand-total-strip div:last-child {
  border-right: 0;
  background: #dde9f5;
}

.pso-grand-total-strip span {
  color: #004fb0;
  font-weight: 800;
  text-transform: uppercase;
}

.pso-grand-total-strip strong {
  font-size: 9px;
}

.pso-payment-terms-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  border: 1px solid #000;
  border-top: 0;
}

.pso-payment-term {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  min-height: 42px;
  padding: 6px 8px;
  border-right: 1px solid #000;
  align-items: center;
}

.pso-payment-term:last-child {
  border-right: 0;
}

.pso-payment-term > div > strong {
  color: #004fb0;
  display: block;
  margin-bottom: 2px;
}

.pso-payment-term-body p,
.pso-payment-term-body div {
  margin: 0;
}

.pso-initial-block {
  display: grid;
  grid-template-columns: auto 46px;
  gap: 5px;
  align-items: end;
  color: #004fb0;
  font-weight: 800;
  white-space: nowrap;
}

.pso-initial-block-tagged {
  grid-template-columns: auto minmax(118px, max-content);
  align-items: center;
}

.pso-initial-block strong {
  position: relative;
  display: block;
  height: 14px;
  border-bottom: 1px solid #000;
}

.pso-initial-slot-tagged {
  min-width: 118px;
  height: 24px !important;
}

.pso-empty-lines {
  border: 1px solid #000;
  border-top: 0;
  padding: 14px;
  text-align: center;
  font-weight: 800;
}

.pso-signature-grid {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  border: 1px solid #000;
  border-top: 0;
}

.pso-signature-left {
  border-right: 1px solid #000;
  min-height: 110px;
}

.pso-signature-title,
.pso-contract-title {
  background: #d8e0ea;
  color: #005fc7;
  text-align: center;
  font-weight: 800;
  padding: 4px;
  border-bottom: 1px solid #000;
}

.pso-signature-lines {
  padding: 18px 14px 8px;
  display: grid;
  gap: 16px;
}

.pso-signature-line {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 72px minmax(0, 1fr);
  gap: 7px;
  align-items: end;
}

.pso-signature-line .pso-signature-slot {
  position: relative;
  display: block;
  border-bottom: 1px solid #000;
  min-height: 12px;
}

.pso-signature-slot-tagged {
  min-height: 18px;
}

.pso-signing-tag {
  position: absolute;
  left: 0;
  bottom: 3px;
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 5px;
  align-items: center;
  max-width: 100%;
  padding: 3px 7px;
  border: 1px solid #1f6fbe;
  border-radius: 4px;
  background: #e8f3ff;
  color: #164a7a;
  box-shadow: 0 1px 3px rgba(31, 39, 51, 0.16);
  font-size: 8px;
  line-height: 1;
  white-space: nowrap;
}

.pso-signing-tag.signature {
  border-color: #087f5b;
  background: #e9f8f1;
  color: #086346;
}

.pso-signing-tag.date {
  border-color: #9a5b00;
  background: #fff4dd;
  color: #6f4200;
}

.pso-signing-tag.initials {
  border-color: #6f42c1;
  background: #f3ecff;
  color: #4e2a89;
}

.pso-initial-block .pso-signing-tag {
  bottom: 2px;
  left: 0;
  width: 112px;
  max-width: none;
  grid-template-columns: minmax(0, 1fr) auto;
  white-space: normal;
  line-height: 1.05;
}

.pso-initial-block .pso-signing-tag span {
  overflow-wrap: anywhere;
}

.pso-signing-tag strong,
.pso-signing-tag span,
.pso-signing-tag small {
  font-size: inherit;
  line-height: 1;
}

.pso-contract-row {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  border-bottom: 1px solid #000;
  min-height: 21px;
}

.pso-contract-row:last-child {
  border-bottom: 0;
}

.pso-contract-row span:first-child {
  padding: 4px 6px;
  color: #004fb0;
  font-weight: 800;
  border-right: 1px solid #000;
}

.pso-contract-row strong {
  padding: 4px 6px;
  font-weight: 700;
}

.pso-special-body p,
.pso-terms-body p {
  margin: 0 0 6px;
}

.pso-special-body ul,
.pso-terms-body ul {
  margin: 4px 0 8px;
  padding-left: 18px;
}

.pso-special-body a,
.pso-terms-body a {
  color: #004fb0;
  text-decoration: underline;
}

.pso-table tr,
.pso-info-grid,
.pso-section-title,
.pso-special-body,
.pso-terms-body,
.pso-payment-terms-grid,
.pso-grand-total-strip,
.pso-signature-grid {
  break-inside: avoid;
  page-break-inside: avoid;
}

.sales-change-order-document {
  width: 980px;
  font-size: 12px;
  line-height: 1.25;
}

.sales-change-order-document .pso-title {
  font-size: 23px;
  padding: 9px 10px;
}

.sales-change-order-document .pso-info-grid {
  grid-template-columns: 1fr 1.05fr 1fr;
}

.sales-change-order-document .pso-panel-title {
  font-size: 13px;
  padding: 5px 6px;
}

.sales-change-order-document .pso-field-row {
  grid-template-columns: 112px minmax(0, 1fr);
  padding: 4px 7px;
}

.sales-change-order-document .pso-field-row span:first-child,
.sales-change-order-document .pso-field-row strong {
  font-size: 11px;
}

.sales-change-order-document .pso-section-title {
  font-size: 14px;
  padding: 8px;
}

.sales-change-order-document .pso-table {
  table-layout: auto;
  font-size: 10.8px;
  line-height: 1.22;
}

.sales-change-order-document .pso-table th,
.sales-change-order-document .pso-table td {
  padding: 5px 6px;
}

.sales-change-order-document .pso-table .numeric {
  font-size: 10.8px;
}

.sales-change-order-document .pso-table tfoot td {
  font-weight: 900;
  background: #f3f7fc;
}

.sales-change-order-document .pso-terms-body {
  font-size: 11.2px;
  line-height: 1.32;
  padding: 8px 10px;
}

.sales-change-order-document .pso-contract-row {
  grid-template-columns: 170px minmax(0, 1fr);
  min-height: 28px;
}

.sales-change-order-document .pso-signature-left {
  min-height: 132px;
}

@media print {
  .pso-document,
  .pso-document * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    forced-color-adjust: none;
  }
}

.sales-proposal-preview-frame {
  max-height: none;
  overflow-x: hidden;
}

.sales-proposal-preview-decision {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  padding: 10px 12px;
  border: 1px solid #c7d8eb;
  border-radius: 6px;
  background: #f5f8fb;
  margin-bottom: 12px;
}

.sales-dialog-card.sales-proposal-terms-dialog,
.sales-dialog-card.sales-proposal-execution-dialog {
  width: min(1120px, 96vw);
}

.sales-proposal-terms-grid {
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 10px 12px;
  margin-bottom: 12px;
}

.sales-proposal-terms-editors {
  display: grid;
  gap: 12px;
}

.proposal-legal-settings-group {
  gap: 12px;
}

.proposal-legal-settings-group .settings-group-heading {
  margin-bottom: 2px;
}

.proposal-legal-settings-group .sales-rich-text-editor-section {
  padding-top: 12px;
}

.proposal-legal-row {
  padding: 0;
}

.proposal-legal-row > .sales-rich-text-editor-section {
  width: 100%;
}

.proposal-tax-settings-group {
  gap: 12px;
}

.proposal-tax-nexus-editor {
  display: grid;
  gap: 10px;
}

.proposal-tax-nexus-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.proposal-tax-nexus-actions h4 {
  margin: 0 0 2px;
  color: var(--navy);
}

.proposal-tax-nexus-frame {
  max-height: 420px;
  overflow: auto;
}

.proposal-tax-nexus-table {
  min-width: 900px;
}

.proposal-tax-nexus-table input[type="text"],
.proposal-tax-nexus-table input:not([type]) {
  width: 100%;
  min-width: 0;
}

.proposal-tax-nexus-table td.centered {
  text-align: center;
}

.sales-proposal-execution-dialog .sales-dialog-grid {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 12px;
}

.sales-proposal-execution-dialog .sales-proposal-execution-status {
  margin: 0;
}

@media (max-width: 760px) {
  .sales-proposal-terms-grid,
  .sales-proposal-execution-dialog .sales-dialog-grid {
    grid-template-columns: 1fr;
  }

  .sales-dialog-card.sales-proposal-terms-dialog,
  .sales-dialog-card.sales-proposal-execution-dialog {
    width: min(96vw, 720px);
  }
}

.sales-execution-dialog-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #ffffff;
}

.sales-execution-dialog-summary strong,
.sales-execution-dialog-summary span {
  overflow-wrap: anywhere;
}

.sales-proposal-execution-status {
  border: 1px solid #c7d8eb;
  border-radius: 8px;
  background: #f7fafc;
  padding: 14px;
  margin: 10px 0;
}

.sales-execution-status-header,
.sales-signing-placement-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 14px;
  margin-bottom: 12px;
}

.sales-execution-status-header h4,
.sales-signing-placement-header h4 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 15px;
}

.sales-execution-status-header p,
.sales-signing-placement-header p {
  margin: 0;
  color: #52657a;
  font-size: 12px;
  line-height: 1.35;
}

.sales-execution-status-header > span,
.sales-signing-placement-header > span {
  flex: 0 0 auto;
  padding: 5px 10px;
  border: 1px solid #a9c6e5;
  border-radius: 999px;
  background: #eaf4ff;
  color: #164a7a;
  font-size: 12px;
  font-weight: 850;
}

.sales-execution-process-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 6px 0 12px;
}

.sales-execution-process-step {
  position: relative;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #cfdbea;
  border-radius: 6px;
  background: #ffffff;
  color: #43566e;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
}

.sales-execution-process-step::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -8px;
  width: 8px;
  border-top: 2px solid #c2d0e0;
}

.sales-execution-process-step:last-child::after {
  display: none;
}

.sales-execution-process-step span {
  display: block;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.sales-execution-process-step strong {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.sales-execution-process-step.complete {
  border-color: #78b08e;
  background: #edf8f1;
  color: #1f5d35;
}

.sales-execution-process-step.current {
  border-color: #80bde9;
  background: #eaf5ff;
  color: #164a7a;
}

.sales-execution-process-step.pending {
  background: #f8fafc;
  color: #6b7c90;
}

.sales-proposal-execution-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.sales-proposal-execution-timeline div,
.sales-signature-field-chip {
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #ffffff;
  padding: 8px 10px;
  min-width: 0;
}

.sales-proposal-execution-timeline span,
.sales-signature-field-chip span {
  display: block;
  color: #5b6b7e;
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

.sales-proposal-execution-timeline strong,
.sales-signature-field-chip strong {
  display: block;
  margin-top: 2px;
  color: #26384f;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.sales-proposal-execution-timeline small {
  display: block;
  margin-top: 5px;
  color: #6b7c90;
  font-size: 11px;
  line-height: 1.3;
}

.sales-execution-meta-grid {
  margin-top: 10px;
}

.sales-execution-activity-log {
  display: grid;
  gap: 6px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #ffffff;
}

.sales-execution-activity-log h5 {
  margin: 0 0 2px;
  color: var(--navy);
  font-size: 12px;
  text-transform: uppercase;
}

.sales-execution-log-row {
  display: grid;
  grid-template-columns: 120px minmax(160px, 0.4fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 6px 0;
  border-top: 1px solid #e6edf5;
}

.sales-execution-log-row span {
  color: #5b6b7e;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-execution-log-row strong {
  color: #26384f;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.sales-execution-log-row small {
  color: #607389;
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.sales-dialog-card.sales-proposal-execution-evidence-dialog {
  width: min(1180px, 96vw);
}

.sales-proposal-execution-evidence-dialog .sales-dialog-body {
  background: #f7fafc;
}

.sales-execution-evidence-view {
  display: grid;
  gap: 12px;
}

.sales-execution-evidence-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.sales-execution-evidence-section,
.sales-execution-evidence-raw {
  border: 1px solid #cddceb;
  border-radius: 7px;
  background: #ffffff;
  padding: 12px;
}

.sales-execution-evidence-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.sales-execution-evidence-heading h4 {
  margin: 0;
  color: var(--navy);
  font-size: 15px;
}

.sales-execution-evidence-heading > span {
  flex: 0 0 auto;
  border: 1px solid #b9cde1;
  border-radius: 999px;
  background: #eef5fc;
  color: #214c76;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-execution-evidence-heading > span.complete {
  border-color: #86bd98;
  background: #edf8f1;
  color: #1f5d35;
}

.sales-execution-evidence-heading > span.pending {
  background: #fff8e7;
  color: #76551c;
}

.sales-execution-evidence-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}

.sales-execution-evidence-card {
  min-width: 0;
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #ffffff;
  padding: 9px 10px;
}

.sales-execution-evidence-card.complete {
  border-color: #8ac09c;
  background: #f1faf4;
}

.sales-execution-evidence-card.problem {
  border-color: #ef9f98;
  background: #fff5f4;
}

.sales-execution-evidence-card.pending {
  background: #fbfdff;
}

.sales-execution-evidence-card span {
  display: block;
  color: #5b6b7e;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-execution-evidence-card strong {
  display: block;
  margin-top: 3px;
  color: #26384f;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.sales-execution-evidence-card small {
  display: block;
  margin-top: 4px;
  color: #607389;
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.sales-execution-evidence-table-frame {
  max-height: 280px;
}

.sales-execution-certificate-frame {
  display: block;
  width: 100%;
  height: 520px;
  border: 1px solid #c8d8e8;
  border-radius: 6px;
  background: #ffffff;
}

.sales-execution-evidence-raw summary {
  cursor: pointer;
  color: var(--navy);
  font-size: 13px;
  font-weight: 850;
}

.sales-execution-evidence-raw pre {
  max-height: 420px;
  overflow: auto;
  margin: 10px 0 0;
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #f8fbfe;
  padding: 10px;
  color: #24364c;
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.sales-execution-delivery-strip {
  display: grid;
  grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1fr);
  gap: 8px;
  margin-top: 10px;
}

.sales-execution-delivery-strip > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #d8e2ee;
  border-radius: 6px;
  background: #ffffff;
}

.sales-execution-delivery-strip span {
  display: block;
  color: #5b6b7e;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.sales-execution-delivery-strip strong {
  display: block;
  margin-top: 3px;
  color: #26384f;
  font-size: 13px;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.sales-proposal-signature-plan {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.65fr);
  gap: 12px;
  margin-top: 12px;
}

.sales-proposal-signature-plan h5 {
  margin: 0 0 6px;
  color: #26384f;
  font-size: 12px;
  text-transform: uppercase;
}

.sales-proposal-signature-plan p {
  margin: 0;
  color: #40546c;
  font-weight: 650;
  line-height: 1.35;
}

.sales-signature-field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
}

.sales-signing-placement-card {
  border: 1px solid #c7d8eb;
  border-radius: 8px;
  background: #ffffff;
  padding: 14px;
  margin: 10px 0 14px;
}

.sales-signing-placement-layout {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(260px, 0.52fr);
  gap: 14px;
  align-items: stretch;
}

.sales-signing-page-map {
  position: relative;
  height: clamp(280px, 36vh, 360px);
  min-height: 0;
  border: 1px solid #9fb4cc;
  border-radius: 6px;
  background: linear-gradient(#ffffff, #f9fbfd);
  overflow: hidden;
  box-shadow: inset 0 0 0 10px #f5f8fb;
}

.sales-signing-page-title {
  position: absolute;
  top: 5.5%;
  left: 29%;
  right: 29%;
  padding: 5px;
  border-radius: 3px;
  background: #087fbe;
  color: #ffffff;
  font-size: 11px;
  font-weight: 850;
  text-align: center;
}

.sales-signing-page-band,
.sales-signing-page-table,
.sales-signing-page-terms,
.sales-signing-page-signature-area {
  position: absolute;
  left: 7%;
  right: 7%;
  border: 1px solid #c9d5e2;
  background: #eef4fb;
}

.sales-signing-page-band {
  top: 14%;
  height: 7%;
}

.sales-signing-page-table {
  top: 24%;
  height: 38%;
  background:
    repeating-linear-gradient(to right, transparent 0 13%, #d4deea 13% calc(13% + 1px)),
    repeating-linear-gradient(to bottom, #ffffff 0 14%, #edf3f9 14% calc(14% + 1px));
}

.sales-signing-page-terms {
  top: 65%;
  height: 12%;
  background: #f8fafc;
}

.sales-signing-page-signature-area {
  top: 81%;
  height: 16%;
  padding: 5px 8px;
  background: #ffffff;
  color: #2f4258;
  font-size: 10px;
  font-weight: 850;
}

.sales-signing-map-field {
  position: absolute;
  display: grid;
  align-content: center;
  padding: 3px 7px;
  border: 1px solid #1f6fbe;
  border-radius: 4px;
  background: rgba(232, 243, 255, 0.94);
  color: #164a7a;
  box-shadow: 0 2px 6px rgba(31, 39, 51, 0.16);
  font-size: 10px;
  line-height: 1.05;
  overflow: hidden;
}

.sales-signing-map-field.signature {
  border-color: #087f5b;
  background: rgba(233, 248, 241, 0.95);
  color: #086346;
}

.sales-signing-map-field.date {
  border-color: #9a5b00;
  background: rgba(255, 244, 221, 0.96);
  color: #6f4200;
}

.sales-signing-map-field strong,
.sales-signing-map-field span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-signing-map-field span {
  font-size: 9px;
  font-weight: 800;
  opacity: 0.78;
  text-transform: uppercase;
}

.sales-signing-field-stack {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
}

.sales-signing-field-stack h5 {
  margin: 0;
  color: var(--navy);
  font-size: 12px;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .sales-execution-process-flow {
    grid-template-columns: 1fr;
  }

  .sales-execution-process-step::after {
    display: none;
  }

  .sales-execution-log-row {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .sales-execution-delivery-strip,
  .sales-signing-placement-layout {
    grid-template-columns: 1fr;
  }

  .sales-signing-page-map {
    height: 280px;
  }
}

.sales-proposal-preview-table {
  width: 100% !important;
  table-layout: fixed;
  font-size: 11px;
}

.sales-proposal-preview-table th,
.sales-proposal-preview-table td {
  padding: 5px 7px !important;
  line-height: 1.2;
  white-space: normal;
  vertical-align: middle;
}

.sales-proposal-preview-table th:first-child,
.sales-proposal-preview-table td:first-child {
  width: 42%;
  text-align: left;
}

.sales-proposal-preview-table th:nth-child(2),
.sales-proposal-preview-table td:nth-child(2) {
  width: 6%;
}

.sales-proposal-preview-table th:nth-child(3),
.sales-proposal-preview-table th:nth-child(4),
.sales-proposal-preview-table th:nth-child(5),
.sales-proposal-preview-table td:nth-child(3),
.sales-proposal-preview-table td:nth-child(4),
.sales-proposal-preview-table td:nth-child(5) {
  width: 11%;
}

.sales-proposal-preview-table th:nth-child(6),
.sales-proposal-preview-table td:nth-child(6) {
  width: 12%;
}

.sales-proposal-preview-table th:nth-child(7),
.sales-proposal-preview-table td:nth-child(7) {
  width: 13%;
}

.sales-proposal-line-builder {
  max-height: min(66vh, 620px) !important;
}

.sales-proposal-line-builder table.sized-table {
  table-layout: fixed;
  width: 100% !important;
  min-width: 0 !important;
  font-size: 9px;
}

.sales-proposal-line-builder th:first-child,
.sales-proposal-line-builder td:first-child {
  width: 3%;
  min-width: 3%;
  max-width: 3%;
  text-align: center;
}

.sales-proposal-line-builder th:nth-child(2),
.sales-proposal-line-builder td:nth-child(2) {
  width: 35%;
  min-width: 0;
  max-width: 35%;
}

.sales-proposal-line-builder th:nth-child(3),
.sales-proposal-line-builder td:nth-child(3) {
  width: 4%;
  min-width: 4%;
  max-width: 4%;
}

.sales-proposal-line-builder .proposal-product-select-cell {
  min-width: 0 !important;
  width: auto !important;
}

.sales-proposal-line-builder .proposal-product-select-cell select {
  width: 100%;
  height: 18px;
  min-height: 18px;
  padding-top: 0;
  padding-bottom: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 9px;
}

.sales-proposal-line-builder .compact-table tbody td,
.sales-proposal-wizard-frame .compact-table tbody td {
  vertical-align: middle;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
  height: 16px;
  line-height: 1.1;
  white-space: nowrap;
}

.sales-proposal-line-builder .compact-table th,
.sales-proposal-line-builder .compact-table td,
.sales-proposal-wizard-table th,
.sales-proposal-wizard-table td {
  font-size: 10px;
}

.sales-proposal-line-builder th:nth-child(4),
.sales-proposal-line-builder th:nth-child(5),
.sales-proposal-line-builder th:nth-child(6),
.sales-proposal-line-builder th:nth-child(7),
.sales-proposal-line-builder th:nth-child(8),
.sales-proposal-line-builder th:nth-child(9),
.sales-proposal-line-builder td:nth-child(4),
.sales-proposal-line-builder td:nth-child(5),
.sales-proposal-line-builder td:nth-child(6),
.sales-proposal-line-builder td:nth-child(7),
.sales-proposal-line-builder td:nth-child(8),
.sales-proposal-line-builder td:nth-child(9) {
  width: 4.5%;
  min-width: 4.5%;
  max-width: 4.5%;
}

.sales-proposal-line-builder th:nth-child(10),
.sales-proposal-line-builder th:nth-child(11),
.sales-proposal-line-builder th:nth-child(12),
.sales-proposal-line-builder td:nth-child(10),
.sales-proposal-line-builder td:nth-child(11),
.sales-proposal-line-builder td:nth-child(12) {
  width: 5%;
  min-width: 5%;
  max-width: 5%;
}

.sales-proposal-line-builder th:nth-child(13),
.sales-proposal-line-builder td:nth-child(13) {
  width: 6%;
  min-width: 6%;
  max-width: 6%;
}

.sales-proposal-line-builder th:nth-child(14),
.sales-proposal-line-builder th:nth-child(15),
.sales-proposal-line-builder td:nth-child(14),
.sales-proposal-line-builder td:nth-child(15) {
  width: 5%;
  min-width: 5%;
  max-width: 5%;
}

.sales-proposal-line-builder td:nth-child(3),
.sales-proposal-line-builder td:nth-child(4),
.sales-proposal-line-builder td:nth-child(5),
.sales-proposal-line-builder td:nth-child(6),
.sales-proposal-line-builder td:nth-child(7),
.sales-proposal-line-builder td:nth-child(8),
.sales-proposal-line-builder td:nth-child(9),
.sales-proposal-line-builder td:nth-child(10),
.sales-proposal-line-builder td:nth-child(11),
.sales-proposal-line-builder td:nth-child(12),
.sales-proposal-line-builder td:nth-child(13),
.sales-proposal-line-builder td:nth-child(14),
.sales-proposal-line-builder td:nth-child(15),
.sales-proposal-wizard-table td:nth-child(3),
.sales-proposal-wizard-table td:nth-child(4),
.sales-proposal-wizard-table td:nth-child(5),
.sales-proposal-wizard-table td:nth-child(6),
.sales-proposal-wizard-table td:nth-child(7),
.sales-proposal-wizard-table td:nth-child(8) {
  text-align: right;
}

.sales-proposal-view-config {
  margin-top: 10px;
}

.sales-proposal-view-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

#salesProposalManagementBody [data-sales-management-proposal-row].selected-row td {
  background: #c7dcf6;
  box-shadow: inset 0 1px 0 #6f99d0, inset 0 -1px 0 #6f99d0;
  color: #10243c;
  font-weight: 850;
}

#salesProposalManagementBody [data-sales-management-proposal-row].selected-row td:first-child {
  background: #b8d1f0;
  box-shadow: inset 0 1px 0 #587faf, inset 0 -1px 0 #587faf, inset 4px 0 0 var(--royal);
}

#salesAccountWorkspace [data-sales-proposal-row].selected-row td {
  background: #c7dcf6;
  box-shadow: inset 0 1px 0 #6f99d0, inset 0 -1px 0 #6f99d0;
  color: #10243c;
  font-weight: 850;
}

#salesAccountWorkspace [data-sales-proposal-row].selected-row td:first-child {
  background: #b8d1f0;
  box-shadow: inset 0 1px 0 #587faf, inset 0 -1px 0 #587faf, inset 4px 0 0 var(--royal);
}

.sales-dialog-card.sales-proposal-catalog-dialog,
.sales-dialog-card.sales-proposal-wizard-dialog {
  width: min(1380px, 96vw);
  height: min(700px, 86vh);
  max-height: 86vh;
  overflow: hidden;
}

.sales-dialog-card.sales-proposal-catalog-dialog #salesDialogForm,
.sales-dialog-card.sales-proposal-wizard-dialog #salesDialogForm {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
}

.sales-dialog-card.sales-proposal-catalog-dialog .sales-dialog-body,
.sales-dialog-card.sales-proposal-wizard-dialog .sales-dialog-body {
  max-height: none;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  overflow: hidden;
  overflow-anchor: none;
  overscroll-behavior: contain;
}

.sales-dialog-card.sales-proposal-catalog-dialog .sales-dialog-header .action-row {
  flex-wrap: nowrap;
}

#salesProposalWizardBody,
#salesProposalCatalogBody {
  min-height: 0;
  height: 100%;
  overflow: hidden;
  overflow-anchor: none;
  overscroll-behavior: contain;
}

.sales-proposal-catalog-layout,
.sales-proposal-catalog-pane {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.sales-proposal-catalog-pane-full {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) 96px auto auto;
  position: relative;
}

.sales-proposal-catalog-dual-picker-full {
  min-height: 0;
  height: 100%;
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr);
  align-items: stretch;
}

.sales-proposal-catalog-column {
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.sales-proposal-catalog-column select {
  min-height: 0;
  height: 100%;
  display: block;
  overflow-y: auto;
}

.sales-proposal-wizard-frame {
  height: 100%;
  min-height: 0;
  max-height: none !important;
  overflow: auto;
}

.sales-proposal-wizard-frame table.sized-table {
  table-layout: fixed;
  width: 100% !important;
  min-width: 0 !important;
  font-size: 9px;
}

.sales-proposal-wizard-frame .sales-proposal-wizard-table {
  width: 100% !important;
  min-width: 0 !important;
}

.sales-proposal-wizard-frame th:first-child,
.sales-proposal-wizard-frame td:first-child {
  width: 4% !important;
  min-width: 4% !important;
  max-width: 4% !important;
}

.sales-proposal-wizard-frame th:nth-child(2),
.sales-proposal-wizard-frame td:nth-child(2) {
  width: 55% !important;
  min-width: 0;
  max-width: 55% !important;
}

.sales-proposal-wizard-frame th:nth-child(3),
.sales-proposal-wizard-frame th:nth-child(4),
.sales-proposal-wizard-frame th:nth-child(5),
.sales-proposal-wizard-frame th:nth-child(6),
.sales-proposal-wizard-frame td:nth-child(3),
.sales-proposal-wizard-frame td:nth-child(4),
.sales-proposal-wizard-frame td:nth-child(5),
.sales-proposal-wizard-frame td:nth-child(6) {
  width: 8% !important;
  min-width: 8% !important;
  max-width: 8% !important;
}

.sales-proposal-wizard-frame th:nth-child(7),
.sales-proposal-wizard-frame th:nth-child(8),
.sales-proposal-wizard-frame td:nth-child(7),
.sales-proposal-wizard-frame td:nth-child(8) {
  width: 4.5% !important;
  min-width: 4.5% !important;
  max-width: 4.5% !important;
}

.sales-proposal-wizard-table thead th {
  padding-top: 1px !important;
  padding-bottom: 1px !important;
  line-height: 1 !important;
  font-size: 10px;
}

.sales-proposal-wizard-frame .proposal-product-description-cell {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: normal;
  line-height: 1.05;
  font-size: 9px;
  padding-top: 1px !important;
  padding-bottom: 1px !important;
}

.sales-proposal-wizard-table tbody td {
  padding: 0 2px !important;
  line-height: 1 !important;
  height: 16px;
}

.sales-proposal-wizard-table tbody td input[type="checkbox"] {
  transform: scale(0.9);
  margin: 0;
  width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
}

/* Final proposal table sizing/grouping overrides */
.sales-proposal-line-builder th:first-child,
.sales-proposal-line-builder td:first-child {
  width: 2.5% !important;
  min-width: 2.5% !important;
  max-width: 2.5% !important;
}

.sales-proposal-line-builder th:nth-child(2),
.sales-proposal-line-builder td:nth-child(2) {
  width: 36.5% !important;
  min-width: 36.5% !important;
  max-width: 36.5% !important;
}

.sales-proposal-line-builder th:nth-child(3),
.sales-proposal-line-builder td:nth-child(3) {
  width: 3.5% !important;
  min-width: 3.5% !important;
  max-width: 3.5% !important;
}

.sales-proposal-line-builder th:nth-child(4),
.sales-proposal-line-builder th:nth-child(5),
.sales-proposal-line-builder th:nth-child(6),
.sales-proposal-line-builder td:nth-child(4),
.sales-proposal-line-builder td:nth-child(5),
.sales-proposal-line-builder td:nth-child(6) {
  width: 5.5% !important;
  min-width: 5.5% !important;
  max-width: 5.5% !important;
}

.sales-proposal-line-builder th:nth-child(7),
.sales-proposal-line-builder th:nth-child(8),
.sales-proposal-line-builder td:nth-child(7),
.sales-proposal-line-builder td:nth-child(8) {
  width: 5% !important;
  min-width: 5% !important;
  max-width: 5% !important;
}

.sales-proposal-line-builder th:nth-child(9),
.sales-proposal-line-builder th:nth-child(10),
.sales-proposal-line-builder th:nth-child(11),
.sales-proposal-line-builder td:nth-child(9),
.sales-proposal-line-builder td:nth-child(10),
.sales-proposal-line-builder td:nth-child(11) {
  width: 4% !important;
  min-width: 4% !important;
  max-width: 4% !important;
}

.sales-proposal-line-builder th:nth-child(12),
.sales-proposal-line-builder th:nth-child(13),
.sales-proposal-line-builder th:nth-child(14),
.sales-proposal-line-builder td:nth-child(12),
.sales-proposal-line-builder td:nth-child(13),
.sales-proposal-line-builder td:nth-child(14) {
  width: 4.5% !important;
  min-width: 4.5% !important;
  max-width: 4.5% !important;
}

.sales-proposal-line-builder th:nth-child(15),
.sales-proposal-line-builder td:nth-child(15) {
  width: 5.5% !important;
  min-width: 5.5% !important;
  max-width: 5.5% !important;
}

.sales-proposal-line-builder .compact-table tbody td,
.sales-proposal-wizard-frame .compact-table tbody td {
  height: 15px !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 1px !important;
  padding-right: 1px !important;
}

.sales-proposal-line-builder th:nth-child(4),
.sales-proposal-line-builder td:nth-child(4),
.sales-proposal-line-builder th:nth-child(9),
.sales-proposal-line-builder td:nth-child(9),
.sales-proposal-line-builder th:nth-child(12),
.sales-proposal-line-builder td:nth-child(12),
.sales-proposal-wizard-frame th:nth-child(3),
.sales-proposal-wizard-frame td:nth-child(3),
.sales-proposal-wizard-frame th:nth-child(7),
.sales-proposal-wizard-frame td:nth-child(7) {
  border-left: 2px solid #3f5873 !important;
}

.sales-proposal-wizard-frame th:first-child,
.sales-proposal-wizard-frame td:first-child {
  width: 2.5% !important;
  min-width: 2.5% !important;
  max-width: 2.5% !important;
}

.sales-proposal-wizard-frame th:nth-child(2),
.sales-proposal-wizard-frame td:nth-child(2) {
  width: 60% !important;
  min-width: 60% !important;
  max-width: 60% !important;
}

.sales-proposal-wizard-frame th:nth-child(3),
.sales-proposal-wizard-frame th:nth-child(4),
.sales-proposal-wizard-frame th:nth-child(5),
.sales-proposal-wizard-frame th:nth-child(6),
.sales-proposal-wizard-frame td:nth-child(3),
.sales-proposal-wizard-frame td:nth-child(4),
.sales-proposal-wizard-frame td:nth-child(5),
.sales-proposal-wizard-frame td:nth-child(6) {
  width: 6% !important;
  min-width: 6% !important;
  max-width: 6% !important;
}

.sales-proposal-wizard-frame th:nth-child(7),
.sales-proposal-wizard-frame th:nth-child(8),
.sales-proposal-wizard-frame td:nth-child(7),
.sales-proposal-wizard-frame td:nth-child(8) {
  width: 6.75% !important;
  min-width: 6.75% !important;
  max-width: 6.75% !important;
}

.sales-proposal-wizard-frame .proposal-product-description-cell {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.sales-proposal-wizard-dialog .sales-dialog-body {
  max-height: none;
  padding-bottom: 0;
}

.sales-proposal-wizard-main {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 8px;
  min-height: 0;
  overflow: hidden;
}

.sales-wizard-step-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 0 0 6px;
  background: #ffffff;
  border-bottom: 1px solid #d7e3f1;
  margin-bottom: 0;
}

.sales-wizard-step-title {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  color: var(--navy);
  font-size: 12px;
  font-weight: 850;
}

.sales-wizard-step-title label {
  display: flex;
  gap: 6px;
  align-items: center;
}

.sales-wizard-step-title select {
  min-width: 280px;
  max-width: 420px;
  height: 30px;
  font-size: 12px;
}

.sales-wizard-step-title span {
  color: var(--ink);
  font-weight: 700;
}

.sales-wizard-step-title strong {
  color: var(--navy);
  font-weight: 900;
}

.sales-wizard-step-progress {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.sales-wizard-actions {
  justify-content: flex-end;
  margin-top: 0;
  padding: 8px 0 0;
  border-top: 1px solid #d7e3f1;
  background: #ffffff;
  align-self: end;
}

.sales-proposal-wizard-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 8px;
  height: 100%;
  min-height: 0;
}

.sales-proposal-wizard-empty {
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 12px;
}

.sales-wizard-actions .quiet-button,
.sales-wizard-actions .primary-button {
  min-height: 30px;
  min-width: 92px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1;
  text-align: center;
}

.sales-proposal-process-path {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  margin: 2px 0 10px;
}

.sales-proposal-builder-feedback {
  display: flex;
  align-items: center;
  min-height: 30px;
  margin: 0 0 10px;
  padding: 7px 10px;
  border: 1px solid #97cdbd;
  border-radius: 6px;
  background: #f1fbf7;
  color: #24533f;
  font-size: 12px;
  font-weight: 850;
}

.sales-proposal-builder-feedback.working {
  border-color: #9bb8d4;
  background: #eef7ff;
  color: #17345c;
}

.sales-proposal-builder-feedback.blocked {
  border-color: #e0b15f;
  background: #fff8e8;
  color: #79510f;
}

.sales-proposal-terms-validation {
  position: sticky;
  top: 0;
  z-index: 3;
  margin: 0 0 12px;
  box-shadow: 0 6px 16px rgba(31, 39, 51, 0.08);
}

.sales-proposal-terms-section-validation {
  margin: 0;
}

.sales-change-order-process-path {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sales-change-order-process-path .sales-proposal-process-step {
  cursor: default;
}

.sales-change-order-start-panel {
  margin-bottom: 10px;
}

.sales-change-order-start-control {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  justify-content: flex-start;
  max-width: 720px;
}

.sales-change-order-start-type-control {
  display: grid;
  gap: 4px;
  flex: 1 1 340px;
  max-width: 430px;
  min-width: 260px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.sales-change-order-start-control select {
  width: 100%;
  min-width: 0;
  height: 33px;
}

.sales-change-order-start-control .primary-button {
  align-self: flex-end;
  width: auto;
  min-width: 96px;
  height: 33px;
  min-height: 33px;
  padding: 0 14px;
}

.sales-change-order-show-hidden-toggle,
.sales-change-order-hide-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.sales-change-order-show-hidden-toggle {
  align-self: flex-end;
  flex: 0 0 auto;
  min-height: 33px;
}

.sales-change-order-hide-toggle {
  min-height: 30px;
  padding: 0 8px;
  border: 1px solid #c6d5e6;
  border-radius: var(--control-radius);
  background: #f7fbff;
  color: var(--navy);
}

.sales-change-order-show-hidden-toggle input[type="checkbox"],
.sales-change-order-hide-toggle input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
  max-width: 14px;
  max-height: 14px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #2f6ed7;
}

.sales-change-order-record-list {
  display: grid;
  gap: 8px;
}

.sales-change-order-record {
  display: grid;
  gap: 8px;
  border: 1px solid #b8cae0;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
  box-shadow: 0 1px 2px rgba(30, 52, 82, 0.08);
}

.sales-change-order-record.selected {
  border-color: #2f6ed7;
  box-shadow: 0 0 0 2px rgba(47, 110, 215, 0.14);
}

.sales-change-order-record.is-hidden {
  background: #f2f5f8;
  border-style: dashed;
  opacity: 0.78;
}

.sales-change-order-record-primary,
.sales-change-order-record-secondary {
  display: grid;
  grid-template-columns: auto minmax(180px, 1.2fr) minmax(360px, 2fr) minmax(280px, 1.5fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.sales-change-order-record-secondary {
  grid-template-columns: minmax(360px, 1.45fr) minmax(360px, 1.2fr) auto;
  align-items: start;
  border-top: 1px solid #d9e4f0;
  padding-top: 8px;
}

.sales-change-order-view-button {
  align-self: center;
}

.sales-change-order-record-title {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.sales-change-order-record-title strong {
  color: #2f6ed7;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-change-order-record-title span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-change-order-record-meta,
.sales-change-order-record-details {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  min-width: 0;
}

.sales-change-order-record-details {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sales-change-order-record-details.is-focused {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sales-change-order-record-meta > span,
.sales-change-order-record-details > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.sales-change-order-record-meta > span > strong,
.sales-change-order-record-details > span > strong {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-change-order-record-meta .status-pill {
  justify-self: start;
}

.sales-change-order-mini-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  min-width: 0;
}

.sales-change-order-mini-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  min-width: 0;
  border: 1px solid #9bb8d4;
  border-radius: 999px;
  background: #edf5ff;
  color: #17345c;
  padding: 3px 7px 3px 4px;
}

.sales-change-order-mini-step span {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  font-size: 10px;
  font-weight: 900;
}

.sales-change-order-mini-step strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
  font-weight: 850;
}

.sales-change-order-mini-step.complete {
  background: #dff5e5;
  border-color: #6fc483;
}

.sales-change-order-mini-step.current {
  background: #c8efcf;
  border-color: #38a55a;
}

.sales-change-order-mini-step.future {
  background: #eaf2fb;
  border-color: #b3c8de;
  color: #47627f;
}

.sales-change-order-record .sales-change-order-total-strip {
  margin: 0;
  padding: 0;
  border-bottom: 0;
}

.sales-change-order-record-context {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 12px;
  align-content: start;
  min-width: 0;
}

.sales-change-order-record-context > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.sales-change-order-record-context span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-change-order-record-context strong {
  min-width: 0;
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-change-order-record-actions {
  justify-content: flex-end;
  align-items: start;
  margin: 0;
  white-space: nowrap;
}

.sales-proposal-process-step {
  appearance: none;
  width: 100%;
  position: relative;
  min-height: 42px;
  padding: 4px 10px 4px 8px;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
  border: 1px solid #86a6c8;
  background: #dcebfb;
  color: #17345c;
  display: grid;
  align-content: center;
  gap: 1px;
  text-align: center;
  cursor: pointer;
}

span.sales-proposal-process-step {
  cursor: default;
}

.sales-proposal-process-step:focus-visible {
  outline: 2px solid #2e6fd5;
  outline-offset: 1px;
}

.sales-proposal-process-step.complete {
  background: #9ce0a8;
  border-color: #5ebd77;
}

.sales-proposal-process-step.current {
  background: #77d187;
  border-color: #3aa65a;
}

.sales-proposal-process-step.activated {
  background: #51c56b;
  border-color: #209244;
  color: #082f17;
}

.sales-proposal-process-step.future {
  background: #cae0f5;
  border-color: #86a6c8;
}

.sales-proposal-process-path.abandoned .sales-proposal-process-step {
  background: #ffd9d9;
  border-color: #d35c5c;
  color: #6d1515;
}

.sales-proposal-process-path.abandoned .sales-proposal-process-step.current,
.sales-proposal-process-path.abandoned .sales-proposal-process-step.complete {
  background: #ffb4b4;
  border-color: #b93737;
}

.sales-proposal-process-step-number {
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.sales-proposal-process-step-label {
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
}

.sales-proposal-catalog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 12px;
  height: 100%;
  min-height: 0;
}

.sales-proposal-catalog-layout-single {
  grid-template-columns: minmax(0, 1fr);
}

.sales-proposal-catalog-pane {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
  border: 1px solid #c7d8eb;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
  min-width: 0;
  min-height: 0;
}

.sales-proposal-catalog-pane-full {
  width: 100%;
  position: relative;
  grid-template-rows: auto auto minmax(0, 1fr) 96px auto auto;
}

.sales-proposal-catalog-pane-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 850;
}

.sales-proposal-catalog-filters {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 8px;
  margin-bottom: 8px;
}

.sales-proposal-catalog-filters label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.sales-proposal-catalog-filters input,
.sales-proposal-catalog-filters select {
  min-width: 0;
  width: 100%;
  height: 31px;
}

.sales-proposal-catalog-list {
  max-height: min(62vh, 580px);
  overflow: auto;
  padding-right: 2px;
}

.sales-proposal-catalog-dual-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
}

.sales-proposal-catalog-dual-picker-full {
  min-height: 0;
  height: 100%;
}

.sales-proposal-catalog-column {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  min-width: 0;
}

.sales-proposal-catalog-column-header {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-proposal-catalog-dual-picker select {
  min-width: 0;
  width: 100%;
  min-height: 0;
  height: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 6px;
  font-size: 12px;
  overflow-y: auto;
  overflow-anchor: none;
}

.sales-proposal-catalog-dual-picker .report-dual-actions {
  align-self: start;
  margin-top: 0;
}

.sales-proposal-catalog-dual-picker .catalog-transfer-button.genesis-action-button {
  --genesis-action-width: 72px;
  --genesis-action-height: 24px;
  font-size: 8px;
}

.sales-proposal-catalog-dual-picker optgroup {
  font-weight: 900;
  color: var(--navy);
}

.sales-proposal-catalog-dual-picker option {
  min-height: 20px;
  white-space: nowrap;
  padding: 3px 6px;
  line-height: 1.2;
  border-bottom: 1px solid #eef3f9;
}

.proposal-product-category-option {
  font-weight: 900;
  color: var(--royal);
  background: #e7edf4;
}

.sales-proposal-catalog-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin-bottom: 6px;
  border: 1px solid #d3dfec;
  border-radius: 6px;
  padding: 7px 8px;
  color: var(--navy);
  cursor: pointer;
}

.sales-proposal-catalog-option input {
  margin-top: 2px;
}

.sales-proposal-catalog-option strong,
.sales-proposal-catalog-option small {
  display: block;
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}

.sales-proposal-catalog-option strong {
  font-size: 12px;
  font-weight: 900;
}

.sales-proposal-catalog-option small {
  font-size: 11px;
  color: var(--muted);
}

.sales-proposal-catalog-option:has(input:checked) {
  border-color: var(--royal);
  background: #edf5ff;
}

.proposal-product-description-cell {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: normal;
  line-height: 1.1;
}

.proposal-product-description-with-guidance {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.proposal-product-description-with-guidance > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sales-proposal-guidance-button {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  color: #0b63a0;
  border-color: #87b7e2;
  background: #eef7ff;
}

.sales-proposal-crosscheck-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sales-proposal-crosscheck-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.proposal-crosscheck-settings-group {
  display: grid;
  gap: 12px;
}

.sales-proposal-crosscheck-rule-grid,
.sales-proposal-crosscheck-issue-list {
  display: grid;
  gap: 10px;
}

.sales-proposal-crosscheck-rule-card,
.sales-proposal-crosscheck-issue,
.sales-proposal-crosscheck-result {
  border: 1px solid #c7d8eb;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.sales-proposal-crosscheck-rule-card.needs-attention {
  border-color: #efc57f;
  background: #fffaf0;
}

.sales-proposal-crosscheck-rule-header,
.sales-proposal-crosscheck-issue-header,
.sales-proposal-crosscheck-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.sales-proposal-crosscheck-rule-header h4,
.sales-proposal-crosscheck-summary h4 {
  margin: 0 0 3px;
  color: var(--royal);
  font-size: 15px;
  letter-spacing: 0;
}

.sales-proposal-crosscheck-rule-header p,
.sales-proposal-crosscheck-issue-header p,
.sales-proposal-crosscheck-summary p {
  margin: 0;
  color: var(--muted);
  line-height: 1.35;
}

.sales-proposal-crosscheck-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.sales-proposal-crosscheck-columns > div,
.sales-proposal-crosscheck-mini-list {
  border: 1px solid #d9e5f2;
  border-radius: 8px;
  background: #f8fbff;
  padding: 8px;
}

.sales-proposal-crosscheck-columns strong,
.sales-proposal-crosscheck-mini-list span {
  display: block;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.sales-proposal-crosscheck-columns > div > span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  margin: 2px 0 6px;
}

.sales-proposal-crosscheck-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.sales-proposal-crosscheck-chip {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 1px solid #b7d3ef;
  border-radius: 999px;
  background: #eef7ff;
  color: #174e85;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 800;
}

.sales-proposal-crosscheck-chip.inactive,
.sales-proposal-crosscheck-chip.muted,
.sales-proposal-crosscheck-empty {
  border-color: #d7e2ee;
  background: #eef3f8;
  color: #66798e;
}

.sales-proposal-crosscheck-fix {
  margin: 10px 0 0;
  border-left: 3px solid #2f6fdb;
  background: #eef6ff;
  padding: 7px 9px;
  color: var(--navy);
  font-weight: 800;
}

.sales-dialog-card.sales-proposal-crosscheck-result-dialog,
.sales-dialog-card.sales-proposal-crosscheck-rule-dialog {
  width: min(980px, 94vw);
}

.sales-proposal-crosscheck-summary {
  border: 1px solid #d9e5f2;
  border-radius: 8px;
  background: #f8fbff;
  padding: 10px;
  margin-bottom: 10px;
}

.sales-proposal-crosscheck-summary.passed {
  border-color: #9fd8cf;
  background: #e8faf7;
}

.sales-proposal-crosscheck-summary.needs-review {
  border-color: #efc57f;
  background: #fff7ed;
}

.sales-proposal-crosscheck-mini-list {
  margin-top: 8px;
}

.sales-proposal-crosscheck-mini-list p {
  margin: 4px 0 0;
  color: var(--navy);
  font-weight: 750;
}

.sales-proposal-crosscheck-mini-list small {
  color: var(--muted);
  font-weight: 700;
}

.sales-proposal-crosscheck-dialog-actions {
  justify-content: flex-end;
  margin-top: 12px;
}

.sales-proposal-crosscheck-inline-shell {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  max-height: min(460px, 58vh);
  overflow: auto;
  min-height: 0;
}

.sales-proposal-crosscheck-inline-shell:empty {
  display: none;
}

.sales-proposal-crosscheck-inline-result {
  padding: 8px;
}

.sales-proposal-crosscheck-inline-result .sales-proposal-crosscheck-summary {
  margin-bottom: 8px;
}

.sales-proposal-crosscheck-inline-result .sales-proposal-crosscheck-issue-list {
  max-height: min(360px, 42vh);
  overflow: auto;
}

.sales-proposal-crosscheck-inline-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

.sales-proposal-catalog-crosscheck-actions {
  justify-content: flex-start;
  margin-top: 8px;
}

.sales-proposal-guidance-panel {
  border: 1px solid #c7d8eb;
  border-radius: 8px;
  background: #f8fbff;
  padding: 8px;
  margin-top: 8px;
  min-height: 0;
}

.sales-proposal-guidance-panel.is-empty {
  visibility: hidden;
  pointer-events: none;
}

.sales-proposal-guidance-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 6px;
}

.sales-proposal-guidance-heading span {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.sales-proposal-guidance-list {
  display: grid;
  gap: 6px;
}

.sales-proposal-guidance-note {
  border-left: 3px solid #7aa7d8;
  background: #ffffff;
  padding: 6px 8px;
  color: var(--navy);
}

.sales-proposal-guidance-note.warning {
  border-left-color: #d4911f;
  background: #fffaf0;
}

.sales-proposal-guidance-note > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 3px;
  font-size: 11px;
  font-weight: 850;
}

.sales-proposal-guidance-note > div span {
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
}

.sales-proposal-guidance-note p {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}

.sales-proposal-catalog-guidance-panel {
  position: static;
  height: 88px;
  max-height: 88px;
  overflow: auto;
  box-shadow: none;
}

.sales-provisioning-package-choice {
  display: grid;
  gap: 12px;
}

.sales-provisioning-package-choice-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.sales-provisioning-package-choice-summary > div,
.sales-provisioning-package-choice-card {
  border: 1px solid #cbd9ea;
  border-radius: 8px;
  background: #f8fbff;
  padding: 10px;
}

.sales-provisioning-package-choice-summary span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-provisioning-package-choice-summary strong {
  color: var(--navy);
  font-size: 16px;
  font-weight: 900;
}

.sales-provisioning-package-choice-list {
  display: grid;
  gap: 10px;
}

.sales-provisioning-package-lines {
  max-height: 220px;
  margin-top: 8px;
}

.sales-provisioning-package-choice-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
}

.sales-proposal-detail-lines-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

.sales-proposal-detail-lines-table th:first-child,
.sales-proposal-detail-lines-table td:first-child {
  width: 4% !important;
}

.sales-proposal-detail-lines-table th:nth-child(2),
.sales-proposal-detail-lines-table td:nth-child(2) {
  width: 36% !important;
}

.sales-proposal-detail-lines-table th:nth-child(3),
.sales-proposal-detail-lines-table td:nth-child(3) {
  width: 16% !important;
}

.sales-proposal-detail-lines-table th:nth-child(4),
.sales-proposal-detail-lines-table td:nth-child(4) {
  width: 6% !important;
}

.sales-proposal-detail-lines-table th:nth-child(5),
.sales-proposal-detail-lines-table th:nth-child(6),
.sales-proposal-detail-lines-table th:nth-child(7),
.sales-proposal-detail-lines-table td:nth-child(5),
.sales-proposal-detail-lines-table td:nth-child(6),
.sales-proposal-detail-lines-table td:nth-child(7) {
  width: 9% !important;
}

.sales-proposal-detail-lines-table th:nth-child(8),
.sales-proposal-detail-lines-table td:nth-child(8) {
  width: 11% !important;
}

.sales-proposal-detail-lines-table th,
.sales-proposal-detail-lines-table td {
  vertical-align: top;
}

.sales-proposal-detail-lines-table td:nth-child(2),
.sales-proposal-detail-lines-table td:nth-child(3),
.sales-proposal-detail-lines-table .proposal-product-description-cell {
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.25;
}

.sales-proposal-detail-lines-table td:nth-child(4),
.sales-proposal-detail-lines-table td:nth-child(5),
.sales-proposal-detail-lines-table td:nth-child(6),
.sales-proposal-detail-lines-table td:nth-child(7),
.sales-proposal-detail-lines-table td:nth-child(8) {
  white-space: nowrap;
}

.proposal-product-select-cell {
  min-width: 0 !important;
  width: auto !important;
}

.proposal-product-fulltext {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
  white-space: normal;
  word-break: break-word;
}

.table-text-button {
  min-height: 22px;
  padding: 2px 7px;
  font-size: 11px;
  white-space: nowrap;
}

.sales-proposal-category-row td {
  height: 22px;
  border-top: 1.5px solid #344456;
  background: #e7edf4;
  color: var(--royal);
  font-size: 11px;
  font-weight: 900;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.sales-proposal-line-builder tfoot .sales-proposal-totals-row td {
  background: #dce8f7;
  color: #17345c;
  font-weight: 900;
  border-top: 1.5px solid #2e4562;
  padding-top: 1px !important;
  padding-bottom: 1px !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

/* Proposal layout final sizing (authoritative overrides) */
.sales-proposal-line-builder table.sized-table {
  width: max(100%, 1600px) !important;
  min-width: 1600px !important;
  table-layout: fixed !important;
}

.sales-proposal-wizard-frame table.sized-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

.sales-proposal-line-builder .compact-table th,
.sales-proposal-line-builder .compact-table td,
.sales-proposal-wizard-table th,
.sales-proposal-wizard-table td {
  font-size: 10px !important;
  line-height: 1.05 !important;
  padding: 1px 3px !important;
}

.sales-proposal-line-builder .compact-table tbody td,
.sales-proposal-wizard-frame .compact-table tbody td {
  height: 18px !important;
  vertical-align: middle !important;
}

.sales-proposal-line-builder th:first-child,
.sales-proposal-line-builder td:first-child {
  width: 4% !important;
}

.sales-proposal-line-builder th:nth-child(2),
.sales-proposal-line-builder td:nth-child(2) {
  width: 36% !important;
}

.sales-proposal-line-builder th:nth-child(3),
.sales-proposal-line-builder td:nth-child(3) {
  width: 4% !important;
}

.sales-proposal-line-builder th:nth-child(4),
.sales-proposal-line-builder th:nth-child(5),
.sales-proposal-line-builder th:nth-child(6),
.sales-proposal-line-builder td:nth-child(4),
.sales-proposal-line-builder td:nth-child(5),
.sales-proposal-line-builder td:nth-child(6) {
  width: 5% !important;
}

.sales-proposal-line-builder th:nth-child(7),
.sales-proposal-line-builder th:nth-child(8),
.sales-proposal-line-builder td:nth-child(7),
.sales-proposal-line-builder td:nth-child(8) {
  width: 5% !important;
}

.sales-proposal-line-builder th:nth-child(9),
.sales-proposal-line-builder th:nth-child(10),
.sales-proposal-line-builder th:nth-child(11),
.sales-proposal-line-builder td:nth-child(9),
.sales-proposal-line-builder td:nth-child(10),
.sales-proposal-line-builder td:nth-child(11) {
  width: 4% !important;
}

.sales-proposal-line-builder th:nth-child(12),
.sales-proposal-line-builder th:nth-child(13),
.sales-proposal-line-builder td:nth-child(12),
.sales-proposal-line-builder td:nth-child(13) {
  width: 5% !important;
}

.sales-proposal-line-builder th:nth-child(14),
.sales-proposal-line-builder td:nth-child(14) {
  width: 4% !important;
}

.sales-proposal-line-builder th:nth-child(15),
.sales-proposal-line-builder td:nth-child(15) {
  width: 5% !important;
}

.sales-proposal-line-builder td:nth-child(3),
.sales-proposal-line-builder td:nth-child(4),
.sales-proposal-line-builder td:nth-child(5),
.sales-proposal-line-builder td:nth-child(6),
.sales-proposal-line-builder td:nth-child(7),
.sales-proposal-line-builder td:nth-child(8),
.sales-proposal-line-builder td:nth-child(9),
.sales-proposal-line-builder td:nth-child(10),
.sales-proposal-line-builder td:nth-child(11),
.sales-proposal-line-builder td:nth-child(12),
.sales-proposal-line-builder td:nth-child(13),
.sales-proposal-line-builder td:nth-child(14),
.sales-proposal-line-builder td:nth-child(15),
.sales-proposal-wizard-table td:nth-child(3),
.sales-proposal-wizard-table td:nth-child(4),
.sales-proposal-wizard-table td:nth-child(5),
.sales-proposal-wizard-table td:nth-child(6),
.sales-proposal-wizard-table td:nth-child(7),
.sales-proposal-wizard-table td:nth-child(8) {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

.sales-proposal-line-builder .proposal-product-select-cell select {
  width: 100% !important;
  min-height: 20px !important;
  height: 20px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 10px !important;
}

.sales-proposal-wizard-frame th:first-child,
.sales-proposal-wizard-frame td:first-child {
  width: 4% !important;
}

.sales-proposal-wizard-frame th:nth-child(2),
.sales-proposal-wizard-frame td:nth-child(2) {
  width: 56% !important;
}

.sales-proposal-wizard-frame th:nth-child(3),
.sales-proposal-wizard-frame td:nth-child(3) {
  width: 5% !important;
}

.sales-proposal-wizard-frame th:nth-child(4),
.sales-proposal-wizard-frame th:nth-child(5),
.sales-proposal-wizard-frame th:nth-child(6),
.sales-proposal-wizard-frame td:nth-child(4),
.sales-proposal-wizard-frame td:nth-child(5),
.sales-proposal-wizard-frame td:nth-child(6) {
  width: 8% !important;
}

.sales-proposal-wizard-frame th:nth-child(7),
.sales-proposal-wizard-frame td:nth-child(7) {
  width: 6% !important;
}

.sales-proposal-wizard-frame th:nth-child(8),
.sales-proposal-wizard-frame td:nth-child(8) {
  width: 5% !important;
}

.sales-proposal-wizard-frame .proposal-product-description-cell {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.sales-proposal-preview-table th,
.sales-proposal-preview-table td {
  height: auto !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.sales-proposal-preview-table .proposal-product-description-cell {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

/* Sales proposal builder polish overrides */
.sales-proposal-builder-action-button.is-working,
.genesis-action-button.is-working {
  cursor: progress;
}

.sales-proposal-builder-action-button.is-working .sales-proposal-action-icon-refresh,
.genesis-action-button.is-working .genesis-action-icon-refresh,
.sales-proposal-processing-icon .sales-proposal-action-icon-refresh {
  animation: button-spinner-rotate 760ms linear infinite;
  transform-origin: center;
}

.sales-proposal-builder-feedback.working:not(.sales-proposal-builder-feedback-steps) {
  display: inline-flex;
  width: max-content;
  min-height: 24px;
  margin-bottom: 8px;
  padding: 2px 4px;
  border-color: transparent;
  background: transparent;
}

.sales-proposal-processing-icon {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: var(--royal);
}

.sales-proposal-processing-icon .sales-proposal-action-icon {
  width: 22px;
  height: 22px;
}

.sales-proposal-builder-feedback-steps {
  align-items: stretch;
  padding: 8px 10px;
}

.sales-proposal-processing-box {
  display: grid;
  gap: 6px;
  width: 100%;
}

.sales-proposal-processing-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.sales-proposal-processing-box ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px 12px;
  margin: 0;
  padding-left: 20px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
}

.sales-preview-print-header-action {
  --genesis-action-width: 90px;
}

.sales-proposal-custom-payment-terms {
  justify-items: stretch;
  border-top: 0;
  padding-top: 4px;
}

.sales-proposal-custom-payment-terms > strong {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  width: 100%;
  color: var(--royal);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.sales-proposal-custom-payment-terms > strong::before,
.sales-proposal-custom-payment-terms > strong::after {
  content: "";
  border-top: 1px solid #c6d7eb;
}

.sales-proposal-table-options {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: 22px;
  margin: -2px 0 2px;
}

.sales-proposal-hide-discounts-control {
  min-height: 20px;
  padding: 0;
  color: var(--navy);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.sales-proposal-line-builder table.sized-table {
  width: max(100%, var(--sales-proposal-table-width, 100%)) !important;
  min-width: var(--sales-proposal-table-width, 0) !important;
  table-layout: fixed !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

.sales-proposal-line-builder .sales-proposal-col-line { width: 3%; }
.sales-proposal-line-builder .sales-proposal-col-product { width: 20%; }
.sales-proposal-line-builder .sales-proposal-col-qty { width: 4%; }
.sales-proposal-line-builder .sales-proposal-col-sell { width: 6.2%; }
.sales-proposal-line-builder .sales-proposal-col-usage,
.sales-proposal-line-builder .sales-proposal-col-included { width: 5.5%; }
.sales-proposal-line-builder .sales-proposal-col-discount { width: 5%; }
.sales-proposal-line-builder .sales-proposal-col-extended { width: 6.2%; }
.sales-proposal-line-builder .sales-proposal-col-total { width: 9.8%; }

.sales-proposal-line-builder .compact-table thead th {
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
  text-overflow: clip !important;
}

.sales-proposal-line-builder .sales-proposal-column-group-row th {
  height: 18px;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 2px !important;
  background: #ffffff;
  border: 0 !important;
}

.sales-proposal-line-builder .sales-proposal-group-heading {
  color: var(--royal);
  font-size: 12px !important;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.sales-proposal-line-builder .sales-proposal-group-spacer {
  color: transparent;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th {
  height: 24px !important;
  min-height: 24px !important;
  padding: 2px 2px !important;
  line-height: 1.05 !important;
  vertical-align: middle;
  border-top: 1.5px solid #344456 !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:first-child,
.sales-proposal-line-builder tbody td:first-child,
.sales-proposal-line-builder tfoot td:first-child {
  width: 3% !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(2),
.sales-proposal-line-builder tbody td:nth-child(2),
.sales-proposal-line-builder tfoot td:nth-child(2) {
  width: 20% !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(3),
.sales-proposal-line-builder tbody td:nth-child(3) {
  width: 4% !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(4),
.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(5),
.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(6),
.sales-proposal-line-builder tbody td:nth-child(4),
.sales-proposal-line-builder tbody td:nth-child(5),
.sales-proposal-line-builder tbody td:nth-child(6) {
  width: 6.2% !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(7),
.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(8),
.sales-proposal-line-builder tbody td:nth-child(7),
.sales-proposal-line-builder tbody td:nth-child(8) {
  width: 5.5% !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(9),
.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(10),
.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(11),
.sales-proposal-line-builder tbody td:nth-child(9),
.sales-proposal-line-builder tbody td:nth-child(10),
.sales-proposal-line-builder tbody td:nth-child(11) {
  width: 5% !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(12),
.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(13),
.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(14),
.sales-proposal-line-builder tbody td:nth-child(12),
.sales-proposal-line-builder tbody td:nth-child(13),
.sales-proposal-line-builder tbody td:nth-child(14) {
  width: 6.2% !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:nth-child(15),
.sales-proposal-line-builder tbody td:nth-child(15) {
  width: 9.8% !important;
}

.sales-proposal-line-builder thead tr:not(.sales-proposal-column-group-row) th:last-child,
.sales-proposal-line-builder tbody td:last-child,
.sales-proposal-line-builder tfoot td:last-child {
  border-right: 0 !important;
}

.sales-proposal-line-builder .compact-table tbody td {
  height: 16px !important;
  padding: 0 2px !important;
  line-height: 1 !important;
}

.sales-proposal-line-builder .proposal-product-select-cell select {
  height: 18px !important;
  min-height: 18px !important;
  font-size: 9px !important;
}

.sales-proposal-line-number-cell {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  text-align: center !important;
}

.sales-proposal-product-static {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: var(--ink);
  font-size: 9.5px;
  font-weight: 750;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-proposal-line-builder .proposal-product-select-cell {
  height: auto !important;
  min-height: 24px !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
  vertical-align: top !important;
  white-space: normal !important;
}

.sales-proposal-line-comment-control {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  min-width: 0;
}

.sales-proposal-line-comment-button {
  min-height: 17px;
  padding: 1px 5px;
  font-size: 9px;
  line-height: 1;
}

.sales-proposal-line-comment-badge {
  display: inline-flex;
  align-items: center;
  max-width: 72px;
  min-height: 15px;
  padding: 1px 5px;
  border: 1px solid #7da0c7;
  border-radius: 999px;
  background: #e9f2fc;
  color: #174d83;
  font-size: 8px;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
}

.sales-proposal-hide-discounts col.sales-proposal-col-discount,
.sales-proposal-hide-discounts .sales-proposal-discount-heading,
.sales-proposal-hide-discounts thead tr:not(.sales-proposal-column-group-row) th:nth-child(9),
.sales-proposal-hide-discounts thead tr:not(.sales-proposal-column-group-row) th:nth-child(10),
.sales-proposal-hide-discounts thead tr:not(.sales-proposal-column-group-row) th:nth-child(11),
.sales-proposal-hide-discounts tbody td:nth-child(9),
.sales-proposal-hide-discounts tbody td:nth-child(10),
.sales-proposal-hide-discounts tbody td:nth-child(11),
.sales-proposal-hide-discounts tfoot td:nth-child(9),
.sales-proposal-hide-discounts tfoot td:nth-child(10),
.sales-proposal-hide-discounts tfoot td:nth-child(11) {
  display: none !important;
}

@media (max-width: 1180px) {
  .sales-proposal-action-grid,
  .sales-proposal-control-groups,
  .sales-proposal-workspace,
  .sales-proposal-management-layout,
  .sales-proposal-total-strip,
  .sales-proposal-meta-grid,
  .sales-proposal-catalog-layout {
    grid-template-columns: 1fr;
  }

  .sales-proposal-management-detail {
    position: static;
  }

  .sales-proposal-catalog-filters {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 721px) and (max-width: 1120px) {
  .app-shell.embedded-ar-route,
  .app-shell.embedded-ar-route.collapsed {
    --sidebar-width: 78px;
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .embedded-ar-route .sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    flex-direction: column;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .embedded-ar-route .brand {
    min-height: 50px;
    padding: 0;
  }

  .embedded-ar-route .brand-link {
    width: 60px;
    height: 60px;
  }

  .embedded-ar-route .brand-logo-full {
    display: none !important;
  }

  .embedded-ar-route .brand-logo-mark {
    display: block !important;
    width: 54px;
    height: 54px;
  }

  .embedded-ar-route .sidebar-toggle,
  .embedded-ar-route .sidebar-resize-handle,
  .embedded-ar-route .nav-label,
  .embedded-ar-route .nav-section-label,
  .embedded-ar-route .legacy-link,
  .embedded-ar-route .sidebar-bottom {
    display: none;
  }

  .embedded-ar-route .nav {
    display: grid;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 0;
  }

  .embedded-ar-route .nav-item,
  .embedded-ar-route .nav-item.child,
  .embedded-ar-route .nav-item.child.submenu-visible {
    width: 100%;
    margin-left: 0;
    grid-template-columns: 24px;
    justify-content: center;
  }

  .embedded-ar-route .nav-item.child.submenu-visible {
    display: grid;
  }

  .embedded-ar-route .nav-icon {
    margin: 0 auto;
  }

  .embedded-ar-route .content {
    padding: 14px 18px 18px;
  }

  .embedded-ar-route .site-special-message {
    margin: 10px 18px 0;
  }
}

.fraud-rule-badge-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.fraud-rule-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  min-height: 26px;
  border: 1px solid #b85d18;
  border-radius: 6px;
  padding: 3px 7px;
  background: #fff4e8;
  color: #5f2f08;
  font-size: 12px;
  line-height: 1.2;
  cursor: pointer;
}

.fraud-rule-badge span {
  font-weight: 700;
  white-space: nowrap;
}

.fraud-rule-badge strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fraud-rule-badge:hover,
.fraud-rule-badge:focus {
  border-color: #8c3f00;
  background: #ffe3c4;
}

.fraud-rule-badge-cell {
  vertical-align: top;
}

.table-link-button.fraud-ticket-link {
  border: 0;
  padding: 0;
  background: transparent;
  color: #0b5cad;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
}

.fraud-rule-dialog,
.fraud-ticket-dialog {
  display: grid;
  gap: 14px;
}

.fraud-rule-dialog h4,
.fraud-ticket-dialog h4 {
  margin: 0 0 6px;
  font-size: 13px;
  color: #24384f;
}

.fraud-rule-dialog p,
.fraud-ticket-dialog p {
  margin: 0;
}

.fraud-rule-dialog pre {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border: 1px solid #d5e0ec;
  border-radius: 6px;
  padding: 10px;
  background: #f7fafc;
  color: #1f2f44;
  font: 13px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fraud-ticket-list {
  margin: 0;
  padding-left: 18px;
}

.fraud-ticket-rule-meta {
  display: inline-flex;
  margin-left: 8px;
  border: 1px solid #c6d7eb;
  border-radius: 999px;
  padding: 1px 7px;
  background: #eef6ff;
  color: #23527c;
  font-size: 11px;
  font-weight: 800;
  vertical-align: 1px;
}

.fraud-dashboard-table-frame {
  max-height: 380px;
  min-height: 0;
  scrollbar-gutter: stable both-edges;
}

.fraud-dashboard-table-frame tbody tr.fraud-ticket-row {
  cursor: pointer;
}

.fraud-dashboard-table-frame th,
.fraud-dashboard-table-frame td {
  height: 30px;
  vertical-align: middle !important;
}

.fraud-dashboard-table-frame tbody td {
  white-space: nowrap;
}

.fraud-dashboard-table-frame tbody tr.selected-row td {
  background: #d8ebff !important;
  border-bottom-color: #1f64ad;
  color: #162b44;
}

.fraud-dashboard-table-frame tbody tr.selected-row td:first-child {
  box-shadow: inset 3px 0 0 #1769c2;
}

.fraud-ticket-cell {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.fraud-ticket-key {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 700;
  color: #1f2f44;
}

.fraud-rule-trip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 28px;
  height: 22px;
  border: 1px solid #b85d18;
  border-radius: 999px;
  padding: 0 7px;
  background: #fff4e8;
  color: #5f2f08;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.fraud-rule-trip-icon:hover,
.fraud-rule-trip-icon:focus {
  border-color: #8c3f00;
  background: #ffe3c4;
}

.fraud-rule-trip-icon.static {
  cursor: default;
}

.fraud-ticket-rule-trip-summary {
  display: flex;
  align-items: center;
  gap: 10px;
}

.fraud-ticket-notes-panel {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.fraud-ticket-notes-heading {
  align-items: center;
}

.fraud-ticket-notes-heading h3 {
  margin: 0;
  color: #24384f;
  font-size: 15px;
}

.fraud-ticket-notes-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
  justify-content: flex-end;
}

.fraud-ticket-status-cell {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

.fraud-ticket-status-select {
  width: 100%;
  height: 24px;
  min-height: 24px;
  border-color: #8fa8c4;
  border-radius: 4px;
  padding: 2px 24px 2px 7px;
  color: #162b44;
  font-size: 12px;
  font-weight: 750;
}

.fraud-ticket-notes-frame {
  max-height: 172px;
}

.fraud-ticket-notes-frame table {
  min-width: 760px;
}

.fraud-ticket-notes-frame th,
.fraud-ticket-notes-frame td {
  height: 28px;
  vertical-align: middle !important;
}

.fraud-ticket-notes-frame th:nth-child(1),
.fraud-ticket-notes-frame td:nth-child(1) {
  width: 150px;
}

.fraud-ticket-notes-frame th:nth-child(2),
.fraud-ticket-notes-frame td:nth-child(2) {
  width: 170px;
}

.fraud-ticket-notes-frame th:nth-child(4),
.fraud-ticket-notes-frame td:nth-child(4) {
  width: 88px;
}

.fraud-ticket-note-body {
  max-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fraud-ticket-note-dialog-grid {
  margin-bottom: 10px;
}

.fraud-linked-events-panel {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.fraud-linked-events-panel .compact-panel-heading {
  margin-bottom: 0;
}

.fraud-linked-events-panel h3 {
  margin: 0;
  color: #24384f;
  font-size: 15px;
}

.fraud-linked-events-frame {
  max-height: 260px;
}

.fraud-linked-events-frame table {
  min-width: 1560px;
  table-layout: auto;
}

.fraud-linked-events-frame th,
.fraud-linked-events-frame td {
  height: 28px;
  vertical-align: middle !important;
}

.fraud-ip-evidence-cell {
  background: #eef8f1;
  color: #1f5d36;
  font-weight: 700;
}
