/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 */
/* Studied DNA: Signal Grid. Contrast gates 40–41 passed in the audited coverage;
   scoped exceptions and exact coverage are documented in design-qa.md. */
/* Hallmark · macrostructure: Workbench · tone: precise and calm · anchor hue: lemon
   Signal Grid: presentation only. Original controls remain in their forms;
   native disclosures expose the full navigation and filter set. */
@import url("./tokens.css?v=e3a269799953");
.signal-chart-tooltip {
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.8;
}
.signal-chart-tooltip-title {
  font-weight: 600;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--sg-rule);
  padding-bottom: 4px;
}
.signal-chart-success {
  color: var(--sg-success);
}
.signal-chart-warning {
  color: var(--sg-warning);
}
.signal-summary-table {
  margin: 10px 0;
}
body.active_admin .signal-receipt-details > tbody > tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--sg-rule);
}
body.active_admin .signal-receipt-details > tbody > tr > td {
  min-width: 0;
  padding: 0;
  overflow-wrap: anywhere;
}
body.active_admin .signal-receipt-details > tbody > tr > td:nth-child(2) {
  grid-column: 1/-1;
  grid-row: 2;
}
body.active_admin .signal-receipt-details > tbody > tr > td:nth-child(3) {
  grid-column: 2;
  grid-row: 1;
}
@media (min-width: 901px) {
  body.active_admin.tickets.show :is(.general_info_panel, .detail_info_panel) > .panel {
    margin-bottom: 12px;
  }
  body.active_admin.tickets.show :is(.general_info_panel, .detail_info_panel) > .panel > .panel_contents {
    padding: 6px 0;
  }
  body.active_admin.tickets.show .general_info_panel .signal-summary-table,
  body.active_admin.tickets.show .detail_info_panel :is(.signal-receipt-details, .signal-purchase-details) {
    margin: 0;
  }
  body.active_admin.tickets.show .general_info_panel .signal-summary-table > tbody > tr > td,
  body.active_admin.tickets.show .detail_info_panel .signal-purchase-details :is(th, td) {
    padding: 4px 8px;
    line-height: 1.3;
  }
  body.active_admin.tickets.show .detail_info_panel .signal-receipt-details > tbody > tr {
    gap: 6px 8px;
    padding: 6px 0;
  }
}
@font-face {
  font-family: Signal Golos;
  src: url("./golos.ttf") format("truetype");
  font-weight: 400 900;
  font-display: swap;
}
@font-face {
  font-family: Signal Plex;
  src: url("./plex.ttf") format("truetype");
  font-weight: 100 700;
  font-display: swap;
}
html {
  background: var(--sg-bg);
}
html body.active_admin,
html body.signal-sidekiq,
html body.rails-default-error-page {
  min-width: 0;
  margin: 0;
  background: var(--sg-bg);
  color: var(--sg-text);
  font: 14px/1.5 var(--sg-font);
  text-shadow: none;
}
/* Sidekiq's OS-dark stylesheet marks html/body !important. Keep a manual
   light preference authoritative too, without affecting other surfaces. */
html:has(> body.signal-sidekiq),
body.signal-sidekiq {
  background-color: var(--sg-bg) !important;
}
body.active_admin *,
body.signal-sidekiq *,
body.rails-default-error-page * {
  box-sizing: border-box;
  text-shadow: none;
}
body.active_admin #wrapper {
  width: 100%;
  min-width: 0;
  padding: 0;
}
body.active_admin a,
body.active_admin a:visited,
body.signal-sidekiq a,
body.signal-sidekiq a:visited,
body.rails-default-error-page a,
body.rails-default-error-page a:visited {
  color: var(--sg-link);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
body.active_admin h1,
body.active_admin h2,
body.active_admin h3,
body.active_admin h4,
body.signal-sidekiq h1,
body.signal-sidekiq h2,
body.signal-sidekiq h3,
body.rails-default-error-page h1 {
  font-family: var(--sg-heading);
  color: var(--sg-text);
  text-shadow: none;
}
body.active_admin :focus-visible,
body.signal-sidekiq :focus-visible,
body.rails-default-error-page :focus-visible {
  outline: 2px solid var(--sg-focus) !important;
  outline-offset: 3px;
}
body.active_admin #header {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) 250px;
  align-items: center;
  gap: 8px 20px;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 80px;
  padding: 8px var(--sg-gutter);
  background: var(--sg-nav);
  color: var(--sg-nav-text);
  box-shadow: none;
  border: 0;
  text-shadow: none;
}
body.active_admin #header h1.site_title {
  padding: 0;
  margin: 0;
  font-size: 20px;
  line-height: 32px;
  white-space: nowrap;
  color: var(--sg-nav-text);
}
body.active_admin #header h1.site_title a {
  color: inherit;
  text-decoration: none;
}
body.active_admin #header h1.site_title img {
  display: block;
  width: 124px;
  max-width: 100%;
  height: 24px;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
}
/* Preserve the original Salomat colors and dark lettering on the dark navigation. */
body.active_admin #header h1.site_title img[src^="/signal-theme/salomat-logo.svg"] {
  width: 152px;
  height: auto;
  padding: 8px;
  background: #fff;
  border-radius: var(--sg-radius-control);
  filter: none;
}
body.active_admin.logged_out #login h2 .salomat-login-logo {
  display: block;
  width: 240px;
  max-width: 100%;
  height: auto;
  margin: 0 auto 16px;
  padding: 12px;
  background: #fff;
  border-radius: var(--sg-radius-control);
}
body.active_admin #header .header-item {
  display: flex;
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
}
body.active_admin #header ul.tabs {
  display: flex;
  /* Override legacy 100%: enhancement changes the menu's containing block. */
  height: auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 8px;
  min-width: 0;
}
body.active_admin #header ul.tabs > li {
  margin: 0;
  float: none;
  display: block;
  max-width: 100%;
}
body.active_admin #header ul.tabs > li > a {
  display: block;
  padding: 6px 4px;
  color: var(--sg-nav-text);
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  white-space: normal;
  text-decoration: none;
}
body.active_admin #header ul.tabs > li.current > a {
  color: var(--sg-accent);
  box-shadow: inset 0 -3px var(--sg-accent);
  font-weight: 600;
}
body.active_admin #header ul.tabs > li > a:hover,
body.active_admin #header ul.tabs > li:hover > a,
body.active_admin #header ul.tabs > li > a:active,
body.active_admin #header ul.tabs > li > a:focus-visible,
body.active_admin
  #header
  ul.tabs
  > li
  ul
  a:is(:hover, :active, :focus-visible) {
  color: var(--sg-accent);
  background: var(--sg-nav-hover);
}
body.active_admin #header :focus-visible,
body.signal-sidekiq .navbar :focus-visible {
  outline-color: var(--sg-accent) !important;
}
body.active_admin #header ul.tabs > li ul {
  background: var(--sg-nav);
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  box-shadow: none;
  max-width: min(320px, 90vw);
}
body.active_admin #header ul.tabs > li ul a {
  color: var(--sg-nav-text);
}
body.active_admin #header #utility_nav {
  max-width: 250px;
  display: grid;
  width: 250px;
  grid-template-columns: minmax(0, 1fr) 40px;
  grid-template-rows: 18px 40px;
  align-items: center;
  justify-items: end;
}
body.active_admin #header #utility_nav #current_user {
  grid-column: 1/-1;
  grid-row: 1;
  min-width: 0;
}
body.active_admin #header #utility_nav #current_user > :is(a, span) {
  display: block;
  max-width: 100%;
  padding: 0 4px;
  font-size: 13px;
  line-height: 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.active_admin #header #utility_nav #current_user > span {
  color: var(--sg-nav-text);
}
/* Reserve both controls before DOMContentLoaded adds the theme button. */
body.active_admin #header #utility_nav #logout {
  grid-column: 1;
  grid-row: 2;
}
body.active_admin #header #utility_nav .signal-theme-item {
  grid-column: 2;
  grid-row: 2;
}
body.active_admin #header button.signal-theme-toggle:hover {
  color: var(--sg-accent);
  background: var(--sg-nav);
}
body.active_admin #header .signal-navigation {
  min-width: 0;
}
body.active_admin #header .signal-navigation > summary {
  display: none;
  padding: 10px 6px;
  cursor: pointer;
  color: var(--sg-nav-text);
  font-size: 14px;
}
html body button.signal-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 8px;
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 8px;
  margin: 0;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
  box-shadow: none;
  background: transparent;
  color: var(--sg-text);
  font: 14px/1.4 var(--sg-font);
}
html body button.signal-theme-toggle:is(:hover, :active, :focus-visible) {
  background: var(--sg-raised);
  color: var(--sg-text);
}
body.active_admin
  #header
  button.signal-theme-toggle:is(:hover, :active, :focus-visible),
body.signal-sidekiq
  .navbar
  button.signal-theme-toggle:is(:hover, :active, :focus-visible) {
  background: var(--sg-nav-hover);
  color: var(--sg-accent);
}
html body .signal-theme-icon {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: currentColor;
  mask: url("./icons/moon.svg") center / contain no-repeat;
  -webkit-mask: url("./icons/moon.svg") center / contain no-repeat;
}
html body [data-theme-target="light"] .signal-theme-icon {
  mask-image: url("./icons/sun.svg");
  -webkit-mask-image: url("./icons/sun.svg");
}
html body .signal-theme-icon img,
html body .signal-theme-label {
  display: none;
}
html body #header .signal-theme-toggle,
html body .navbar .signal-theme-toggle {
  color: var(--sg-nav-text);
}
html body button.signal-theme-floating {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  background: var(--sg-surface);
  border: 1px solid var(--sg-rule);
}
body.active_admin #title_bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px var(--sg-gutter);
  margin: 0;
  min-height: 0;
  background: var(--sg-bg);
  border: 0;
  border-bottom: 1px solid var(--sg-rule);
  box-shadow: none;
  color: var(--sg-text);
  text-shadow: none;
}
/* Legacy float clearing creates a phantom flex row and an extra 16px gap. */
body.active_admin #title_bar::after {
  display: none;
}
body.active_admin #title_bar #titlebar_left,
body.active_admin #title_bar #titlebar_right {
  display: block;
  float: none;
  max-width: 100%;
  width: auto;
  min-width: 0;
  height: auto;
}
body.active_admin #title_bar h2 {
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}
body.active_admin .breadcrumb {
  font-size: 12px;
  line-height: 1.5;
  color: var(--sg-muted);
  white-space: normal;
}
body.active_admin .breadcrumb a {
  color: var(--sg-muted);
  text-transform: none;
}
body.active_admin .breadcrumb .breadcrumb_sep,
body.active_admin form abbr {
  color: var(--sg-muted);
}
body.active_admin .attributes_table .empty {
  color: var(--sg-muted);
}
body.active_admin .blank_slate_container .blank_slate {
  color: var(--sg-muted);
}
body.active_admin .action_items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  white-space: normal;
}
body.active_admin .action_items span.action_item {
  margin: 0;
  padding: 0;
  display: block;
}
body.active_admin .action_items span.action_item:empty {
  display: none;
}
body.active_admin .action_items span.action_item a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
}
body.active_admin #active_admin_content {
  padding: 20px var(--sg-gutter);
  min-width: 0;
  width: 100%;
}
body.active_admin #active_admin_content.with_sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.active_admin #active_admin_content #main_content_wrapper {
  float: none;
  width: 100%;
  min-width: 0;
}
body.active_admin #active_admin_content #main_content_wrapper #main_content {
  margin: 0;
  min-width: 0;
}
body.active_admin #active_admin_content #sidebar {
  float: none;
  width: 100%;
  margin: 0;
  min-width: 0;
  order: -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.active_admin #filters_sidebar_section {
  grid-column: 1/-1;
  order: 2;
}
body.active_admin #search_status_sidebar_section {
  order: 1;
}
body.active_admin #search_status_sidebar_section > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
}
body.active_admin #search_status_sidebar_section h4,
body.active_admin #search_status_sidebar_section ul {
  margin: 0;
}
body.active_admin
  #search_status_sidebar_section
  .active_filters_sidebar_content,
