/* Load-flow results drawer: contain scrolling and keep its close control visible. */
.zrsld-lf-workbench { container: loadflow-results / inline-size; overflow: hidden; color: #203945; }
.zrsld-lf-workbench > header { min-width: 0; gap: 8px; padding: 3px 8px; }
.zrsld-lf-workbench > header nav { flex: 1 1 auto; min-width: 0; align-self: stretch; padding: 2px 0; scrollbar-gutter: auto; }
.zrsld-lf-workbench > header nav button { min-height: 36px; padding: 6px 10px; }
.zrsld-lf-panel-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 5px; }
.zrsld-lf-panel-actions button { white-space: nowrap; min-height: 32px; }
.zrsld-lf-panel-actions .zrsld-lf-close { color: #173e52; background: #fff; border-color: #8ea7b5; font-weight: 600; }
.zrsld-lf-close > span { font-size: 16px; line-height: 1; vertical-align: -1px; }
.zrsld-lf-tools { display: grid; grid-template-columns: minmax(120px, 1fr) auto auto auto; gap: 8px; min-width: 0; padding: 7px 10px; }
.zrsld-lf-tools label { display: block; min-width: 0; max-width: none; margin: 0; }
.zrsld-lf-tools input { min-width: 0; margin: 0; line-height: 1.4; }
.zrsld-lf-tools select { max-width: 160px; margin: 0; }
.zrsld-lf-tools > span { display: inline; font-size: 11px; color: #455f6c; }
.zrsld-lf-tools > button { margin: 0; }
.zrsld-lf-tools input::placeholder { color: #61737c; opacity: 1; }
.zrsld-lf-scroll { min-width: 0; background: #fff; scrollbar-gutter: stable; scroll-padding-top: 42px; }
.zrsld-lf-scroll:focus-visible { outline: 2px solid #146898; outline-offset: -2px; }
.zrsld-lf-workbench :is(button, input, select, summary):focus-visible { outline: 2px solid #146898; outline-offset: -2px; }
.zrsld-lf-workbench button:disabled { color: #586c76; opacity: 1; }
.zrsld-lf-workbench summary { cursor: pointer; line-height: 1.5; min-height: 28px; padding-block: 3px; }
.zrsld-lf-workbench summary:hover { color: #125473; text-decoration: underline; text-underline-offset: 3px; }
.zrsld-lf-table { color: #203945; table-layout: auto; isolation: isolate; }
.zrsld-lf-table.is-issues { min-width: 830px; }
.zrsld-lf-table.is-branches { min-width: 1210px; }
.zrsld-lf-table.is-ratings { min-width: 1150px; }
.zrsld-lf-table.is-buses { min-width: 870px; }
.zrsld-lf-table.is-compare { min-width: 900px; }
.zrsld-lf-table th { z-index: 3; color: #203945; background: #edf3f6; }
.zrsld-lf-table th button { min-height: 40px; font-size: 12px; line-height: 1.35; padding: 7px 10px; white-space: normal; }
.zrsld-lf-table th.is-number button { text-align: right; }
.zrsld-lf-table td { padding: 8px 10px; background: #fff; }
.zrsld-lf-table td.is-text { white-space: normal; min-width: 100px; max-width: 260px; overflow-wrap: anywhere; }
.zrsld-lf-table td.is-number { white-space: nowrap; }
.zrsld-lf-table td.is-identity, .zrsld-lf-table th:first-child { position: sticky; left: 0; min-width: 175px; width: 210px; max-width: 240px; border-right: 1px solid #d7e1e6; }
.zrsld-lf-table td.is-identity { z-index: 1; }
.zrsld-lf-table th:first-child { z-index: 4; }
.zrsld-lf-table button.zrsld-lf-row-link { max-width: 220px; white-space: normal; overflow-wrap: anywhere; line-height: 1.45; min-height: 28px; padding: 2px 1px; }
.zrsld-lf-table .zrsld-lf-terminals { display: block; margin-top: 3px; color: #4d6673; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.zrsld-lf-table tr:hover td { background: #f1f6f8; }
.zrsld-lf-table tr.is-selected td { background: #e1eef5; color: #193e51; }
.zrsld-lf-table tr.is-selected td.is-identity { box-shadow: inset 3px 0 #216d96; }
.zrsld-lf-table .zrsld-lf-status { font-size: 12px; line-height: 1.45; }
.zrsld-lf-table .zrsld-lf-status.is-danger { color: #9d2424; }
.zrsld-lf-table .zrsld-lf-status.is-warning { color: #7c4000; }
.zrsld-lf-table .zrsld-lf-status.is-normal { color: #255545; }
.zrsld-lf-table .zrsld-lf-status.is-neutral, .zrsld-lf-table .zrsld-lf-status.is-unrated, .zrsld-lf-table .zrsld-lf-status.is-inactive { color: #455f6c; }
.zrsld-lf-rating-gap { display: block; color: #506570; font-size: 11px; margin-top: 3px; }
.zrsld-lf-finding-detail { min-width: 175px; max-width: 270px; }
.zrsld-lf-finding-detail summary { min-height: 28px; }
.zrsld-lf-finding-detail p { margin: 5px 0 2px; line-height: 1.55; color: #3e5967; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
.zrsld-lf-note { color: #455f6c; font-size: 12px; line-height: 1.5; }
.zrsld-lf-findings-note { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.zrsld-lf-findings-note > details { margin-left: auto; }
.zrsld-lf-findings-note p, .zrsld-lf-table-help p { margin: 5px 0 2px; max-width: 1000px; }
.zrsld-lf-findings-note details[open] { flex-basis: 100%; }
.zrsld-lf-note button { min-height: 28px; }
.zrsld-lf-table-help { padding: 4px 10px; }
.zrsld-lf-empty { min-width: 0; color: #455f6c; }
.zrsld-lf-empty button { margin-top: 7px; }
@container loadflow-results (max-width: 700px) {
  .zrsld-lf-workbench > header { gap: 5px; padding-inline: 5px; }
  .zrsld-lf-panel-actions { gap: 4px; }
  .zrsld-lf-panel-actions button { padding-inline: 6px; }
  .zrsld-lf-tools { grid-template-columns: minmax(0, 1fr) auto auto; gap: 5px 7px; padding: 5px 7px; }
  .zrsld-lf-tools label { grid-column: 1 / -1; }
  .zrsld-lf-tools select { width: 100%; max-width: 160px; }
  .zrsld-lf-tools > span { display: inline; }
  .zrsld-lf-tools > button { padding-inline: 7px; }
  .zrsld-lf-findings-note { gap: 3px 8px; padding: 6px 8px; }
  .zrsld-lf-findings-note > details { margin-left: 0; }
  .zrsld-lf-table td.is-identity, .zrsld-lf-table th:first-child { min-width: 150px; width: 175px; max-width: 190px; }
  .zrsld-lf-table button.zrsld-lf-row-link { max-width: 170px; }
}
@media (prefers-reduced-motion: reduce) {
  .zrsld-lf-workbench * { scroll-behavior: auto; }
}

/* WordPress themes may load after the plugin and paint button:hover/focus white.
   Keep foreground and surface together for the results controls. Text-fill is
   reset too because it can otherwise override a correct computed text colour. */
.zrsld-app :is(.zrsld-lf-summary, .zrsld-lf-workbench) button {
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  background-image: none !important;
  transition: background-color .12s ease, border-color .12s ease;
}
.zrsld-app :is(.zrsld-lf-summary, .zrsld-lf-workbench) button:is(:hover, :focus, :active):not(:disabled) {
  color: #173e52 !important;
  background-color: #e1edf2 !important;
  border-color: #728f9d;
}
.zrsld-app .zrsld-lf-workbench > header nav button[role="tab"] {
  color: #304b59 !important;
  background-color: #f5f8f9 !important;
  border-bottom-color: transparent;
}
.zrsld-app .zrsld-lf-workbench > header nav button[role="tab"]:is(:hover, :focus-visible, :active) {
  color: #173e52 !important;
  background-color: #e1edf2 !important;
  border-bottom-color: #728f9d;
}
.zrsld-app .zrsld-lf-workbench > header nav button[role="tab"][aria-selected="true"] {
  color: #134e42 !important;
  background-color: #e5f3ed !important;
  border-bottom-color: #176959;
}
.zrsld-app .zrsld-lf-workbench > header nav button[role="tab"][aria-selected="true"]:is(:hover, :focus-visible, :active) {
  color: #0e3c33 !important;
  background-color: #d4eade !important;
  border-bottom-color: #176959;
}
.zrsld-app .zrsld-lf-table th button {
  color: #203945 !important;
  background-color: #edf3f6 !important;
}
.zrsld-app .zrsld-lf-table th button:is(:hover, :focus, :active) {
  color: #173e52 !important;
  background-color: #dceaf1 !important;
}
.zrsld-app :is(.zrsld-lf-summary, .zrsld-lf-workbench) button:focus-visible {
  outline: 2px solid #146898 !important;
  outline-offset: -2px;
}
.zrsld-app .zrsld-lf-summary button.zrsld-lf-issues-link.has-issues:is(:hover, :focus, :active) {
  color: #793c00 !important;
  background-color: #fff2df !important;
}
@media (prefers-reduced-motion: reduce) {
  .zrsld-app :is(.zrsld-lf-summary, .zrsld-lf-workbench) button { transition: none; }
}
@media (forced-colors: active) {
  .zrsld-app :is(.zrsld-lf-summary, .zrsld-lf-workbench) button {
    forced-color-adjust: auto;
    -webkit-text-fill-color: currentColor !important;
  }
}