body.active_admin
  #search_status_sidebar_section
  .active_filters_sidebar_content
  > div {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  margin: 0 !important;
  font-size: 13px;
}
body.active_admin
  #search_status_sidebar_section
  .active_filters_sidebar_content
  h4 {
  margin: 0 !important;
  font: inherit;
}
body.active_admin
  #search_status_sidebar_section
  .active_filters_sidebar_content
  ul {
  padding-left: 18px;
}
body.active_admin .sidebar_section,
body.active_admin .panel {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 24px;
}
body.active_admin .sidebar_section {
  margin: 0;
}
body.active_admin .signal-filter-panel > summary {
  padding: 12px 16px;
  cursor: pointer;
  background: var(--sg-raised);
  color: var(--sg-text);
}
body.active_admin .signal-filter-panel > summary h3 {
  display: inline;
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}
body.active_admin .signal-filter-panel[open] > summary {
  border-bottom: 1px solid var(--sg-rule);
}
body.active_admin .panel > h3,
body.active_admin .sidebar_section > h3 {
  margin: 0;
  padding: 8px 0;
  background: transparent;
  color: var(--sg-text);
  border: 0;
  border-bottom: 1px solid var(--sg-rule);
  box-shadow: none;
  text-shadow: none;
  font-size: 16px;
  line-height: 1.4;
}
body.active_admin .panel_contents,
body.active_admin .sidebar_section > div {
  padding: 12px 0;
  min-width: 0;
}
body.active_admin .filter_form,
body.active_admin .signal-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: var(--sg-field-row-gap) 16px;
}
body.active_admin .filter_form > div,
body.active_admin .signal-filter-grid > div {
  min-width: 0;
  margin: 0;
}
body.active_admin .signal-extra-filters {
  grid-column: 1/-1;
  min-width: 0;
}
body.active_admin .signal-extra-filters > summary {
  padding: 10px 0;
  cursor: pointer;
  color: var(--sg-link);
  font-size: 13px;
  font-weight: 500;
}
body.active_admin .signal-extra-filters[open] > .signal-filter-grid {
  padding: 8px 0 16px;
}
body.active_admin #sidebar > .sidebar_section:not(#filters_sidebar_section) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 8px 12px;
  gap: 8px 16px;
}
body.active_admin
  #sidebar
  > .sidebar_section:not(#filters_sidebar_section)
  > h3 {
  font: 500 13px/1.5 var(--sg-font);
  border: 0;
  background: none;
  padding: 0;
}
body.active_admin
  #sidebar
  > .sidebar_section:not(#filters_sidebar_section)
  > div {
  padding: 0;
}
body.active_admin #sidebar > .sidebar_section:not(#filters_sidebar_section) ul {
  margin: 0;
}
body.active_admin .filter_form .buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  grid-column: 1/-1;
  padding: 0;
  margin: 0;
}
body.active_admin .filter_form label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
  color: var(--sg-muted);
  margin: 0 0 var(--sg-field-label-gap);
  float: none;
  width: auto;
}
body.active_admin .filter_form .filter_numeric,
body.active_admin .filter_form .filter_date_range,
body.active_admin .filter_form .select_and_search {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sg-field-label-gap) 8px;
}
body.active_admin .filter_form .filter_numeric label,
body.active_admin .filter_form .filter_date_range label,
body.active_admin .filter_form .select_and_search label {
  width: 100%;
  margin-bottom: 0;
}
body.active_admin .filter_form .filter_numeric > input,
body.active_admin .filter_form .filter_numeric > select,
body.active_admin .filter_form .filter_date_range > input,
body.active_admin .filter_form .select_and_search > input {
  flex: 1 1 90px;
  width: 0;
  min-width: 0;
  margin: 0;
}
body.active_admin .filter_form .filter_numeric .select2,
body.active_admin .filter_form .select_and_search .select2 {
  flex: 1 1 90px;
}
body.active_admin #search_status_sidebar_section .current_filter {
  overflow-wrap: anywhere;
}
body.active_admin .table_tools {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  min-height: 0;
  margin: 0 0 20px;
  padding: 0;
}
body.active_admin :is(.table_tools, .signal-scopes-panel) .scopes {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  float: none;
  white-space: normal;
  margin: 0;
  padding: 0;
}
body.active_admin :is(.table_tools, .signal-scopes-panel) .scopes li {
  display: block;
  float: none;
  margin: 0;
}
body.active_admin
  :is(.table_tools, .signal-scopes-panel)
  .scopes
  li
  a.table_tools_button {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--sg-text);
  background: transparent;
  box-shadow: none;
  text-shadow: none;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.3;
  white-space: normal;
}
body.active_admin
  :is(.table_tools, .signal-scopes-panel)
  .scopes
  li.selected
  a {
  background: var(--sg-raised);
  color: var(--sg-text);
  border-bottom-color: var(--sg-focus);
  font-weight: 600;
}
body.active_admin :is(.table_tools, .signal-scopes-panel) .scopes .count {
  color: inherit;
  opacity: 1;
  font-weight: 400;
}
body.active_admin .ticket_type_switcher {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.active_admin .ticket_type_switcher a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 6px 12px;
}
body.active_admin .table_tools_segmented_control {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0;
  margin: 0;
}
body.active_admin .table_tools_segmented_control li {
  float: none;
  display: block;
  margin: 0;
}
body.active_admin .table_tools_segmented_control li a.table_tools_button,
body.active_admin form.filter_form a.clear_filters_btn {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 6px 12px;
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  box-shadow: none;
  background: var(--sg-surface);
  color: var(--sg-text);
  font: 500 14px/1.4 var(--sg-font);
  text-decoration: none;
  text-shadow: none;
}
body.active_admin
  .table_tools_segmented_control
  li.selected
  a.table_tools_button {
  background: var(--sg-accent);
  border-color: var(--sg-border);
  color: var(--sg-accent-text);
}
body.active_admin table,
body.signal-sidekiq table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: var(--sg-text);
  background: transparent;
}
body.active_admin table.index_table {
  margin: 0 0 16px;
  border: 0;
  box-shadow: none;
}
body.active_admin table.index_table th,
body.active_admin table.index_table td,
body.active_admin table.signal-responsive-table th,
body.active_admin table.signal-responsive-table td,
body.active_admin table.attributes_table th,
body.active_admin table.attributes_table td {
  padding: 12px 10px;
  border: 0;
  border-bottom: 1px solid var(--sg-rule);
  text-align: left;
  vertical-align: top;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.active_admin table.index_table th {
  background: var(--sg-raised);
  color: var(--sg-muted);
  font-weight: 500;
  font-size: 12px;
  text-shadow: none;
}
body.active_admin table.signal-responsive-table th {
  background: var(--sg-raised);
  color: var(--sg-muted);
  font-weight: 500;
  font-size: 12px;
  text-transform: none;
  text-shadow: none;
}
body.active_admin table.index_table th a {
  color: inherit;
  text-shadow: none;
  display: inline-block;
  padding-right: 14px;
  padding-left: 0;
  white-space: normal;
  max-width: 100%;
  overflow-wrap: anywhere;
}
body.active_admin table th a.signal-sort-link {
  position: relative;
  background-image: none;
}
body.active_admin .signal-sort-icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: 0 4px;
  filter: brightness(0.65);
}
:root[data-signal-theme="dark"] body.active_admin .signal-sort-icon {
  filter: brightness(1.7);
}
body.active_admin th.sorted-asc .signal-sort-icon {
  background-position: 0 -27px;
}
body.active_admin th.sorted-desc .signal-sort-icon {
  background-position: 0 -56px;
}
body.active_admin table.index_table th.sorted-asc,
body.active_admin table.index_table th.sorted-desc {
  background: var(--sg-raised);
  color: var(--sg-text);
}
body.active_admin table.index_table tbody tr:nth-child(even) {
  background: var(--sg-surface);
}
body.active_admin table.index_table tbody tr:hover {
  background: var(--sg-raised);
}
body.active_admin table.index_table .col-id {
  width: 76px;
  font-variant-numeric: tabular-nums;
}
body.active_admin table.index_table th.col-id a {
  white-space: nowrap;
  overflow-wrap: normal;
}
/* UUID/resource keys need room while remaining wrappable in narrow cards. */
body.active_admin table.index_table th.signal-long-id {
  width: 160px;
}
body.active_admin table.signal-version-history th.signal-version-message {
  width: 40%;
}
body.active_admin table.index_table a.resource_id_link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-width: var(--sg-data-link-size);
  min-height: var(--sg-data-link-size);
  font-size: 14px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
body.active_admin table.index_table .col-actions {
  width: 180px;
}
body.active_admin table.index_table td.col-actions a {
  display: inline-block;
  margin: 0 8px 8px 0;
}
body.active_admin table.attributes_table th {
  width: 25%;
  color: var(--sg-muted);
  font-weight: 400;
  font-size: 13px;
  text-transform: none;
}
body.active_admin table.attributes_table tr.even td,
body.active_admin table.attributes_table tr.odd td {
  background: transparent;
}
body.active_admin .attributes_table table th,
body.active_admin .attributes_table table td {
  border-color: var(--sg-rule);
  color: var(--sg-text);
}
body.active_admin .attributes_table > table th {
  width: 25%;
  color: var(--sg-muted);
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
}
.signal-cell-label {
  display: none;
}
body.active_admin .pagination_information,
body.active_admin .paginated_collection_contents {
  color: var(--sg-muted);
  clear: both;
  min-width: 0;
}
body.active_admin .pagination_information b {
  color: var(--sg-text);
}
body.active_admin .pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 12px 0;
  float: none;
}
body.active_admin .pagination > span:not(.current):not(.gap) {
  display: contents;
}
body.active_admin .pagination :is(a, span.current, span.gap),
body.signal-sidekiq .pagination > li > :is(a, span) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--sg-data-link-size);
  min-height: var(--sg-data-link-size);
  max-width: 100%;
  padding: 5px 9px;
  margin: 0;
  border: 1px solid var(--sg-rule);
  border-radius: 2px;
  background: var(--sg-surface);
  color: var(--sg-text);
  box-shadow: none;
  text-shadow: none;
  font: 400 14px/1.4 var(--sg-font);
  text-decoration: none;
  white-space: normal;
}
body.active_admin .pagination span.page.current,
body.signal-sidekiq .pagination > .active > :is(a, span) {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
  border-color: var(--sg-border);
  font-weight: 500;
  text-decoration: none;
}
body.active_admin .pagination span.gap {
  background: transparent;
  border-color: transparent;
  color: var(--sg-muted);
}
body.active_admin form fieldset.inputs,
body.active_admin form fieldset.actions {
  border: 0;
  border-top: 1px solid var(--sg-rule);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 12px 0;
  margin: 0 0 16px;
  min-width: 0;
}
body.active_admin form fieldset.actions {
  border: 0;
  padding: 0;
  background: none;
}
body.active_admin form fieldset.inputs > legend {
  max-width: 100%;
  padding: 0 8px 0 0;
  font-size: 16px;
  font-family: var(--sg-heading);
  font-weight: 600;
  color: var(--sg-text);
  background: var(--sg-bg);
}
body.active_admin form fieldset.inputs > legend span {
  background: none;
  color: inherit;
  border: 0;
  box-shadow: none;
  padding: 0;
}
body.active_admin form fieldset ol {
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
}
body.active_admin form fieldset > ol > li {
  padding: 8px 0;
  min-width: 0;
}
body.active_admin form fieldset > ol > li > label {
  float: none;
  display: block;
  width: 100%;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--sg-muted);
  text-transform: none;
  margin: 0 0 var(--sg-field-label-gap);
}
body.active_admin form fieldset > ol > li.boolean > label,
body.active_admin .custom_boolean label,
body.active_admin form.formtastic fieldset.choices ol.choices-group label {
  display: flex;
  align-items: flex-start;
  gap: var(--sg-choice-gap);
  min-height: var(--sg-control-height);
  font-weight: 400;
  color: var(--sg-text);
  margin: 0;
  width: 100%;
  padding: 0;
}
body.active_admin
  form
  input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="submit"], [type="button"], .select2-search__field),
body.active_admin form textarea,
body.active_admin form select,
body.signal-sidekiq
  input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="submit"], [type="button"]),
body.signal-sidekiq textarea,
body.signal-sidekiq select {
  font: 14px/1.5 var(--sg-font);
  color: var(--sg-text);
  background: var(--sg-input);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-control);
  box-shadow: none;
  padding: 8px 10px;
  min-height: var(--sg-control-height);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
body.active_admin form input[type="file"] {
  height: auto;
}
body.active_admin form textarea {
  min-height: 110px;
  resize: vertical;
}
body.active_admin form select[multiple] {
  min-height: 110px;
}
body.active_admin input::placeholder,
body.active_admin textarea::placeholder {
  color: var(--sg-muted);
  opacity: 1;
}
body.active_admin input[type="checkbox"],
body.active_admin input[type="radio"],
body.signal-sidekiq input[type="checkbox"],
body.signal-sidekiq input[type="radio"] {
  appearance: auto;
  accent-color: var(--sg-focus);
  width: var(--sg-choice-size);
  height: var(--sg-choice-size);
  min-width: var(--sg-choice-size);
  padding: 0;
  margin: 2px 0 0;
  box-shadow: none;
  vertical-align: middle;
  flex: 0 0 auto;
}
body.active_admin form input:disabled,
body.active_admin form select:disabled,
body.active_admin form textarea:disabled,
body.signal-sidekiq input:disabled,
body.signal-sidekiq select:disabled,
body.signal-sidekiq textarea:disabled {
  cursor: not-allowed;
  color: var(--sg-muted);
  background: var(--sg-raised);
  opacity: 1;
}
body.active_admin form input[readonly],
body.active_admin form textarea[readonly],
body.signal-sidekiq input[readonly],
body.signal-sidekiq textarea[readonly] {
  background: var(--sg-raised);
}
body.active_admin .inline-hints,
body.active_admin form p.inline-hints,
body.active_admin .custom_hint {
  width: auto;
  margin: var(--sg-field-help-gap) 0 0;
  padding: 0;
  color: var(--sg-muted);
  font-size: 13px;
  line-height: 1.5;
  font-style: normal;
  overflow-wrap: anywhere;
}
body.active_admin .inline-errors,
body.active_admin form p.inline-errors,
body.active_admin .custom_error,
body.active_admin .common-error {
  width: auto;
  margin: var(--sg-field-help-gap) 0;
  color: var(--sg-danger);
  font-size: 14px;
  line-height: 1.5;
}
body.active_admin form .error input,
body.active_admin form .error select,
body.active_admin form .error textarea {
  border-color: var(--sg-danger) !important;
}
body.active_admin .custom_error a {
  color: var(--sg-link);
}
body.active_admin form .semantic_errors {
  color: var(--sg-danger);
  background: var(--sg-danger-bg);
  border: 1px solid var(--sg-danger);
  padding: 16px;
  list-style: inside;
}
body.active_admin form .has_many_container {
  min-width: 0;
}
body.active_admin .has_many_fields {
  min-width: 0;
  margin: 0 0 16px !important;
}
body.active_admin .has_many_fields legend {
  font-size: 14px;
}
body.active_admin .has_many_add,
body.active_admin .has_many_remove {
  margin: 8px 0;
}
body.active_admin .custom_label,
body.active_admin .prescription_medicines_subform .custom_label {
  float: none;
  width: 100%;
  margin: 0 0 var(--sg-field-label-gap);
  color: var(--sg-muted);
  font: 500 13px/1.4 var(--sg-font);
}
body.active_admin .prescription_medicines_subform .text-input {
  width: 100%;
  min-width: 0;
}
body.active_admin form fieldset > ol > li.signal-has-many-actions {
  padding: var(--sg-space-xs) var(--sg-space-sm);
  text-align: right;
}
body.active_admin input[type="range"],
body.signal-sidekiq input[type="range"] {
  accent-color: var(--sg-focus);
}
body.active_admin #title_bar .action_items span.action_item > a,
body.active_admin
  #title_bar
  .action_items
  span.action_item
  > .dropdown_menu
  > a,
body.active_admin button,
body.active_admin input[type="submit"],
body.active_admin input[type="button"],
body.active_admin a.button,
body.active_admin .action_item a,
body.active_admin .has_many_add,
body.active_admin .has_many_remove,
body.active_admin form :is(fieldset.actions, fieldset.buttons) li.cancel a,
body.active_admin .ui-dialog .ui-dialog-buttonpane button,
body.rails-default-error-page .signal-error-actions a,
body.signal-sidekiq .btn,
body.signal-sidekiq button,
body.signal-sidekiq input[type="submit"] {
  --sg-button-bg: var(--sg-surface);
  --sg-button-text: var(--sg-text);
  --sg-button-border: var(--sg-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: var(--sg-control-height);
  height: auto;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  background: var(--sg-surface);
  color: var(--sg-text);
  box-shadow: none;
  text-shadow: none;
  font: 500 14px/1.35 var(--sg-font);
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
body.active_admin input[type="submit"],
body.active_admin
  button[type="submit"]:not(:disabled):not(.disabled):not([aria-disabled="true"]),
body.active_admin
  button.button:not(.disabled):not(:disabled):not([aria-disabled="true"]),
body.active_admin #title_bar .action_items span.action_item > a[href$="/new"],
body.active_admin
  .ui-dialog
  .ui-dialog-buttonpane
  .bordereau-confirm-button:not(:disabled),
body.signal-sidekiq .btn-primary {
  --sg-button-bg: var(--sg-accent);
  --sg-button-text: var(--sg-accent-text);
  background: var(--sg-accent);
  border-color: var(--sg-border);
  color: var(--sg-accent-text);
}
body.active_admin button:hover,
body.active_admin a.button:hover,
body.active_admin .action_item a:hover,
body.active_admin input[type="submit"]:hover,
body.signal-sidekiq .btn:hover {
  box-shadow: inset 0 0 0 1px currentColor;
  text-decoration: none;
}
body.active_admin
  #title_bar
  .action_items
  span.action_item
  > a:not(.disabled):hover,
body.active_admin
  #title_bar
  .action_items
  span.action_item
  > .dropdown_menu
  > a:not(.disabled):hover {
  background-image: none;
  box-shadow: inset 0 0 0 1px currentColor;
}
body.active_admin button:disabled,
body.active_admin button.disabled,
body.active_admin input[type="submit"]:disabled,
body.signal-sidekiq .btn.disabled {
  cursor: not-allowed;
  background: var(--sg-raised);
  color: var(--sg-muted);
  border-color: var(--sg-rule);
  opacity: 1;
  box-shadow: none;
}
body.active_admin .button.signal-danger,
body.active_admin .has_many_remove,
body.active_admin a[data-method="delete"],
body.signal-sidekiq .btn-danger {
  --sg-button-bg: var(--sg-danger-bg);
  --sg-button-text: var(--sg-danger);
  --sg-button-border: var(--sg-danger);
  background: var(--sg-danger-bg);
  color: var(--sg-danger);
  border-color: var(--sg-danger);
}
body.active_admin .status_tag {
  display: inline-block;
  padding: 4px 7px;
  border: 0;
  border-radius: 2px;
  box-shadow: none;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
  max-width: 100%;
  background: var(--sg-raised);
  color: var(--sg-text);
}
body.active_admin .status_tag.in_review {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
body.active_admin .status_tag.approved,
body.active_admin .status_tag.paid {
  background: var(--sg-success-bg);
  color: var(--sg-success);
}
/* Boolean true means "yes", not necessarily a favourable business outcome. */
body.active_admin .status_tag.yes,
body.active_admin .status_tag.true {
  background: var(--sg-info-bg);
  color: var(--sg-info);
}
body.active_admin .status_tag.rejected {
  background: var(--sg-danger-bg);
  color: var(--sg-danger);
}
body.active_admin .status_tag.no,
body.active_admin .status_tag.false {
  background: var(--sg-raised);
  color: var(--sg-text);
}
body.active_admin .status_tag.wait_for_review,
body.active_admin .status_tag.wait_for_payment,
body.active_admin .status_tag.documents_requested {
  background: var(--sg-warning-bg);
  color: var(--sg-warning);
}
body.active_admin .status_tag.wait_for_payment.sent_to_insurance {
  background: var(--sg-success-bg);
  color: var(--sg-success);
}
/* Salomat: the latest Montra payout failed or its result is unresolved. The operator must act
   before the ticket can be paid, so the list tag, the ticket warning and the bank answer share
   the danger pair already used for rejected tickets. */
body.active_admin .status_tag.montra_payout_failed,
body.active_admin .status_tag.montra_payout_unknown {
  background: var(--sg-danger-bg);
  color: var(--sg-danger);
}
body.active_admin .montra-payout-alert {
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 1px solid var(--sg-danger);
  border-inline-start-width: 4px;
  border-radius: var(--sg-radius-control, 3px);
  background: var(--sg-danger-bg);
  color: var(--sg-danger);
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.active_admin .montra-payout-alert strong {
  display: block;
  font-weight: 600;
}
body.active_admin .montra-payout-alert p {
  margin: 4px 0 0;
}
body.active_admin .montra-payout-failure {
  color: var(--sg-danger);
  font-weight: 600;
}
/* Document processing is a server-owned state, separate from generic booleans. */
body.active_admin .signal-document-summary {
  margin: 0 0 12px;
  color: var(--sg-muted);
  font-size: 13px;
}
/* Snapshot values can contain unbroken identifiers or serialized metadata.
   Wrap the full value in its existing list; never clip the operator audit. */
body.active_admin .diff_ticket_after_llm_with_present_panel {
  min-width: 0;
  overflow-wrap: anywhere;
}
body.active_admin .status_tag.signal-document-status {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 5px 8px;
  font-size: 13px;
  font-weight: 600;
}
body.active_admin .status_tag.signal-document-status.is-complete {
  background: var(--sg-success-bg);
  color: var(--sg-success);
}
body.active_admin .status_tag.signal-document-status.is-pending {
  background: var(--sg-warning-bg);
  color: var(--sg-warning);
}
body.active_admin .signal-document-status__icon {
  flex: 0 0 1em;
  text-align: center;
}
body.active_admin table.signal-document-list th.col-processed {
  width: 174px;
}
body.active_admin table.signal-document-list > tbody > tr[data-document-status="complete"] {
  --sg-document-marker: var(--sg-success);
}
body.active_admin table.signal-document-list > tbody > tr[data-document-status="pending"] {
  --sg-document-marker: var(--sg-warning);
}
body.active_admin table.signal-document-list > tbody > tr[data-document-status] > td:first-child {
  border-inline-start: 3px solid var(--sg-document-marker);
}
body.active_admin table.signal-document-list.signal-responsive-table.signal-records > tbody > tr[data-document-status] {
  border-inline-start: 3px solid var(--sg-document-marker);
  padding-inline-start: 12px;
}
body.active_admin table.signal-document-list.signal-records > tbody > tr[data-document-status] > td:first-child {
  border-inline-start: 0;
}
body.active_admin .status_tag {
  font-family: var(--sg-font);
  letter-spacing: 0;
  text-transform: none;
}
body.active_admin table.index_table .col-state {
  width: 200px;
}
body.active_admin .flashes {
  position: static;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  animation: none;
  z-index: auto;
}
body.active_admin #active_admin_content + .flashes,
body.active_admin #wrapper > .flashes {
  padding: 0 var(--sg-gutter);
}
body.active_admin .flash {
  margin: 12px 0;
  padding: 12px 16px;
  border: 1px solid var(--sg-border);
  background: var(--sg-raised);
  color: var(--sg-text);
  box-shadow: none;
  text-shadow: none;
  overflow-wrap: anywhere;
}
body.active_admin .flash_notice {
  background: var(--sg-success-bg);
  border-color: var(--sg-success);
  color: var(--sg-success);
}
body.active_admin .flash_error,
body.active_admin .flash_alert {
  background: var(--sg-danger-bg);
  border-color: var(--sg-danger);
  color: var(--sg-danger);
}
body.active_admin .flash_warning {
  background: var(--sg-warning-bg);
  border-color: var(--sg-warning);
  color: var(--sg-warning);
}
body.active_admin .columns {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  min-width: 0;
}
body.active_admin .columns > .column {
  float: none !important;
  margin: 0 !important;
  min-width: 0;
  flex: 1 1 0;
  width: auto !important;
}
body.active_admin #edit_attachment .columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
body.active_admin #edit_attachment .image_column {
  position: sticky;
  top: 16px;
  height: calc(100vh - 200px);
  min-height: 360px;
  max-height: 840px;
  background: var(--sg-raised);
}
body.active_admin #edit_attachment .column > table,
body.active_admin #edit_attachment .column > table > tbody > tr > td {
  display: block;
  padding: 0;
  border: 0;
}
body.active_admin .react-viewer {
  color: var(--sg-text);
}
body.active_admin .react-viewer-mask {
  background: var(--sg-raised);
}
body.active_admin .react-viewer-toolbar {
  background: var(--sg-raised);
  color: var(--sg-text);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  height: auto;
  overflow: visible;
  padding: 4px;
}
body.active_admin .react-viewer-attribute {
  color: var(--sg-muted);
  opacity: 1;
}
body.active_admin .react-viewer-toolbar li {
  color: var(--sg-text);
  background: transparent;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
}
body.active_admin .react-viewer-toolbar li:hover {
  background: transparent;
}
body.active_admin button.signal-viewer-tool {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: var(--sg-control-height);
  height: var(--sg-control-height);
  min-height: var(--sg-control-height);
  padding: 0;
  margin: 0;
  color: var(--sg-text);
  background: var(--sg-surface);
  border: 1px solid var(--sg-rule);
}
body.active_admin button.signal-viewer-tool:hover {
  background: var(--sg-raised);
  color: var(--sg-text);
}
body.active_admin .signal-viewer-tool .react-viewer-icon {
  color: inherit;
}
body.active_admin .react-viewer-canvas img {
  filter: none !important;
}
/* The viewer owns image dimensions/transforms, including zoom and rotation. */
body.active_admin img:not(.react-viewer-image) {
  max-width: 100%;
  height: auto;
}
body.active_admin pre,
body.active_admin code,
body.signal-sidekiq pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 100%;
  color: var(--sg-text);
  background: var(--sg-raised);
  border-color: var(--sg-rule);
}
body.active_admin .sales_id_form {
  width: min(100%, 440px);
  margin: 32px auto;
}
body.active_admin .ra-filter-group,
body.active_admin .ra-card {
  min-width: 0;
}
body.active_admin .ra-summary-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
  gap: 16px;
}
body.active_admin .ra-card {
  background: var(--sg-surface);
  border-color: var(--sg-rule);
  box-shadow: none;
  border-radius: 0;
}
body.active_admin .ra-card-value {
  color: var(--sg-text);
  font-family: var(--sg-heading);
}
body.active_admin .ra-card-label,
body.active_admin .ra-filter-group label {
  color: var(--sg-muted);
  text-transform: none;
}
body.active_admin .ra-card-success {
  border-left-color: var(--sg-success);
}
body.active_admin .ra-card-warning {
  border-left-color: var(--sg-warning);
}
body.active_admin .ra-filter-input {
  font-family: var(--sg-font);
  max-width: 100%;
}
body.active_admin .ra-field-header,
body.active_admin .ra-field-summary {
  gap: 8px;
  grid-template-columns: minmax(0, 2fr) repeat(4, minmax(0, 1fr));
  color: var(--sg-muted);
  border-color: var(--sg-rule);
}
body.active_admin .ra-field-details {
  border-color: var(--sg-rule);
}
body.active_admin .ra-field-summary:hover,
body.active_admin .ra-field-details[open] > .ra-field-summary {
  background: var(--sg-raised);
  color: var(--sg-text);
}
body.active_admin .ra-examples-table {
  background: var(--sg-surface);
}
body.active_admin .ra-examples-table th,
body.active_admin .ra-examples-table td {
  background: var(--sg-surface);
  color: var(--sg-text);
  border-color: var(--sg-rule);
  overflow-wrap: anywhere;
}
body.active_admin .ra-examples-table th {
  background: var(--sg-raised);
  color: var(--sg-muted);
}
body.active_admin .ra-examples-table a {
  color: var(--sg-link);
}
body.active_admin .ra-ex-old,
body.active_admin .ra-accuracy-low {
  color: var(--sg-danger) !important;
}
body.active_admin .ra-ex-new,
body.active_admin .ra-accuracy-high {
  color: var(--sg-success) !important;
}
body.active_admin .ra-accuracy-medium {
  color: var(--sg-warning);
}
body.active_admin .ra-ex-empty {
  color: var(--sg-muted);
}
body.active_admin .ra-ex-action {
  color: var(--sg-text);
  background: var(--sg-raised);
  font-size: 12px;
  white-space: normal;
}
body.active_admin .ra-ex-action-destroy {
  color: var(--sg-danger);
  background: var(--sg-danger-bg);
}
body.active_admin .ra-ex-action-create {
  color: var(--sg-success);
  background: var(--sg-success-bg);
}
body.active_admin .ra-ex-action-update {
  color: var(--sg-warning);
  background: var(--sg-warning-bg);
}
body.active_admin .apexcharts-text,
body.active_admin .apexcharts-title-text,
body.active_admin .apexcharts-legend-text {
  fill: var(--sg-muted) !important;
  color: var(--sg-muted) !important;
}
body.active_admin .apexcharts-tooltip,
body.active_admin .apexcharts-tooltip-title,
body.active_admin .apexcharts-xaxistooltip {
  background: var(--sg-surface) !important;
  color: var(--sg-text) !important;
  border-color: var(--sg-rule) !important;
  box-shadow: none;
}
body.active_admin .apexcharts-gridline {
  stroke: var(--sg-rule);
}
body.active_admin .apexcharts-canvas {
  max-width: 100%;
}
body.active_admin .ui-dialog {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 24px);
  background: var(--sg-surface);
  color: var(--sg-text);
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  box-shadow: var(--sg-shadow-dialog);
  padding: 0;
}
body.active_admin .ui-dialog .ui-dialog-titlebar {
  flex-shrink: 0;
  background: var(--sg-raised);
  border: 0;
  border-bottom: 1px solid var(--sg-rule);
  color: var(--sg-text);
  padding: 12px 16px;
}
body.active_admin .ui-dialog .ui-dialog-title {
  white-space: normal;
  overflow-wrap: anywhere;
  margin: 0;
}
body.active_admin .ui-dialog .ui-dialog-content {
  background: var(--sg-surface);
  color: var(--sg-text);
  flex: 1 1 auto;
  min-height: 0 !important;
  height: auto !important;
  max-height: min(70vh, calc(100vh - 180px)) !important;
  overflow-y: auto;
  overflow-wrap: anywhere;
}
body.active_admin .ui-dialog .ui-dialog-buttonpane {
  flex-shrink: 0;
  background: var(--sg-surface);
  border-top: 1px solid var(--sg-rule);
  padding: 12px;
}
body.active_admin .ui-dialog .ui-dialog-buttonset {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  float: none;
  justify-content: flex-end;
}
body.active_admin .ui-dialog .ui-dialog-buttonpane button {
  margin: 0;
}
body.active_admin form :is(fieldset.actions, fieldset.buttons) li.cancel a {
  margin: 0;
}
body.active_admin .ui-dialog .ui-dialog-titlebar-close {
  width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 0;
}
body.active_admin .ui-widget-overlay {
  background: var(--sg-overlay);
  opacity: 0.5;
}
body.active_admin .bordereau-panel__empty,
body.active_admin .bordereau-modal__side-effects {
  color: var(--sg-muted);
}
body.active_admin .bordereau-panel__warning,
body.active_admin .bordereau-modal .is-warning {
  color: var(--sg-warning);
}
body.active_admin .bordereau-modal__decision.is-clear,
body.active_admin .bordereau-modal__success {
  background: var(--sg-success-bg);
  color: var(--sg-success);
}
body.active_admin .bordereau-modal__decision.is-warning {
  background: var(--sg-warning-bg);
  color: var(--sg-warning);
}
body.active_admin .bordereau-modal__decision.is-blocked,
body.active_admin .bordereau-modal__error {
  background: var(--sg-danger-bg);
  color: var(--sg-danger);
}
body.active_admin .bordereau-modal__issues .is-blocked {
  color: var(--sg-danger);
}
body.active_admin .bordereau-modal__issues .is-info {
  color: var(--sg-muted);
}
body.active_admin .bordereau-modal__full-name-choice,
body.active_admin .bordereau-modal__preview th,
body.active_admin .bordereau-modal__preview td {
  border-color: var(--sg-rule);
}
body.active_admin .bordereau-modal__radio {
  display: flex;
  align-items: flex-start;
}
body.active_admin .select2-container {
  min-width: 0;
  max-width: 100%;
  font: 14px/1.5 var(--sg-font);
}
body.active_admin form .select2-container {
  width: 100% !important;
}
body.active_admin .select2-container .select2-selection {
  min-height: var(--sg-control-height);
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  background: var(--sg-input);
  box-shadow: none;
  color: var(--sg-text);
}
body.active_admin .select2-container .select2-selection__rendered {
  line-height: 1.5;
  padding: 8px 28px 8px 10px;
  color: var(--sg-text);
  white-space: normal;
  overflow-wrap: anywhere;
}
body.active_admin
  .select2-container
  .select2-selection--multiple
  .select2-selection__rendered {
  padding: 4px 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
body.active_admin .select2-container .select2-selection__arrow {
  height: calc(var(--sg-control-height) - 2px);
}
body.active_admin .select2-container .select2-selection__arrow b {
  border-top-color: var(--sg-muted);
}
body.active_admin
  .select2-container.select2-container--open
  .select2-selection--single
  .select2-selection__arrow
  b {
  border-top-color: transparent;
  border-bottom-color: var(--sg-muted);
}
body.active_admin .select2-container .select2-selection__placeholder {
  color: var(--sg-muted);
}
body.active_admin .select2-container--focus .select2-selection,
body.active_admin .select2-container--open .select2-selection {
  border-color: var(--sg-focus);
  outline: 2px solid var(--sg-focus);
  outline-offset: 2px;
}
/* Focus belongs to the entire combobox, not its tiny internal search input. */
body.active_admin
  .select2-container--focus
  .select2-search--inline
  .select2-search__field:focus-visible {
  outline: none !important;
}
body.active_admin .select2-container--disabled .select2-selection {
  background: var(--sg-raised);
  color: var(--sg-muted);
  border-color: var(--sg-border);
  outline: none;
  box-shadow: none;
  cursor: not-allowed;
}
body.active_admin
  .select2-container.select2-container--disabled
  .select2-selection__rendered,
body.active_admin
  .select2-container.select2-container--disabled
  .select2-selection__choice {
  color: var(--sg-muted);
}
body.active_admin .select2-container .select2-selection__choice {
  max-width: 100%;
  margin: 0;
  padding: 3px 6px;
  border-color: var(--sg-rule);
  border-radius: 2px;
  background: var(--sg-raised);
  color: var(--sg-text);
  white-space: normal;
}
body.active_admin .select2-container .select2-selection__choice__remove {
  color: var(--sg-danger);
  margin-right: 6px;
}
body.active_admin .select2-container .select2-selection__choice__remove:hover {
  color: var(--sg-danger);
  background: var(--sg-danger-bg);
}
body.active_admin .select2-dropdown {
  background: var(--sg-surface);
  border: 1px solid var(--sg-border);
  color: var(--sg-text);
  border-radius: 2px;
  max-width: calc(100vw - 24px);
}
body.active_admin .select2-search__field {
  color: var(--sg-text);
  background: var(--sg-input);
  border-color: var(--sg-border);
  font: 14px/1.5 var(--sg-font);
  min-width: 1px;
  max-width: 100%;
}
body.active_admin .select2-results__option {
  white-space: normal;
  overflow-wrap: anywhere;
}
body.active_admin .select2-results__option[aria-selected="true"] {
  background: var(--sg-raised);
  color: var(--sg-text);
}
body.active_admin .select2-results__option--highlighted[aria-selected] {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
body.active_admin .select2-results__option[aria-disabled="true"] {
  background: var(--sg-surface);
  color: var(--sg-muted);
  cursor: not-allowed;
}
body.active_admin .signal-select__control {
  background: var(--sg-input);
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  min-height: var(--sg-control-height);
  box-shadow: none;
}
body.active_admin .signal-select__control--is-focused {
  border-color: var(--sg-focus);
  box-shadow: 0 0 0 1px var(--sg-focus);
}
body.active_admin .signal-select__single-value,
body.active_admin .signal-select__input,
body.active_admin .signal-select__input input {
  color: var(--sg-text) !important;
}
body.active_admin .signal-select__placeholder {
  color: var(--sg-muted);
}
/* The react-select input is internal to an already labelled/focused control. */
body.active_admin form .signal-select__input input {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
}
body.active_admin form.formtastic fieldset ol li label,
body.active_admin form.formtastic fieldset ol li legend.label {
  color: var(--sg-muted);
  font-weight: 500;
}
body.active_admin form.formtastic fieldset ol li.boolean label,
body.active_admin form.formtastic fieldset ol li.custom_boolean label,
body.active_admin form.formtastic fieldset.choices ol.choices-group label {
  color: var(--sg-text);
}
body.active_admin form.formtastic fieldset.choices {
  padding: 0;
  border: 0;
  background: transparent;
}
body.active_admin form.formtastic fieldset.choices legend.label {
  float: none;
  width: 100%;
  position: static;
}
body.active_admin form.formtastic fieldset.choices legend.label > label {
  display: block;
  float: none;
  width: 100%;
  overflow-wrap: anywhere;
}
body.active_admin form.formtastic fieldset.choices ol.choices-group {
  margin: 8px 0;
  padding: 0;
}
/* Preserve the datepicker's original CSS arrow assets and button labels. */
body.active_admin button.react-datepicker__navigation {
  display: block;
  width: 10px;
  height: 10px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0.45rem solid transparent;
  border-radius: 0;
  background: none;
  box-shadow: none;
  line-height: 1.7rem;
}
body.active_admin button.react-datepicker__navigation--previous {
  border-right-color: var(--sg-text);
}
body.active_admin button.react-datepicker__navigation--next {
  border-left-color: var(--sg-text);
}
body.active_admin .signal-select__value-container {
  min-width: 0;
  padding: 4px 8px;
}
body.active_admin .signal-select__menu {
  background: var(--sg-surface);
  color: var(--sg-text);
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  z-index: 30;
}
body.active_admin .signal-select__menu-list {
  background: var(--sg-surface);
  color: var(--sg-text);
  border: 0;
}
body.active_admin .signal-select__option {
  background: var(--sg-surface);
  color: var(--sg-text);
  white-space: normal;
  overflow-wrap: anywhere;
}
body.active_admin .signal-select__option--is-focused,
body.active_admin .signal-select__option--is-selected {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
body.active_admin .signal-select__multi-value {
  background: var(--sg-raised);
  border-radius: 2px;
  max-width: 100%;
}
body.active_admin .signal-select__multi-value__label {
  color: var(--sg-text);
  white-space: normal;
}
body.active_admin .signal-select__multi-value__remove {
  color: var(--sg-danger);
}
body.active_admin .signal-select__multi-value__remove:hover {
  color: var(--sg-danger);
  background: var(--sg-danger-bg);
}
body.active_admin .signal-select__control--is-disabled {
  background: var(--sg-raised);
  color: var(--sg-muted);
  border-color: var(--sg-border);
  box-shadow: none;
  cursor: not-allowed;
}
body.active_admin
  .signal-select__control--is-disabled
  .signal-select__single-value,
body.active_admin
  .signal-select__control--is-disabled
  .signal-select__multi-value__label {
  color: var(--sg-muted) !important;
}
body.active_admin .signal-select__option--is-disabled {
  background: var(--sg-surface);
  color: var(--sg-muted);
  cursor: not-allowed;
}
body.active_admin .signal-select__indicator {
  color: var(--sg-muted);
}
body.active_admin .signal-select__indicator:hover {
  color: var(--sg-text);
}
body.active_admin .signal-select__indicator-separator {
  background: var(--sg-border);
}
body.active_admin .react-datepicker-wrapper,
body.active_admin .react-datepicker__input-container {
  width: 100%;
  min-width: 0;
}
body.active_admin .react-datepicker,
body.active_admin #ui-datepicker-div {
  background: var(--sg-surface);
  color: var(--sg-text);
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  box-shadow: none;
  font-family: var(--sg-font);
  max-width: calc(100vw - 24px);
  z-index: 100;
}
body.active_admin .react-datepicker__header,
body.active_admin #ui-datepicker-div .ui-datepicker-header {
  background: var(--sg-raised);
  color: var(--sg-text);
  border-color: var(--sg-rule);
}
body.active_admin .react-datepicker__current-month,
body.active_admin .react-datepicker__day-name,
body.active_admin .react-datepicker__day,
body.active_admin .react-datepicker__time-name {
  color: var(--sg-text);
}
body.active_admin .react-datepicker__day--disabled {
  color: var(--sg-muted);
  background: transparent;
  cursor: not-allowed;
}
body.active_admin
  .react-datepicker__day--selected:not(.react-datepicker__day--disabled),
body.active_admin
  .react-datepicker__day--keyboard-selected:not(.react-datepicker__day--disabled),
body.active_admin
  .react-datepicker__day:not(.react-datepicker__day--disabled):hover {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
  border-radius: 2px;
}
body.active_admin #ui-datepicker-div td a,
body.active_admin #ui-datepicker-div td span {
  background: var(--sg-surface);
  color: var(--sg-text);
  border-color: var(--sg-rule);
  text-shadow: none;
}
body.active_admin #ui-datepicker-div td .ui-state-active,
body.active_admin #ui-datepicker-div td a:hover {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
/* This is a seven-column calendar widget, never a responsive record table.
   Own its geometry as well as its palette: legacy ActiveAdmin uses a 160px
   popup and absolutely positioned white headings over the weekday row. */
body.active_admin #ui-datepicker-div {
  width: 288px;
  padding: 10px;
  font: 400 14px/1.4 var(--sg-font);
  background-image: none;
}
body.active_admin #ui-datepicker-div::before,
body.active_admin #ui-datepicker-div::after {
  display: none;
}
body.active_admin #ui-datepicker-div .ui-datepicker-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  min-height: 40px;
  margin: 0 0 8px;
  padding: 0 36px;
  border: 0;
  border-bottom: 1px solid var(--sg-rule);
  border-radius: 0;
  background: var(--sg-surface);
  box-shadow: none;
}
body.active_admin #ui-datepicker-div .ui-datepicker-title {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  color: var(--sg-text);
  background: none;
  font: 600 14px/1.4 var(--sg-font);
  text-shadow: none;
  white-space: nowrap;
}
body.active_admin #ui-datepicker-div .ui-datepicker-prev,
body.active_admin #ui-datepicker-div .ui-datepicker-next {
  position: absolute;
  top: 2px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 2px;
  background: none;
  color: var(--sg-text);
  cursor: pointer;
}
body.active_admin #ui-datepicker-div .ui-datepicker-prev {
  left: 0;
  right: auto;
}
body.active_admin #ui-datepicker-div .ui-datepicker-next {
  right: 0;
  left: auto;
}
body.active_admin
  #ui-datepicker-div
  :is(.ui-datepicker-prev, .ui-datepicker-next):not(.ui-state-disabled):hover {
  background: var(--sg-raised);
  border-color: var(--sg-border);
}
body.active_admin
  #ui-datepicker-div
  :is(.ui-datepicker-prev, .ui-datepicker-next).ui-state-disabled {
  color: var(--sg-muted);
  background: transparent;
  border-color: transparent;
  cursor: default;
  opacity: 1;
}
body.active_admin
  #ui-datepicker-div
  :is(.ui-datepicker-prev, .ui-datepicker-next)
  span {
  position: static;
  display: block;
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  background: none;
  overflow: hidden;
  text-indent: -9999px;
}
body.active_admin #ui-datepicker-div .ui-datepicker-prev span {
  transform: rotate(135deg);
}
body.active_admin #ui-datepicker-div .ui-datepicker-next span {
  transform: rotate(-45deg);
}
body.active_admin #ui-datepicker-div .ui-datepicker-calendar {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 1px;
  table-layout: fixed;
  box-shadow: none;
  background: transparent;
}
body.active_admin
  #ui-datepicker-div
  .ui-datepicker-calendar
  :is(thead, tbody, tr) {
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.active_admin #ui-datepicker-div .ui-datepicker-calendar :is(th, td) {
  padding: 0;
  border: 0;
  background: none;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  overflow-wrap: normal;
}
body.active_admin #ui-datepicker-div .ui-datepicker-calendar th {
  height: 28px;
  color: var(--sg-muted);
  font: 500 12px/1.4 var(--sg-font);
  text-shadow: none;
}
body.active_admin #ui-datepicker-div .ui-datepicker-calendar td :is(a, span) {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 2px;
  font: 500 13px/1.4 var(--sg-font);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
body.active_admin
  #ui-datepicker-div
  .ui-datepicker-calendar
  td.ui-state-disabled
  span {
  color: var(--sg-muted);
  background: var(--sg-surface);
}
body.active_admin .react-autosuggest__suggestions-container--open {
  width: 100%;
  max-width: 100%;
  top: 100%;
  right: 0;
  background: var(--sg-surface);
  color: var(--sg-text);
  border: 1px solid var(--sg-border);
  z-index: 30;
  max-height: 320px;
  overflow-y: auto;
}
body.active_admin .react-autosuggest__suggestion--highlighted {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
body.active_admin.logged_out #content_wrapper {
  max-width: 480px;
  width: 100%;
  margin: clamp(24px, 8vh, 80px) auto;
  padding: 0 16px;
}
body.active_admin.logged_out #content_wrapper #active_admin_content {
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
body.active_admin.logged_out #login {
  width: 100%;
  margin: 0;
  padding: 24px;
  background: var(--sg-surface);
  border: 1px solid var(--sg-rule);
  border-top: 4px solid var(--sg-accent);
  border-radius: 0;
  box-shadow: none;
}
body.active_admin.logged_out #login h2 {
  margin: 0 0 24px;
  padding: 0;
  font-size: 26px;
  background: none;
  color: var(--sg-text);
  box-shadow: none;
  border: 0;
}
body.active_admin.logged_out #login form fieldset {
  padding: 0;
  border: 0;
  background: none;
}
body.active_admin.logged_out #login form fieldset li {
  padding: 8px 0;
}
body.active_admin.logged_out #login input[type="submit"] {
  width: 100%;
}
body.active_admin.logged_out #login form fieldset.actions li {
  width: 100%;
  float: none;
}
body.active_admin.logged_out
  #content_wrapper
  #active_admin_content
  #login
  input:not([type="hidden"], [type="checkbox"], [type="radio"]) {
  width: 100%;
}
body.active_admin #footer {
  padding: 24px var(--sg-gutter);
  color: var(--sg-muted);
  background: var(--sg-bg);
  font-size: 12px;
  border-top: 1px solid var(--sg-rule);
}
html body.rails-default-error-page .dialog {
  max-width: 560px;
  width: calc(100% - 32px);
  margin: 64px auto;
  text-align: left;
}
html body.rails-default-error-page .dialog > div,
html body.rails-default-error-page .dialog > p {
  background: var(--sg-surface);
  color: var(--sg-text);
  border: 1px solid var(--sg-rule);
  border-radius: 0;
  box-shadow: none;
  padding: 24px;
  margin: 0;
}
html body.rails-default-error-page .dialog > div {
  border-top: 4px solid var(--sg-accent);
}
html body.rails-default-error-page h1 {
  font-size: 26px;
  line-height: 1.3;
  margin: 0 0 16px;
}
html body.rails-default-error-page .dialog > p {
  border-top: 0;
  color: var(--sg-muted);
  font-size: 13px;
}
body.signal-sidekiq .navbar {
  background: var(--sg-nav);
  color: var(--sg-nav-text);
  border: 0;
  border-radius: 0;
  margin: 0;
}
html body.signal-sidekiq {
  padding: 0;
}
body.signal-sidekiq .navbar-fixed-top,
body.signal-sidekiq .navbar-fixed-bottom {
  position: relative;
  top: auto;
  bottom: auto;
}
body.signal-sidekiq .summary {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  background: var(--sg-surface);
  border: 1px solid var(--sg-rule);
  border-radius: 0;
  margin: 0;
  width: 100%;
}
body.signal-sidekiq .summary li {
  width: auto;
  float: none;
  min-width: 0;
  padding: 12px 4px;
}
body.signal-sidekiq .summary::before,
body.signal-sidekiq .summary::after {
  content: none;
}
body.signal-sidekiq .summary .count,
body.signal-sidekiq .summary .desc {
  color: var(--sg-text);
}
body.signal-sidekiq .summary span.count,
body.signal-sidekiq .summary span.desc {
  display: block;
  width: auto;
  float: none;
  font-size: 14px;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.signal-sidekiq #page > .container > .row {
  margin-left: 0;
  margin-right: 0;
}
body.signal-sidekiq #page .row.header,
body.signal-sidekiq #page header.row {
  margin-left: 0;
  margin-right: 0;
}
body.signal-sidekiq #page > .container > .row > .col-sm-12 {
  padding-left: 0;
  padding-right: 0;
}
body.signal-sidekiq .summary .failed .count,
body.signal-sidekiq .summary .dead .count {
  color: var(--sg-danger);
}
body.signal-sidekiq .rickshaw_graph .x_tick .title {
  color: var(--sg-muted);
}
body.signal-sidekiq .rickshaw_graph .x_tick .title {
  transform: translateX(-100%);
}
body.signal-sidekiq .rickshaw_graph .x_tick:first-of-type .title {
  transform: none;
}
body.signal-sidekiq .history-intervals .active {
  --sg-button-bg: var(--sg-accent);
  --sg-button-text: var(--sg-accent-text);
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
body.signal-sidekiq .history-graph.active {
  --sg-button-bg: var(--sg-accent);
  --sg-button-text: var(--sg-accent-text);
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
body.signal-sidekiq .navbar a {
  color: var(--sg-nav-text);
}
body.signal-sidekiq .navbar .status {
  color: var(--sg-nav-text);
}
body.signal-sidekiq .current-interval {
  color: var(--sg-link);
}
body.signal-sidekiq .navbar a.btn-primary {
  color: var(--sg-accent-text);
}
body.signal-sidekiq .navbar .active a {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
body.signal-sidekiq
  .navbar
  .nav
  > li:not(.active)
  > a:is(:hover, :focus-visible, :active) {
  background: var(--sg-nav-hover);
  color: var(--sg-accent);
}
body.signal-sidekiq
  .navbar
  .nav
  > li.active
  > a:is(:hover, :focus-visible, :active) {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
}
body.signal-sidekiq .navbar a.navbar-brand:is(:hover, :focus-visible, :active) {
  color: var(--sg-accent);
  background: var(--sg-nav-hover);
}
body.signal-sidekiq .navbar-toggle {
  background: var(--sg-nav);
  border-color: var(--sg-border);
}
body.signal-sidekiq .navbar-toggle .icon-bar {
  background: var(--sg-nav-text);
  /* Sidekiq reads data-toggle from event.target; route icon hits to its button. */
  pointer-events: none;
}
body.signal-sidekiq h3 {
  font-size: 23px;
  overflow-wrap: anywhere;
  padding-right: 8px;
}
body.signal-sidekiq .navbar .container,
body.signal-sidekiq #page .container {
  width: 100%;
  max-width: 1800px;
  min-width: 0;
}
body.signal-sidekiq #page {
  padding: 24px var(--sg-gutter);
}
body.signal-sidekiq .summary_bar,
body.signal-sidekiq .panel,
body.signal-sidekiq .well,
body.signal-sidekiq .list-group-item {
  background: var(--sg-surface);
  color: var(--sg-text);
  border-color: var(--sg-rule);
  border-radius: 0;
  box-shadow: none;
}
body.signal-sidekiq .table td,
body.signal-sidekiq .table th {
  color: var(--sg-text);
  border-color: var(--sg-rule);
  padding: 10px;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.signal-sidekiq .table-striped > tbody > tr:nth-of-type(odd) {
  background: var(--sg-raised);
}
body.signal-sidekiq .alert {
  color: var(--sg-warning);
  background: var(--sg-warning-bg);
  border-color: var(--sg-warning);
}
body.signal-sidekiq .pagination > li > a,
body.signal-sidekiq .pagination > li > span {
  color: var(--sg-text);
  background: var(--sg-surface);
  border-color: var(--sg-rule);
  border-radius: 0;
}
body.signal-sidekiq .pagination > .active > :is(a, span) {
  color: var(--sg-accent-text);
  background: var(--sg-accent);
}
body.signal-sidekiq footer,
body.signal-sidekiq .text-muted {
  color: var(--sg-muted);
}
/* Each source cell remains the same DOM node. Keep sorting/header links visible. */
html body table.signal-responsive-table.signal-records {
  display: block;
  table-layout: auto;
  width: 100%;
}
html body table.signal-records > thead {
  display: block;
  background: var(--sg-raised);
  padding: 8px;
  margin-bottom: 12px;
}
html body table.signal-records > thead > tr {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
html body table.signal-records > thead > tr > th {
  display: block;
  width: auto;
  max-width: 100%;
  border: 0;
  padding: 6px;
  font-size: 12px;
}
html body table.signal-records > tbody {
  display: block;
}
html body table.signal-records > tbody > tr {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--sg-rule);
  background: transparent;
}
html body table.signal-records > tbody > tr > td {
  display: block;
  width: auto;
  max-width: 100%;
  min-width: 0;
  border: 0;
  padding: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
html
  body:is(.active_admin, .signal-sidekiq)
  table.signal-responsive-table.signal-records
  > tbody
  > tr
  > td {
  width: auto;
  padding: 0;
  border: 0;
}
html body table.signal-records > tbody > tr > td.col-actions,
html body table.signal-records > tbody > tr > td[colspan] {
  grid-column: 1/-1;
}
html
  body
  table.signal-version-history.signal-records
  > tbody
  > tr
  > td.signal-version-message {
  grid-column: 1/-1;
}
html body table.signal-records .signal-cell-label {
  display: block;
  font-size: 12px;
  color: var(--sg-muted);
  font-weight: 500;
  margin-bottom: 4px;
}
/* Workbench composition. Original controls keep their node identity and form. */
body.active_admin .signal-scopes-panel {
  grid-column: 1/-1;
  order: 1;
  min-width: 0;
  border-block: 1px solid var(--sg-rule);
}
body.active_admin .signal-scopes-panel > summary {
  display: none;
  cursor: pointer;
}
body.active_admin #active_admin_content #sidebar {
  gap: 8px 16px;
}
body.active_admin #search_status_sidebar_section {
  justify-content: flex-end;
  order: 0;
  color: var(--sg-muted);
}
body.active_admin #sidebar > .sidebar_section:not(#filters_sidebar_section) {
  padding: 0;
}
body.active_admin .signal-filter-panel > summary {
  padding: 8px 0;
  background: transparent;
}
body.active_admin .signal-filter-panel > summary h3 {
  font-size: 13px;
}
body.active_admin .signal-filter-panel[open] > summary {
  border: 0;
}
body.active_admin .signal-filter-panel > .sidebar_section_content {
  padding: 0;
}
body.active_admin .filter_form .buttons {
  gap: 8px;
  justify-content: flex-end;
}
body.active_admin .signal-extra-filters {
  grid-column: 1/3;
}
body.active_admin .signal-extra-filters[open] {
  grid-column: 1/-1;
}
body.active_admin .filter_form .buttons {
  grid-column: 3/-1;
}
body.active_admin .signal-extra-filters[open] + .buttons {
  grid-column: 1/-1;
}
body.active_admin .table_tools:empty {
  display: none;
}
body.active_admin .table_tools.signal-empty-tools {
  display: none;
}
html body button.signal-sort-toggle {
  margin: 0 0 12px;
  min-height: 44px;
  padding: 8px 12px;
  background: var(--sg-surface);
  color: var(--sg-text);
  border: 1px solid var(--sg-border);
  box-shadow: none;
  font: 500 13px/1.4 var(--sg-font);
}
html body button.signal-sort-toggle[hidden],
html body table.signal-records > thead[hidden] {
  display: none;
}
body.active_admin .signal-actions-menu {
  position: relative;
  min-width: 0;
}
body.active_admin .signal-actions-menu > summary {
  padding: 8px 12px;
  min-height: var(--sg-control-height);
  border: 1px solid var(--sg-border);
  border-radius: 2px;
  background: var(--sg-surface);
  cursor: pointer;
  font-weight: 500;
  text-align: left;
  text-shadow: none;
  color: var(--sg-text);
}
body.active_admin .signal-actions-list {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 50;
  width: min(340px, calc(100vw - 24px));
  padding: 8px;
  border: 1px solid var(--sg-border);
  background: var(--sg-surface);
}
body.active_admin .signal-actions-list span.action_item a {
  justify-content: flex-start;
  text-align: left;
  border: 0;
  background: transparent;
  width: 100%;
}
body.active_admin .signal-actions-list span.action_item a:hover {
  background: var(--sg-raised);
}
body.active_admin
  #title_bar
  .action_items
  span.action_item
  > a[href$="/start_review"] {
  --sg-button-bg: var(--sg-accent);
  --sg-button-text: var(--sg-accent-text);
  background: var(--sg-accent);
  color: var(--sg-accent-text);
  border-color: var(--sg-border);
}
body.active_admin
  #title_bar
  .action_items
  span.action_item
  > a[href$="/reject_reasons"] {
  --sg-button-text: var(--sg-danger);
  --sg-button-border: var(--sg-danger);
  color: var(--sg-danger);
  border-color: var(--sg-danger);
}
body.active_admin .attributes_table > table > tbody > tr > th,
body.active_admin .attributes_table > table > tbody > tr > td {
  padding: 8px;
  font-size: 13px;
  line-height: 1.45;
  text-shadow: none;
}
body.active_admin .attributes_table table th,
body.active_admin .attributes_table table td {
  text-shadow: none;
}
body.active_admin button:active,
body.active_admin input[type="submit"]:active,
body.active_admin .action_item a:active,
body.active_admin summary:active,
body.signal-sidekiq .btn:active {
  box-shadow: inset 0 0 0 1px currentColor;
}
/* Vendor :not(.disabled):hover/:active gradients outrank a plain base button.
   Preserve its semantic palette through interaction rather than repainting
   every pressed control grey (or bleaching its text in dark mode). */
body.active_admin
  :is(button, input[type="submit"], input[type="button"], a.button):not(.signal-theme-toggle, .react-datepicker__navigation):is(:hover, :active, :focus-visible),
body.active_admin
  form
  :is(fieldset.actions, fieldset.buttons)
  li.cancel
  a:not(.disabled):is(:hover, :active, :focus-visible),
body.active_admin
  .ui-dialog
  .ui-dialog-buttonpane
  button:not(.disabled):is(:hover, :active, :focus-visible),
body.rails-default-error-page
  .signal-error-actions
  a:is(:hover, :active, :focus-visible),
body.active_admin
  #title_bar
  .action_items
  span.action_item
  > a:is(:hover, :active, :focus-visible),
body.active_admin
  form.filter_form
  a.clear_filters_btn:is(:hover, :active, :focus-visible),
body.signal-sidekiq
  :is(button, input[type="submit"], .btn):not(.signal-theme-toggle, .navbar-toggle):is(:hover, :active, :focus-visible) {
  background: var(--sg-button-bg, var(--sg-surface));
  color: var(--sg-button-text, var(--sg-text));
  border-color: var(--sg-button-border, var(--sg-border));
  text-shadow: none;
}
body.active_admin
  form
  :is(fieldset.actions, fieldset.buttons)
  li.cancel
  a:not(.disabled):not([aria-disabled="true"]):is(:hover, :active, :focus-visible),
body.active_admin
  .ui-dialog
  .ui-dialog-buttonpane
  button:not(:disabled):not(.disabled):not([aria-disabled="true"]):is(:hover, :active, :focus-visible) {
  box-shadow: inset 0 0 0 1px currentColor;
}
body.active_admin
  .pagination
  a:not(.disabled):is(:hover, :active, :focus-visible),
body.signal-sidekiq
  .pagination
  > li:not(.active):not(.disabled)
  > a:is(:hover, :active, :focus-visible) {
  background: var(--sg-raised);
  color: var(--sg-text);
  background-image: none;
  text-decoration: none;
}
body.active_admin
  .pagination
  span.page.current:not(.disabled):is(:hover, :active, :focus-visible),
body.signal-sidekiq
  .pagination
  > .active
  > :is(a, span):is(:hover, :active, :focus-visible) {
  background: var(--sg-accent);
  color: var(--sg-accent-text);
  border-color: var(--sg-border);
  box-shadow: none;
  text-shadow: none;
  text-decoration: none;
}
body.active_admin .pagination :is(a, span).disabled,
body.active_admin .pagination .disabled > :is(a, span),
body.active_admin
  .pagination
  .disabled
  > :is(a, span):is(:hover, :active, :focus),
body.signal-sidekiq .pagination > .disabled > :is(a, span),
body.signal-sidekiq
  .pagination
  > .disabled
  > :is(a, span):is(:hover, :active, :focus) {
  background: var(--sg-raised);
  color: var(--sg-muted);
  border-color: var(--sg-rule);
  box-shadow: none;
  cursor: not-allowed;
}
/* Disabled wins over every semantic action and hover/pressed variant above.
   This changes appearance only; native/ARIA/application behavior is untouched. */
body.active_admin button:is(:disabled, .disabled, [aria-disabled="true"]),
body.active_admin
  button.button:is(:disabled, .disabled, [aria-disabled="true"]),
body.active_admin
  input:is([type="submit"], [type="button"]):is(:disabled, .disabled, [aria-disabled="true"]),
body.active_admin a.button:is(.disabled, [aria-disabled="true"]),
body.active_admin
  form
  :is(fieldset.actions, fieldset.buttons)
  li.cancel
  a:is(.disabled, [aria-disabled="true"]),
body.active_admin
  .ui-dialog
  .ui-dialog-buttonpane
  button:is(:disabled, .disabled, [aria-disabled="true"]),
body.active_admin
  .ui-dialog
  .ui-dialog-buttonpane
  button:is(:disabled, .disabled, [aria-disabled="true"]):is(:hover, :active, :focus-visible),
body.active_admin
  #title_bar
  .action_items
  span.action_item
  > a:is(.disabled, [aria-disabled="true"]),
body.signal-sidekiq .btn:is(:disabled, .disabled, [aria-disabled="true"]),
body.signal-sidekiq button:is(:disabled, .disabled, [aria-disabled="true"]),
body.signal-sidekiq
  input[type="submit"]:is(:disabled, .disabled, [aria-disabled="true"]) {
  --sg-button-bg: var(--sg-raised);
  --sg-button-text: var(--sg-muted);
  --sg-button-border: var(--sg-rule);
  cursor: not-allowed;
  background: var(--sg-raised);
  background-image: none;
  color: var(--sg-muted);
  border-color: var(--sg-rule);
  opacity: 1;
  box-shadow: none;
}
body.signal-sidekiq .navbar .container {
  position: relative;
  padding-right: 60px;
}
body.signal-sidekiq .navbar-toggle {
  display: none;
  margin-right: 44px;
  width: 44px;
}
body.signal-sidekiq .navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  flex: 0 0 2px;
  margin: 0;
}
body.signal-sidekiq .navbar .signal-theme-toggle {
  position: absolute;
  right: 12px;
  top: 4px;
}
body.signal-sidekiq .navbar .signal-theme-toggle:hover {
  background: var(--sg-nav);
  color: var(--sg-accent);
}
@media (max-width: 767px) {
  body.signal-sidekiq .navbar .container {
    padding-right: 12px;
  }
  body.signal-sidekiq .navbar-toggle {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    min-height: 44px;
    padding: 8px;
    margin-right: 0;
  }
  body.signal-sidekiq .navbar-collapse .signal-theme-toggle {
    position: static;
    width: auto;
    min-height: 44px;
    margin-block: 8px;
  }
  body.signal-sidekiq .navbar-collapse .signal-theme-label {
    display: inline;
  }
}
body.active_admin:is(.new, .edit, .create, .update)
  #main_content
  > form:not(#edit_attachment) {
  max-width: 680px;
}
body.active_admin #edit_attachment fieldset.inputs {
  margin-bottom: 12px;
  padding: 8px 0;
}
body.active_admin #edit_attachment form > h3,
body.active_admin #edit_attachment .prescription_medicines_subform > h4 {
  font: 600 18px/24px var(--sg-heading);
  margin: 24px 0 12px;
}
body.active_admin #edit_attachment fieldset.inputs > ol > li {
  padding: calc(var(--sg-field-row-gap) / 2) 0;
}
/* The label itself supplies the hit area; adding field padding doubles it. */
body.active_admin form fieldset > ol > li.boolean,
body.active_admin form fieldset > ol > li.custom_boolean,
body.active_admin #edit_attachment fieldset.inputs > ol > li.custom_boolean {
  padding-block: 0;
}
body.active_admin #edit_attachment form > fieldset.inputs:first-of-type > ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
}
body.active_admin
  #edit_attachment
  form
  > fieldset.inputs:first-of-type
  > ol
  > li:first-of-type {
  flex: 1 1 100%;
}
body.active_admin
  #edit_attachment
  form
  > fieldset.inputs:first-of-type
  > ol
  > li.custom_boolean {
  flex: 0 1 auto;
}
body.active_admin #edit_attachment .custom_boolean label {
  font-size: 13px;
}
body.active_admin #edit_attachment .react-viewer-footer {
  top: 0;
  bottom: auto;
}
body.active_admin #edit_attachment .react-viewer-inline {
  min-height: 0;
  height: 100%;
}
body.active_admin #edit_attachment .react-viewer-attribute {
  margin: 0;
  padding: 4px;
  font-size: 12px;
  background: var(--sg-raised);
}
body.active_admin #edit_attachment .react-viewer-toolbar {
  margin: 0;
}
body.active_admin #edit_attachment .react-viewer-canvas {
  top: 72px;
}
body.active_admin #edit_attachment .react-viewer-image {
  margin-top: var(--sg-viewer-image-offset, 0px);
}
@media (min-width: 1101px) {
  body.active_admin.show.tickets .attributes_table.ticket > table > tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
  }
  body.active_admin.show.tickets .attributes_table.ticket > table > tbody > tr {
    display: grid;
    grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
    border-bottom: 1px solid var(--sg-rule);
  }
  body.active_admin #sidebar .signal-filter-panel > summary {
    display: none;
  }
  body.active_admin #sidebar .filter_form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(160px, 1fr) auto;
    gap: var(--sg-field-row-gap) 12px;
    padding: 4px 0 0;
  }
  body.active_admin #sidebar .filter_form .buttons {
    grid-column: 5;
    grid-row: 1;
  }
  body.active_admin #sidebar .signal-extra-filters {
    grid-column: 1/-1;
  }
  body.active_admin #sidebar .signal-extra-filters > summary {
    padding: 4px 28px 4px 0;
  }
  body.active_admin.show.tickets
    .attributes_table.ticket
    > table
    > tbody
    > tr
    > th,
  body.active_admin.show.tickets
    .attributes_table.ticket
    > table
    > tbody
    > tr
    > td {
    width: 100%;
    min-width: 0;
    border: 0;
    overflow-wrap: anywhere;
  }
  body.active_admin #edit_attachment fieldset.inputs > ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
    align-items: start;
  }
  body.active_admin #edit_attachment fieldset.inputs > ol > .has_many_container,
  body.active_admin #edit_attachment fieldset.inputs > ol > button {
    grid-column: 1/-1;
  }
}
/* Three navigation rows fit at the smaller desktop widths with either font.
   Explicit logo/account slots keep font loading and enhancement out of sizing. */
@media (min-width: 1101px) and (max-width: 1439px) {
  body.active_admin #header {
    min-height: 106px;
  }
}
@media (max-width: 1100px) {
  body.active_admin #header {
    grid-template-columns: 1fr auto;
    min-height: 56px;
    padding-block: 6px;
  }
  body.active_admin #header .signal-navigation {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    max-width: 100%;
  }
  body.active_admin #header .signal-navigation > summary {
    display: list-item;
    min-height: 44px;
    padding: 12px 28px 12px 8px;
    margin: 0;
  }
  body.active_admin #header .signal-navigation[open] {
    grid-column: 1/-1;
    grid-row: 2;
    justify-self: stretch;
  }
  body.active_admin #header .signal-navigation[open] > summary {
    position: absolute;
    right: var(--sg-gutter);
    top: 6px;
  }
  body.active_admin #header .signal-navigation[open] #tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block: 8px;
  }
  body.active_admin #header #tabs > li > a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  body.active_admin #header #utility_nav {
    display: flex;
    width: auto;
    max-width: none;
    justify-content: flex-start;
    border-top: 1px solid var(--sg-border);
    padding-block: 8px;
  }
  html body #header button.signal-theme-toggle {
    width: auto;
    min-height: 44px;
  }
  html body #header .signal-theme-label {
    display: inline;
  }
  body.active_admin #header #utility_nav #current_user > :is(a, span) {
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
  }
  body.active_admin .filter_form,
  body.active_admin .signal-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  body.active_admin .signal-scopes-panel > summary {
    display: list-item;
    padding: 12px 0;
    min-height: 44px;
    font-weight: 500;
  }
  body.active_admin .filter_form,
  body.active_admin .signal-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.active_admin .columns {
    flex-direction: column;
  }
  body.active_admin .columns > .column {
    width: 100% !important;
  }
  body.active_admin #edit_attachment .columns {
    grid-template-columns: minmax(0, 1fr);
  }
  body.active_admin #edit_attachment .image_column {
    position: relative;
    top: auto;
    height: 40vh;
    min-height: 280px;
    max-height: 360px;
  }
  body.active_admin .action_items {
    justify-content: flex-start;
  }
  html body table.signal-records > tbody > tr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.active_admin .ra-field-header,
  body.active_admin .ra-field-summary {
    grid-template-columns: minmax(0, 2fr) repeat(4, minmax(0, 1fr));
    font-size: 12px;
    padding: 10px 4px;
  }
}
@media (max-width: 600px) {
  body.active_admin #active_admin_content #sidebar {
    grid-template-columns: minmax(0, 1fr);
  }
  body.active_admin #header {
    gap: 8px;
    padding: 6px 12px;
  }
  body.active_admin #header h1.site_title {
    font-size: 18px;
  }
  body.active_admin #header #utility_nav {
    max-width: none;
  }
  body.active_admin #header ul.tabs > li > a {
    font-size: 13px;
    padding: 12px 4px;
  }
  body.active_admin #title_bar {
    padding: 16px 12px;
    align-items: stretch;
  }
  body.active_admin #titlebar_right,
  body.active_admin .action_items {
    width: 100%;
  }
  body.active_admin .action_items span.action_item {
    flex: 1 1 auto;
  }
  body.active_admin .action_items span.action_item a {
    width: 100%;
  }
  body.active_admin #active_admin_content {
    padding: 16px 12px;
  }
  body.active_admin .panel_contents,
  body.active_admin .sidebar_section > div {
    padding: 8px 0;
  }
  body.active_admin form fieldset.inputs {
    padding: 8px 0;
  }
  body.active_admin .filter_form,
  body.active_admin .signal-filter-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  html body table.signal-records > tbody > tr {
    grid-template-columns: minmax(0, 1fr);
  }
  body.active_admin table.attributes_table,
  body.active_admin table.attributes_table tbody,
  body.active_admin .attributes_table > table,
  body.active_admin .attributes_table > table > tbody {
    display: block;
  }
  body.active_admin table.attributes_table tr,
  body.active_admin .attributes_table > table > tbody > tr {
    display: grid;
    grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
    gap: 8px;
    border-bottom: 1px solid var(--sg-rule);
    padding: 8px 0;
  }
  body.active_admin table.attributes_table th,
  body.active_admin table.attributes_table td,
  body.active_admin .attributes_table > table > tbody > tr > th,
  body.active_admin .attributes_table > table > tbody > tr > td {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
  }
  body.active_admin .signal-scopes-panel > summary {
    display: list-item;
    padding: 12px 0;
    min-height: 44px;
    font-weight: 500;
  }
  body.active_admin .signal-filter-panel > summary {
    padding: 12px 0;
    min-height: 44px;
  }
  body.active_admin .signal-extra-filters,
  body.active_admin .filter_form .buttons {
    grid-column: 1/-1;
  }
  body.active_admin .filter_form .buttons {
    justify-content: flex-start;
  }
  body.active_admin .scopes li a.table_tools_button {
    min-height: 44px;
  }
  body.active_admin #search_status_sidebar_section {
    justify-content: flex-start;
    order: 3;
    font-size: 12px;
  }
  body.active_admin #search_status_sidebar_section > h3 {
    font-size: 12px;
  }
  body.active_admin .signal-actions-menu {
    flex: 1 1 auto;
  }
  body.active_admin .signal-actions-menu > summary {
    min-height: 44px;
    padding: 10px 12px;
  }
  body.active_admin .action_items span.action_item a {
    min-height: 44px;
  }
  body.active_admin #title_bar .action_items span.action_item > a {
    min-height: 44px;
  }
  body.active_admin
    form
    input:not([type="hidden"], [type="checkbox"], [type="radio"], .select2-search__field),
  body.active_admin form select,
  body.active_admin .signal-select__control,
  body.active_admin .filter_form .buttons a {
    min-height: 44px;
  }
  body.active_admin .signal-actions-list {
    position: relative;
    width: 100%;
    top: auto;
    margin-top: 4px;
  }
  body.active_admin table.index_table td.col-actions a {
    display: flex;
    align-items: center;
    min-height: var(--sg-control-height);
    width: 100%;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid var(--sg-border);
    border-radius: var(--sg-radius-control);
    background: var(--sg-surface);
    color: var(--sg-link);
  }
  body.active_admin .signal-actions-menu[open] {
    flex-basis: 100%;
  }
  html
    body
    table.signal-records
    > tbody
    > tr
    > td:not(.col-actions):not([colspan]) {
    display: grid;
    grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
    gap: 8px;
  }
  html body table.signal-records > tbody > tr {
    gap: 8px;
    padding: 12px 0;
  }
  html body table.signal-records .signal-cell-label {
    margin: 0;
  }
  body.active_admin.tickets
    table.signal-responsive-table.signal-records
    > tbody
    > tr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 12px;
    margin-bottom: 12px;
    border: 1px solid var(--sg-rule);
    background: var(--sg-surface);
  }
  body.active_admin.tickets
    table.signal-responsive-table.signal-records
    > tbody
    > tr
    > td {
    grid-column: 1/-1;
  }
  body.active_admin.tickets
    table.signal-responsive-table.signal-records
    > tbody
    > tr
    > td.col-id {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
  }
  body.active_admin.tickets
    table.signal-responsive-table.signal-records
    > tbody
    > tr
    > td.col-state {
    grid-column: 2;
    grid-row: 1;
    display: block;
    text-align: right;
  }
  body.active_admin.tickets table.signal-records .col-state .signal-cell-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  body.active_admin #edit_attachment .image_column {
    height: 300px;
    min-height: 300px;
  }
  body.active_admin .ra-field-header,
  body.active_admin .ra-field-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  body.active_admin .ra-field-header > :first-child,
  body.active_admin .ra-field-summary > :first-child {
    grid-column: 1/-1;
  }
  body.active_admin .ra-filters-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  body.active_admin .ui-dialog .ui-dialog-content {
    max-height: 65vh;
  }
  body.signal-sidekiq .navbar-nav {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
  }
  body.signal-sidekiq .navbar-nav > li {
    float: none;
  }
  body.signal-sidekiq .navbar-nav > li > a {
    padding: 8px;
  }
  body.signal-sidekiq .summary_bar {
    display: flex;
    flex-wrap: wrap;
  }
  body.signal-sidekiq .summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.signal-sidekiq .summary > *,
  body.signal-sidekiq .summary .count {
    width: auto;
    min-width: 0;
    word-break: normal;
    overflow-wrap: normal;
  }
}
@media (max-width: 480px) {
  body.active_admin
    #edit_attachment
    form
    > fieldset.inputs:first-of-type
    > ol
    > li.custom_boolean {
    flex-basis: 100%;
  }
}
@media (max-width: 900px) {
  body.active_admin #active_admin_content #sidebar.signal-workbench-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 8px;
  }
  body.active_admin
    #sidebar.signal-workbench-tools
    > .sidebar_section:not(#filters_sidebar_section),
  body.active_admin #sidebar.signal-workbench-tools > .signal-scopes-panel {
    grid-column: 1/-1;
  }
  body.active_admin #sidebar.signal-workbench-tools #filters_sidebar_section {
    grid-column: 1;
  }
  body.active_admin
    #sidebar.signal-workbench-tools
    #filters_sidebar_section:has(.signal-filter-panel[open]) {
    grid-column: 1/-1;
  }
  body.active_admin
    #sidebar.signal-workbench-tools
    > button.signal-sort-toggle {
    grid-column: 2;
    order: 2;
    width: 100%;
    margin: 0;
    min-height: var(--sg-control-height);
    align-self: start;
  }
  body.active_admin
    #sidebar.signal-workbench-tools
    .signal-filter-panel
    > summary {
    min-height: var(--sg-control-height);
    padding: 12px 28px 12px 0;
  }
}
body.active_admin form.filter_form a.clear_filters_btn {
  min-height: var(--sg-control-height);
}
body.active_admin .signal-title-status {
  margin-top: 8px;
}
body.rails-default-error-page .signal-error-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 24px 0 0;
}
body.active_admin
  :is(.signal-navigation, .signal-scopes-panel, .signal-filter-panel, .signal-extra-filters, .signal-actions-menu)
  > summary {
  position: relative;
  list-style: none;
  padding-right: 28px;
}
body.active_admin
  :is(.signal-navigation, .signal-scopes-panel, .signal-filter-panel, .signal-extra-filters, .signal-actions-menu)
  > summary::-webkit-details-marker {
  display: none;
}
body.active_admin
  :is(.signal-navigation, .signal-scopes-panel, .signal-filter-panel, .signal-extra-filters, .signal-actions-menu)
  > summary::marker {
  content: "";
}
body.active_admin
  :is(.signal-navigation, .signal-scopes-panel, .signal-filter-panel, .signal-extra-filters, .signal-actions-menu)
  > summary::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  right: 4px;
  top: calc(50% - 8px);
  background: currentColor;
  mask: url("./icons/chevron-down.svg") center / contain no-repeat;
  -webkit-mask: url("./icons/chevron-down.svg") center / contain no-repeat;
}
body.active_admin
  :is(.signal-navigation, .signal-scopes-panel, .signal-filter-panel, .signal-extra-filters, .signal-actions-menu)[open]
  > summary::after {
  transform: rotate(180deg);
}
@media (prefers-reduced-motion: reduce) {
  body.active_admin *,
  body.signal-sidekiq * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  .signal-theme-toggle {
    display: none !important;
  }
  body.active_admin .react-viewer-canvas img {
    filter: none !important;
  }
}
/* Policy usage: scoped, server-rendered statistics with native disclosure. */
.policy-usage .policy-usage-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 12px;
  margin: 16px 0;
}
.policy-usage .policy-usage-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  min-width: 0;
  background: var(--sg-raised);
  border: 1px solid var(--sg-rule);
}
.policy-usage .policy-usage-value {
  font-size: 24px;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.policy-usage small,
.policy-usage .policy-usage-note {
  color: var(--sg-muted);
  font-size: 13px;
  line-height: 1.5;
}
.policy-usage .policy-usage-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 16px 0;
}
.policy-usage .policy-usage-section { min-width: 0; }
.policy-usage .policy-ticket-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-bottom: 16px;
  font-size: 14px;
}
.policy-usage .policy-ticket-link-disabled {
  position: relative;
  color: var(--sg-muted);
  cursor: not-allowed;
}
.policy-usage .policy-ticket-link-disabled:focus-visible {
  outline: 2px solid var(--sg-focus);
  outline-offset: 3px;
}
.policy-usage .policy-ticket-tooltip {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  z-index: 20;
  width: max-content;
  max-width: min(260px, calc(100vw - 48px));
  padding: 6px 8px;
  background: var(--sg-text);
  color: var(--sg-surface);
  border-radius: var(--sg-radius-control);
  font-size: 13px;
  line-height: 1.4;
  visibility: hidden;
}
.policy-usage .policy-ticket-link-disabled:hover .policy-ticket-tooltip,
.policy-usage .policy-ticket-link-disabled:focus .policy-ticket-tooltip {
  visibility: visible;
}
.policy-usage .signal-summary-table th { width: 60%; }
.policy-usage .signal-summary-table td { font-variant-numeric: tabular-nums; }
.policy-usage .policy-usage-risk {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--sg-rule);
  background: var(--sg-raised);
}
.policy-usage .policy-usage-risk strong { font-size: 22px; }
.policy-usage .policy-usage-risk-rules {
  list-style: none;
  margin: 8px 0;
  padding: 0;
}
.policy-usage .policy-usage-risk-rules li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  padding: 3px 0;
  border-bottom: 1px solid var(--sg-rule);
  font-size: 13px;
  line-height: 1.4;
}
.policy-usage .policy-usage-risk-rules li:last-child { border-bottom: 0; }
.policy-usage .policy-risk-inactive { color: var(--sg-muted); }
.policy-usage .policy-risk-inactive strong { font-weight: 400; }
.policy-usage .policy-risk-triggered { color: var(--sg-text); }
.policy-usage .policy-risk-triggered .policy-risk-points { color: var(--sg-warning); }
.policy-usage .policy-risk-points {
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.policy-usage .policy-usage-risk-high {
  background: var(--sg-danger-bg);
  color: var(--sg-danger);
}
.policy-usage .policy-usage-risk-attention,
.policy-usage .policy-usage-warning {
  background: var(--sg-warning-bg);
  color: var(--sg-warning);
}
.policy-usage .policy-usage-warning { padding: 12px; }
.policy-usage .policy-balance-negative { color: var(--sg-danger); }
.policy-usage .policy-balance-positive { color: var(--sg-success); }
.policy-usage details > summary {
  cursor: pointer;
  padding: 12px 0;
  color: var(--sg-link);
  font-weight: 600;
}
.policy-usage details > summary:focus-visible {
  outline: 2px solid var(--sg-focus);
  outline-offset: 2px;
}
@media (max-width: 800px) {
  .policy-usage .policy-usage-columns { grid-template-columns: minmax(0, 1fr); }
  .policy-usage .policy-related-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
}
