#item-improvement {
  height: 100%;
  --improvement-font-caption: 11px;
  --improvement-font-small: 12px;
  --improvement-font-body: 13px;
  --improvement-font-body-large: 14px;
  --improvement-font-title-small: 15px;
  --improvement-font-title: 16px;
  --improvement-font-title-large: 18px;
  --improvement-font-display: 24px;
  --improvement-equipment-card-size: 125px;
  --improvement-category-icon-size: 42px;
  --improvement-visual-icon-frame-size: 42px;
  --improvement-equipment-type-icon-max-size: 32px;
  --improvement-useitem-icon-max-size: 36px;
  --improvement-resource-icon-max-size: 34px;
  --improvement-material-icon-max-size: 34px;
}

.decision-full-route-dialog,
.decision-prerequisite-route-dialog,
.decision-material-detail-modal {
  --improvement-font-caption: 11px;
  --improvement-font-small: 12px;
  --improvement-font-body: 13px;
  --improvement-font-body-large: 14px;
  --improvement-font-title-small: 15px;
  --improvement-font-title: 16px;
  --improvement-font-title-large: 18px;
  --improvement-font-display: 24px;
  --improvement-equipment-card-size: 125px;
  --improvement-category-icon-size: 42px;
  --improvement-visual-icon-frame-size: 42px;
  --improvement-equipment-type-icon-max-size: 32px;
  --improvement-useitem-icon-max-size: 36px;
  --improvement-resource-icon-max-size: 34px;
  --improvement-material-icon-max-size: 34px;
}
#item-improvement .flex-column {
  display: flex;
  flex-direction: column;
  height: 100%;
}
#item-improvement .full-height {
  height: 100%;
}
#item-improvement .form-group {
  margin-bottom: 0px;
}

#item-improvement ::-webkit-scrollbar {
  width: 10px;
}
#item-improvement ::-webkit-scrollbar-track {
  border-radius: 1px;
  -webkit-border-radius: 1px;
}
#item-improvement ::-webkit-scrollbar-thumb {
  border-radius: 1px;
  -webkit-border-radius: 1px;
  background-color: #3d3d3d;
}
#item-improvement .center {
  text-align: center;
}
#item-improvement .checkbox {
  position: absolute;
  margin: 0px 10px;
}
#item-improvement .new-checkbox {
  position: absolute;
  margin: 0px -15px;
}
#item-improvement .checkbox > input {
  top: 0px !important;
  bottom: 0px !important;
}
/* Image geometry belongs to semantic components, not file formats.
 * A blanket <img> rule made PNG assets inherit legacy 2.2em geometry while
 * SVG-classified assets also received extra padding. Modern icon/image
 * components own their size and spacing explicitly, so SVG/PNG rendering must
 * not change layout.
 */

#item-improvement th,
#item-improvement td {
  vertical-align: middle !important;
}

.improvement-changelog-version + .improvement-changelog-version {
  border-top: 1px solid rgba(127, 127, 127, 0.25);
  margin-top: 16px;
  padding-top: 12px;
}

.improvement-changelog-version h4 {
  margin-top: 0;
}

.improvement-changelog-version ul {
  margin-bottom: 0;
  padding-left: 22px;
}

.improvement-changelog-version li + li {
  margin-top: 6px;
}

#item-improvement .improvement-search-box {
  display: flex;
  align-items: center;
  margin: 8px 0;
}

#item-improvement .improvement-search-box .input-group {
  flex: 1;
  margin-right: 8px;
}

#item-improvement .improvement-search-count {
  flex: 0 0 auto;
  min-width: 5em;
  text-align: right;
  white-space: nowrap;
  opacity: 0.75;
}

#item-improvement .improvement-empty-state {
  padding: 32px 12px;
  text-align: center;
  opacity: 0.7;
}

/* New interface: decision workspace */
#item-improvement.new-interface {
  overflow: hidden;
}

#item-improvement .decision-interface-shell {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-interface-header {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
  padding: 10px 14px 8px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.25);
  background: rgba(127, 127, 127, 0.06);
}

#item-improvement .decision-brand {
  display: flex;
  flex-direction: column;
  flex: 0 0 185px;
  min-width: 0;
}

#item-improvement .decision-brand strong {
  font-size: var(--improvement-font-title-small);
  line-height: 1.3;
}

#item-improvement .decision-brand span {
  margin-top: 3px;
  font-size: var(--improvement-font-caption);
  opacity: 0.65;
}

#item-improvement .decision-global-search {
  flex: 1 1 auto;
  min-width: 160px;
}

#item-improvement .decision-global-search .improvement-search-box {
  margin: 0;
}

#item-improvement .decision-interface-actions {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  white-space: nowrap;
}

#item-improvement .decision-interface-actions .checkbox {
  position: static;
  margin: 0 8px 0 0;
}

#item-improvement .decision-mode-nav {
  display: flex;
  flex: 0 0 auto;
  margin: 0;
  padding: 5px 14px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.22);
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-mode-nav > li > a {
  display: flex;
  align-items: center;
  padding: 7px 14px;
}

#item-improvement .decision-mode-nav .glyphicon {
  margin-right: 6px;
}

#item-improvement .decision-workspace {
  display: grid;
  grid-template-columns: minmax(330px, 42%) minmax(380px, 58%);
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

#item-improvement .decision-master-pane,
#item-improvement .decision-detail-panel {
  min-height: 0;
  overflow-y: auto;
}

#item-improvement .decision-master-pane {
  border-right: 1px solid rgba(127, 127, 127, 0.25);
}

#item-improvement .decision-page {
  padding: 12px;
}

#item-improvement .decision-page-section {
  margin-bottom: 18px;
}

#item-improvement .decision-page-section.is-secondary {
  opacity: 0.92;
}

#item-improvement .decision-page-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

#item-improvement .decision-page-heading h2 {
  margin: 0;
  font-size: var(--improvement-font-title);
  font-weight: 600;
}

#item-improvement .decision-page-heading p {
  margin: 3px 0 0;
  font-size: var(--improvement-font-caption);
  line-height: 1.45;
  opacity: 0.65;
}

#item-improvement .decision-page-heading > strong {
  min-width: 26px;
  padding: 3px 7px;
  border-radius: 12px;
  text-align: center;
  background: rgba(127, 127, 127, 0.14);
}

#item-improvement .decision-heading-with-controls {
  flex-direction: column;
}

#item-improvement .decision-heading-with-controls .btn-group {
  display: flex;
  max-width: 100%;
  overflow-x: auto;
}

#item-improvement .decision-resource-card {
  margin-bottom: 16px;
  padding: 11px;
  border: 1px solid rgba(69, 169, 165, 0.42);
  border-radius: 7px;
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-resource-card.is-unavailable {
  border-color: rgba(127, 127, 127, 0.25);
  background: rgba(127, 127, 127, 0.05);
}

#item-improvement .decision-resource-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

#item-improvement .decision-resource-title span,
#item-improvement .decision-resource-card.is-unavailable span {
  font-size: var(--improvement-font-caption);
  opacity: 0.65;
}

#item-improvement .decision-resource-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

#item-improvement .decision-resource-values > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 6px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-resource-values > div.is-total {
  background: rgba(69, 169, 165, 0.14);
}

#item-improvement .decision-resource-values span,
#item-improvement .decision-resource-values small {
  overflow: hidden;
  font-size: var(--improvement-font-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.68;
}

#item-improvement .decision-resource-values strong {
  margin: 2px 0;
  font-size: var(--improvement-font-title);
}

#item-improvement .decision-equipment-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#item-improvement .decision-equipment-row {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 68px;
  padding: 8px 9px;
  border: 1px solid rgba(127, 127, 127, 0.23);
  border-radius: 6px;
  color: inherit;
  text-align: left;
  background: rgba(127, 127, 127, 0.035);
  transition: border-color 120ms ease, background 120ms ease;
}

#item-improvement .decision-equipment-row:hover,
#item-improvement .decision-equipment-row:focus {
  border-color: rgba(69, 169, 165, 0.58);
  outline: none;
  background: rgba(69, 169, 165, 0.075);
}

#item-improvement .decision-equipment-row.is-selected {
  border-color: rgba(69, 169, 165, 0.85);
  box-shadow: inset 3px 0 rgba(69, 169, 165, 0.85);
  background: rgba(69, 169, 165, 0.11);
}

#item-improvement .decision-equipment-icon {
  flex: 0 0 auto;
  margin-right: 9px;
}

#item-improvement .decision-equipment-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

#item-improvement .decision-equipment-title {
  overflow: hidden;
  font-size: var(--improvement-font-body);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-equipment-action {
  margin-top: 2px;
  color: #45a9a5;
  font-size: var(--improvement-font-caption);
}

#item-improvement .decision-equipment-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 8px;
  margin-top: 5px;
  font-size: var(--improvement-font-caption);
  opacity: 0.7;
}

#item-improvement .decision-equipment-reasons span::before {
  content: '·';
  margin-right: 3px;
}

#item-improvement .decision-equipment-meta {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-end;
  flex-direction: column;
  gap: 4px;
  margin-left: 8px;
}

#item-improvement .decision-pill {
  max-width: 110px;
  overflow: hidden;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: var(--improvement-font-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  background: rgba(127, 127, 127, 0.16);
}

#item-improvement .decision-pill-primary {
  color: #45a9a5;
  background: rgba(69, 169, 165, 0.16);
}

#item-improvement .decision-pill-warning {
  color: #d99b42;
  background: rgba(217, 155, 66, 0.16);
}

#item-improvement .decision-empty-state,
#item-improvement .decision-inline-empty {
  padding: 24px 10px;
  border: 1px dashed rgba(127, 127, 127, 0.25);
  border-radius: 6px;
  text-align: center;
  opacity: 0.65;
}

#item-improvement .decision-plan-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 16px;
}

#item-improvement .decision-plan-summary-grid > div {
  display: flex;
  flex-direction: column;
  padding: 9px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.05);
}

#item-improvement .decision-plan-summary-grid span {
  font-size: var(--improvement-font-caption);
  opacity: 0.65;
}

#item-improvement .decision-plan-summary-grid strong {
  margin-top: 3px;
  font-size: var(--improvement-font-title-large);
}

#item-improvement .decision-detail-panel {
  padding: 14px 16px 24px;
}

#item-improvement .decision-detail-panel.is-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 7px;
  text-align: center;
  opacity: 0.6;
}

#item-improvement .decision-detail-panel.is-empty .glyphicon {
  font-size: var(--improvement-font-display);
}

#item-improvement .decision-detail-header {
  display: flex;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.24);
}

#item-improvement .decision-detail-icon {
  width: 3em;
  height: 3em;
  margin-right: 11px;
}

#item-improvement .decision-detail-header h3 {
  margin: 0 0 4px;
  font-size: var(--improvement-font-title-large);
}

#item-improvement .decision-detail-header span {
  font-size: var(--improvement-font-caption);
  opacity: 0.7;
}

#item-improvement .decision-detail-section {
  padding: 13px 0;
  border-bottom: 1px solid rgba(127, 127, 127, 0.18);
}

#item-improvement .decision-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

#item-improvement .decision-section-heading strong {
  font-size: var(--improvement-font-body-large);
}

#item-improvement .decision-section-heading span {
  max-width: 62%;
  font-size: var(--improvement-font-caption);
  text-align: right;
  opacity: 0.62;
}

#item-improvement .decision-plan-goals {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 6px;
}

#item-improvement .decision-plan-goals > div,
#item-improvement .decision-next-action > div,
#item-improvement .decision-availability-grid > div,
#item-improvement .decision-route-summary-grid > div,
.decision-material-detail-modal .decision-route-summary-grid > div {
  display: flex;
  flex-direction: column;
  padding: 8px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.065);
}

#item-improvement .decision-plan-goals > div.is-complete {
  background: rgba(69, 169, 165, 0.1);
}

#item-improvement .decision-plan-goals span,
#item-improvement .decision-plan-goals small,
#item-improvement .decision-next-action span,
#item-improvement .decision-next-action small,
#item-improvement .decision-availability-grid span,
#item-improvement .decision-availability-grid small,
#item-improvement .decision-route-summary-grid span,
.decision-material-detail-modal .decision-route-summary-grid span {
  font-size: var(--improvement-font-caption);
  opacity: 0.68;
}

#item-improvement .decision-plan-goals strong,
#item-improvement .decision-next-action strong,
#item-improvement .decision-availability-grid strong,
#item-improvement .decision-route-summary-grid strong,
.decision-material-detail-modal .decision-route-summary-grid strong {
  margin: 3px 0;
  font-size: var(--improvement-font-body);
}

#item-improvement .decision-next-action,
#item-improvement .decision-availability-grid,
#item-improvement .decision-route-summary-grid,
.decision-material-detail-modal .decision-route-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

#item-improvement .decision-route-tabs {
  display: flex;
  max-width: 100%;
  margin-bottom: 10px;
  overflow-x: auto;
}

#item-improvement .decision-assistant-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 6px;
  margin: 9px 0;
}

#item-improvement .decision-assistant-list > div {
  display: flex;
  flex-direction: column;
  padding: 7px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 5px;
}

#item-improvement .decision-assistant-list > div.is-unavailable {
  opacity: 0.42;
}

#item-improvement .decision-assistant-list span,
#item-improvement .decision-assistant-list small {
  margin-top: 2px;
  font-size: var(--improvement-font-caption);
  opacity: 0.68;
}

#item-improvement .decision-stage-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

#item-improvement .decision-stage-card {
  padding: 9px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-stage-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

#item-improvement .decision-stage-header span,
#item-improvement .decision-stage-resources {
  font-size: var(--improvement-font-caption);
  opacity: 0.68;
}

#item-improvement .decision-stage-resources {
  margin-top: 4px;
}

#item-improvement .decision-consumable-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

#item-improvement .decision-consumable {
  display: flex;
  align-items: center;
  min-width: 160px;
  padding: 4px 6px;
  border-radius: 4px;
  background: rgba(127, 127, 127, 0.08);
}

#item-improvement .decision-consumable.is-short {
  background: rgba(210, 85, 85, 0.14);
}

#item-improvement .decision-consumable img,
#item-improvement .decision-consumable .missing-equip-icon {
  flex: 0 0 auto;
  width: 1.8em;
  height: 1.8em;
  margin-right: 5px;
}

#item-improvement .decision-consumable span {
  flex: 1;
  overflow: hidden;
  font-size: var(--improvement-font-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-consumable strong {
  margin-left: 5px;
  font-size: var(--improvement-font-caption);
}

@media (max-width: 920px) {
  #item-improvement .decision-interface-header {
    flex-wrap: wrap;
  }

  #item-improvement .decision-brand {
    flex-basis: 180px;
  }

  #item-improvement .decision-global-search {
    order: 3;
    flex-basis: 100%;
  }

  #item-improvement .decision-workspace {
    grid-template-columns: minmax(280px, 44%) minmax(330px, 56%);
  }

  #item-improvement .decision-resource-values,
  #item-improvement .decision-plan-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #item-improvement .decision-next-action,
  #item-improvement .decision-availability-grid,
  #item-improvement .decision-route-summary-grid,
  .decision-material-detail-modal .decision-route-summary-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  #item-improvement .decision-workspace {
    display: block;
    overflow-y: auto;
  }

  #item-improvement .decision-master-pane,
  #item-improvement .decision-detail-panel {
    overflow: visible;
  }

  #item-improvement .decision-master-pane {
    border-right: 0;
    border-bottom: 1px solid rgba(127, 127, 127, 0.25);
  }

  #item-improvement .decision-equipment-meta {
    display: none;
  }
}

.decision-brand-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.decision-beta-badge {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 1px 6px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}

/* Beta 1.1.1-beta.2: decision controls, visible filters, and adaptive type */
#item-improvement .decision-interface-shell {
  font-size: clamp(14px, 12.5px + 0.22vw, 16px);
  --improvement-font-caption: 0.72em;
  --improvement-font-small: 0.76em;
  --improvement-font-body: 0.84em;
  --improvement-font-body-large: 0.94em;
  --improvement-font-title-small: 1em;
  --improvement-font-title: 1.12em;
  --improvement-font-title-large: 1.22em;
  --improvement-font-display: 1.4em;
}

#item-improvement .decision-interface-shell.decision-font-compact {
  font-size: clamp(13px, 12px + 0.16vw, 14px);
}

#item-improvement .decision-interface-shell.decision-font-large {
  font-size: clamp(16px, 14.5px + 0.28vw, 19px);
}

#item-improvement .decision-brand strong,
#item-improvement .decision-page-heading h2,
#item-improvement .decision-section-heading strong,
#item-improvement .decision-equipment-title,
#item-improvement .decision-detail-header h3 {
  font-size: var(--improvement-font-title-small);
}

#item-improvement .decision-detail-header h3 {
  font-size: var(--improvement-font-title-large);
}

#item-improvement .decision-page-heading h2 {
  font-size: var(--improvement-font-title);
}

#item-improvement .decision-page-heading p,
#item-improvement .decision-brand > span,
#item-improvement .decision-equipment-action,
#item-improvement .decision-detail-header > div > span {
  font-size: var(--improvement-font-body);
}

#item-improvement .decision-equipment-reasons,
#item-improvement .decision-pill,
#item-improvement .decision-section-heading span,
#item-improvement .decision-filter-summary {
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-interface-actions {
  gap: 6px;
}

#item-improvement .decision-interface-actions .btn .glyphicon {
  margin-right: 5px;
}

#item-improvement .decision-font-controls .btn {
  min-width: 32px;
  padding-left: 7px;
  padding-right: 7px;
}

#item-improvement .decision-workbench-controls {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

#item-improvement .decision-date-filter,
#item-improvement .decision-filter-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

#item-improvement .decision-date-filter > strong,
#item-improvement .decision-filter-row > strong {
  flex: 0 0 92px;
  padding-top: 6px;
  font-size: var(--improvement-font-body);
}

#item-improvement .decision-date-filter .btn-group,
#item-improvement .decision-filter-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

#item-improvement .decision-date-filter .btn-group .btn,
#item-improvement .decision-filter-row .btn-group .btn {
  float: none;
}

#item-improvement .decision-pill-danger {
  color: #e28d62;
  background: rgba(226, 141, 98, 0.18);
}

#item-improvement .decision-filter-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.045);
}

#item-improvement .decision-filter-row > .btn-group,
#item-improvement .decision-filter-row > .decision-filter-buttons {
  flex: 1 1 auto;
  min-width: 0;
}

#item-improvement .decision-filter-buttons .btn .glyphicon,
#item-improvement .decision-filter-row .btn-group .btn .glyphicon {
  margin-right: 4px;
}

#item-improvement .decision-weekday-buttons {
  flex-basis: 100%;
}

#item-improvement .decision-filter-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 5px;
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-plan-summary-grid > div.is-warning {
  border-color: rgba(217, 155, 66, 0.45);
  background: rgba(217, 155, 66, 0.1);
}

@media (max-width: 1080px) {
  #item-improvement .decision-interface-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  #item-improvement .decision-date-filter,
  #item-improvement .decision-filter-row {
    flex-direction: column;
    gap: 5px;
  }

  #item-improvement .decision-date-filter > strong,
  #item-improvement .decision-filter-row > strong {
    flex-basis: auto;
    padding-top: 0;
  }
}

/* Beta 1.1.1-beta.3: plan migration, route decisions, and workbench sorting */
#item-improvement .decision-workbench-sort {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

#item-improvement .decision-workbench-sort > strong {
  flex: 0 0 92px;
  padding-top: 6px;
  font-size: var(--improvement-font-body);
}

#item-improvement .decision-workbench-sort .btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

#item-improvement .decision-workbench-sort .btn {
  float: none;
}

.decision-migration-modal p {
  line-height: 1.65;
}

.decision-migration-explanation {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(217, 155, 66, 0.55);
  border-radius: 6px;
  background: rgba(217, 155, 66, 0.12);
}

.decision-migration-goal-field {
  display: block;
  margin: 14px 0 6px;
}

.decision-migration-goal-field > strong {
  display: block;
  margin-bottom: 6px;
}

.decision-migration-modal .form-control {
  max-width: 220px;
}

.decision-migration-modal small {
  display: block;
  margin-top: 6px;
  color: #888;
}

.decision-chain-option {
  padding: 11px;
  border: 1px solid rgba(127, 127, 127, 0.25);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.035);
}

.decision-chain-option.is-selected {
  border-color: rgba(52, 122, 183, 0.9);
  box-shadow: inset 3px 0 rgba(52, 122, 183, 0.9);
  background: rgba(52, 122, 183, 0.09);
}

.decision-chain-option.is-comparison-dominant {
  border-color: rgba(87, 176, 108, 0.75);
  background: rgba(87, 176, 108, 0.09);
}

.decision-chain-option-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

.decision-chain-option-heading > span {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

.decision-chain-cost-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.decision-chain-cost-grid > div,
.decision-chain-materials,
#item-improvement .decision-selected-chain-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 7px 8px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.08);
}

.decision-chain-cost-grid span,
.decision-chain-materials span {
  font-size: var(--improvement-font-small);
  color: #888;
}

.decision-chain-materials {
  margin-top: 7px;
}

.decision-chain-positive {
  display: block;
  margin: 8px 0 0;
  padding: 7px 8px;
  border-radius: 5px;
  color: #2f7d43;
  background: rgba(87, 176, 108, 0.14);
  font-weight: 600;
  line-height: 1.45;
}

.decision-chain-option .btn-block {
  margin-top: 9px;
}

#item-improvement .decision-selected-chain-body > span {
  margin-top: 6px;
}

@media (min-width: 920px) {
  #item-improvement .decision-chain-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  #item-improvement .decision-workbench-sort {
    flex-direction: column;
    gap: 5px;
  }

  #item-improvement .decision-workbench-sort > strong {
    flex-basis: auto;
    padding-top: 0;
  }

  .decision-chain-cost-grid {
    grid-template-columns: 1fr;
  }
}

/* Beta 1.1.1-beta.4: stronger priority states and stable assistant columns */

#item-improvement .decision-priority-flag,
.decision-priority-flag {
  flex: 0 0 auto;
  min-width: 28px;
  padding: 2px 8px;
  border-radius: 999px;
  color: #fff;
  text-align: center;
  background: #c47d1a;
  font-size: var(--improvement-font-small);
  font-weight: 700;
}

#item-improvement .decision-plan-summary-grid > div.is-warning {
  border-width: 2px;
  border-color: rgba(217, 155, 66, 0.8);
  box-shadow: inset 3px 0 rgba(217, 155, 66, 0.88);
  background: rgba(217, 155, 66, 0.15);
}

#item-improvement .decision-plan-summary-grid > div.is-warning span,
#item-improvement .decision-plan-summary-grid > div.is-warning strong {
  color: #b96f12;
  font-weight: 700;
}

#item-improvement .decision-equipment-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 116px;
  align-items: center;
}

#item-improvement .decision-equipment-title {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

#item-improvement .decision-equipment-title-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-equipment-meta {
  width: 116px;
  min-width: 116px;
  margin-left: 10px;
}

#item-improvement .decision-equipment-meta .decision-pill {
  width: 100%;
  max-width: none;
  text-align: center;
}

#item-improvement .decision-pill-route-selected {
  color: #fff;
  background: #3f8f57;
  font-weight: 700;
}

#item-improvement .decision-pill-route-selected .glyphicon {
  margin-right: 4px;
}

#item-improvement .decision-chain-point.is-resolved {
  border-color: rgba(69, 169, 165, 0.5);
}

#item-improvement .decision-route-status {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 5px;
  min-width: 108px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #fff !important;
  text-align: center;
  font-size: var(--improvement-font-body) !important;
  font-weight: 700;
}

#item-improvement .decision-route-status.is-selected {
  background: #3f8f57;
}

.decision-route-modal-header .modal-title {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 700;
}

.decision-route-modal-header .modal-title {
  color: #c04a4a;
}

.decision-chain-options {
  align-items: stretch;
}

.decision-chain-option {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}

.decision-chain-option.is-selected {
  border-width: 2px;
  border-color: rgba(52, 122, 183, 0.9);
  box-shadow: inset 4px 0 rgba(52, 122, 183, 0.9);
  background: rgba(52, 122, 183, 0.1);
}

.decision-chain-option.is-comparison-dominant {
  border-width: 2px;
  box-shadow: inset 4px 0 rgba(87, 176, 108, 0.86);
}

.decision-chain-option-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(92px, auto);
  align-items: start;
  min-height: 44px;
}

.decision-chain-option-heading > strong {
  min-width: 0;
  overflow: hidden;
  line-height: 1.4;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.decision-chain-option-heading > span {
  min-width: 92px;
}

.decision-chain-assistant-row,
#item-improvement .decision-selected-chain-assistant {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-height: 44px;
  margin-bottom: 7px;
  padding: 7px 8px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.08);
}

.decision-chain-assistant-row > span,
#item-improvement .decision-selected-chain-assistant > span {
  color: #888;
  font-size: var(--improvement-font-small);
}

.decision-chain-assistant-row > strong,
#item-improvement .decision-selected-chain-assistant > strong {
  min-width: 0;
  overflow: hidden;
  line-height: 1.4;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.decision-chain-option .btn-block {
  margin-top: auto;
  padding-top: 9px;
}

#item-improvement .decision-assistant-list {
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  align-items: stretch;
}

#item-improvement .decision-assistant-list > div {
  display: grid;
  grid-template-rows: auto minmax(36px, auto) auto auto;
  align-content: start;
  min-height: 104px;
}

#item-improvement .decision-assistant-label {
  margin: 0 0 3px !important;
  color: #888;
  font-size: var(--improvement-font-caption) !important;
  opacity: 1 !important;
}

#item-improvement .decision-assistant-list > div > strong {
  min-width: 0;
  overflow: hidden;
  line-height: 1.4;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#item-improvement .decision-assistant-days {
  min-height: 1.4em;
  white-space: nowrap;
}

#item-improvement .decision-fixed-value {
  min-height: 2.8em;
  overflow: hidden;
  line-height: 1.4;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 760px) {
  #item-improvement .decision-equipment-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  #item-improvement .decision-equipment-meta {
    display: none;
  }
}

.decision-data-transfer-modal {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.decision-data-transfer-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 13px 14px;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.045);
}

.decision-data-transfer-section.is-import {
  align-items: start;
}

.decision-data-transfer-section.is-personal-profile {
  align-items: start;
  border-color: rgba(69, 169, 165, 0.5);
  background: rgba(69, 169, 165, 0.075);
}

.decision-data-transfer-section.is-beta-sample {
  border-color: rgba(217, 155, 66, 0.55);
  background: rgba(217, 155, 66, 0.09);
}

.decision-data-transfer-section h4 {
  margin: 0 0 5px;
  font-weight: 700;
}

.decision-data-transfer-section p {
  margin: 0;
  line-height: 1.5;
}

.decision-data-transfer-section small {
  display: block;
  margin-top: 5px;
  color: #8a6d3b;
}

.decision-data-transfer-section .btn .glyphicon {
  margin-right: 6px;
}

.decision-data-import-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 250px;
}

.decision-data-transfer-primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 250px;
  min-height: 42px;
}

.decision-data-import-actions .decision-data-transfer-primary-action {
  width: 100%;
}

.decision-data-file-summary {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 7px 9px;
  border-radius: 5px;
  background: rgba(69, 169, 165, 0.09);
}

.decision-data-file-summary strong,
.decision-data-file-summary span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-data-file-summary span {
  color: #667;
  font-size: var(--improvement-font-body);
}

.decision-data-import-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

@media (max-width: 900px) {

  .decision-data-transfer-section {
    grid-template-columns: 1fr;
  }

  .decision-data-import-actions,
  .decision-data-transfer-primary-action {
    width: 100%;
  }
}

/* Beta 1.1.1-beta.6: stronger savings/actions and two fleet test profiles */
#item-improvement .decision-comparison-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: var(--improvement-font-body-large);
  font-weight: 800;
  line-height: 1.2;
}

#item-improvement .decision-comparison-badge .glyphicon {
  font-size: var(--improvement-font-title-small);
}

#item-improvement .decision-chain-option.is-comparison-dominant {
  border-width: 3px;
  border-color: rgba(63, 143, 87, 0.95);
  box-shadow: inset 5px 0 rgba(63, 143, 87, 0.95), 0 0 0 1px rgba(63, 143, 87, 0.12);
  background: rgba(63, 143, 87, 0.13);
}

#item-improvement .decision-chain-option.is-comparison-dominant .decision-chain-positive,
#item-improvement .decision-selected-chain .decision-chain-positive {
  padding: 10px 12px;
  border: 2px solid rgba(63, 143, 87, 0.45);
  color: #286f3b;
  background: rgba(63, 143, 87, 0.16);
  font-size: var(--improvement-font-title-small);
  font-weight: 800;
}

#item-improvement .decision-route-choice-button {
  min-height: 44px;
  margin-top: 12px;
  border-width: 2px;
  font-size: var(--improvement-font-title-small);
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16);
}

#item-improvement .decision-route-choice-button .glyphicon,
.decision-set-all-goal-button .glyphicon {
  margin-right: 7px;
}

.decision-set-all-goal-button {
  min-width: 230px;
  border-width: 2px;
  font-weight: 800;
  box-shadow: 0 2px 5px rgba(63, 143, 87, 0.22);
}

.decision-migration-modal .decision-migration-goal-field {
  padding: 10px 12px;
  border: 2px solid rgba(63, 143, 87, 0.48);
  border-radius: 7px;
  background: rgba(63, 143, 87, 0.09);
}

#item-improvement .decision-beta-fleet-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  color: #fff;
  background: #4f7fa8;
  font-size: var(--improvement-font-caption);
  font-weight: 800;
  letter-spacing: 0.03em;
}

.decision-beta-sample-actions {
  min-width: 245px;
}

.decision-beta-sample-actions .btn {
  text-align: left;
  font-weight: 700;
}

#item-improvement .decision-workbench-controls {
  margin-bottom: 10px;
}

/* Beta 1.1.1-beta.7: restore plan editing in the new interface */
#item-improvement .decision-plan-control-section {
  padding: 12px;
  border: 1px solid rgba(69, 169, 165, 0.34);
  border-radius: 7px;
  background: rgba(69, 169, 165, 0.065);
}

#item-improvement .decision-current-plan {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 10px;
  margin-bottom: 9px;
  padding: 9px 10px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.075);
}

#item-improvement .decision-plan-state-column {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}

#item-improvement .decision-plan-state-column + .decision-plan-state-column {
  padding-top: 10px;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
}

#item-improvement .decision-current-plan-label {
  font-size: var(--improvement-font-body);
  font-weight: 700;
  opacity: 0.72;
}

#item-improvement .decision-current-plan strong {
  min-width: 0;
}

#item-improvement .decision-current-plan strong.is-empty {
  font-weight: 600;
  opacity: 0.58;
}

#item-improvement .decision-current-plan-goals {
  display: grid;
  gap: 7px;
}

#item-improvement .decision-current-plan-goals.is-owned-list {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}

#item-improvement .decision-current-plan-goals.is-plan-list {
  grid-template-columns: minmax(0, 1fr);
}

#item-improvement .decision-current-plan-goal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 5px 6px 5px 9px;
  border: 1px solid rgba(65, 139, 202, 0.28);
  border-radius: 5px;
  background: rgba(65, 139, 202, 0.08);
}

#item-improvement .decision-current-plan-goal.is-owned {
  grid-template-columns: minmax(0, 1fr) auto;
  border-color: rgba(69, 169, 165, 0.28);
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-current-plan-goal > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: 700;
}

#item-improvement .decision-current-plan-goal > strong {
  white-space: nowrap;
}

#item-improvement .decision-current-plan-goal-remove {
  width: 26px;
  min-width: 26px;
  height: 26px;
  padding: 0;
  border-radius: 50%;
  line-height: 24px;
}

#item-improvement .decision-custom-plan {
  display: grid;
  grid-template-columns: auto minmax(90px, 130px) 72px auto auto;
  align-items: center;
  gap: 6px;
  margin-top: 9px;
}

#item-improvement .decision-custom-plan > span {
  font-size: var(--improvement-font-body);
  font-weight: 700;
}

#item-improvement .decision-custom-plan .btn .glyphicon {
  margin-right: 5px;
}

#item-improvement .decision-catalog-plan-editor {
  margin: 10px 0 12px;
}

#item-improvement .decision-catalog-plan-editor .decision-detail-section {
  border-bottom: 0;
}

@media (max-width: 980px) {
  #item-improvement .decision-custom-plan {
    grid-template-columns: minmax(105px, 1fr) 70px auto;
  }

  #item-improvement .decision-custom-plan > span {
    grid-column: 1 / -1;
  }

}

/* Beta 1.1.1-beta.8: inventory-aware material-saving closure and probability comparison */
#item-improvement .savings-page {
  gap: 18px;
}

#item-improvement .savings-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border: 2px solid #3c8c55;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(73, 160, 91, 0.16), rgba(73, 160, 91, 0.04));
}

#item-improvement .savings-hero h2 {
  margin: 0 0 6px;
  font-size: var(--improvement-font-display);
  font-weight: 800;
}

#item-improvement .savings-hero p {
  margin: 0;
  line-height: 1.55;
}

#item-improvement .savings-profile-control {
  display: grid;
  gap: 6px;
  min-width: 250px;
}

#item-improvement .savings-profile-control > strong {
  color: #2f6f40;
}

#item-improvement .savings-profile-control > span {
  max-width: 290px;
  font-size: var(--improvement-font-body);
  line-height: 1.35;
  opacity: 0.78;
}

#item-improvement .savings-plan-list,
#item-improvement .savings-path-list {
  display: grid;
  gap: 14px;
}

#item-improvement .savings-plan-card {
  border: 1px solid rgba(90, 105, 120, 0.36);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  overflow: hidden;
}

#item-improvement .savings-plan-card > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(90, 105, 120, 0.26);
  background: rgba(75, 110, 135, 0.08);
}

#item-improvement .savings-plan-card > header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

#item-improvement .savings-plan-card > header > div > strong {
  font-size: var(--improvement-font-title);
}

#item-improvement .savings-plan-card > header > strong {
  min-width: 34px;
  padding: 4px 8px;
  border-radius: 999px;
  text-align: center;
  background: rgba(60, 140, 85, 0.16);
  color: #2f7d46;
}

#item-improvement .savings-path-list {
  padding: 14px;
}

#item-improvement .savings-path-card {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(90, 105, 120, 0.32);
  border-left: 5px solid rgba(90, 105, 120, 0.55);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.04);
}

#item-improvement .savings-path-card.is-dominant {
  border: 2px solid #3f9d58;
  border-left-width: 8px;
  box-shadow: 0 0 0 3px rgba(63, 157, 88, 0.12);
  background: rgba(63, 157, 88, 0.08);
}

#item-improvement .savings-path-card > header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

#item-improvement .savings-path-card > header > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

#item-improvement .savings-path-card > header > div:first-child > strong {
  font-size: var(--improvement-font-title-small);
}

#item-improvement .savings-dominant-highlight {
  display: grid;
  grid-template-columns: auto auto;
  gap: 2px 7px;
  align-items: center;
  min-width: 210px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #398f50;
  color: #fff;
}

#item-improvement .savings-dominant-highlight .glyphicon {
  grid-row: 1 / span 2;
  font-size: var(--improvement-font-display);
}

#item-improvement .savings-dominant-highlight > strong {
  font-size: var(--improvement-font-title);
  font-weight: 800;
}

#item-improvement .savings-dominant-highlight > span:last-child {
  font-size: var(--improvement-font-body);
  opacity: 0.92;
}

#item-improvement .savings-operation-chain {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#item-improvement .savings-operation-chain > span {
  padding: 5px 8px;
  border-radius: 6px;
  background: rgba(70, 90, 110, 0.1);
  font-size: var(--improvement-font-body);
}

#item-improvement .savings-cost-comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#item-improvement .savings-cost-column {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(90, 105, 120, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

#item-improvement .savings-cost-column > strong {
  font-size: var(--improvement-font-title-small);
}

#item-improvement .savings-cost-numbers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#item-improvement .savings-cost-numbers > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 8px;
  border-radius: 6px;
  background: rgba(70, 90, 110, 0.08);
}

#item-improvement .savings-cost-material-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

#item-improvement .savings-cost-material-row > span {
  opacity: 0.72;
}

#item-improvement .savings-cost-material-row > b {
  min-width: 0;
  overflow-wrap: anywhere;
}

#item-improvement .savings-cost-missing {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 7px;
  align-items: start;
  padding: 8px 10px;
  border-radius: 7px;
  background: rgba(202, 130, 33, 0.13);
  color: #9b6419;
}

#item-improvement .savings-route-choice-section {
  border-top: 2px solid rgba(90, 105, 120, 0.26);
  padding-top: 18px;
}

@media (max-width: 980px) {
  #item-improvement .savings-hero,
  #item-improvement .savings-cost-comparison {
    grid-template-columns: 1fr;
  }

  #item-improvement .savings-profile-control {
    min-width: 0;
  }

  #item-improvement .savings-path-card > header {
    flex-direction: column;
  }

  #item-improvement .savings-dominant-highlight {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 700px) {
  #item-improvement .savings-cost-numbers {
    grid-template-columns: 1fr;
  }

  #item-improvement .savings-cost-material-row {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

#item-improvement .savings-upgrade-advice {
  display: grid;
  grid-template-columns: minmax(180px, auto) minmax(0, 1fr) auto;
  gap: 6px 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(85, 110, 130, 0.34);
  background: rgba(75, 100, 120, 0.08);
}

#item-improvement .savings-upgrade-advice > div {
  display: flex;
  gap: 7px;
  align-items: center;
}

#item-improvement .savings-upgrade-advice > span:nth-child(3) {
  white-space: nowrap;
  font-weight: 700;
}

#item-improvement .savings-upgrade-advice > strong:last-child {
  grid-column: 1 / -1;
}

#item-improvement .savings-upgrade-advice.is-guaranteed {
  border-color: #3f9d58;
  background: rgba(63, 157, 88, 0.12);
  color: #2f7642;
}

#item-improvement .savings-upgrade-advice.is-normal {
  border-color: #3f7fa8;
  background: rgba(63, 127, 168, 0.1);
}

#item-improvement .savings-upgrade-advice.is-tradeoff {
  border-color: #c9872e;
  background: rgba(201, 135, 46, 0.11);
  color: #8a5b19;
}

@media (max-width: 760px) {
  #item-improvement .savings-upgrade-advice {
    grid-template-columns: 1fr;
  }

  #item-improvement .savings-upgrade-advice > strong:last-child {
    grid-column: auto;
  }
}

/* Beginner recommendation workspace */
#item-improvement .beginner-recommendation-page {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#item-improvement .beginner-hero,
#item-improvement .beginner-source-note,
#item-improvement .beginner-controls,
#item-improvement .beginner-stage-summary,
#item-improvement .beginner-recommendation-card {
  border: 1px solid rgba(125, 135, 145, 0.35);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
}

#item-improvement .beginner-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
}

#item-improvement .beginner-hero > div:first-child {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

#item-improvement .beginner-hero > div:first-child > .glyphicon {
  font-size: var(--improvement-font-display);
  color: #4ea3d8;
}

#item-improvement .beginner-hero h2 {
  margin: 0 0 4px;
  font-size: var(--improvement-font-title-large);
}

#item-improvement .beginner-hero p {
  margin: 0;
  opacity: 0.78;
}

#item-improvement .beginner-detected-stage {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 150px;
}

#item-improvement .beginner-detected-stage span,
#item-improvement .beginner-source-note small,
#item-improvement .beginner-target-grid span,
#item-improvement .beginner-stage-summary span {
  opacity: 0.72;
}

#item-improvement .beginner-detected-stage strong {
  font-size: var(--improvement-font-title);
  color: #55b87a;
}

#item-improvement .beginner-source-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 12px;
  padding: 10px 14px;
  border-left: 4px solid #4ea3d8;
}

#item-improvement .beginner-source-note small {
  grid-column: 2;
}

#item-improvement .beginner-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  padding: 12px;
}

#item-improvement .beginner-controls > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#item-improvement .beginner-controls .form-control {
  min-width: 160px;
}

#item-improvement .beginner-controls .checkbox {
  margin: 0 4px 7px 0;
}

#item-improvement .beginner-stage-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 8px;
  padding: 10px;
}

#item-improvement .beginner-stage-summary > div {
  display: flex;
  flex-direction: column;
  padding: 8px 10px;
  border-radius: 4px;
  background: rgba(125, 135, 145, 0.1);
}

#item-improvement .beginner-stage-summary strong {
  font-size: var(--improvement-font-title);
}

#item-improvement .beginner-recommendation-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#item-improvement .beginner-recommendation-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 150px;
  gap: 12px;
  padding: 12px;
  border-left: 4px solid #4ea3d8;
}

#item-improvement .beginner-recommendation-card.is-complete {
  opacity: 0.76;
  border-left-color: #55b87a;
}

#item-improvement .beginner-score-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  border-radius: 6px;
  background: rgba(78, 163, 216, 0.16);
}

#item-improvement .beginner-score-badge strong {
  font-size: var(--improvement-font-display);
  line-height: 1;
}

#item-improvement .beginner-score-badge span {
  margin-top: 4px;
  opacity: 0.72;
}

#item-improvement .beginner-card-main {
  min-width: 0;
}

#item-improvement .beginner-card-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

#item-improvement .beginner-card-header h3 {
  margin: 0 0 5px;
  font-size: var(--improvement-font-title-small);
}

#item-improvement .beginner-card-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#item-improvement .beginner-target-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(90px, 1fr));
  gap: 7px;
  margin-top: 10px;
}

#item-improvement .beginner-target-grid > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 7px 8px;
  border-radius: 4px;
  background: rgba(125, 135, 145, 0.1);
}

#item-improvement .beginner-target-grid strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .beginner-card-summary {
  margin: 10px 0 0;
  line-height: 1.5;
}

#item-improvement .beginner-card-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}

#item-improvement .beginner-card-details {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed rgba(125, 135, 145, 0.35);
}

#item-improvement .beginner-card-details section {
  padding: 8px 10px;
  border-radius: 4px;
  background: rgba(125, 135, 145, 0.08);
}

#item-improvement .beginner-card-details p {
  margin: 5px 0 0;
  line-height: 1.45;
}

#item-improvement .beginner-score-breakdown {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 6px;
}

#item-improvement .beginner-score-breakdown span {
  padding: 3px 6px;
  border-radius: 3px;
  background: rgba(78, 163, 216, 0.12);
}

#item-improvement .decision-plan-route-hint {
  margin: 0 0 10px;
  padding: 7px 9px;
  border-left: 3px solid #55b87a;
  background: rgba(85, 184, 122, 0.1);
}

/* Compact evolution route in the equipment detail pane */
#item-improvement .decision-evolution-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 7px;
}

#item-improvement .decision-evolution-column {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

#item-improvement .decision-evolution-column > span {
  opacity: 0.7;
  font-size: var(--improvement-font-body-large);
}

#item-improvement .decision-evolution-node {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(125, 135, 145, 0.35);
  border-radius: 4px;
  background: rgba(125, 135, 145, 0.08);
}

#item-improvement .decision-evolution-node.is-current {
  border-color: #4ea3d8;
  background: rgba(78, 163, 216, 0.14);
}

#item-improvement .decision-evolution-node strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-evolution-node span,
#item-improvement .decision-evolution-column small {
  opacity: 0.7;
}

#item-improvement .decision-evolution-arrow {
  align-self: center;
  font-size: var(--improvement-font-title-large);
  opacity: 0.55;
}

@media (max-width: 1100px) {
  #item-improvement .beginner-recommendation-card {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  #item-improvement .beginner-card-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: flex-end;
  }

  #item-improvement .beginner-target-grid {
    grid-template-columns: repeat(3, minmax(90px, 1fr));
  }
}

@media (max-width: 760px) {
  #item-improvement .beginner-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  #item-improvement .beginner-detected-stage {
    align-items: flex-start;
  }

  #item-improvement .beginner-stage-summary,
  #item-improvement .beginner-target-grid {
    grid-template-columns: repeat(2, minmax(90px, 1fr));
  }

  #item-improvement .decision-evolution-route {
    grid-template-columns: 1fr;
  }

  #item-improvement .decision-evolution-arrow {
    transform: rotate(90deg);
  }
}

#item-improvement .beginner-readonly-note,
#item-improvement .beginner-task-warning {
  border-left: 4px solid #f0ad4e;
  background: rgba(240, 173, 78, 0.1);
  color: #8a6d3b;
}

#item-improvement .beginner-readonly-note {
  margin: 10px 0 0;
  padding: 8px 10px;
}

#item-improvement .beginner-task-warning {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px 14px;
}

#item-improvement .beginner-task-warning p {
  margin: 4px 0 0;
}

#item-improvement .beginner-task-reference-card {
  grid-template-columns: minmax(0, 1fr) auto;
}

#item-improvement .beginner-task-icon {
  min-width: 32px;
  font-size: var(--improvement-font-display);
  color: #f0ad4e;
  text-align: center;
}

/* beta.11 correctness and information-architecture convergence */
#item-improvement .savings-cost-scope {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
}

#item-improvement .savings-cost-scope > strong {
  display: block;
  margin-bottom: 7px;
}

#item-improvement .savings-cost-scope > span {
  display: block;
  margin: -3px 0 8px;
  color: #888;
  font-size: var(--improvement-font-body);
}

#item-improvement .savings-cost-scope.is-total {
  margin-top: 14px;
  padding: 10px;
  border: 1px dashed rgba(78, 163, 216, 0.45);
  border-radius: 6px;
  background: rgba(78, 163, 216, 0.055);
}

#item-improvement .beginner-score-badge.is-grade-s {
  color: #246f3d;
  background: rgba(85, 184, 122, 0.22);
}

#item-improvement .beginner-score-badge.is-grade-a {
  color: #276f99;
  background: rgba(78, 163, 216, 0.2);
}

#item-improvement .beginner-score-badge.is-grade-b {
  color: #8a6715;
  background: rgba(219, 174, 57, 0.18);
}

#item-improvement .beginner-score-badge.is-grade-c,
#item-improvement .beginner-score-badge.is-grade-d {
  color: #777;
  background: rgba(127, 127, 127, 0.12);
}

#item-improvement .decision-filter-row > small {
  display: block;
  margin-top: 5px;
  color: #888;
}

/* Beta 1.1.1-beta.12: locked selection, collapsible tools, and docked detail plugins */
#item-improvement .decision-interface-header {
  justify-content: space-between;
}

#item-improvement .decision-workspace.has-detail-dock {
  grid-template-columns: minmax(330px, 58%) minmax(360px, 42%);
}

#item-improvement .decision-workspace.has-detail-dock .decision-master-pane {
  border-right: 0;
}

#item-improvement .decision-detail-dock {
  position: relative;
  min-width: 0;
  min-height: 0;
  border-left: 1px solid rgba(127, 127, 127, 0.25);
  background: rgba(127, 127, 127, 0.018);
}

#item-improvement .decision-detail-dock .decision-detail-panel {
  height: 100%;
  padding: 14px 14px 24px;
}

#item-improvement .decision-detail-plugin-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}

#item-improvement .decision-detail-plugin {
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-detail-plugin-header {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid rgba(127, 127, 127, 0.16);
}

#item-improvement .decision-detail-plugin.is-collapsed .decision-detail-plugin-header {
  border-bottom: 0;
}

#item-improvement .decision-detail-plugin-toggle {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  gap: 8px;
  min-width: 0;
  padding: 9px 10px;
  border: 0;
  color: inherit;
  text-align: left;
  background: transparent;
}

#item-improvement .decision-detail-plugin-toggle:hover,
#item-improvement .decision-detail-plugin-toggle:focus {
  outline: none;
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-detail-plugin-toggle > .glyphicon:first-child {
  color: #45a9a5;
}

#item-improvement .decision-detail-plugin-heading {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

#item-improvement .decision-detail-plugin-heading strong {
  font-size: var(--improvement-font-body-large);
}

#item-improvement .decision-detail-plugin-heading span {
  overflow: hidden;
  font-size: var(--improvement-font-body);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-detail-plugin-action {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 5px;
  margin: 4px;
  padding: 5px 7px;
  border-radius: 5px;
  color: #45a9a5;
  background: rgba(69, 169, 165, 0.09);
}

#item-improvement .decision-detail-plugin-body {
  padding: 10px;
}

#item-improvement .decision-detail-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

#item-improvement .decision-detail-overview-grid > div,
#item-improvement .decision-current-stage-cost > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 7px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.065);
}

#item-improvement .decision-detail-overview-grid span,
#item-improvement .decision-current-stage-cost span,
#item-improvement .decision-current-stage-cost small {
  font-size: var(--improvement-font-small);
  opacity: 0.7;
}

#item-improvement .decision-detail-overview-grid strong,
#item-improvement .decision-current-stage-cost b {
  margin-top: 3px;
  overflow-wrap: anywhere;
}

#item-improvement .decision-plugin-route-status {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 7px;
  margin-top: 9px;
  padding: 8px;
  border-radius: 5px;
  background: rgba(217, 155, 66, 0.12);
}

#item-improvement .decision-plugin-route-status.is-selected {
  background: rgba(69, 169, 165, 0.12);
}

#item-improvement .decision-plugin-route-status > span:last-child {
  grid-column: 2;
  font-size: var(--improvement-font-small);
  opacity: 0.72;
}

#item-improvement .decision-evolution-one-depth {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

#item-improvement .decision-evolution-one-depth > div {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 7px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.065);
}

#item-improvement .decision-evolution-one-depth > div.is-current {
  border: 1px solid rgba(69, 169, 165, 0.55);
  background: rgba(69, 169, 165, 0.1);
}

#item-improvement .decision-evolution-one-depth > div > span:first-child,
#item-improvement .decision-evolution-one-depth small {
  font-size: var(--improvement-font-caption);
  opacity: 0.68;
}

#item-improvement .decision-evolution-mini-node {
  overflow: hidden;
  font-size: var(--improvement-font-small);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-current-stage-cost {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 9px 0;
  padding: 9px;
  border: 1px solid rgba(69, 169, 165, 0.34);
  border-radius: 6px;
  background: rgba(69, 169, 165, 0.07);
}

#item-improvement .decision-current-stage-cost > strong,
#item-improvement .decision-current-stage-cost > small {
  grid-column: 1 / -1;
}

#item-improvement .decision-tools-panel {
  margin-bottom: 10px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-tools-header {
  display: flex;
  align-items: stretch;
  min-width: 0;
}

#item-improvement .decision-tools-toggle {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: 8px;
  padding: 8px 10px;
  border: 0;
  color: inherit;
  text-align: left;
  background: transparent;
}

#item-improvement .decision-tools-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
  padding: 4px 6px 4px 0;
}

#item-improvement .decision-tools-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

#item-improvement .decision-tools-toggle:hover,
#item-improvement .decision-tools-toggle:focus {
  outline: none;
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-tools-toggle > strong {
  flex: 0 0 auto;
}

#item-improvement .decision-tools-summary {
  flex: 1 1 auto;
  overflow: hidden;
  font-size: var(--improvement-font-small);
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.68;
}

#item-improvement .decision-tools-toggle > .glyphicon:last-child {
  margin-left: auto;
}

#item-improvement .decision-collapse-state {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 3.4em;
  padding: 2px 6px;
  border: 1px solid rgba(127, 127, 127, 0.25);
  border-radius: 999px;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
  background: rgba(127, 127, 127, 0.08);
}

#item-improvement .decision-collapse-state.is-expanded {
  border-color: rgba(69, 169, 165, 0.42);
  background: rgba(69, 169, 165, 0.12);
}

#item-improvement .decision-collapse-state.is-collapsed {
  border-color: rgba(217, 155, 66, 0.42);
  background: rgba(217, 155, 66, 0.12);
}

#item-improvement .decision-tools-body {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 10px;
  border-top: 1px solid rgba(127, 127, 127, 0.16);
}

#item-improvement .decision-tools-search .improvement-search-box {
  margin: 0;
}

#item-improvement .decision-full-route-modal > section,
.decision-full-route-dialog .decision-full-route-modal > section {
  margin-top: 18px;
}

#item-improvement .decision-full-route-current,
.decision-full-route-dialog .decision-full-route-current {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  border: 1px solid rgba(69, 169, 165, 0.42);
  border-radius: 6px;
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-full-route-grid,
.decision-full-route-dialog .decision-full-route-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

#item-improvement .decision-full-route-path,
.decision-full-route-dialog .decision-full-route-path {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  padding: 9px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 6px;
}

#item-improvement .decision-full-route-node,
.decision-full-route-dialog .decision-full-route-node {
  display: flex;
  flex-direction: column;
  padding: 7px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.06);
}

#item-improvement .decision-full-route-node.is-current,
.decision-full-route-dialog .decision-full-route-node.is-current {
  border: 1px solid rgba(69, 169, 165, 0.55);
  background: rgba(69, 169, 165, 0.12);
}

#item-improvement .decision-full-route-node span,
.decision-full-route-dialog .decision-full-route-node span {
  margin-top: 2px;
  font-size: var(--improvement-font-caption);
  opacity: 0.68;
}

#item-improvement .decision-full-route-arrow,
.decision-full-route-dialog .decision-full-route-arrow {
  padding: 4px 0;
  text-align: center;
  opacity: 0.55;
}

@media (max-width: 1080px) {
  #item-improvement .decision-workspace.has-detail-dock {
    grid-template-columns: minmax(280px, 52%) minmax(330px, 48%);
  }

  #item-improvement .decision-current-stage-cost {
    grid-template-columns: 1fr;
  }

  #item-improvement .decision-current-stage-cost > strong,
  #item-improvement .decision-current-stage-cost > small {
    grid-column: 1;
  }
}

/* Beta 1.1.1-beta.13: category search, today details, and plan-target totals */
#item-improvement .improvement-search-main-row {
  display: flex;
  align-items: stretch;
  gap: 7px;
}

#item-improvement .improvement-search-main-row > .input-group {
  flex: 1 1 auto;
  min-width: 0;
}

#item-improvement .decision-category-filter-button {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 5px;
  max-width: 148px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-category-filter-button.is-active {
  box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0.28);
}

#item-improvement .improvement-search-feedback {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 20px;
  margin-top: 4px;
}

#item-improvement .decision-active-condition {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid rgba(69, 169, 165, 0.34);
  color: inherit;
  font-size: var(--improvement-font-small);
  font-weight: 600;
  background: rgba(69, 169, 165, 0.13);
}

#item-improvement .decision-guidance-callout {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.055);
}

#item-improvement .decision-guidance-callout > .glyphicon {
  margin-top: 2px;
}

#item-improvement .decision-guidance-callout > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

#item-improvement .decision-guidance-callout span:not(.glyphicon) {
  font-size: var(--improvement-font-body);
  opacity: 0.78;
}

#item-improvement .decision-guidance-callout.is-info {
  border-color: rgba(78, 163, 216, 0.38);
  background: rgba(78, 163, 216, 0.08);
}

#item-improvement .decision-guidance-callout.is-info > .glyphicon {
  color: #347da8;
}

#item-improvement .decision-guidance-callout.is-warning {
  border-color: rgba(217, 155, 66, 0.42);
  background: rgba(217, 155, 66, 0.09);
}

#item-improvement .decision-guidance-callout.is-warning > .glyphicon {
  color: #a66d18;
}

#item-improvement .decision-category-filter-dialog {
  width: calc(100% - 24px);
  max-width: 860px;
  margin: 18px auto;
}

#item-improvement .decision-category-filter-modal .modal-body {
  max-height: calc(100vh - 168px);
  padding: 10px 12px;
  overflow-y: auto;
}

#item-improvement .decision-category-filter-modal .modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  padding: 9px 12px;
}

#item-improvement .decision-category-filter-modal .modal-footer .btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 0;
  white-space: nowrap;
}

#item-improvement .decision-category-filter-guide {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid rgba(78, 163, 216, 0.32);
  border-radius: 5px;
  font-size: var(--improvement-font-body);
  background: rgba(78, 163, 216, 0.07);
}

#item-improvement .decision-category-filter-guide > strong {
  margin-left: auto;
  white-space: nowrap;
}

#item-improvement .decision-category-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 5px;
  margin-top: 8px;
}

#item-improvement .decision-category-filter-option {
  display: block;
  margin: 0;
  min-width: 0;
  padding: 5px 6px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.035);
  cursor: pointer;
}

#item-improvement .decision-category-filter-option.is-selected {
  border-color: rgba(69, 169, 165, 0.62);
  background: rgba(69, 169, 165, 0.11);
}

#item-improvement .decision-category-filter-option .checkbox-inline {
  display: grid;
  grid-template-columns: auto 26px minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: 5px;
  padding-left: 0;
}

#item-improvement .decision-category-filter-option .checkbox-inline input {
  position: static;
  margin: 0;
}

#item-improvement .decision-category-filter-icon {
  width: var(--improvement-category-icon-size);
  height: var(--improvement-category-icon-size);
  object-fit: contain;
}

#item-improvement .decision-category-filter-option .checkbox-inline > strong {
  min-width: 0;
  overflow: hidden;
  font-size: var(--improvement-font-body);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-category-filter-count {
  min-width: 2em;
  padding: 1px 5px;
  border-radius: 999px;
  font-size: var(--improvement-font-caption);
  text-align: center;
  background: rgba(127, 127, 127, 0.1);
  opacity: 0.8;
}

#item-improvement .decision-detail-overview-grid > div.is-positive,
#item-improvement .decision-target-cost-metric.is-positive {
  border: 1px solid rgba(85, 184, 122, 0.36);
  background: rgba(85, 184, 122, 0.09);
}

#item-improvement .decision-detail-overview-grid > div.is-negative,
#item-improvement .decision-target-cost-metric.is-negative {
  border: 1px solid rgba(216, 95, 95, 0.42);
  background: rgba(216, 95, 95, 0.1);
}

#item-improvement .decision-detail-overview-grid > div.is-warning,
#item-improvement .decision-target-cost-metric.is-warning {
  border: 1px solid rgba(217, 155, 66, 0.42);
  background: rgba(217, 155, 66, 0.1);
}

#item-improvement .decision-detail-overview-grid > div.is-info,
#item-improvement .decision-target-cost-metric.is-info {
  border: 1px solid rgba(78, 163, 216, 0.38);
  background: rgba(78, 163, 216, 0.08);
}

#item-improvement .decision-detail-overview-grid > div.is-neutral {
  border: 1px solid rgba(127, 127, 127, 0.2);
}

#item-improvement .decision-assistant-list > div.is-available {
  border-color: rgba(85, 184, 122, 0.32);
  background: rgba(85, 184, 122, 0.06);
}

#item-improvement .decision-plan-target-cost {
  margin: 10px 0;
  padding: 10px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-plan-target-cost-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

#item-improvement .decision-plan-target-cost-header > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

#item-improvement .decision-plan-target-cost-header > div > span {
  margin-top: 2px;
  font-size: var(--improvement-font-small);
  opacity: 0.72;
}

#item-improvement .decision-target-cost-status {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 5px;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: var(--improvement-font-small);
  font-weight: 700;
}

#item-improvement .decision-target-cost-status.is-positive,
#item-improvement .decision-cost-delta.is-positive,
#item-improvement .decision-route-comparison-cell.is-better,
#item-improvement .decision-chain-positive,
.decision-full-route-dialog .decision-route-comparison-cell.is-better,
.decision-full-route-dialog .decision-chain-positive {
  border: 1px solid rgba(85, 184, 122, 0.38);
  color: inherit;
  background: rgba(85, 184, 122, 0.18);
}

#item-improvement .decision-target-cost-status.is-negative,
#item-improvement .decision-cost-delta.is-negative,
#item-improvement .decision-route-comparison-cell.is-worse,
#item-improvement .decision-comparison-badge.is-dominated,
.decision-full-route-dialog .decision-route-comparison-cell.is-worse,
.decision-full-route-dialog .decision-comparison-badge.is-dominated {
  border: 1px solid rgba(216, 95, 95, 0.42);
  color: inherit;
  background: rgba(216, 95, 95, 0.18);
}

#item-improvement .decision-target-cost-metric {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 8px;
  border-radius: 5px;
}

#item-improvement .decision-target-cost-metric > span {
  font-size: var(--improvement-font-small);
  opacity: 0.74;
}

#item-improvement .decision-target-cost-metric > strong {
  margin-top: 2px;
  font-size: var(--improvement-font-title);
}

#item-improvement .decision-target-cost-metric > small {
  margin-top: 2px;
  overflow-wrap: anywhere;
  opacity: 0.78;
}

#item-improvement .decision-target-material-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}

#item-improvement .decision-target-cost-note {
  margin-top: 10px;
}

@media (max-width: 760px) {
  #item-improvement .improvement-search-main-row,
  #item-improvement .decision-plan-target-cost-header {
    flex-direction: column;
  }

  #item-improvement .decision-category-filter-button,
  #item-improvement .decision-target-cost-status {
    align-self: stretch;
    justify-content: center;
    max-width: none;
  }

  #item-improvement .decision-category-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}

#item-improvement .decision-detail-header > div {
  min-width: 0;
}

/* visual-first decision workspace */
#item-improvement .decision-equipment-flow {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

#item-improvement .decision-equipment-flow.is-vertical {
  align-items: stretch;
  flex-direction: column;
}

#item-improvement .decision-visual-node,
.decision-full-route-dialog .decision-visual-node {
  display: flex;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.055);
}

#item-improvement .decision-visual-node.is-current,
.decision-full-route-dialog .decision-visual-node.is-current {
  border-color: rgba(69, 169, 165, 0.58);
  background: rgba(69, 169, 165, 0.11);
}

#item-improvement .decision-visual-node.is-compact,
.decision-full-route-dialog .decision-visual-node.is-compact {
  min-height: 46px;
  padding: 5px 6px;
}

#item-improvement .decision-visual-node-icon,
.decision-full-route-dialog .decision-visual-node-icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin-right: 7px;
  object-fit: contain;
}

#item-improvement .decision-visual-node.is-compact .decision-visual-node-icon,
.decision-full-route-dialog .decision-visual-node.is-compact .decision-visual-node-icon {
  width: 28px;
  height: 28px;
  margin-right: 5px;
}

#item-improvement .decision-visual-node-copy,
.decision-full-route-dialog .decision-visual-node-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

#item-improvement .decision-visual-node-copy strong,
.decision-full-route-dialog .decision-visual-node-copy strong {
  overflow: hidden;
  font-size: var(--improvement-font-body);
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-visual-node-copy small,
.decision-full-route-dialog .decision-visual-node-copy small {
  margin-top: 2px;
  color: #45a9a5;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
}

#item-improvement .decision-flow-arrow {
  flex: 0 0 auto;
  color: #45a9a5;
  opacity: 0.78;
}

#item-improvement .decision-equipment-flow.is-vertical .decision-flow-arrow {
  padding: 1px 0;
  text-align: center;
}

#item-improvement .decision-material-icon-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

#item-improvement .decision-material-icon-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  padding: 3px 6px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.065);
}

#item-improvement .decision-material-icon-chip img {
  width: 24px;
  height: 24px;
  margin: 0;
  object-fit: contain;
}

#item-improvement .decision-material-icon-chip > span {
  max-width: 150px;
  overflow: hidden;
  font-size: var(--improvement-font-small);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-material-icon-chip strong {
  flex: 0 0 auto;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-material-more,
#item-improvement .decision-material-empty {
  font-size: var(--improvement-font-small);
  opacity: 0.7;
}

#item-improvement .decision-cost-delta {
  align-self: flex-start;
  margin-top: 4px;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
}

#item-improvement .decision-cost-delta.is-positive {
  color: #2f7d43;
  background: rgba(87, 176, 108, 0.16);
}

#item-improvement .decision-cost-delta.is-negative {
  color: #a84747;
  background: rgba(216, 95, 95, 0.15);
}

#item-improvement .decision-equipment-row.is-workbench {
  grid-template-columns: minmax(150px, 0.9fr) minmax(150px, 1fr) 92px;
  min-height: 92px;
  padding: 9px;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-flow {
  margin-right: 9px;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-meta {
  width: 92px;
  min-width: 92px;
}

#item-improvement .decision-workbench-facts {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin-top: 6px;
}

#item-improvement .decision-workbench-fact {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-workbench-fact .glyphicon {
  color: #45a9a5;
}

#item-improvement .decision-workbench-assistant strong {
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-workbench-facts .decision-material-icon-chip {
  padding: 2px 4px;
}

#item-improvement .decision-workbench-facts .decision-material-icon-chip img {
  width: 21px;
  height: 21px;
}

#item-improvement .decision-chain-option > .decision-equipment-flow {
  margin-bottom: 8px;
}

#item-improvement .decision-chain-point-target {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

#item-improvement .decision-chain-point-target .decision-visual-node,
.decision-full-route-dialog .decision-chain-point-target .decision-visual-node {
  max-width: 360px;
}

#item-improvement .decision-evolution-flow-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 7px;
}

#item-improvement .decision-full-route-current .decision-visual-node,
.decision-full-route-dialog .decision-full-route-current .decision-visual-node {
  width: 100%;
}

#item-improvement .decision-full-route-path .decision-equipment-flow,
.decision-full-route-dialog .decision-full-route-path .decision-equipment-flow {
  width: 100%;
}

#item-improvement .decision-category-filter-dialog {
  width: calc(100% - 32px);
  max-width: 1180px;
}

#item-improvement .decision-category-filter-grid {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 7px;
}

#item-improvement .decision-category-filter-option {
  min-height: 46px;
}

#item-improvement .decision-detail-plugin-heading strong:only-child {
  line-height: 1.45;
}

@media (max-width: 1180px) {
  #item-improvement .decision-equipment-row.is-workbench {
    grid-template-columns: minmax(130px, 0.75fr) minmax(135px, 1fr) 82px;
  }

  #item-improvement .decision-equipment-row.is-workbench .decision-equipment-meta {
    width: 82px;
    min-width: 82px;
  }

  #item-improvement .decision-visual-node-copy strong,
  .decision-full-route-dialog .decision-visual-node-copy strong {
    font-size: var(--improvement-font-small);
  }
}

@media (max-width: 820px) {
  #item-improvement .decision-equipment-row.is-workbench {
    grid-template-columns: minmax(0, 1fr) 84px;
  }

  #item-improvement .decision-equipment-row.is-workbench > .decision-equipment-flow {
    grid-column: 1 / -1;
    margin: 0 0 7px;
  }

  #item-improvement .decision-equipment-row.is-workbench .decision-equipment-meta {
    display: flex;
  }

  #item-improvement .decision-category-filter-grid {
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  }
}

/* focused workbench navigation and visual improvement detail */

#item-improvement .decision-equipment-row.is-workbench {
  display: flex;
  align-items: center;
  min-height: 98px;
  padding: 8px 10px;
}

#item-improvement .decision-workbench-equipment-artwork {
  flex: 0 0 auto;
  margin-right: 10px;
  overflow: hidden;
  border-radius: 6px;
}

#item-improvement .decision-workbench-equipment-name {
  display: -webkit-box;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: var(--improvement-font-body-large);
  font-weight: 700;
  line-height: 1.35;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#item-improvement .decision-detail-artwork {
  flex: 0 0 auto;
  margin-right: 12px;
  overflow: hidden;
  border-radius: 6px;
}

#item-improvement .decision-workbench-detail {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 12px;
}

#item-improvement .decision-workbench-route-tabs {
  align-self: flex-start;
  margin-bottom: 9px;
}

#item-improvement .decision-workbench-detail-section,
.decision-material-detail-modal .decision-workbench-detail-section {
  padding: 11px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-workbench-detail-section > h4,
#item-improvement .decision-workbench-section-heading h4 {
  margin: 0 0 9px;
  font-size: var(--improvement-font-body-large);
  font-weight: 700;
}

#item-improvement .decision-workbench-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

#item-improvement .decision-workbench-section-heading h4 {
  margin: 0;
}

#item-improvement .decision-workbench-section-heading .btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 5px;
}

#item-improvement .decision-workbench-assistant-grid,
#item-improvement .decision-workbench-material-grid,
.decision-material-detail-modal .decision-workbench-assistant-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}

#item-improvement .decision-workbench-assistant-card,
#item-improvement .decision-workbench-material-card,
.decision-material-detail-modal .decision-workbench-assistant-card {
  display: flex;
  align-items: center;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.045);
}

#item-improvement .decision-workbench-assistant-card.is-today,
.decision-material-detail-modal .decision-workbench-assistant-card.is-today {
  border-color: rgba(69, 169, 165, 0.62);
  background: rgba(69, 169, 165, 0.1);
}

#item-improvement .decision-workbench-assistant-card.is-missing,
#item-improvement .decision-workbench-material-card.is-short {
  border-color: rgba(216, 95, 95, 0.46);
  background: rgba(216, 95, 95, 0.08);
}

#item-improvement .decision-workbench-assistant-image,
.decision-material-detail-modal .decision-workbench-assistant-image {
  flex: 0 0 auto;
  overflow: hidden;
}

#item-improvement .decision-poi-image-fallback,
.decision-material-detail-modal .decision-poi-image-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 94px;
  height: 64px;
  color: #45a9a5;
  font-size: var(--improvement-font-display);
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-workbench-assistant-copy,
#item-improvement .decision-workbench-material-copy,
.decision-material-detail-modal .decision-workbench-assistant-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 8px 9px;
}

#item-improvement .decision-workbench-assistant-copy strong,
#item-improvement .decision-workbench-material-copy strong,
.decision-material-detail-modal .decision-workbench-assistant-copy strong {
  overflow: hidden;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-workbench-assistant-copy span,
#item-improvement .decision-workbench-material-copy span,
#item-improvement .decision-workbench-assistant-copy small,
#item-improvement .decision-workbench-material-copy small,
.decision-material-detail-modal .decision-workbench-assistant-copy span,
.decision-material-detail-modal .decision-workbench-assistant-copy small {
  margin-top: 3px;
  font-size: var(--improvement-font-small);
  line-height: 1.3;
  opacity: 0.76;
}

#item-improvement .decision-workbench-material-card.is-short small,
#item-improvement .decision-workbench-assistant-card.is-missing small {
  color: #b14f4f;
  font-weight: 700;
  opacity: 1;
}

#item-improvement .decision-workbench-material-image {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 105px;
  min-height: 70px;
  overflow: hidden;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-workbench-material-image > img.useitem {
  width: var(--improvement-category-icon-size);
  height: var(--improvement-category-icon-size);
  object-fit: contain;
}

#item-improvement .decision-workbench-material-image .equip-icon {
  width: var(--improvement-category-icon-size);
  height: var(--improvement-category-icon-size);
  object-fit: contain;
}

#item-improvement .decision-visual-node,
.decision-full-route-dialog .decision-visual-node {
  align-items: stretch;
  flex-direction: column;
  padding: 6px;
}

#item-improvement .decision-visual-node-artwork,
.decision-full-route-dialog .decision-visual-node-artwork {
  align-self: center;
  flex: 0 0 auto;
  max-width: 100%;
  overflow: hidden;
}

#item-improvement .decision-visual-node-copy,
.decision-full-route-dialog .decision-visual-node-copy {
  margin-top: 5px;
  text-align: center;
}

#item-improvement .decision-visual-node-copy strong,
.decision-full-route-dialog .decision-visual-node-copy strong {
  white-space: normal;
}

#item-improvement .decision-workbench-gap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

#item-improvement .decision-workbench-gap-profile {
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 7px;
}

#item-improvement .decision-workbench-gap-profile > header {
  padding: 7px 9px;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-workbench-gap-profile.is-guaranteed > header {
  background: rgba(69, 169, 165, 0.11);
}

#item-improvement .decision-workbench-gap-metric {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px;
  padding: 8px 9px;
  border-top: 1px solid rgba(127, 127, 127, 0.12);
}

#item-improvement .decision-workbench-gap-metric > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

#item-improvement .decision-workbench-gap-metric span,
#item-improvement .decision-workbench-gap-metric small {
  margin-top: 2px;
  font-size: var(--improvement-font-small);
  opacity: 0.75;
}

#item-improvement .decision-workbench-gap-metric.is-short small {
  color: #b14f4f;
  font-weight: 700;
  opacity: 1;
}

#item-improvement .decision-workbench-gap-icon {
  width: var(--improvement-category-icon-size);
  height: var(--improvement-category-icon-size);
  object-fit: contain;
}

#item-improvement .decision-workbench-base-gap {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  padding: 7px 9px;
  border-radius: 6px;
  color: #a84747;
  background: rgba(216, 95, 95, 0.1);
}

#item-improvement .decision-workbench-empty-value,
.decision-material-detail-modal .decision-workbench-empty-value {
  padding: 9px;
  border-radius: 6px;
  font-size: var(--improvement-font-body);
  opacity: 0.72;
  background: rgba(127, 127, 127, 0.055);
}

@media (max-width: 1100px) {

  #item-improvement .decision-workbench-assistant-grid,
  #item-improvement .decision-workbench-material-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {

  #item-improvement .decision-workbench-gap-grid {
    grid-template-columns: 1fr;
  }
}

/* Help center: new-interface guide + release notes. */
.improvement-help-dialog {
  position: fixed !important;
  inset: 6px !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
}

.improvement-help {
  min-height: 0;
  max-height: none;
  flex: 1 1 0;
  overflow: auto;
}

.improvement-help-overview {
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.24);
}

.improvement-help-heading h4,
.improvement-help-section h4,
.improvement-help-release-notes > h4 {
  margin: 0 0 8px;
}

.improvement-help-heading p {
  margin: 0 0 14px;
  opacity: 0.82;
}

.improvement-help-screenshot {
  margin: 0;
  padding: 8px;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 8px;
  background: rgba(17, 25, 34, 0.2);
}

.improvement-help-screenshot img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.improvement-help-screenshot figcaption {
  padding: 8px 4px 2px;
  font-size: var(--improvement-font-body-large);
  line-height: 1.5;
  opacity: 0.78;
}

.improvement-help-section {
  margin-top: 18px;
}

.improvement-help-area-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.improvement-help-area {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.045);
}

.improvement-help-area > .glyphicon {
  padding-top: 2px;
  font-size: var(--improvement-font-title-large);
  text-align: center;
  opacity: 0.8;
}

.improvement-help-area strong {
  display: block;
  margin-bottom: 3px;
}

.improvement-help-area p {
  margin: 0;
  line-height: 1.5;
  opacity: 0.76;
}

.improvement-help-detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.improvement-help-detail-guide {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.045);
}

.improvement-help-detail-guide img {
  display: block;
  width: 100%;
  height: auto;
}

.improvement-help-detail-guide figcaption {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 9px 10px 10px;
}

.improvement-help-detail-guide figcaption span {
  line-height: 1.45;
  opacity: 0.76;
}

.improvement-help-detail-points {
  margin: 2px 0 0;
  padding-left: 18px;
  line-height: 1.5;
  opacity: 0.9;
}

.improvement-help-detail-points li + li {
  margin-top: 4px;
}

.improvement-help-data-source {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 16px;
  padding: 10px 12px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.045);
}

.improvement-help-data-source span {
  opacity: 0.78;
}

.improvement-help-once-note {
  margin: 14px 0 0;
  padding: 9px 11px;
  border-radius: 6px;
  background: rgba(91, 192, 222, 0.1);
}

.improvement-help-release-notes {
  margin-top: 18px;
}

@media (max-width: 620px) {
  .improvement-help-area-grid,
  .improvement-help-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* route comparison colors only represent proven Pareto relations. */
#item-improvement .decision-chain-option.is-comparison-dominated {
  border-color: rgba(192, 74, 74, 0.9);
  box-shadow: inset 4px 0 rgba(192, 74, 74, 0.85);
  background: rgba(192, 74, 74, 0.08);
}

#item-improvement .decision-chain-option.is-comparison-choice {
  border-color: rgba(185, 111, 18, 0.82);
  box-shadow: inset 4px 0 rgba(185, 111, 18, 0.78);
  background: rgba(185, 111, 18, 0.08);
}

#item-improvement .decision-chain-option.is-comparison-tradeoff,
#item-improvement .decision-chain-option.is-comparison-unknown {
  border-color: rgba(127, 127, 127, 0.42);
  box-shadow: inset 4px 0 rgba(127, 127, 127, 0.38);
  background: rgba(127, 127, 127, 0.055);
}

#item-improvement .decision-comparison-badge.is-tradeoff,
#item-improvement .decision-comparison-badge.is-unknown {
  color: inherit;
  background: rgba(127, 127, 127, 0.15);
}

#item-improvement .decision-upgrade-route-flow {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto minmax(160px, 1.35fr) auto minmax(120px, 1fr);
  align-items: center;
  gap: 8px;
  margin-bottom: 9px;
}

#item-improvement .decision-route-material-node {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 8px;
  border: 1px dashed rgba(127, 127, 127, 0.34);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.055);
}

#item-improvement .decision-route-material-node > strong {
  font-size: var(--improvement-font-small);
  color: #777;
}

#item-improvement .decision-upgrade-route-flow .decision-material-icon-list {
  justify-content: center;
}

@media (max-width: 760px) {
  #item-improvement .decision-upgrade-route-flow {
    grid-template-columns: 1fr;
  }

  #item-improvement .decision-upgrade-route-flow > .decision-flow-arrow {
    transform: rotate(90deg);
    justify-self: center;
  }
}

#item-improvement .decision-visual-node-copy .decision-visual-node-label,
.decision-full-route-dialog .decision-visual-node-copy .decision-visual-node-label {
  color: #777;
  font-weight: 600;
}

#item-improvement .decision-visual-node-copy .decision-visual-node-level,
.decision-full-route-dialog .decision-visual-node-copy .decision-visual-node-level {
  margin-top: 1px;
  color: #45a9a5;
  font-weight: 800;
}

/* Symbolic type icons remain more compact than complete square cards in dense route views. */
.decision-equipment-symbol {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-equipment-symbol > .equip-icon,
.decision-full-route-dialog .decision-equipment-symbol > .equip-icon {
  width: 72%;
  height: 72%;
  max-width: none;
  object-fit: contain;
}

/* Poi Avatar lives below a legacy global img rule; restore its own geometry explicitly. */
#item-improvement .decision-workbench-assistant-image.ship-avatar-container,
.decision-material-detail-modal .decision-workbench-assistant-image.ship-avatar-container {
  position: relative;
  flex: 0 0 auto;
  width: 118px;
  min-width: 118px;
  height: 64px;
  overflow: hidden;
  background: rgba(69, 169, 165, 0.06);
}

#item-improvement .decision-workbench-assistant-image .ship-avatar,
.decision-material-detail-modal .decision-workbench-assistant-image .ship-avatar {
  width: auto;
  max-width: none;
}

#item-improvement .decision-workbench-assistant-image .ship-avatar-bg,
.decision-material-detail-modal .decision-workbench-assistant-image .ship-avatar-bg {
  width: 200%;
  height: auto;
  max-width: none;
}

#item-improvement .decision-workbench-assistant-image .ship-avatar-bg-nr,
.decision-material-detail-modal .decision-workbench-assistant-image .ship-avatar-bg-nr {
  left: -30%;
  top: -28%;
}

#item-improvement .decision-workbench-assistant-image .ship-avatar-bg-sr,
.decision-material-detail-modal .decision-workbench-assistant-image .ship-avatar-bg-sr {
  left: -60%;
  height: 220%;
}

/* chain-first route visualization, plan-scoped protection, and grouped filters. */
#item-improvement .decision-workspace.has-detail-dock {
  grid-template-columns: minmax(520px, 1.55fr) minmax(420px, 0.95fr);
}

#item-improvement .decision-chain-family-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#item-improvement .decision-chain-family {
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.26);
  border-radius: 9px;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-chain-family-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
  background: rgba(69, 169, 165, 0.065);
}

#item-improvement .decision-chain-family-header > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

#item-improvement .decision-chain-family-header > div > span,
#item-improvement .decision-chain-family-header > span {
  color: #888;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-chain-family-header > span {
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.1);
}

#item-improvement .decision-chain-family-points {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px;
}

#item-improvement .decision-chain-point.is-optional {
  border-color: rgba(127, 127, 127, 0.28);
  box-shadow: none;
  background: rgba(127, 127, 127, 0.03);
}

#item-improvement .decision-route-status.is-optional {
  color: inherit !important;
  background: rgba(127, 127, 127, 0.16);
}

#item-improvement .decision-chain-optional-summary {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 12px;
  padding: 8px 10px;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 6px;
  color: #888;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-chain-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(460px, 1fr));
  gap: 10px;
}

#item-improvement .decision-upgrade-route-flow {
  grid-template-columns: minmax(112px, 0.9fr) 22px minmax(170px, 1.25fr) 22px minmax(112px, 0.9fr);
  gap: 5px;
}

#item-improvement .decision-upgrade-chain-board {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 10px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.18);
  background: rgba(25, 37, 47, 0.12);
}

#item-improvement .decision-upgrade-chain-board.is-compact {
  padding: 8px;
}

#item-improvement .decision-upgrade-chain-columns {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(285px, 340px) 34px;
  align-items: start;
  width: max-content;
  min-width: 100%;
}

#item-improvement .decision-upgrade-chain-board.is-compact .decision-upgrade-chain-columns {
  grid-auto-columns: minmax(245px, 300px) 28px;
}

#item-improvement .decision-upgrade-chain-column {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 9px;
}

#item-improvement .decision-upgrade-chain-column-label {
  padding: 4px 8px;
  border-radius: 5px;
  color: #8797a4;
  font-size: var(--improvement-font-small);
  font-weight: 700;
  text-align: center;
  background: rgba(127, 127, 127, 0.08);
}

#item-improvement .decision-upgrade-chain-connector {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 116px;
  color: #45a9a5;
  font-size: var(--improvement-font-title-large);
  opacity: 0.78;
}

#item-improvement .decision-chain-equipment-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.27);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.045);
}

#item-improvement .decision-chain-equipment-card.is-current {
  border-color: rgba(69, 169, 165, 0.72);
  box-shadow: inset 4px 0 rgba(69, 169, 165, 0.72);
  background: rgba(69, 169, 165, 0.075);
}

#item-improvement .decision-chain-equipment-card > header {
  padding: 8px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.18);
  background: rgba(127, 127, 127, 0.055);
}

#item-improvement .decision-chain-route-variants {
  display: flex;
  flex-direction: column;
}

#item-improvement .decision-chain-route-variant {
  position: relative;
  padding: 8px;
  border-top: 1px solid rgba(127, 127, 127, 0.14);
}

#item-improvement .decision-chain-route-variant:first-child {
  border-top: 0;
}

#item-improvement .decision-chain-route-variant-title,
#item-improvement .decision-chain-route-merged {
  display: block;
  margin-bottom: 6px;
  color: #b98a45;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-chain-route-merged {
  float: right;
  padding: 2px 5px;
  border-radius: 999px;
  background: rgba(185, 138, 69, 0.13);
}

#item-improvement .decision-chain-base-resource {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
  padding: 4px 6px;
  border-radius: 4px;
  font-size: var(--improvement-font-caption);
  background: rgba(127, 127, 127, 0.065);
}

#item-improvement .decision-chain-base-resource > span {
  color: #888;
}

#item-improvement .decision-chain-stage-stack {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

#item-improvement .decision-chain-stage-line {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
  padding: 6px;
  border-left: 3px solid rgba(78, 163, 216, 0.56);
  border-radius: 4px;
  background: rgba(78, 163, 216, 0.055);
}

#item-improvement .decision-chain-stage-line.is-conversion {
  border-left-color: rgba(69, 169, 165, 0.75);
  background: rgba(69, 169, 165, 0.07);
}

#item-improvement .decision-chain-stage-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}

#item-improvement .decision-chain-stage-heading > strong {
  min-width: 0;
  overflow: hidden;
  font-size: var(--improvement-font-small);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-chain-stage-heading > span {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: var(--improvement-font-caption);
  white-space: nowrap;
}

#item-improvement .decision-chain-stage-heading small {
  color: #888;
}

#item-improvement .decision-chain-stage-line .decision-material-icon-list {
  justify-content: flex-start;
}

#item-improvement .decision-chain-stage-target {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  padding-top: 3px;
  border-top: 1px dashed rgba(127, 127, 127, 0.2);
}

#item-improvement .decision-chain-stage-target > .glyphicon {
  color: #45a9a5;
  text-align: center;
}

#item-improvement .decision-chain-route-assistants {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 6px;
  margin-top: 6px;
  padding-top: 5px;
  border-top: 1px dashed rgba(127, 127, 127, 0.18);
  font-size: var(--improvement-font-caption);
}

#item-improvement .decision-chain-route-assistants > span {
  color: #888;
}

#item-improvement .decision-chain-terminal-node,
.decision-full-route-dialog .decision-chain-terminal-node {
  padding: 10px;
  color: #888;
  font-size: var(--improvement-font-small);
  text-align: center;
}

#item-improvement .decision-full-route-dialog,
.decision-full-route-dialog {
  width: calc(100% - 28px);
  max-width: 1560px;
  margin: 14px auto;
}

#item-improvement .decision-full-route-modal,
.decision-full-route-dialog .decision-full-route-modal {
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  padding: 10px;
}

#item-improvement .decision-full-route-intro,
.decision-full-route-dialog .decision-full-route-intro {
  margin: 0 0 8px;
  padding: 7px 9px;
  border-left: 3px solid rgba(69, 169, 165, 0.7);
  color: #888;
  background: rgba(69, 169, 165, 0.055);
}

#item-improvement .decision-category-filter-dialog {
  width: calc(100% - 28px);
  max-width: 1180px;
  margin: 14px auto;
}

#item-improvement .decision-category-group-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  align-items: start;
  gap: 9px;
  margin-top: 9px;
}

#item-improvement .decision-category-group {
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.23);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-category-group > header > button {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto auto;
  align-items: center;
  width: 100%;
  gap: 7px;
  padding: 7px 9px;
  border: 0;
  border-bottom: 1px solid rgba(127, 127, 127, 0.17);
  color: inherit;
  text-align: left;
  background: rgba(127, 127, 127, 0.06);
}

#item-improvement .decision-category-group > header > button:hover,
#item-improvement .decision-category-group > header > button.is-partial {
  background: rgba(78, 163, 216, 0.1);
}

#item-improvement .decision-category-group > header > button.is-selected {
  background: rgba(69, 169, 165, 0.13);
}

#item-improvement .decision-category-group > header small {
  color: #888;
  font-weight: 400;
  white-space: nowrap;
}

#item-improvement .decision-category-group > header > button > span:last-child {
  min-width: 30px;
  padding: 1px 5px;
  border-radius: 999px;
  font-size: var(--improvement-font-caption);
  text-align: center;
  background: rgba(127, 127, 127, 0.12);
}

#item-improvement .decision-category-group .decision-category-filter-grid {
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  margin: 0;
  padding: 6px;
}

@media (min-width: 1680px) {
  #item-improvement .decision-chain-options {
    grid-template-columns: repeat(auto-fit, minmax(430px, 1fr));
  }
}

@media (max-width: 1120px) {
  #item-improvement .decision-workspace.has-detail-dock {
    grid-template-columns: minmax(360px, 1.15fr) minmax(360px, 1fr);
  }

  #item-improvement .decision-chain-options {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  #item-improvement .decision-category-group-list {
    grid-template-columns: 1fr;
  }

  #item-improvement .decision-category-group > header > button {
    grid-template-columns: 18px minmax(0, 1fr) auto;
  }

  #item-improvement .decision-category-group > header small {
    display: none;
  }
}

/* horizontally scrollable staggered equipment-state upgrade chain */
#item-improvement .decision-upgrade-chain-summary {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.1fr);
  align-items: center;
  gap: 10px 14px;
  padding: 10px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-upgrade-chain-summary-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(62px, 1fr));
  gap: 6px;
}

#item-improvement .decision-upgrade-chain-summary-stats > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  padding: 6px 4px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-upgrade-chain-summary-stats small {
  overflow: hidden;
  max-width: 100%;
  color: #888;
  font-size: var(--improvement-font-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-upgrade-chain-summary-stats strong {
  color: #45a9a5;
  font-size: var(--improvement-font-title);
}

#item-improvement .decision-upgrade-chain-summary > p {
  grid-column: 1 / -1;
  margin: 0;
  color: #888;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-full-route-dialog,
.decision-full-route-dialog {
  width: calc(100% - 18px);
  max-width: none;
  margin: 9px auto;
}

#item-improvement .decision-full-route-modal,
.decision-full-route-dialog .decision-full-route-modal {
  max-height: none;
  overflow: hidden;
  padding: 8px 10px 10px;
}

#item-improvement .decision-chain-flow-shell,
.decision-full-route-dialog .decision-chain-flow-shell {
  display: flex;
  min-height: 560px;
  height: calc(100vh - 210px);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.28);
  border-radius: 8px;
  background: rgba(20, 29, 36, 0.22);
}

#item-improvement .decision-chain-flow-toolbar,
.decision-full-route-dialog .decision-chain-flow-toolbar {
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 6px 8px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.22);
  background: rgba(127, 127, 127, 0.055);
}

#item-improvement .decision-chain-flow-toolbar .btn,
.decision-full-route-dialog .decision-chain-flow-toolbar .btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#item-improvement .decision-chain-flow-toolbar-spacer,
.decision-full-route-dialog .decision-chain-flow-toolbar-spacer {
  flex: 1;
}

#item-improvement .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scroll-behavior: auto;
  background-color: rgba(31, 43, 51, 0.18);
  background-image:
    radial-gradient(circle at 50% 50%, rgba(69, 169, 165, 0.055), transparent 42%),
    linear-gradient(180deg, rgba(127, 127, 127, 0.025), transparent 36%);
}

#item-improvement .decision-chain-flow-world,
.decision-full-route-dialog .decision-chain-flow-world {
  position: relative;
  min-width: 100%;
  min-height: 100%;
}

#item-improvement .decision-chain-flow-edges,
.decision-full-route-dialog .decision-chain-flow-edges {
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
  pointer-events: none;
}

#item-improvement .decision-chain-flow-edge,
.decision-full-route-dialog .decision-chain-flow-edge {
  fill: none;
  stroke: rgba(69, 169, 165, 0.76);
  stroke-width: 3;
}

#item-improvement .decision-chain-flow-edge.is-star,
.decision-full-route-dialog .decision-chain-flow-edge.is-star {
  stroke: rgba(78, 163, 216, 0.67);
}

#item-improvement .decision-chain-flow-edge.is-progression,
.decision-full-route-dialog .decision-chain-flow-edge.is-progression {
  stroke: rgba(78, 163, 216, 0.62);
  stroke-width: 2;
  stroke-dasharray: 8 7;
}

#item-improvement .decision-chain-flow-edges marker path,
.decision-full-route-dialog .decision-chain-flow-edges marker path {
  fill: #45a9a5;
}

#item-improvement .decision-upgrade-state-node,
.decision-full-route-dialog .decision-upgrade-state-node {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.34);
  border-radius: 9px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
  background: rgba(35, 45, 52, 0.97);
}

#item-improvement .decision-upgrade-state-node.is-current,
.decision-full-route-dialog .decision-upgrade-state-node.is-current {
  border-color: rgba(69, 169, 165, 0.95);
  box-shadow: 0 0 0 3px rgba(69, 169, 165, 0.18), 0 10px 28px rgba(0, 0, 0, 0.22);
}

#item-improvement .decision-upgrade-state-node-header,
.decision-full-route-dialog .decision-upgrade-state-node-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-height: 67px;
  padding: 7px 8px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.22);
  background: rgba(127, 127, 127, 0.075);
}

#item-improvement .decision-upgrade-state-node.is-current .decision-upgrade-state-node-header,
.decision-full-route-dialog .decision-upgrade-state-node.is-current .decision-upgrade-state-node-header {
  background: rgba(69, 169, 165, 0.11);
}

#item-improvement .decision-upgrade-state-node-route-count,
.decision-full-route-dialog .decision-upgrade-state-node-route-count {
  padding: 3px 6px;
  border-radius: 999px;
  color: #8f9ba4;
  font-size: var(--improvement-font-caption);
  white-space: nowrap;
  background: rgba(127, 127, 127, 0.12);
}

#item-improvement .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-upgrade-state-node-body {
  flex: 1;
  min-height: 0;
  overflow: visible;
  overscroll-behavior: contain;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-upgrade-state-node-header[role="button"],
.decision-full-route-dialog .decision-upgrade-state-node-header[role="button"] {
  cursor: pointer;
}

#item-improvement .decision-upgrade-state-node-header[role="button"]:focus,
.decision-full-route-dialog .decision-upgrade-state-node-header[role="button"]:focus {
  outline: 1px solid rgba(69, 169, 165, 0.8);
  outline-offset: -2px;
}

#item-improvement .decision-chain-node-summary,
.decision-full-route-dialog .decision-chain-node-summary {
  display: flex;
  height: 100%;
  min-height: 110px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px;
  color: #8f9ba4;
  text-align: center;
}

#item-improvement .decision-chain-node-summary > strong,
.decision-full-route-dialog .decision-chain-node-summary > strong {
  color: #d7e0e6;
}

#item-improvement .decision-chain-progression-node,
.decision-full-route-dialog .decision-chain-progression-node {
  display: flex;
  height: 100%;
  min-height: 110px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 16px;
  color: #8f9ba4;
  text-align: center;
}

#item-improvement .decision-chain-progression-node > span:first-child,
.decision-full-route-dialog .decision-chain-progression-node > span:first-child,
#item-improvement .decision-chain-progression-node > strong,
.decision-full-route-dialog .decision-chain-progression-node > strong {
  color: #d7e0e6;
  font-size: var(--improvement-font-title-small);
  white-space: nowrap;
}

#item-improvement .decision-chain-progression-node > small,
.decision-full-route-dialog .decision-chain-progression-node > small {
  display: block;
  max-width: 150px;
  line-height: 1.35;
}

#item-improvement .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-node-matrix-scroll {
  max-width: 100%;
  min-width: 100%;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
}

#item-improvement .decision-chain-node-matrix,
.decision-full-route-dialog .decision-chain-node-matrix {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--improvement-font-caption);
}

#item-improvement .decision-chain-node-matrix th,
.decision-full-route-dialog .decision-chain-node-matrix th,
#item-improvement .decision-chain-node-matrix td,
.decision-full-route-dialog .decision-chain-node-matrix td {
  min-width: 46px;
  height: 42px;
  padding: 4px 5px;
  border-right: 1px solid rgba(127, 127, 127, 0.13);
  border-bottom: 1px solid rgba(127, 127, 127, 0.13);
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

#item-improvement .decision-chain-node-matrix thead th,
.decision-full-route-dialog .decision-chain-node-matrix thead th {
  position: sticky;
  z-index: 3;
  top: 0;
  max-width: 70px;
  background: rgba(48, 59, 66, 0.99);
}

#item-improvement .decision-chain-node-matrix .decision-chain-node-route-column,
.decision-full-route-dialog .decision-chain-node-matrix .decision-chain-node-route-column,
#item-improvement .decision-chain-node-matrix tbody th,
.decision-full-route-dialog .decision-chain-node-matrix tbody th {
  position: sticky;
  z-index: 2;
  left: 0;
  width: 128px;
  min-width: 128px;
  max-width: 128px;
  text-align: left;
  background: rgba(45, 55, 62, 0.99);
}

#item-improvement .decision-chain-node-matrix .decision-chain-node-route-column,
.decision-full-route-dialog .decision-chain-node-matrix .decision-chain-node-route-column {
  z-index: 4;
}

#item-improvement .decision-chain-node-matrix td.has-value,
.decision-full-route-dialog .decision-chain-node-matrix td.has-value {
  color: #d8e4e8;
  font-weight: 700;
  background: rgba(69, 169, 165, 0.055);
}

#item-improvement .decision-chain-node-matrix td.is-empty,
.decision-full-route-dialog .decision-chain-node-matrix td.is-empty {
  color: rgba(160, 169, 176, 0.42);
}

#item-improvement .decision-chain-material-heading,
.decision-full-route-dialog .decision-chain-material-heading {
  display: flex;
  width: 54px;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

#item-improvement .decision-chain-material-heading img,
.decision-full-route-dialog .decision-chain-material-heading img,
#item-improvement .decision-chain-material-heading .equip-icon,
.decision-full-route-dialog .decision-chain-material-heading .equip-icon,
#item-improvement .decision-chain-material-heading .useitem,
.decision-full-route-dialog .decision-chain-material-heading .useitem {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain;
}

#item-improvement .decision-chain-material-heading b,
.decision-full-route-dialog .decision-chain-material-heading b {
  overflow: hidden;
  max-width: 54px;
  color: #96a4ad;
  font-size: var(--improvement-font-body);
  font-weight: 600;
  text-overflow: ellipsis;
}

#item-improvement .decision-chain-node-route-index,
.decision-full-route-dialog .decision-chain-node-route-index {
  display: block;
  color: #b98a45;
  font-size: var(--improvement-font-body-large);
}

#item-improvement .decision-chain-route-target,
.decision-full-route-dialog .decision-chain-route-target {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  align-items: center;
  gap: 3px;
  margin-top: 2px;
}

#item-improvement .decision-chain-route-target > .glyphicon,
.decision-full-route-dialog .decision-chain-route-target > .glyphicon {
  color: #45a9a5;
  font-size: var(--improvement-font-body-large);
}

#item-improvement .decision-chain-route-target > span:last-child,
.decision-full-route-dialog .decision-chain-route-target > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

#item-improvement .decision-chain-route-target strong,
.decision-full-route-dialog .decision-chain-route-target strong {
  overflow: hidden;
  max-width: 96px;
  font-size: var(--improvement-font-body-large);
  text-overflow: ellipsis;
}

#item-improvement .decision-chain-route-target small,
.decision-full-route-dialog .decision-chain-route-target small {
  color: #8d9aa3;
}

#item-improvement .decision-chain-node-flat-list,
.decision-full-route-dialog .decision-chain-node-flat-list {
  display: flex;
  flex-direction: column;
}

#item-improvement .decision-chain-node-flat-route,
.decision-full-route-dialog .decision-chain-node-flat-route {
  padding: 8px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.16);
}

#item-improvement .decision-chain-node-flat-route > header,
.decision-full-route-dialog .decision-chain-node-flat-route > header {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  margin-bottom: 6px;
}

#item-improvement .decision-chain-node-flat-route > header > strong,
.decision-full-route-dialog .decision-chain-node-flat-route > header > strong {
  color: #b98a45;
  font-size: var(--improvement-font-caption);
}

#item-improvement .decision-chain-node-flat-materials,
.decision-full-route-dialog .decision-chain-node-flat-materials {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#item-improvement .decision-chain-flat-material,
.decision-full-route-dialog .decision-chain-flat-material {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  max-width: 164px;
  padding: 3px 5px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.06);
}

#item-improvement .decision-chain-flat-material .decision-chain-material-heading,
.decision-full-route-dialog .decision-chain-flat-material .decision-chain-material-heading {
  width: auto;
  max-width: 132px;
  flex-direction: row;
}

#item-improvement .decision-chain-flat-material .decision-chain-material-heading b,
.decision-full-route-dialog .decision-chain-flat-material .decision-chain-material-heading b {
  max-width: 102px;
}

#item-improvement .decision-chain-flat-material strong,
.decision-full-route-dialog .decision-chain-flat-material strong {
  color: #d9e5e9;
  font-size: var(--improvement-font-caption);
  white-space: nowrap;
}

#item-improvement .decision-chain-node-no-material,
.decision-full-route-dialog .decision-chain-node-no-material {
  color: #888;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-chain-flow-hint,
.decision-full-route-dialog .decision-chain-flow-hint {
  padding: 5px 8px;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
  color: #87949c;
  font-size: var(--improvement-font-caption);
  text-align: center;
  background: rgba(127, 127, 127, 0.04);
}

@media (max-width: 900px) {
  #item-improvement .decision-upgrade-chain-summary {
    grid-template-columns: 1fr;
  }

  #item-improvement .decision-chain-flow-toolbar,
  .decision-full-route-dialog .decision-chain-flow-toolbar {
    flex-wrap: wrap;
  }

  #item-improvement .decision-chain-flow-toolbar-spacer,
  .decision-full-route-dialog .decision-chain-flow-toolbar-spacer {
    display: none;
  }

  #item-improvement .decision-chain-flow-shell,
  .decision-full-route-dialog .decision-chain-flow-shell {
    min-height: 480px;
    height: calc(100vh - 185px);
  }
}

/* keep list rows compact without allowing names or status tokens to break unpredictably. */
#item-improvement .decision-equipment-row:not(.is-workbench) {
  grid-template-columns: auto minmax(0, 1fr) minmax(92px, 108px);
}

#item-improvement .decision-equipment-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

#item-improvement .decision-equipment-title-text,
#item-improvement .decision-equipment-action {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-equipment-action {
  max-width: 100%;
}

#item-improvement .decision-equipment-meta {
  width: auto;
  min-width: 0;
  max-width: 108px;
}

#item-improvement .decision-equipment-meta .decision-pill,
#item-improvement .decision-chain-node-route-index,
.decision-full-route-dialog .decision-chain-node-route-index,
#item-improvement .decision-chain-route-target small,
.decision-full-route-dialog .decision-chain-route-target small {
  line-break: strict;
  word-break: keep-all;
  white-space: nowrap;
}

#item-improvement .decision-workbench-equipment-name {
  line-break: strict;
  word-break: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 1120px) {
  #item-improvement .decision-equipment-row:not(.is-workbench) {
    grid-template-columns: auto minmax(0, 1fr) minmax(82px, 94px);
  }

  #item-improvement .decision-equipment-meta {
    max-width: 94px;
    margin-left: 7px;
  }
}

@media (max-width: 820px) {
  #item-improvement .decision-equipment-row:not(.is-workbench) {
    grid-template-columns: auto minmax(0, 1fr);
  }

  #item-improvement .decision-equipment-row:not(.is-workbench) .decision-equipment-meta {
    display: none;
  }
}

/* Poi host dialogs portal outside the plugin root.
 * Keep a global dialog scope so the route chain cannot collapse into a narrow default surface. */
.decision-full-route-dialog {
  width: calc(100vw - 28px) !important;
  max-width: 1680px !important;
  height: calc(100vh - 28px);
  margin: 14px auto !important;
}

.decision-full-route-dialog .modal-content {
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
}

.decision-full-route-dialog .modal-header,
.decision-full-route-dialog .modal-footer {
  flex: 0 0 auto;
}

.decision-full-route-dialog .decision-full-route-modal {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  padding: 8px 10px 10px;
}

.decision-full-route-dialog .decision-full-route-intro {
  flex: 0 0 auto;
  margin: 0 0 8px;
  padding: 7px 9px;
  border-left: 3px solid rgba(69, 169, 165, 0.7);
  color: #888;
  background: rgba(69, 169, 165, 0.055);
}

.decision-full-route-dialog .decision-chain-flow-shell {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  height: auto;
}

@media (max-width: 900px) {
  .decision-full-route-dialog {
    width: calc(100vw - 12px) !important;
    height: calc(100vh - 12px);
    margin: 6px auto !important;
  }
}

/* resizable route workspace with pan/zoom and branch-color continuity. */
.decision-full-route-dialog {
  width: 88vw !important;
  height: 84vh;
  min-width: 720px;
  min-height: 520px;
  max-width: calc(100vw - 18px) !important;
  max-height: calc(100vh - 18px);
  margin: 9px auto;
  overflow: hidden;
  resize: none;
}

.decision-full-route-dialog.is-maximized {
  width: calc(100vw - 12px) !important;
  height: calc(100vh - 12px) !important;
  max-width: none !important;
  max-height: none;
  margin: 6px;
  resize: none;
}

.decision-full-route-dialog > .modal-content {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

.decision-full-route-dialog .modal-header,
.decision-full-route-dialog .modal-footer {
  flex: 0 0 auto;
}

.decision-full-route-dialog .decision-full-route-titlebar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-right: 26px;
}

.decision-full-route-dialog .decision-full-route-titlebar .modal-title {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-full-route-dialog .decision-full-route-maximize {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
}

.decision-full-route-dialog .decision-full-route-modal {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.decision-full-route-dialog .decision-full-route-intro {
  flex: 0 0 auto;
}

.decision-full-route-dialog .decision-chain-flow-shell {
  min-height: 0;
  height: auto;
  flex: 1 1 auto;
}

.decision-full-route-dialog .decision-chain-flow-viewport {
  cursor: grab;
  scroll-behavior: auto;
  user-select: none;
}

.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging {
  cursor: grabbing;
}

.decision-full-route-dialog .decision-chain-flow-stage {
  position: relative;
  min-width: 100%;
  min-height: 100%;
}

.decision-full-route-dialog .decision-chain-flow-world {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 0;
  min-height: 0;
  transform-origin: 0 0;
}

.decision-full-route-dialog .decision-upgrade-state-node {
  border-width: 2px;
}

.decision-full-route-dialog .decision-upgrade-state-node.is-active {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.16), 0 10px 28px rgba(0, 0, 0, 0.24);
}

.decision-full-route-dialog .decision-upgrade-state-node.is-current {
  box-shadow: 0 0 0 3px rgba(69, 169, 165, 0.22), 0 10px 28px rgba(0, 0, 0, 0.24);
}

.decision-full-route-dialog .decision-chain-branch-band {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  pointer-events: none;
}

.decision-full-route-dialog .decision-upgrade-state-node.has-branch-color .decision-upgrade-state-node-header {
  padding-top: 10px;
}

.decision-full-route-dialog .decision-chain-flow-edge.has-branch-color {
  stroke-width: 4;
}

.decision-full-route-dialog .decision-full-route-resize-hint {
  float: left;
  margin-right: auto;
  color: #87949c;
  font-size: var(--improvement-font-small);
}

.decision-full-route-dialog .modal-footer {
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 760px) {
  .decision-full-route-dialog {
    width: calc(100vw - 12px) !important;
    min-width: 0;
    height: calc(100vh - 12px);
    min-height: 0;
    margin: 6px;
    resize: none;
  }

  .decision-full-route-dialog .decision-full-route-resize-hint {
    display: none;
  }
}

/* compact single-route rows, resource icons, and reliable canvas panning. */
.decision-full-route-dialog .decision-chain-material-heading.is-resource {
  width: 26px;
}

.decision-full-route-dialog .decision-chain-material-heading.is-resource .decision-chain-resource-icon,
.decision-full-route-dialog .decision-chain-material-heading.is-resource img {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
  object-fit: contain;
}

.decision-full-route-dialog .decision-chain-node-matrix.is-single-route .decision-chain-node-route-column,
.decision-full-route-dialog .decision-chain-node-matrix.is-single-route tbody th {
  width: 112px;
  min-width: 112px;
  max-width: 112px;
}

.decision-full-route-dialog .decision-chain-node-flat-list.is-single-route .decision-chain-node-flat-route > header {
  grid-template-columns: minmax(0, 1fr);
}

.decision-full-route-dialog .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-upgrade-state-node-header {
  cursor: grab;
}

.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node-header {
  cursor: grabbing;
}

.decision-full-route-dialog .decision-chain-flow-viewport img {
  -webkit-user-drag: none;
  user-drag: none;
}

/* clearer workbench detail panels and compact equipment-chain nodes. */
#item-improvement .decision-workbench-detail.decision-detail-plugin-list {
  gap: 10px;
  margin-top: 12px;
}

#item-improvement .decision-workbench-plugin-content,
#item-improvement .decision-workbench-route-content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
}

#item-improvement .decision-workbench-plugin-content .decision-workbench-route-tabs {
  margin: 0 0 10px;
}

#item-improvement .decision-workbench-plugin-content .decision-workbench-detail-section {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#item-improvement .decision-workbench-plugin-content .decision-workbench-detail-section + .decision-workbench-detail-section {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
}

#item-improvement .decision-workbench-route-content .decision-upgrade-chain-summary {
  margin: 0;
}

.decision-full-route-dialog .decision-upgrade-state-node-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  padding: 10px calc(var(--improvement-category-icon-size) + 24px);
}

.decision-full-route-dialog .decision-upgrade-state-node-artwork {
  position: absolute;
  top: 50%;
  left: 10px;
  width: var(--improvement-category-icon-size);
  height: var(--improvement-category-icon-size);
  overflow: hidden;
  border-radius: 7px;
  transform: translateY(-50%);
}

.decision-full-route-dialog .decision-upgrade-state-node-artwork.equip-icon,
.decision-full-route-dialog .decision-upgrade-state-node-artwork img {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
  object-fit: contain;
}

.decision-full-route-dialog .decision-upgrade-state-node-heading {
  display: flex;
  min-width: 0;
  max-width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  text-align: center;
}

.decision-full-route-dialog .decision-upgrade-state-node-heading > strong {
  overflow: hidden;
  max-width: 100%;
  color: #e7edf1;
  font-size: var(--improvement-font-title-small);
  line-height: 1.32;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-full-route-dialog .decision-upgrade-state-node-heading > b {
  color: #67c6c1;
  font-size: var(--improvement-font-body-large);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.decision-full-route-dialog .decision-upgrade-state-node-route-count {
  position: absolute;
  top: 10px;
  right: 9px;
}

.decision-full-route-dialog .decision-chain-node-material-section {
  min-width: 0;
  padding: 8px;
}

.decision-full-route-dialog .decision-chain-node-material-section + .decision-chain-node-material-section {
  border-top: 1px solid rgba(127, 127, 127, 0.2);
}

.decision-full-route-dialog .decision-chain-node-material-section > header {
  display: flex;
  align-items: center;
  min-height: 24px;
  margin-bottom: 6px;
  color: #cbd7de;
  font-size: var(--improvement-font-body);
}

.decision-full-route-dialog .decision-chain-node-material-section.is-improvement > header strong {
  color: #67c6c1;
}

.decision-full-route-dialog .decision-chain-node-material-section.is-conversion > header strong {
  color: #8ebee0;
}

.decision-full-route-dialog .decision-chain-node-section-empty {
  padding: 9px 7px;
  color: #83919a;
  font-size: var(--improvement-font-small);
  text-align: center;
}

.decision-full-route-dialog .decision-chain-route-stage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  color: #cbd7de;
  text-align: center;
  white-space: nowrap;
}

.decision-full-route-dialog .decision-chain-route-stage strong {
  font-size: var(--improvement-font-small);
}

.decision-full-route-dialog .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node-body {
  cursor: grab;
}

.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node-body {
  cursor: grabbing;
}

/* Poi Portal-safe modal shells. These selectors must not depend on #item-improvement. */
.decision-category-filter-dialog,
.decision-data-transfer-dialog {
  width: calc(100vw - 36px);
  max-width: 1180px;
  margin: 18px auto;
}

.decision-category-filter-modal .modal-body,
.decision-category-filter-dialog .modal-body,
.decision-data-transfer-dialog .modal-body {
  max-height: calc(100vh - 168px);
  overflow-y: auto;
}

.decision-category-filter-modal .modal-footer,
.decision-category-filter-dialog .modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  padding: 9px 12px;
}

.decision-category-filter-modal .modal-footer .btn,
.decision-category-filter-dialog .modal-footer .btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 0;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .decision-category-filter-dialog,
  .decision-data-transfer-dialog {
    width: calc(100vw - 12px);
    margin: 6px auto;
  }
}

/* stable native-scroll chain, compact lists, and Portal-safe grouped filters. */
#item-improvement .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport {
  overflow: auto;
  cursor: grab;
  scroll-behavior: smooth;
  touch-action: pan-x pan-y;
  user-select: auto;
}

#item-improvement .decision-chain-flow-viewport.is-dragging,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}

#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node,
#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node-body,
#item-improvement .decision-upgrade-state-node-header,
.decision-full-route-dialog .decision-upgrade-state-node-header {
  cursor: auto;
}

#item-improvement .decision-upgrade-state-node-header[role="button"],
.decision-full-route-dialog .decision-upgrade-state-node-header[role="button"] {
  cursor: pointer;
}

#item-improvement .decision-chain-flow-stage,
.decision-full-route-dialog .decision-chain-flow-stage {
  position: relative;
  min-width: 100%;
  min-height: 100%;
  overflow: visible;
}

#item-improvement .decision-chain-flow-world,
.decision-full-route-dialog .decision-chain-flow-world {
  position: relative;
  top: auto;
  left: auto;
  min-width: 100%;
  min-height: 100%;
  transform: none;
  transform-origin: initial;
  will-change: auto;
}

#item-improvement .decision-chain-flow-shell.is-embedded {
  min-height: 430px;
  height: 500px;
  margin: 10px 0 14px;
}

#item-improvement .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-upgrade-state-node-body {
  display: flex;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

#item-improvement .decision-chain-node-material-section,
.decision-full-route-dialog .decision-chain-node-material-section {
  display: flex;
  min-width: 0;
  min-height: auto;
  flex: 0 0 auto;
  flex-direction: column;
  overflow: visible;
}

#item-improvement .decision-chain-node-material-section > header,
.decision-full-route-dialog .decision-chain-node-material-section > header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

#item-improvement .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-node-matrix-scroll,
#item-improvement .decision-chain-node-flat-list,
.decision-full-route-dialog .decision-chain-node-flat-list {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior: contain;
  cursor: auto;
  touch-action: pan-x pan-y;
  user-select: text;
}

#item-improvement .decision-chain-node-section-empty,
.decision-full-route-dialog .decision-chain-node-section-empty {
  display: flex;
  min-height: 48px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

#item-improvement .decision-chain-node-material-types,
.decision-full-route-dialog .decision-chain-node-material-types {
  display: inline-flex;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 3px;
}

#item-improvement .decision-chain-node-material-types > span,
.decision-full-route-dialog .decision-chain-node-material-types > span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 5px;
  border-radius: 999px;
  color: #aebbc3;
  font-size: var(--improvement-font-caption);
  font-weight: 500;
  white-space: nowrap;
  background: rgba(127, 127, 127, 0.11);
}

#item-improvement .decision-chain-node-material-types > .is-equipment,
.decision-full-route-dialog .decision-chain-node-material-types > .is-equipment,
#item-improvement .decision-chain-material-heading.is-equipment,
.decision-full-route-dialog .decision-chain-material-heading.is-equipment {
  color: #8ebee0;
}

#item-improvement .decision-chain-node-material-types > .is-useitem,
.decision-full-route-dialog .decision-chain-node-material-types > .is-useitem,
#item-improvement .decision-chain-material-heading.is-useitem,
.decision-full-route-dialog .decision-chain-material-heading.is-useitem {
  color: #d6aa67;
}

#item-improvement .decision-chain-material-heading img,
.decision-full-route-dialog .decision-chain-material-heading img,
#item-improvement .decision-chain-material-heading .equip-icon,
.decision-full-route-dialog .decision-chain-material-heading .equip-icon,
#item-improvement .decision-chain-material-heading .useitem,
.decision-full-route-dialog .decision-chain-material-heading .useitem {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
  flex: 0 0 var(--improvement-category-icon-size);
}

#item-improvement .decision-equipment-list.is-compact {
  gap: 4px;
}

#item-improvement .decision-equipment-row.is-compact:not(.is-workbench) {
  min-height: 52px;
  grid-template-columns: auto minmax(0, 1fr) minmax(76px, 94px);
  padding: 5px 7px;
}

#item-improvement .decision-equipment-row.is-compact .decision-equipment-icon {
  margin-right: 7px;
}

#item-improvement .decision-equipment-row.is-compact .decision-equipment-title {
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-equipment-action-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

#item-improvement .decision-equipment-action-row .decision-equipment-action {
  flex: 1 1 auto;
}

#item-improvement .decision-equipment-capabilities {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 3px;
}

#item-improvement .decision-equipment-capabilities > span {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 1px 4px;
  border-radius: 999px;
  font-size: var(--improvement-font-caption);
  line-height: 1.35;
  white-space: nowrap;
  background: rgba(127, 127, 127, 0.1);
}

#item-improvement .decision-equipment-capabilities > .is-improvement {
  color: #67c6c1;
  background: rgba(69, 169, 165, 0.12);
}

#item-improvement .decision-equipment-capabilities > .is-evolution {
  color: #8ebee0;
  background: rgba(78, 159, 216, 0.13);
}

#item-improvement .decision-equipment-row.is-compact .decision-equipment-meta {
  max-width: 94px;
  gap: 3px;
}

#item-improvement .decision-equipment-row.is-compact .decision-pill {
  padding: 1px 4px;
  font-size: var(--improvement-font-caption);
}

/* React-Bootstrap mounts category dialogs outside #item-improvement. */
.decision-category-filter-dialog .decision-category-filter-guide {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border-left: 3px solid rgba(69, 169, 165, 0.78);
  border-radius: 5px;
  background: rgba(69, 169, 165, 0.08);
}

.decision-category-filter-dialog .decision-category-filter-guide > strong {
  white-space: nowrap;
}

.decision-category-filter-dialog .decision-category-group-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  align-items: start;
  gap: 10px;
  margin-top: 10px;
}

.decision-category-filter-dialog .decision-category-group {
  --category-accent: #7f8c94;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.25);
  border-left: 4px solid var(--category-accent);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.025);
}

.decision-category-filter-dialog .decision-category-group.is-guns,
.decision-category-filter-dialog .decision-category-group.is-torpedoes {
  --category-accent: #d07171;
}

.decision-category-filter-dialog .decision-category-group.is-carrier-aircraft,
.decision-category-filter-dialog .decision-category-group.is-seaplanes {
  --category-accent: #69a8d3;
}

.decision-category-filter-dialog .decision-category-group.is-radar,
.decision-category-filter-dialog .decision-category-group.is-asw,
.decision-category-filter-dialog .decision-category-group.is-anti-air {
  --category-accent: #8e7bc1;
}

.decision-category-filter-dialog .decision-category-group.is-landing,
.decision-category-filter-dialog .decision-category-group.is-engine-armor {
  --category-accent: #b98a45;
}

.decision-category-filter-dialog .decision-category-group.is-support,
.decision-category-filter-dialog .decision-category-group.is-other {
  --category-accent: #68a46b;
}

.decision-category-filter-dialog .decision-category-group > header > button {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto auto;
  align-items: center;
  width: 100%;
  gap: 7px;
  padding: 8px 10px;
  border: 0;
  border-bottom: 1px solid rgba(127, 127, 127, 0.17);
  color: inherit;
  text-align: left;
  background: rgba(127, 127, 127, 0.055);
}

.decision-category-filter-dialog .decision-category-group > header > button:hover,
.decision-category-filter-dialog .decision-category-group > header > button.is-partial {
  background: rgba(78, 163, 216, 0.1);
}

.decision-category-filter-dialog .decision-category-group > header > button.is-selected {
  background: rgba(69, 169, 165, 0.14);
}

.decision-category-filter-dialog .decision-category-group > header small {
  color: #888;
  font-weight: 400;
  white-space: nowrap;
}

.decision-category-filter-dialog .decision-category-group > header > button > span:last-child {
  min-width: 30px;
  padding: 1px 5px;
  border-radius: 999px;
  font-size: var(--improvement-font-caption);
  text-align: center;
  background: rgba(127, 127, 127, 0.12);
}

.decision-category-filter-dialog .decision-category-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 5px;
  margin: 0;
  padding: 7px;
}

.decision-category-filter-dialog .decision-category-filter-option {
  min-width: 0;
  border: 1px solid rgba(127, 127, 127, 0.17);
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.035);
}

.decision-category-filter-dialog .decision-category-filter-option.is-selected {
  border-color: rgba(69, 169, 165, 0.62);
  background: rgba(69, 169, 165, 0.1);
}

.decision-category-filter-dialog .decision-category-filter-option .checkbox-inline {
  display: grid;
  grid-template-columns: 18px 24px minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 40px;
  gap: 5px;
  margin: 0;
  padding: 5px 7px;
}

.decision-category-filter-dialog .decision-category-filter-option .checkbox-inline input {
  position: static;
  margin: 0;
}

.decision-category-filter-dialog .decision-category-filter-icon,
.decision-category-filter-dialog .decision-category-filter-icon img {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
  object-fit: contain;
}

.decision-category-filter-dialog .decision-category-filter-option .checkbox-inline > strong {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-category-filter-dialog .decision-category-filter-count {
  min-width: 26px;
  padding: 1px 5px;
  border-radius: 999px;
  color: #9ca8af;
  font-size: var(--improvement-font-small);
  text-align: center;
  background: rgba(127, 127, 127, 0.1);
}

@media (max-width: 820px) {
  #item-improvement .decision-equipment-capabilities {
    display: none;
  }

  .decision-category-filter-dialog .decision-category-group-list {
    grid-template-columns: 1fr;
  }

  .decision-category-filter-dialog .decision-category-group > header > button {
    grid-template-columns: 18px minmax(0, 1fr) auto;
  }

  .decision-category-filter-dialog .decision-category-group > header small {
    display: none;
  }
}

/* native-scroll drag, fully sized nodes, current-step materials, and safe qualifier wrapping. */
#item-improvement .decision-workbench-equipment-name {
  display: block;
  max-height: 4.05em;
  overflow: hidden;
  line-height: 1.35;
  text-overflow: clip;
  -webkit-line-clamp: initial;
}

#item-improvement .decision-workbench-equipment-name > span:first-child {
  overflow-wrap: anywhere;
}

#item-improvement .decision-equipment-name-qualifier {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}

#item-improvement .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport,
#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node,
#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node-header,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node-header,
#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node-body {
  cursor: grab;
}

#item-improvement .decision-chain-flow-viewport.is-dragging,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging,
#item-improvement .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node,
#item-improvement .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node-header,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node-header,
#item-improvement .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging .decision-upgrade-state-node-body {
  cursor: grabbing;
}

#item-improvement .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-node-matrix-scroll {
  cursor: auto;
}

#item-improvement .decision-current-upgrade-cost,
.decision-material-detail-modal .decision-current-upgrade-cost {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(69, 169, 165, 0.34);
  border-radius: 7px;
  background: rgba(69, 169, 165, 0.065);
}

#item-improvement .decision-current-upgrade-heading,
.decision-material-detail-modal .decision-current-upgrade-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 8px;
}

#item-improvement .decision-current-upgrade-note,
.decision-material-detail-modal .decision-current-upgrade-note {
  color: #8f9ba4;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-current-upgrade-operation,
#item-improvement .decision-current-upgrade-probability,
.decision-material-detail-modal .decision-current-upgrade-operation,
.decision-material-detail-modal .decision-current-upgrade-probability {
  display: inline-flex;
  min-width: 0;
  min-height: 30px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: var(--improvement-font-body);
  line-height: 1.25;
}

#item-improvement .decision-current-upgrade-operation,
.decision-material-detail-modal .decision-current-upgrade-operation {
  color: #c8d0d6;
  background: rgba(127, 127, 127, 0.09);
}

#item-improvement .decision-current-upgrade-probability,
.decision-material-detail-modal .decision-current-upgrade-probability {
  flex: 0 0 auto;
  color: #67c6c1;
  white-space: nowrap;
  background: rgba(69, 169, 165, 0.12);
}

#item-improvement .decision-current-upgrade-profiles,
.decision-material-detail-modal .decision-current-upgrade-profiles {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
}

#item-improvement .decision-current-upgrade-profile,
.decision-material-detail-modal .decision-current-upgrade-profile {
  flex: 1 1 360px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-current-upgrade-profile > header,
.decision-material-detail-modal .decision-current-upgrade-profile > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding: 7px 8px;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-current-upgrade-profile > header strong,
.decision-material-detail-modal .decision-current-upgrade-profile > header strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

#item-improvement .decision-current-upgrade-profile > header small,
.decision-material-detail-modal .decision-current-upgrade-profile > header small {
  flex: 0 0 auto;
  color: #8f9ba4;
  font-size: var(--improvement-font-caption);
  text-align: right;
  white-space: normal;
}

/* Today comparison contract: normal and guaranteed material groups each stay at two columns. */
#item-improvement .decision-current-upgrade-materials,
.decision-material-detail-modal .decision-current-upgrade-materials {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 5px;
  padding: 7px;
}

#item-improvement .decision-current-upgrade-empty,
.decision-material-detail-modal .decision-current-upgrade-empty {
  grid-column: 1 / -1;
  padding: 5px;
  color: #8f9ba4;
  font-size: var(--improvement-font-small);
  text-align: center;
}

#item-improvement .decision-current-upgrade-note,
.decision-material-detail-modal .decision-current-upgrade-note {
  display: block;
  margin-top: 7px;
}

#item-improvement .decision-workbench-plugin-content > .decision-current-upgrade-cost {
  margin-top: 12px;
  padding-top: 10px;
}

/* let the today list grow naturally and keep its detail pane permanently visible. */
#item-improvement .decision-equipment-row.is-workbench {
  align-items: flex-start;
  min-height: 0;
  height: auto;
}

#item-improvement .decision-workbench-equipment-name {
  display: block;
  max-height: none;
  overflow: visible;
  padding-top: 4px;
  line-height: 1.4;
  text-overflow: clip;
  white-space: normal;
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
}

#item-improvement .decision-workbench-equipment-name .decision-equipment-name-main {
  overflow-wrap: anywhere;
  word-break: normal;
}

#item-improvement .decision-workbench-equipment-name .decision-equipment-name-qualifier {
  display: inline;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

/* roomier today list, ordered plan details, and direct canvas panning. */

#item-improvement .decision-equipment-list.is-workbench {
  gap: 9px;
}

#item-improvement .decision-equipment-row.is-workbench {
  min-width: 0;
}

#item-improvement .decision-workbench-equipment-name {
  flex: 1 1 0;
  min-width: 0;
  font-size: var(--improvement-font-body-large);
}

#item-improvement .decision-workbench-equipment-copy {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

#item-improvement .decision-workbench-plan-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}

#item-improvement .decision-workbench-target-badge,
#item-improvement .decision-workbench-target-only-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 1px 6px;
  border: 1px solid rgba(103, 190, 213, 0.36);
  border-radius: 999px;
  color: #77c7dc;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
  line-height: 1.35;
  background: rgba(103, 190, 213, 0.09);
}

#item-improvement .decision-workbench-target-only-badge {
  border-color: rgba(217, 155, 66, 0.42);
  color: #d9a052;
  background: rgba(217, 155, 66, 0.1);
}

#item-improvement .decision-workbench-current-stage {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  padding: 5px 7px;
  border-left: 3px solid rgba(103, 190, 213, 0.72);
  border-radius: 4px;
  background: rgba(103, 190, 213, 0.065);
}

#item-improvement .decision-workbench-current-stage small {
  color: #8fa8b4;
  font-size: var(--improvement-font-caption);
  font-weight: 600;
}

#item-improvement .decision-workbench-current-stage strong {
  overflow-wrap: anywhere;
  color: inherit;
  font-size: var(--improvement-font-small);
  font-weight: 600;
  line-height: 1.35;
}

#item-improvement .decision-target-only-notice {
  margin-bottom: 12px;
}

#item-improvement .decision-plan-detail-block {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
}

#item-improvement .decision-plan-detail-block:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

#item-improvement .decision-plan-detail-block > h4 {
  margin: 0 0 8px;
  color: #45a9a5;
  font-size: var(--improvement-font-body);
  font-weight: 700;
}

#item-improvement .decision-workbench-today-grid > div.is-warning,
.decision-material-detail-modal .decision-workbench-today-grid > div.is-warning {
  color: #b77b28;
  background: rgba(214, 160, 74, 0.1);
}

#item-improvement .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport {
  cursor: grab;
  scroll-behavior: auto !important;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

#item-improvement .decision-chain-flow-viewport.is-dragging,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging {
  cursor: grabbing;
}

#item-improvement .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-node-matrix-scroll {
  touch-action: pan-x pan-y;
  user-select: text;
  -webkit-user-select: text;
}

/* readable today navigation and chain action. */

#item-improvement .decision-workbench-equipment-name {
  padding-top: 2px;
  font-size: var(--improvement-font-body-large);
  line-height: 1.45;
}

#item-improvement .decision-plan-chain-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 9px;
}

/* Canvas event ownership: material scrolling must not chain into the canvas. */
#item-improvement .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-node-matrix-scroll {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* real Poi mouse panning and content-measured chain nodes. */
#item-improvement .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport {
  touch-action: none;
}

#item-improvement .decision-chain-flow-viewport.is-dragging,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging,
#item-improvement .decision-chain-flow-viewport.is-dragging *,
.decision-full-route-dialog .decision-chain-flow-viewport.is-dragging * {
  cursor: grabbing !important;
  user-select: none !important;
}

#item-improvement .decision-upgrade-state-node,
.decision-full-route-dialog .decision-upgrade-state-node {
  box-sizing: border-box;
  height: auto;
}

#item-improvement .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-upgrade-state-node-body {
  min-height: auto;
  flex: 0 0 auto;
  overflow: visible;
}

#item-improvement .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-node-matrix-scroll {
  touch-action: pan-x;
  cursor: default;
}

#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node-body {
  cursor: grab;
}

/* Poi 11 event ownership and continuously measured material nodes. */
#item-improvement .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport {
  cursor: grab;
}

#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node,
#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node-body {
  cursor: default;
  user-select: text;
  -webkit-user-select: text;
}

#item-improvement .decision-chain-node-material-section,
.decision-full-route-dialog .decision-chain-node-material-section,
#item-improvement .decision-chain-node-flat-list,
.decision-full-route-dialog .decision-chain-node-flat-list {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow-y: visible;
}

#item-improvement .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-node-matrix-scroll {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
}

.decision-route-result-preview,
.decision-route-comparison-equipment {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.decision-route-result-preview {
  margin: 8px 0;
}

.decision-chain-cost-grid.is-route-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 8px;
}

.decision-route-comparison-scroll {
  max-width: 100%;
  overflow: auto;
  padding: 1px 1px 12px;
}

.decision-route-comparison-grid {
  display: grid;
  min-width: max-content;
  border: 1px solid rgba(127, 127, 127, 0.28);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(127, 127, 127, 0.025);
}

.decision-route-comparison-corner,
.decision-route-comparison-header,
.decision-route-comparison-row-label,
.decision-route-comparison-cell {
  min-width: 0;
  padding: 10px;
  border-right: 1px solid rgba(127, 127, 127, 0.2);
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
}

.decision-route-comparison-corner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  background: rgba(69, 169, 165, 0.08);
}

.decision-route-comparison-corner small {
  color: #888;
  line-height: 1.45;
}

.decision-route-comparison-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: rgba(127, 127, 127, 0.04);
}

.decision-route-comparison-header.is-dominant {
  background: rgba(60, 171, 120, 0.1);
}

.decision-route-comparison-header.is-dominated,
.decision-route-comparison-header.is-choice,
.decision-route-comparison-header.is-tradeoff,
.decision-route-comparison-header.is-unknown {
  color: inherit;
  background: rgba(127, 127, 127, 0.04);
}

.decision-route-comparison-header.is-selected {
  box-shadow: inset 0 0 0 2px rgba(52, 122, 183, 0.9);
}

.decision-route-comparison-header .label {
  align-self: center;
  white-space: normal;
  text-align: center;
  line-height: 1.35;
}

.decision-route-comparison-row-label {
  display: flex;
  align-items: center;
  gap: 9px;
  background: rgba(127, 127, 127, 0.045);
}

.decision-route-comparison-row-label > .equip-icon,
.decision-route-comparison-row-label > .useitem,
.decision-route-comparison-row-label > .material-icon,
.decision-route-comparison-row-label > img,
.decision-route-comparison-row-label > svg {
  width: var(--improvement-category-icon-size);
  height: var(--improvement-category-icon-size);
  flex: 0 0 var(--improvement-category-icon-size);
  object-fit: contain;
}

.decision-route-comparison-row-label > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.decision-route-comparison-row-label strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-route-comparison-row-label small,
.decision-route-comparison-cell small {
  color: #888;
}

.decision-route-comparison-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 3px;
  text-align: center;
}

.decision-route-comparison-cell.is-better {
  color: #3cab78;
  background: rgba(60, 171, 120, 0.07);
}

.decision-route-comparison-cell.is-worse,
.decision-route-comparison-cell.is-neutral,
.decision-route-comparison-cell.is-unknown,
.decision-route-comparison-cell.is-same {
  color: inherit;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-chain-option.is-comparison-dominated,
#item-improvement .decision-chain-option.is-comparison-choice,
#item-improvement .decision-chain-option.is-comparison-tradeoff,
#item-improvement .decision-chain-option.is-comparison-unknown {
  border-color: rgba(127, 127, 127, 0.25);
  box-shadow: none;
  color: inherit;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-comparison-badge.is-dominated,
#item-improvement .decision-comparison-badge.is-choice,
#item-improvement .decision-comparison-badge.is-tradeoff,
#item-improvement .decision-comparison-badge.is-unknown {
  color: inherit;
  background: rgba(127, 127, 127, 0.15);
}

#item-improvement .decision-chain-display-only-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 12px 0;
  padding: 9px 10px;
  border: 1px solid rgba(217, 155, 66, 0.46);
  border-radius: 6px;
  color: #8a5b18;
  background: rgba(217, 155, 66, 0.1);
  line-height: 1.5;
}

#item-improvement .decision-chain-point.is-display-only {
  border-color: rgba(217, 155, 66, 0.38);
  background: rgba(217, 155, 66, 0.045);
}

#item-improvement .decision-route-status.is-display-only {
  color: #8a5b18 !important;
  background: rgba(217, 155, 66, 0.14);
}

@media (max-width: 780px) {
  .decision-chain-cost-grid.is-route-summary {
    grid-template-columns: 1fr;
  }
}

/* one-piece chain nodes, reliable mouse panning, explicit modal resize, and full-chain zoom. */
.decision-full-route-dialog {
  resize: none;
}

.decision-full-route-dialog > .modal-content {
  position: relative;
}

.decision-modal-resize-layer {
  position: absolute;
  z-index: 30;
  inset: 0;
  pointer-events: none;
}

.decision-modal-resize-handle {
  position: absolute;
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  background: transparent;
}

.decision-modal-resize-handle.is-n,
.decision-modal-resize-handle.is-s {
  right: 12px;
  left: 12px;
  height: 8px;
  cursor: ns-resize;
}

.decision-modal-resize-handle.is-n { top: -4px; }
.decision-modal-resize-handle.is-s { bottom: -4px; }

.decision-modal-resize-handle.is-e,
.decision-modal-resize-handle.is-w {
  top: 12px;
  bottom: 12px;
  width: 8px;
  cursor: ew-resize;
}

.decision-modal-resize-handle.is-e { right: -4px; }
.decision-modal-resize-handle.is-w { left: -4px; }

.decision-modal-resize-handle.is-ne,
.decision-modal-resize-handle.is-se,
.decision-modal-resize-handle.is-sw,
.decision-modal-resize-handle.is-nw {
  width: 18px;
  height: 18px;
}

.decision-modal-resize-handle.is-ne {
  top: -5px;
  right: -5px;
  cursor: nesw-resize;
}

.decision-modal-resize-handle.is-se {
  right: -5px;
  bottom: -5px;
  cursor: nwse-resize;
  background:
    linear-gradient(135deg, transparent 0 48%, rgba(127, 127, 127, 0.68) 49% 55%, transparent 56%),
    linear-gradient(135deg, transparent 0 70%, rgba(127, 127, 127, 0.68) 71% 77%, transparent 78%);
}

.decision-modal-resize-handle.is-sw {
  bottom: -5px;
  left: -5px;
  cursor: nesw-resize;
}

.decision-modal-resize-handle.is-nw {
  top: -5px;
  left: -5px;
  cursor: nwse-resize;
}

.decision-modal-resize-handle:hover {
  background-color: rgba(69, 169, 165, 0.12);
}

.decision-modal-bounds-maximized .decision-modal-resize-layer {
  display: none;
}

body.decision-modal-is-resizing,
body.decision-modal-is-resizing * {
  user-select: none !important;
}

body[data-modal-resize-direction="n"],
body[data-modal-resize-direction="n"] * ,
body[data-modal-resize-direction="s"],
body[data-modal-resize-direction="s"] * {
  cursor: ns-resize !important;
}

body[data-modal-resize-direction="e"],
body[data-modal-resize-direction="e"] *,
body[data-modal-resize-direction="w"],
body[data-modal-resize-direction="w"] * {
  cursor: ew-resize !important;
}

body[data-modal-resize-direction="ne"],
body[data-modal-resize-direction="ne"] *,
body[data-modal-resize-direction="sw"],
body[data-modal-resize-direction="sw"] * {
  cursor: nesw-resize !important;
}

body[data-modal-resize-direction="nw"],
body[data-modal-resize-direction="nw"] *,
body[data-modal-resize-direction="se"],
body[data-modal-resize-direction="se"] * {
  cursor: nwse-resize !important;
}

#item-improvement .decision-chain-flow-toolbar,
.decision-full-route-dialog .decision-chain-flow-toolbar {
  flex-wrap: wrap;
}

#item-improvement .decision-chain-zoom-controls,
.decision-full-route-dialog .decision-chain-zoom-controls {
  display: inline-flex;
}

#item-improvement .decision-chain-zoom-value,
.decision-full-route-dialog .decision-chain-zoom-value {
  min-width: 58px;
  opacity: 1;
  color: #aebbc3;
}

#item-improvement .decision-chain-flow-world,
.decision-full-route-dialog .decision-chain-flow-world {
  transform-origin: 0 0;
  will-change: transform;
}

#item-improvement .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport,
#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node,
#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node-header,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node-header,
#item-improvement .decision-chain-flow-viewport .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-upgrade-state-node-body,
#item-improvement .decision-chain-flow-viewport .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-flow-viewport .decision-chain-node-matrix-scroll {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}

#item-improvement .decision-chain-node-matrix-scroll,
.decision-full-route-dialog .decision-chain-node-matrix-scroll,
#item-improvement .decision-chain-node-flat-list,
.decision-full-route-dialog .decision-chain-node-flat-list {
  width: 100%;
  min-width: 100%;
  max-width: none;
  overflow: visible;
  overscroll-behavior: auto;
  touch-action: none;
}

#item-improvement .decision-chain-node-matrix,
.decision-full-route-dialog .decision-chain-node-matrix {
  width: 100%;
  min-width: 100%;
  table-layout: fixed;
}

#item-improvement .decision-chain-node-matrix thead th,
.decision-full-route-dialog .decision-chain-node-matrix thead th,
#item-improvement .decision-chain-node-matrix .decision-chain-node-route-column,
.decision-full-route-dialog .decision-chain-node-matrix .decision-chain-node-route-column,
#item-improvement .decision-chain-node-matrix tbody th,
.decision-full-route-dialog .decision-chain-node-matrix tbody th {
  position: static;
}

#item-improvement .decision-chain-node-matrix .decision-chain-node-route-column,
.decision-full-route-dialog .decision-chain-node-matrix .decision-chain-node-route-column,
#item-improvement .decision-chain-node-matrix tbody th,
.decision-full-route-dialog .decision-chain-node-matrix tbody th {
  width: 142px;
  min-width: 142px;
  max-width: 142px;
}

#item-improvement .decision-chain-material-heading,
.decision-full-route-dialog .decision-chain-material-heading {
  width: 100%;
  min-width: 62px;
}

#item-improvement .decision-chain-material-heading b,
.decision-full-route-dialog .decision-chain-material-heading b {
  display: block;
  overflow: visible;
  max-width: 100%;
  line-height: 1.25;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

#item-improvement .decision-upgrade-state-node-body,
.decision-full-route-dialog .decision-upgrade-state-node-body,
#item-improvement .decision-chain-node-material-section,
.decision-full-route-dialog .decision-chain-node-material-section {
  overflow: visible;
}

.decision-modal-resize-handle,
.decision-modal-resize-handle:focus,
.decision-modal-resize-handle:active {
  padding: 0;
  border: 0;
  outline: 0;
  box-shadow: none;
  appearance: none;
}

/* Shared split-pane workspace, plan detail chain overview, and single PointerEvent UI. */

#item-improvement .decision-workspace-divider {
  position: relative;
  z-index: 4;
  min-width: 8px;
  cursor: col-resize;
  touch-action: none;
  background: rgba(127, 127, 127, 0.06);
}

#item-improvement .decision-workspace-divider::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  width: 2px;
  content: '';
  background: rgba(69, 169, 165, 0.38);
}

#item-improvement .decision-workspace-divider:hover,
#item-improvement .decision-workspace-divider:active {
  background: rgba(69, 169, 165, 0.12);
}

#item-improvement .decision-workspace.is-equipment .decision-master-pane {
  min-width: 0;
  border-right: 0;
}

#item-improvement .decision-workspace.is-equipment .decision-detail-dock {
  min-width: 0;
  border-left: 0;
}

#item-improvement .decision-equipment-workspace-page {
  display: flex;
  min-height: 0;
  flex-direction: column;
  gap: 8px;
}

#item-improvement .decision-equipment-workspace-search {
  flex: 0 0 auto;
}

#item-improvement .decision-equipment-workspace-page .decision-equipment-list {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
}

#item-improvement .decision-equipment-detail-sections {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 2px 0 18px;
}

#item-improvement .decision-equipment-detail-sections > section,
#item-improvement .decision-chain-family-overview {
  padding: 11px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-equipment-detail-sections > section > h4,
#item-improvement .decision-chain-family-overview > strong {
  display: block;
  margin: 0 0 9px;
  color: #45a9a5;
  font-size: var(--improvement-font-body);
  font-weight: 700;
}

#item-improvement .decision-equipment-plan-section .decision-plan-control-section {
  margin: 0;
}

#item-improvement .decision-stage-resource-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 7px 0;
}

#item-improvement .decision-stage-resource-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.08);
}

#item-improvement .decision-stage-resource-chip > img,
#item-improvement .decision-stage-resource-chip .material-icon,
#item-improvement .decision-target-cost-icon {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
  object-fit: contain;
}

#item-improvement .decision-target-cost-metric {
  position: relative;
  min-height: 76px;
  padding-left: calc(var(--improvement-visual-icon-frame-size) + 12px);
}

#item-improvement .decision-target-cost-metric .decision-target-cost-icon {
  position: absolute;
  top: 9px;
  left: 8px;
}

#item-improvement .decision-equipment-chain-overview {
  position: relative;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 10px;
  border: 1px solid rgba(96, 158, 188, 0.26);
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(70, 120, 145, 0.08), rgba(25, 37, 47, 0.035)),
    rgba(25, 37, 47, 0.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

#item-improvement .decision-equipment-chain-overview:active {
  cursor: grabbing;
}

#item-improvement .decision-equipment-chain-overview.is-dragging,
#item-improvement .decision-equipment-chain-overview.is-dragging:active {
  cursor: grabbing;
}

#item-improvement .decision-equipment-chain-overview img,
#item-improvement .decision-equipment-chain-overview svg {
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

#item-improvement .decision-equipment-chain-overview *,
#item-improvement .decision-equipment-chain-overview *::before,
#item-improvement .decision-equipment-chain-overview *::after {
  -webkit-user-drag: none;
}

#item-improvement .decision-equipment-chain-world {
  position: relative;
  min-width: 100%;
  min-height: 128px;
  padding-bottom: 18px;
}

#item-improvement .decision-equipment-chain-edges {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  z-index: 1;
}

#item-improvement .decision-equipment-chain-edge-underlay {
  fill: none;
  stroke: rgba(13, 23, 31, 0.52);
  stroke-linecap: round;
  stroke-width: 9;
}

#item-improvement .decision-equipment-chain-edge {
  fill: none;
  stroke: #67bed5;
  stroke-linecap: round;
  stroke-width: 4;
}

#item-improvement .decision-equipment-chain-edge.is-selected-route {
  stroke: #4ea6ff;
  stroke-dasharray: none;
  stroke-width: 5;
}

#item-improvement .decision-equipment-chain-arrow {
  stroke: rgba(11, 22, 29, 0.72);
  stroke-width: 1.25;
}

#item-improvement .decision-equipment-chain-arrow.is-default {
  fill: #67bed5;
}

#item-improvement .decision-equipment-chain-arrow.is-selected {
  fill: #4ea6ff;
}

#item-improvement .decision-equipment-chain-arrow.is-reverse {
  fill: #d59a45;
}

#item-improvement .decision-equipment-chain-node {
  position: absolute;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: visible;
  z-index: 2;
  padding: 7px 9px;
  border: 1px solid rgba(127, 166, 184, 0.3);
  border-radius: 9px;
  background: rgba(127, 127, 127, 0.12);
  box-shadow: 0 5px 14px rgba(8, 15, 20, 0.2);
  box-sizing: border-box;
}

#item-improvement .decision-equipment-chain-node.is-current {
  border-color: rgba(103, 190, 213, 0.88);
  background: rgba(103, 190, 213, 0.14);
  box-shadow: 0 0 0 2px rgba(103, 190, 213, 0.19), 0 6px 16px rgba(8, 15, 20, 0.24);
}

#item-improvement .decision-equipment-chain-node.is-selected-route {
  border-color: rgba(78, 166, 255, 0.78);
  box-shadow: 0 0 0 2px rgba(78, 166, 255, 0.22), 0 6px 16px rgba(8, 15, 20, 0.24);
}

/* Evolution-chain overview owns the node frame. Keep inner visual content flat
 * so the lineage card does not render as nested boxes. */
#item-improvement .decision-equipment-chain-node .decision-visual-node,
#item-improvement .decision-equipment-chain-node .decision-visual-node.is-current {
  width: 100%;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#item-improvement .decision-equipment-chain-node .decision-visual-node-copy {
  flex: 0 0 auto;
}

#item-improvement .decision-equipment-chain-overview.is-compact {
  max-height: none;
}

#item-improvement .decision-chain-family-points {
  padding-bottom: 8px;
}

#item-improvement .decision-chain-family-overview {
  margin: 0 12px 12px;
}

#item-improvement .decision-chain-point .decision-route-comparison-scroll {
  margin-top: 10px;
}

#item-improvement .decision-chain-flow-viewport,
.decision-full-route-dialog .decision-chain-flow-viewport {
  touch-action: none;
}

#item-improvement .decision-chain-direction-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0;
  padding: 9px 11px;
  border: 1px solid rgba(63, 122, 179, 0.42);
  border-radius: 6px;
  background: rgba(63, 122, 179, 0.1);
  color: #356d9d;
  font-size: var(--improvement-font-body);
  line-height: 1.45;
}

#item-improvement .decision-route-direction-warning {
  display: block;
  margin: 6px 0 8px;
  color: #9a681f;
  font-size: var(--improvement-font-body);
  line-height: 1.4;
}

#item-improvement .decision-direction-badge.is-reverse {
  margin-left: 5px;
}

#item-improvement .decision-equipment-chain-edge.is-reverse:not(.is-selected-route) {
  stroke: #d59a45;
  stroke-dasharray: 7 6;
}

/* Plan target route candidates. The full-chain calculator remains an upstream black box. */
.decision-workbench-scope-toggle {
  margin-right: 10px;
}

.decision-plan-route-candidates {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

.decision-plan-route-candidate {
  border: 1px solid rgba(127, 127, 127, 0.32);
  border-radius: 8px;
  padding: 12px;
  background: rgba(127, 127, 127, 0.05);
}

.decision-plan-route-candidate.is-selected {
  border-color: #337ab7;
  box-shadow: inset 0 0 0 1px #337ab7;
}

.decision-plan-route-candidate-header,
.decision-plan-route-candidate-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.decision-plan-route-candidate-flow,
.decision-plan-route-candidate-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.decision-plan-route-costs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.decision-plan-route-cost-column {
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  padding: 9px;
}

.decision-plan-route-cost-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(76px, 1fr));
  gap: 6px;
  margin-top: 7px;
}

.decision-plan-route-cost-grid > span {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.decision-plan-route-cost-grid small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .decision-plan-route-costs {
    grid-template-columns: 1fr;
  }

  .decision-plan-route-cost-grid {
    grid-template-columns: repeat(2, minmax(76px, 1fr));
  }

  .decision-plan-route-candidate-header,
  .decision-plan-route-candidate-footer {
    align-items: stretch;
    flex-direction: column;
  }
}

#item-improvement .decision-plan-route-materials {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

#item-improvement .decision-plan-route-material-group {
  display: grid;
  gap: 4px;
}

#item-improvement .decision-plan-route-material-group > small {
  color: var(--decision-muted, #777);
  font-weight: 600;
}

#item-improvement .decision-plan-route-material-group > span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

#item-improvement .decision-plan-route-material-group > span > b {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Reverse/form-swap conversions use a separate bypass lane so they do not cut
   through the primary multi-level branch topology. */
#item-improvement .decision-chain-flow-edge.is-reverse,
.decision-full-route-dialog .decision-chain-flow-edge.is-reverse {
  stroke: #d59a45;
  stroke-width: 2;
  stroke-dasharray: 7 6;
}

/* Route comparison remains local to equipment details. */
#item-improvement .decision-route-comparison-corner,
#item-improvement .decision-route-comparison-row-label {
  position: sticky;
  left: 0;
  z-index: 2;
}

#item-improvement .decision-route-comparison-corner {
  z-index: 3;
}

#item-improvement .decision-route-comparison-cell.is-selected {
  box-shadow: inset 2px 0 rgba(52, 122, 183, 0.65), inset -2px 0 rgba(52, 122, 183, 0.65);
  background: rgba(52, 122, 183, 0.08);
}

#item-improvement .decision-route-comparison-cell.is-better.is-selected {
  background: linear-gradient(rgba(60, 171, 120, 0.09), rgba(60, 171, 120, 0.09)), rgba(52, 122, 183, 0.07);
}

/* Today plan copies: one equipment row, explicit per-copy selection. */
#item-improvement .decision-equipment-row.is-workbench {
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}

#item-improvement .decision-workbench-row-layout {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#item-improvement .decision-workbench-row-main {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  width: auto;
  min-width: 0;
  padding: 8px 0 8px 9px;
  border: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  background: transparent;
}

#item-improvement .decision-equipment-row.is-workbench:focus-within {
  border-color: rgba(69, 169, 165, 0.58);
}

#item-improvement .decision-workbench-row-main:focus {
  outline: none;
}

#item-improvement .decision-workbench-plan-picker {
  display: grid;
  flex: 1 1 0;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  width: auto;
  max-width: 100%;
  min-width: 0;
  padding: 8px 9px;
  background: transparent;
}

#item-improvement .decision-workbench-plan-pick {
  flex: 0 0 auto;
  min-width: 0;
  padding: 3px 7px;
  border: 1px solid rgba(127, 127, 127, 0.32);
  border-radius: 999px;
  color: inherit;
  font-size: var(--improvement-font-caption);
  white-space: nowrap;
  background: transparent;
}

#item-improvement .decision-workbench-plan-pick:hover,
#item-improvement .decision-workbench-plan-pick:focus {
  border-color: rgba(69, 169, 165, 0.72);
  outline: none;
}

#item-improvement .decision-workbench-plan-pick.is-selected {
  border-color: rgba(69, 169, 165, 0.9);
  color: #63bbb6;
  font-weight: 700;
  background: rgba(69, 169, 165, 0.13);
}

/* 0.1.4 final baseline follow-up: weekday comparison and plan-management naming. */
#item-improvement .decision-workbench-weekday-filter {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

#item-improvement .decision-workbench-weekday-filter > strong {
  flex: 0 0 92px;
  padding-top: 6px;
  font-size: var(--improvement-font-body);
}

#item-improvement .decision-workbench-weekday-filter .btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

#item-improvement .decision-workbench-weekday-filter .btn {
  float: none;
}

#item-improvement .decision-workbench-weekday-button.is-current-day:not(.active) {
  border-color: rgba(69, 169, 165, 0.72);
  color: #45a9a5;
  box-shadow: inset 0 0 0 1px rgba(69, 169, 165, 0.16);
}

#item-improvement .decision-workbench-weekday-list,
.decision-material-detail-modal .decision-workbench-weekday-list {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

#item-improvement .decision-workbench-weekday-list .decision-workbench-weekday,
.decision-material-detail-modal .decision-workbench-weekday-list .decision-workbench-weekday {
  padding: 2px 6px;
  border-radius: 999px;
  opacity: 1;
  font-size: inherit;
}

#item-improvement .decision-workbench-weekday-list .decision-workbench-weekday.is-current-day,
.decision-material-detail-modal .decision-workbench-weekday-list .decision-workbench-weekday.is-current-day {
  color: #45a9a5;
  font-weight: 700;
  background: rgba(69, 169, 165, 0.14);
}

#item-improvement .decision-workbench-availability-section,
.decision-material-detail-modal .decision-workbench-availability-section {
  padding-top: 0;
}

#item-improvement .decision-workbench-today-grid > div.is-warning strong,
.decision-material-detail-modal .decision-workbench-today-grid > div.is-warning strong {
  margin: auto 0;
}

@media (max-width: 1080px) {
  #item-improvement .decision-workbench-weekday-filter {
    flex-direction: column;
    gap: 5px;
  }

  #item-improvement .decision-workbench-weekday-filter > strong {
    flex-basis: auto;
    padding-top: 0;
  }
}

/* 0.15.5: compact route-cost comparison and single-owner drag interactions */
#item-improvement .decision-filter-row {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  min-height: 0;
  column-gap: 12px;
  row-gap: 5px;
}

#item-improvement .decision-filter-row > strong {
  min-width: 72px;
  max-width: 96px;
  flex-basis: auto;
  padding-top: 6px;
}

#item-improvement .decision-filter-row-content {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
}

#item-improvement .decision-filter-row-content.is-day-filter {
  flex-direction: column;
}

#item-improvement .decision-filter-row-content > .btn-group,
#item-improvement .decision-filter-row-content > .decision-filter-buttons {
  flex: 0 1 auto;
}

#item-improvement .decision-equipment-sort-levels {
  display: grid;
  width: min(100%, 368px);
  grid-template-columns: repeat(auto-fit, minmax(130px, 180px));
  gap: 8px;
}

#item-improvement .decision-equipment-sort-level {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  font-size: var(--improvement-font-small);
  font-weight: 400;
}

#item-improvement .decision-equipment-sort-levels .form-control {
  height: 30px;
  padding-top: 4px;
  padding-bottom: 4px;
}

#item-improvement .decision-plan-route-intro {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 8px 10px;
  border-left: 3px solid #45a9a5;
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-plan-route-intro span {
  font-size: var(--improvement-font-body);
  opacity: 0.76;
}

#item-improvement .decision-plan-route-candidate {
  overflow: hidden;
}

#item-improvement .decision-plan-route-candidate.is-selected {
  border-color: #337ab7;
  background: rgba(51, 122, 183, 0.10);
  box-shadow: inset 3px 0 #337ab7;
}

#item-improvement .decision-plan-route-candidate-header {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: 9px;
}

#item-improvement .decision-plan-route-expand {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  padding: 4px 6px;
  color: inherit;
  background: transparent;
  font-weight: 700;
}

#item-improvement .decision-plan-route-candidate-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 9px;
}

#item-improvement .decision-route-cost-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
}

#item-improvement .decision-route-cost-table {
  width: 100%;
  min-width: 620px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--improvement-font-body);
}

#item-improvement .decision-route-cost-table th,
#item-improvement .decision-route-cost-table td {
  box-sizing: border-box;
  min-width: 0;
  border-right: 1px solid rgba(127, 127, 127, 0.16);
  border-bottom: 1px solid rgba(127, 127, 127, 0.16);
  padding: 4px 5px;
  text-align: center;
  vertical-align: middle;
}

#item-improvement .decision-route-cost-table thead th {
  background: rgba(127, 127, 127, 0.09);
  white-space: nowrap;
}

#item-improvement .decision-route-cost-table tbody th > img,
#item-improvement .decision-route-cost-table tbody th .material-icon {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
  flex: 0 0 var(--improvement-category-icon-size);
  object-fit: contain;
}

#item-improvement .decision-route-cost-table thead th:first-child,
#item-improvement .decision-route-cost-table tbody th {
  width: 210px;
}

#item-improvement .decision-route-cost-table tbody th {
  display: table-cell;
  text-align: left;
}

#item-improvement .decision-route-cost-table tbody th > span,
#item-improvement .decision-route-cost-table tbody th > .glyphicon {
  vertical-align: middle;
}

#item-improvement .decision-route-cost-table tbody th > img,
#item-improvement .decision-route-cost-table tbody th .material-icon,
#item-improvement .decision-route-cost-table tbody th > .glyphicon {
  margin-right: 6px;
}

#item-improvement .decision-route-cost-table td {
  overflow: hidden;
}

#item-improvement .decision-route-cost-table td.is-lowest,
#item-improvement .decision-route-cost-material.is-lowest {
  color: var(--decision-positive-color);
  font-weight: 700;
  background: rgba(var(--decision-positive-rgb), 0.12);
}

#item-improvement .decision-route-cost-materials {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: 2px;
  overflow: hidden;
  text-align: left;
}

#item-improvement .decision-route-cost-material {
  display: inline-flex;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  gap: 3px;
  overflow: hidden;
  padding: 2px 4px;
  border-radius: 3px;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-route-cost-material > img,
#item-improvement .decision-route-cost-material .equip-icon,
#item-improvement .decision-route-cost-material .useitem {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
  flex: 0 0 var(--improvement-category-icon-size);
  object-fit: contain;
}

#item-improvement .decision-route-cost-material > span {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-route-cost-material > strong {
  flex: 0 0 auto;
}

#item-improvement .decision-route-cost-empty {
  opacity: 0.58;
}

@media (max-width: 1080px) {
  #item-improvement .decision-filter-row {
    grid-template-columns: max-content minmax(0, 1fr);
    flex-direction: initial;
    gap: 5px 10px;
  }

  #item-improvement .decision-filter-row > strong {
    flex-basis: auto;
    padding-top: 6px;
  }

  #item-improvement .decision-equipment-sort-levels {
    width: min(100%, 368px);
  }

  #item-improvement .decision-plan-route-candidate-header {
    grid-template-columns: auto 1fr;
  }

  #item-improvement .decision-plan-route-candidate-flow,
  #item-improvement .decision-plan-route-candidate-badges {
    grid-column: 1 / -1;
  }
}

/* Poi equipment artwork: actual item image and symbolic type icon are separate primitives. */
.decision-equipment-symbol {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.decision-equipment-symbol .equip-icon,
.decision-equipment-symbol img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

#item-improvement .decision-equipment-image,
.decision-full-route-dialog .decision-equipment-image {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

#item-improvement .decision-equipment-card-asset,
.decision-full-route-dialog .decision-equipment-card-asset {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  background: rgba(127, 127, 127, 0.045);
}

#item-improvement .decision-workbench-equipment-artwork.decision-equipment-image,
#item-improvement .decision-detail-artwork.decision-equipment-image,
#item-improvement .decision-visual-node-artwork.decision-equipment-image,
.decision-full-route-dialog .decision-visual-node-artwork.decision-equipment-image {
  background: rgba(127, 127, 127, 0.045);
}

/* Shared auxiliary visual icon system.
 * Equipment type icons, useitems, resources, and material icons share one
 * frame/category, but each asset type keeps a separate visual max-size because
 * source art proportions and transparent padding differ.
 */
.decision-visual-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--improvement-visual-icon-frame-size);
  height: var(--improvement-visual-icon-frame-size);
  flex: 0 0 var(--improvement-visual-icon-frame-size);
  min-width: var(--improvement-visual-icon-frame-size);
  min-height: var(--improvement-visual-icon-frame-size);
  overflow: hidden;
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.045);
}

.decision-visual-icon__image {
  display: block;
  object-fit: contain;
  margin: auto;
}

.decision-visual-icon--equipment-type .decision-visual-icon__image {
  width: var(--improvement-equipment-type-icon-max-size) !important;
  height: var(--improvement-equipment-type-icon-max-size) !important;
}

.decision-visual-icon--useitem .decision-visual-icon__image {
  width: var(--improvement-useitem-icon-max-size) !important;
  height: var(--improvement-useitem-icon-max-size) !important;
}

.decision-visual-icon--resource .decision-visual-icon__image {
  width: var(--improvement-resource-icon-max-size) !important;
  height: var(--improvement-resource-icon-max-size) !important;
}

.decision-visual-icon--material .decision-visual-icon__image {
  width: var(--improvement-material-icon-max-size) !important;
  height: var(--improvement-material-icon-max-size) !important;
}

.decision-visual-icon.is-large .decision-visual-icon__image {
  width: 72% !important;
  height: 72% !important;
}

#item-improvement .decision-route-cost-material,
#item-improvement .decision-consumable,
#item-improvement .decision-stage-resource-chip {
  align-items: center;
}

/* Equipment blacklist */
.decision-blacklist-modal .modal-body {
  padding: 12px 16px;
}

.decision-blacklist-toolbar,
.decision-blacklist-manual-add,
.decision-blacklist-recommendation-entry {
  display: flex;
  align-items: center;
  gap: 8px;
}

.decision-blacklist-toolbar {
  justify-content: space-between;
  margin-bottom: 8px;
}

.decision-blacklist-sort {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.decision-blacklist-sort .form-control,
.decision-blacklist-manual-add .form-control {
  height: 30px;
  padding: 4px 8px;
}

.decision-blacklist-manual-add {
  flex: 1;
  justify-content: flex-end;
}

.decision-blacklist-manual-add .form-control {
  width: min(360px, 55vw);
}

.decision-blacklist-list {
  max-height: 52vh;
  overflow: auto;
  border: 1px solid rgba(127, 127, 127, 0.25);
  border-radius: 4px;
}

.decision-blacklist-row {
  display: grid;
  grid-template-columns: 20px var(--improvement-category-icon-size) minmax(150px, 0.8fr) minmax(260px, 2fr);
  align-items: center;
  gap: 8px;
  min-height: 42px;
  margin: 0;
  padding: 4px 8px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.18);
  cursor: pointer;
}

.decision-blacklist-row:last-child {
  border-bottom: 0;
}

.decision-blacklist-row:hover {
  background: rgba(62, 191, 178, 0.08);
}

.decision-blacklist-equipment-image {
  object-fit: contain;
}

.decision-blacklist-equipment-name,
.decision-blacklist-reason {
  min-width: 0;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}

.decision-blacklist-reason {
  opacity: 0.78;
  font-weight: normal;
}

.decision-blacklist-recommendation-entry {
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(127, 127, 127, 0.2);
}

.decision-blacklist-modal .modal-footer {
  display: flex;
  align-items: center;
  gap: 8px;
}

.decision-blacklist-modal .modal-footer .btn {
  margin-left: 0;
}

.decision-blacklist-selected-count {
  margin-right: auto;
}

@media (max-width: 760px) {
  .decision-blacklist-row {
    grid-template-columns: 20px var(--improvement-category-icon-size) minmax(120px, 1fr) minmax(180px, 1.5fr);
    gap: 6px;
  }
}

/* 0.15.19 shared UI zoom, movable dialog bounds, and unified bulk selection. */
#item-improvement .decision-ui-zoom-controls {
  display: inline-flex;
  flex: 0 0 auto;
}

#item-improvement .decision-ui-zoom-value {
  min-width: 58px;
  font-variant-numeric: tabular-nums;
}

.improvement-help-dialog > .modal-content,
.decision-data-transfer-dialog > .modal-content,
.decision-full-route-dialog > .modal-content,
.decision-category-filter-dialog > .modal-content,
.decision-blacklist-dialog > .modal-content {
  position: relative;
  display: flex;
  height: 100%;
  max-height: calc(100vh - 12px);
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

.improvement-help-dialog > .modal-content {
  width: 100%;
  height: 100%;
  max-height: none;
}

.improvement-help-dialog > .modal-content > .modal-body,
.decision-data-transfer-dialog > .modal-content > .modal-body,
.decision-full-route-dialog > .modal-content > .modal-body,
.decision-category-filter-dialog > .modal-content > .modal-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
}

.decision-blacklist-dialog > .modal-content > .modal-body {
  min-height: 0;
  flex: 1 1 0;
  overflow: hidden;
}

.decision-modal-drag-handle {
  cursor: move;
  user-select: none;
}

body.decision-modal-is-dragging,
body.decision-modal-is-dragging * {
  cursor: move !important;
  user-select: none !important;
}

.decision-blacklist-dialog {
  position: fixed !important;
  inset: 6px !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
}

.decision-blacklist-dialog > .modal-content {
  width: 100%;
  height: 100%;
  max-height: none;
}

.decision-blacklist-modal .modal-header,
.decision-blacklist-modal .modal-footer {
  flex: 0 0 auto;
}

.improvement-help-modal .modal-header,
.improvement-help-modal .modal-footer {
  flex: 0 0 auto;
}

.improvement-help-modal .modal-body {
  min-height: 0;
  flex: 1 1 0;
  overflow: auto;
}

.decision-blacklist-modal .modal-body {
  display: flex;
  min-height: 0;
  flex: 1 1 0;
  flex-direction: column;
  overflow: hidden;
}

.decision-blacklist-toolbar {
  flex: 0 0 auto;
  gap: 10px;
}

.decision-blacklist-toolbar-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.decision-blacklist-toolbar-actions > .form-control {
  width: min(300px, 34vw);
  height: 30px;
}

.decision-blacklist-select-all {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  margin: 0;
  cursor: pointer;
}

.decision-blacklist-column-heading,
.decision-blacklist-row {
  grid-template-columns: 20px 56px minmax(160px, 0.9fr) 72px minmax(260px, 2fr);
}

.decision-blacklist-column-heading {
  display: grid;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  color: rgba(190, 202, 211, 0.72);
  font-size: var(--improvement-font-body);
}

.decision-blacklist-list {
  min-height: 0;
  max-height: none;
  flex: 1 1 0;
  overflow: auto;
}

.decision-blacklist-row {
  min-height: 58px;
  align-items: start;
}

.decision-blacklist-row.is-selected {
  background: rgba(62, 191, 178, 0.11);
}

.decision-blacklist-rarity {
  color: #d8b45d;
  font-weight: 700;
  white-space: nowrap;
}

.decision-blacklist-recommendation-entry {
  flex: 0 0 auto;
  flex-wrap: wrap;
}

.decision-blacklist-recommendation-entry > div {
  display: inline-flex;
  gap: 8px;
}

.decision-category-filter-guide {
  flex-wrap: wrap;
}

/* Larger full-chain title area. Width still grows from material columns. */
.decision-full-route-dialog .decision-upgrade-state-node-header {
  justify-content: flex-start;
  min-height: calc(var(--improvement-category-icon-size) + 24px);
  padding: 12px;
  gap: 12px;
}

.decision-full-route-dialog .decision-upgrade-state-node-artwork {
  position: relative;
  top: auto;
  left: auto;
  width: var(--improvement-category-icon-size);
  height: var(--improvement-category-icon-size);
  flex: 0 0 var(--improvement-category-icon-size);
  transform: none;
}

.decision-full-route-dialog .decision-upgrade-state-node-artwork.equip-icon,
.decision-full-route-dialog .decision-upgrade-state-node-artwork img {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
}

.decision-full-route-dialog .decision-upgrade-state-node-heading {
  align-items: flex-start;
  text-align: left;
}

.decision-full-route-dialog .decision-upgrade-state-node-heading > strong {
  display: block;
  overflow: visible;
  max-width: none;
  font-size: var(--improvement-font-title-large);
  line-height: 1.35;
  text-overflow: clip;
  white-space: nowrap;
}

.decision-full-route-dialog .decision-upgrade-state-node-heading > b {
  font-size: var(--improvement-font-title-small);
}

@media (max-width: 820px) {
  .decision-blacklist-toolbar,
  .decision-blacklist-toolbar-actions {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .decision-blacklist-column-heading,
  .decision-blacklist-row {
    grid-template-columns: 20px 52px minmax(130px, 1fr) 60px minmax(180px, 1.4fr);
  }
}

.improvement-help-dialog .modal-header,
.decision-data-transfer-dialog .modal-header,
.decision-category-filter-dialog .modal-header,
.decision-blacklist-dialog .modal-header {
  display: flex;
  align-items: center;
  gap: 8px;
}

.improvement-help-dialog .modal-header > .modal-title,
.decision-data-transfer-dialog .modal-header > .modal-title,
.decision-category-filter-dialog .modal-header > .modal-title,
.decision-blacklist-dialog .modal-header > .modal-title {
  min-width: 0;
  flex: 1 1 auto;
}

.improvement-help-dialog .modal-header > .close,
.decision-data-transfer-dialog .modal-header > .close,
.decision-category-filter-dialog .modal-header > .close,
.decision-blacklist-dialog .modal-header > .close {
  order: 3;
  margin-left: 0;
}

@media (max-width: 680px) {
  #item-improvement .decision-tools-header {
    flex-wrap: wrap;
  }

  #item-improvement .decision-tools-actions {
    width: 100%;
    justify-content: flex-end;
    padding: 0 8px 7px;
  }

  #item-improvement .decision-filter-row {
    grid-template-columns: 1fr;
  }

  #item-improvement .decision-filter-row > strong {
    max-width: none;
    padding-top: 0;
  }
}

/* 0.15.21: make Today ownership explicit: target on the left, current action on the right. */
#item-improvement .decision-workbench-role-hint {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 7px 9px;
  border-left: 3px solid rgba(69, 169, 165, 0.72);
  border-radius: 5px;
  color: #8fa8b4;
  font-size: var(--improvement-font-small);
  line-height: 1.45;
  background: rgba(69, 169, 165, 0.06);
}

#item-improvement .decision-workbench-role-hint .glyphicon {
  flex: 0 0 auto;
  padding-top: 2px;
  color: #45a9a5;
}

#item-improvement .decision-workbench-plan-goal {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
  padding: 5px 7px;
  border-left: 3px solid rgba(103, 190, 213, 0.72);
  border-radius: 4px;
  background: rgba(103, 190, 213, 0.065);
}

#item-improvement .decision-workbench-plan-goal small,
#item-improvement .decision-workbench-plan-goal > span {
  color: #8fa8b4;
  font-size: var(--improvement-font-caption);
  font-weight: 600;
  white-space: nowrap;
}

#item-improvement .decision-workbench-plan-goal strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--improvement-font-body);
  line-height: 1.35;
}

#item-improvement .decision-detail-heading-copy {
  min-width: 0;
}

#item-improvement .decision-detail-context-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 5px;
  padding: 2px 7px;
  border: 1px solid rgba(69, 169, 165, 0.42);
  border-radius: 999px;
  color: #67c6c1;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
  background: rgba(69, 169, 165, 0.1);
}

#item-improvement .decision-detail-context-label.is-unresolved {
  border-color: rgba(217, 155, 66, 0.42);
  color: #d9a052;
  background: rgba(217, 155, 66, 0.1);
}

#item-improvement .decision-detail-heading-copy h3 {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
}

#item-improvement .decision-detail-current-level {
  flex: 0 0 auto;
  color: #67c6c1;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
}

#item-improvement .decision-detail-plan-target {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  color: #8fa8b4;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-detail-plan-target strong {
  color: inherit;
  font-weight: 600;
}

#item-improvement .decision-detail-context-label,
#item-improvement .decision-detail-current-level,
#item-improvement .decision-detail-plan-target > span {
  opacity: 1;
}

#item-improvement .decision-upgrade-state-node-header,
.decision-full-route-dialog .decision-upgrade-state-node-header {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: flex-start;
  min-height: 96px;
}

#item-improvement .decision-upgrade-state-node-heading > strong,
.decision-full-route-dialog .decision-upgrade-state-node-heading > strong {
  overflow: visible;
  max-width: none;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}

#item-improvement .decision-chain-stage-heading > strong,
.decision-full-route-dialog .decision-chain-stage-heading > strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}

/* Next dev: Workbench and equipment details use one bottom evolution-chain section.
 * Evolution nodes are complete image+text cards; cards expand instead of clipping names. */
#item-improvement .decision-workbench-evolution-chain-section,
#item-improvement .decision-equipment-evolution-chain-section {
  margin-top: 14px;
}

#item-improvement .decision-workbench-evolution-chain-section .decision-equipment-chain-overview,
#item-improvement .decision-equipment-evolution-chain-section .decision-equipment-chain-overview {
  overflow-x: auto;
  overflow-y: visible;
}

#item-improvement .decision-visual-node,
.decision-full-route-dialog .decision-visual-node {
  height: auto;
  min-height: 0;
  overflow: visible;
}

#item-improvement .decision-visual-node-copy,
.decision-full-route-dialog .decision-visual-node-copy {
  min-width: 0;
  overflow: visible;
}

#item-improvement .decision-visual-node-copy strong,
#item-improvement .decision-visual-node-copy small,
.decision-full-route-dialog .decision-visual-node-copy strong,
.decision-full-route-dialog .decision-visual-node-copy small {
  overflow: visible;
  max-width: none;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}

#item-improvement .decision-visual-node-copy strong,
.decision-full-route-dialog .decision-visual-node-copy strong {
  line-height: 1.35;
}

/* UI shared layout: left-side control stack. */
#item-improvement .decision-interface-shell {
  --decision-control-height: 42px;
  --decision-control-card-height: 60px;
  --decision-control-font-size: var(--improvement-font-title-small);
  --decision-control-font-weight: 600;
}

#item-improvement .decision-control-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 10px;
}

#item-improvement .decision-control-card {
  display: flex;
  align-items: center;
  min-height: var(--decision-control-card-height);
  padding: 8px 10px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-search-category-card {
  width: 100%;
}

#item-improvement .decision-search-category-control {
  width: 100%;
  margin: 0;
}

#item-improvement .decision-control-row {
  display: flex;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  min-height: var(--decision-control-height);
}

#item-improvement .decision-control-search-input {
  flex: 1 1 auto;
  min-width: 0;
}

#item-improvement .decision-control-search-input,
#item-improvement .decision-control-search-input > .form-control,
#item-improvement .decision-control-search-input > .input-group-addon,
#item-improvement .decision-control-search-input > .input-group-btn > .btn,
#item-improvement .decision-control-button {
  min-height: var(--decision-control-height);
}

#item-improvement .decision-control-search-input > .form-control,
#item-improvement .decision-control-button,
#item-improvement .decision-tools-toggle > strong {
  font-size: var(--decision-control-font-size);
  font-weight: var(--decision-control-font-weight);
  line-height: 1.2;
}

#item-improvement .decision-control-search-input > .form-control {
  color: inherit;
  text-align: center;
}

#item-improvement .decision-control-search-input > .form-control::placeholder {
  color: rgba(180, 190, 200, 0.56);
  font-weight: var(--decision-control-font-weight);
  opacity: 1;
  text-align: center;
}

#item-improvement .decision-control-search-input > .input-group-addon,
#item-improvement .decision-control-search-input > .input-group-btn > .btn,
#item-improvement .decision-control-button {
  align-items: center;
  justify-content: center;
  text-align: center;
}

#item-improvement .decision-control-input-icon {
  opacity: 0.72;
}

/* UI shared layout: category controls and category icons. */
#item-improvement .decision-category-filter-button {
  display: inline-flex;
  align-self: stretch;
  width: auto;
  min-width: 104px;
  max-width: 148px;
  flex: 0 0 auto;
  gap: 6px;
  white-space: nowrap;
}

#item-improvement .decision-category-filter-button.is-active {
  box-shadow: 0 0 0 1px rgba(69, 169, 165, 0.28);
}

#item-improvement .decision-category-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  font-size: 0.95em;
  line-height: 1;
}

.decision-category-filter-dialog .decision-category-slotitem-icon,
.decision-category-filter-dialog .decision-category-slotitem-icon img {
  width: var(--improvement-category-icon-size) !important;
  height: var(--improvement-category-icon-size) !important;
  flex: 0 0 var(--improvement-category-icon-size);
  object-fit: contain;
}

/* UI shared layout: collapsible filter panel. */
#item-improvement .decision-tools-panel {
  margin-bottom: 10px;
}

#item-improvement .decision-tools-header {
  min-height: var(--decision-control-card-height);
  align-items: center;
}

#item-improvement .decision-tools-toggle {
  min-height: var(--decision-control-height);
  padding: 0 12px;
  text-align: center;
}

#item-improvement .decision-tools-toggle > strong {
  text-align: center;
}

#item-improvement .decision-tools-toggle > .glyphicon:last-child {
  margin-left: 0;
}

#item-improvement .decision-tools-actions {
  padding: 0 10px 0 0;
}

#item-improvement .decision-tools-actions .btn {
  min-height: var(--decision-control-height);
}

#item-improvement .decision-filter-panel {
  margin-bottom: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#item-improvement .decision-filter-row {
  display: grid;
  grid-template-columns: minmax(78px, 0.28fr) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  border-top: 1px solid rgba(127, 127, 127, 0.12);
}

#item-improvement .decision-filter-row:first-child {
  border-top: 0;
}

#item-improvement .decision-filter-row > strong {
  max-width: none;
  padding-top: 0;
  color: #8fa8b4;
  font-size: var(--improvement-font-small);
}

#item-improvement .decision-filter-row-content {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  gap: 6px;
}

#item-improvement .decision-filter-row-content.is-day-filter {
  align-items: flex-start;
}

#item-improvement .decision-filter-buttons,
#item-improvement .decision-filter-row-content > .btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

#item-improvement .decision-filter-buttons.btn-group > .btn,
#item-improvement .decision-filter-buttons > .btn,
#item-improvement .decision-filter-row-content > .btn-group > .btn {
  float: none;
  border-radius: 4px !important;
}

#item-improvement .decision-equipment-sort-levels {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: 6px;
}

#item-improvement .decision-equipment-sort-level {
  gap: 0;
}

/* UI shared layout: header and horizontal landscape controls. */
#item-improvement .decision-interface-header {
  min-height: 56px;
  padding: 7px 14px;
}

#item-improvement .decision-header-primary {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: 12px;
}

#item-improvement .decision-brand {
  display: flex;
  flex: 0 0 auto;
  flex-direction: row;
  align-items: center;
  min-width: 0;
  gap: 8px;
}

#item-improvement .decision-brand-logo {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  object-fit: contain;
}

#item-improvement .decision-brand .decision-beta-badge {
  margin-top: 0;
}

#item-improvement .decision-mode-nav.decision-mode-nav-inline {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-bottom: 0;
  background: transparent;
}

#item-improvement .decision-mode-nav.decision-mode-nav-inline > li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--decision-control-height);
  padding: 8px 18px;
  font-size: var(--decision-control-font-size);
  font-weight: var(--decision-control-font-weight);
  line-height: 1.2;
}

#item-improvement .decision-mode-nav.decision-mode-nav-inline .glyphicon {
  margin-right: 7px;
}

@media (max-width: 980px) {
  #item-improvement .decision-interface-header {
    flex-wrap: nowrap;
  }
}

/* UI shared layout: right-side detail sections stay visually aligned without sharing
 * implementation with left-side filters. */
#item-improvement .decision-page-title-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 2px 8px;
  border: 1px solid rgba(69, 169, 165, 0.42);
  border-radius: 999px;
  color: #67c6c1;
  font-size: var(--improvement-font-title-small);
  font-weight: 700;
  background: rgba(69, 169, 165, 0.1);
}

#item-improvement .decision-workbench-controls {
  margin-bottom: 0;
}

#item-improvement .decision-detail-plugin-list {
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-detail-plugin-list > .decision-detail-plugin {
  border: 0;
  border-radius: 0;
  background: transparent;
}

#item-improvement .decision-detail-plugin-list > .decision-detail-plugin + .decision-detail-plugin {
  border-top: 1px solid rgba(127, 127, 127, 0.18);
}

#item-improvement .decision-detail-plugin-body {
  padding: 11px;
}

#item-improvement .decision-workbench-detail-section {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#item-improvement .decision-current-upgrade-cost,
.decision-material-detail-modal .decision-current-upgrade-cost {
  border-color: rgba(127, 127, 127, 0.18);
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-workbench-plugin-content > .decision-current-upgrade-cost {
  margin-top: 0;
}

.remodel-assistant-bootstrap {
  align-items: center;
  display: flex;
  font-size: 14px;
  justify-content: center;
  min-height: 180px;
  padding: 24px;
}

/* React-Bootstrap mounts the dialog outside #item-improvement. */
.decision-category-filter-dialog {
  position: fixed !important;
  inset: 6px !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
}

.decision-category-filter-dialog > .modal-content {
  display: flex;
  width: 100%;
  height: 100%;
  max-height: none;
  flex-direction: column;
}

.decision-category-filter-modal .modal-header,
.decision-category-filter-modal .modal-footer {
  flex: 0 0 auto;
}

.decision-category-filter-modal .equipment-category-body {
  display: flex;
  min-height: 0;
  flex: 1 1 0;
  flex-direction: column;
  gap: 10px;
  padding: 10px 12px;
  overflow: hidden;
}

.decision-category-filter-modal .modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  padding: 9px 12px;
}

.decision-category-filter-modal .modal-footer .btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 0;
  white-space: nowrap;
}

.equipment-category-guide {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto auto auto;
  align-items: center;
  flex: 0 0 auto;
  gap: 7px;
  min-height: 34px;
  padding: 7px 10px;
  border-left: 3px solid rgba(69, 169, 165, 0.78);
  border-radius: 5px;
  background: rgba(69, 169, 165, 0.08);
}

.equipment-category-guide > strong {
  white-space: nowrap;
}

.equipment-category-board {
  display: flex;
  min-height: 0;
  flex: 1 1 0;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: flex-start;
  gap: 10px;
  overflow: auto;
  overscroll-behavior: contain;
}

.equipment-category-panel {
  --category-accent: #7f8c94;
  position: relative;
  display: flex;
  min-width: 0;
  max-width: calc(50% - 5px);
  flex: 1 1 360px;
  flex-direction: column;
  align-self: flex-start;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.25);
  border-left: 4px solid var(--category-accent);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.025);
  contain: layout paint;
}

.equipment-category-panel.is-guns,
.equipment-category-panel.is-torpedoes {
  --category-accent: #d07171;
}

.equipment-category-panel.is-carrier-aircraft,
.equipment-category-panel.is-seaplanes {
  --category-accent: #69a8d3;
}

.equipment-category-panel.is-radar,
.equipment-category-panel.is-asw,
.equipment-category-panel.is-anti-air {
  --category-accent: #8e7bc1;
}

.equipment-category-panel.is-landing,
.equipment-category-panel.is-engine-armor {
  --category-accent: #b98a45;
}

.equipment-category-panel.is-support,
.equipment-category-panel.is-other {
  --category-accent: #68a46b;
}

.equipment-category-panel-toggle {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto auto;
  align-items: center;
  width: 100%;
  gap: 7px;
  padding: 8px 10px;
  border: 0;
  border-bottom: 1px solid rgba(127, 127, 127, 0.17);
  color: inherit;
  text-align: left;
  background: rgba(127, 127, 127, 0.055);
}

.equipment-category-panel-toggle:hover,
.equipment-category-panel-toggle.is-partial {
  background: rgba(78, 163, 216, 0.1);
}

.equipment-category-panel-toggle.is-selected {
  background: rgba(69, 169, 165, 0.14);
}

.equipment-category-panel-toggle small {
  color: #888;
  font-weight: 400;
  white-space: nowrap;
}

.equipment-category-panel-toggle > span:last-child {
  min-width: 30px;
  padding: 1px 5px;
  border-radius: 999px;
  font-size: 0.86em;
  text-align: center;
  background: rgba(127, 127, 127, 0.12);
}

.equipment-category-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 6px;
  padding: 7px;
}

.equipment-category-option {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.17);
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.035);
}

.equipment-category-option.is-selected {
  border-color: rgba(69, 169, 165, 0.62);
  background: rgba(69, 169, 165, 0.1);
}

.equipment-category-option:focus-within {
  border-color: rgba(69, 169, 165, 0.62);
  box-shadow: 0 0 0 1px rgba(69, 169, 165, 0.22);
}

.equipment-category-option-control {
  display: grid;
  grid-template-columns: 18px 20px minmax(0, 1fr) 36px;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  gap: 7px;
  margin: 0;
  padding: 6px 8px;
  box-sizing: border-box;
  overflow: hidden;
  cursor: pointer;
  font-weight: 400;
}

.equipment-category-option-control > input {
  position: static;
  width: 16px;
  height: 16px;
  margin: 0;
}

.equipment-category-option-icon-frame {
  display: flex;
  width: 20px;
  height: 20px;
  min-width: 20px;
  max-width: 20px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.equipment-category-option-icon-frame > *,
.equipment-category-option-icon-frame .equipment-category-slotitem-icon,
.equipment-category-option-icon-frame .equipment-category-slotitem-icon img,
.equipment-category-option-icon-frame img,
.equipment-category-option-icon-frame svg {
  position: static !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  margin: 0 !important;
  transform: none !important;
  object-fit: contain;
}

.equipment-category-option-name {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.equipment-category-option-count {
  justify-self: end;
  width: 36px;
  min-width: 36px;
  max-width: 36px;
  padding: 1px 5px;
  box-sizing: border-box;
  border-radius: 999px;
  color: #9ca8af;
  font-size: 0.86em;
  text-align: center;
  background: rgba(127, 127, 127, 0.1);
}

@media (max-width: 720px) {
  .equipment-category-guide {
    grid-template-columns: 18px minmax(0, 1fr) auto;
  }

  .equipment-category-guide > .btn {
    display: none;
  }

  .equipment-category-panel {
    max-width: 100%;
    flex-basis: 100%;
  }

  .equipment-category-panel-toggle {
    grid-template-columns: 18px minmax(0, 1fr) auto;
  }

  .equipment-category-panel-toggle small {
    display: none;
  }

  .equipment-category-options {
    grid-template-columns: 1fr;
  }
}

/* Text controls do not reserve invisible Glyphicon slots. */
#item-improvement .decision-control-search-input > .form-control {
  padding-left: 12px;
  padding-right: 12px;
  text-align: left;
}

#item-improvement .decision-control-search-input > .form-control::placeholder {
  text-align: left;
}

#item-improvement .decision-category-filter-button {
  justify-content: center;
  gap: 0;
  padding-left: 14px;
  padding-right: 14px;
}

#item-improvement .decision-mode-nav.decision-mode-nav-inline > li {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
}

#item-improvement .decision-mode-nav.decision-mode-nav-inline > li > a {
  width: 100%;
  padding-left: 14px;
  padding-right: 14px;
  text-align: center;
}

#item-improvement .decision-interface-actions .btn,
#item-improvement .decision-tools-actions .btn {
  justify-content: center;
}

/* Responsive density system: main UI uses discrete layout density, never page scaling. */
#item-improvement .decision-interface-shell {
  font-size: 15px;
  --decision-density-gap: 8px;
  --decision-density-page-padding: 12px;
  --decision-density-card-padding: 10px;
  --decision-control-height: 42px;
  --decision-control-card-height: 60px;
  --decision-workbench-list-image-size: 125px;
  --decision-detail-image-size: 125px;
  zoom: 1;
  transform: none;
}

#item-improvement .decision-interface-shell.decision-density-compact {
  font-size: 14px;
  --decision-density-gap: 6px;
  --decision-density-page-padding: 9px;
  --decision-density-card-padding: 8px;
  --decision-control-height: 36px;
  --decision-control-card-height: 52px;
}

#item-improvement .decision-interface-shell.decision-density-large {
  font-size: 16px;
  --decision-density-gap: 10px;
  --decision-density-page-padding: 15px;
  --decision-density-card-padding: 12px;
  --decision-control-height: 46px;
  --decision-control-card-height: 66px;
}

#item-improvement .decision-density-control {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

#item-improvement .decision-density-control > select {
  height: 30px;
  min-width: 82px;
  padding: 4px 24px 4px 8px;
  border: 1px solid rgba(127, 127, 127, 0.34);
  border-radius: 4px;
  color: inherit;
  font: inherit;
  line-height: 1.2;
  background: rgba(127, 127, 127, 0.08);
}

#item-improvement .decision-page {
  padding: var(--decision-density-page-padding);
}

#item-improvement .decision-control-stack,
#item-improvement .decision-workbench-controls,
#item-improvement .decision-detail-plugin-list,
#item-improvement .decision-workbench-detail {
  gap: var(--decision-density-gap);
}

#item-improvement .decision-control-card,
#item-improvement .decision-detail-plugin-body,
#item-improvement .decision-equipment-row {
  padding: var(--decision-density-card-padding);
}

/* Shared public-tab split panes. NewInterfaceArea's inline pixel columns are
 * the only width authority for both Today and Plan Management. */
#item-improvement .decision-workspace.is-workbench.has-detail-dock,
#item-improvement .decision-workspace.is-equipment.has-detail-dock {
  gap: 0;
}

#item-improvement .decision-workspace .decision-master-pane,
#item-improvement .decision-workspace .decision-detail-dock,
#item-improvement .decision-workspace .decision-detail-panel {
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}

#item-improvement .decision-workspace.is-workbench .decision-master-pane,
#item-improvement .decision-workspace.is-equipment .decision-master-pane {
  border-right: 0;
}

#item-improvement .decision-workspace.is-workbench .decision-detail-dock,
#item-improvement .decision-workspace.is-equipment .decision-detail-dock {
  border-left: 0;
}

/* Today rows wrap their actual image/plan content; narrow panes stack through the shared master-width state. */
#item-improvement .decision-workbench-page,
#item-improvement .decision-workbench-page .decision-page-section,
#item-improvement .decision-equipment-list.is-workbench {
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}

#item-improvement .decision-equipment-list.is-workbench {
  align-items: flex-start;
}

#item-improvement .decision-equipment-row.is-workbench {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  align-self: flex-start;
  box-sizing: border-box;
}

#item-improvement .decision-workbench-row-layout {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  grid-template-columns: var(--decision-workbench-list-image-size) minmax(88px, 1fr);
  align-items: stretch;
  justify-content: start;
  gap: var(--decision-density-gap);
  box-sizing: border-box;
}

#item-improvement .decision-workbench-row-main {
  display: flex;
  width: auto;
  min-width: 0;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
}

#item-improvement .decision-workbench-plan-picker {
  display: flex;
  width: 100%;
  min-width: 88px;
  max-width: 100%;
  flex: 0 1 auto;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: flex-start;
  align-items: stretch;
  justify-content: center;
  gap: 4px;
  padding: 4px;
  overflow: visible;
  background: transparent;
}

#item-improvement .decision-workbench-plan-pick {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

#item-improvement .decision-workspace.is-master-narrow .decision-equipment-row.is-workbench,
#item-improvement .decision-workspace.is-master-narrow .decision-workbench-row-layout {
  width: 100%;
}

#item-improvement .decision-workspace.is-master-narrow .decision-workbench-row-layout {
  grid-template-columns: minmax(0, 1fr);
}

#item-improvement .decision-workspace.is-master-narrow .decision-workbench-row-main {
  justify-content: center;
}

#item-improvement .decision-workspace.is-master-narrow .decision-workbench-plan-picker {
  width: 100%;
  align-items: center;
}

/* Equipment artwork remains on integer CSS pixels; density does not resample it. */
#item-improvement .decision-workbench-equipment-artwork.decision-equipment-card-asset,
#item-improvement .decision-workbench-equipment-artwork.decision-equipment-image {
  width: var(--decision-workbench-list-image-size) !important;
  height: var(--decision-workbench-list-image-size) !important;
  min-width: var(--decision-workbench-list-image-size);
  min-height: var(--decision-workbench-list-image-size);
  max-width: var(--decision-workbench-list-image-size);
  max-height: var(--decision-workbench-list-image-size);
  object-fit: contain;
  image-rendering: auto;
  transform: none !important;
}

#item-improvement .decision-detail-artwork.decision-equipment-card-asset,
#item-improvement .decision-detail-artwork.decision-equipment-image {
  width: var(--decision-detail-image-size) !important;
  height: var(--decision-detail-image-size) !important;
  min-width: var(--decision-detail-image-size);
  min-height: var(--decision-detail-image-size);
  max-width: var(--decision-detail-image-size);
  max-height: var(--decision-detail-image-size);
  object-fit: contain;
  image-rendering: auto;
  transform: none !important;
}

/* Wide displays keep readable line lengths instead of stretching every detail block. */
#item-improvement .decision-detail-content {
  width: 100%;
  max-width: 1280px;
  min-width: 0;
  margin-right: auto;
  box-sizing: border-box;
}

#item-improvement .decision-detail-panel.is-empty .decision-detail-content {
  display: flex;
  min-height: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

#item-improvement .decision-workbench-assistant-grid,
#item-improvement .decision-workbench-material-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

#item-improvement .decision-workbench-gap-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

@media (max-width: 1100px) {
  #item-improvement .decision-interface-header {
    flex-wrap: wrap;
  }

  #item-improvement .decision-header-primary {
    flex: 1 1 100%;
  }

  #item-improvement .decision-interface-actions {
    width: 100%;
    justify-content: flex-end;
  }
}

/* UI acceptance follow-up: content-tight Today rows, contained evolution cards,
 * and one semantic palette for positive/negative states. */
#item-improvement,
.decision-full-route-dialog,
.decision-prerequisite-route-dialog {
  --decision-positive-rgb: 85, 184, 122;
  --decision-positive-color: #67c587;
  --decision-negative-rgb: 216, 95, 95;
  --decision-negative-color: #e17474;
}

/* Desktop panes and blacklist dialogs expose a stable, visible scrollbar.
 * Both main tabs share the same master/detail panes; all blacklist child
 * dialogs share decision-blacklist-list. */
#item-improvement .decision-master-pane,
#item-improvement .decision-detail-panel,
.decision-blacklist-dialog .decision-blacklist-list {
  scrollbar-width: auto;
  scrollbar-color: rgba(103, 197, 135, 0.82) rgba(127, 127, 127, 0.12);
  scrollbar-gutter: stable;
}

#item-improvement .decision-master-pane,
#item-improvement .decision-detail-panel {
  overflow-y: scroll;
}

.decision-blacklist-dialog .decision-blacklist-list {
  overflow-x: auto;
  overflow-y: scroll;
}

#item-improvement .decision-master-pane::-webkit-scrollbar,
#item-improvement .decision-detail-panel::-webkit-scrollbar,
.decision-blacklist-dialog .decision-blacklist-list::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}

#item-improvement .decision-master-pane::-webkit-scrollbar-track,
#item-improvement .decision-detail-panel::-webkit-scrollbar-track,
.decision-blacklist-dialog .decision-blacklist-list::-webkit-scrollbar-track {
  background: rgba(127, 127, 127, 0.12);
}

#item-improvement .decision-master-pane::-webkit-scrollbar-thumb,
#item-improvement .decision-detail-panel::-webkit-scrollbar-thumb,
.decision-blacklist-dialog .decision-blacklist-list::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 8px;
  background: rgba(103, 197, 135, 0.82);
  background-clip: padding-box;
}

#item-improvement .decision-master-pane::-webkit-scrollbar-thumb:hover,
#item-improvement .decision-detail-panel::-webkit-scrollbar-thumb:hover,
.decision-blacklist-dialog .decision-blacklist-list::-webkit-scrollbar-thumb:hover {
  background: rgba(103, 197, 135, 1);
  background-clip: padding-box;
}

#item-improvement .decision-workbench-route-selector {
  margin: 0;
}

#item-improvement .decision-detail-overview-grid > div.is-positive,
#item-improvement .decision-target-cost-metric.is-positive,
#item-improvement .decision-target-cost-status.is-positive,
#item-improvement .decision-cost-delta.is-positive,
#item-improvement .decision-route-comparison-cell.is-better,
#item-improvement .decision-chain-positive,
.decision-full-route-dialog .decision-route-comparison-cell.is-better,
.decision-full-route-dialog .decision-chain-positive {
  border-color: rgba(var(--decision-positive-rgb), 0.55);
  color: var(--decision-positive-color);
  background: rgba(var(--decision-positive-rgb), 0.12);
}

#item-improvement .decision-detail-overview-grid > div.is-negative,
#item-improvement .decision-target-cost-metric.is-negative,
#item-improvement .decision-target-cost-status.is-negative,
#item-improvement .decision-cost-delta.is-negative,
#item-improvement .decision-route-comparison-cell.is-worse,
#item-improvement .decision-comparison-badge.is-dominated,
.decision-full-route-dialog .decision-route-comparison-cell.is-worse,
.decision-full-route-dialog .decision-comparison-badge.is-dominated {
  border-color: rgba(var(--decision-negative-rgb), 0.62);
  color: var(--decision-negative-color);
  background: rgba(var(--decision-negative-rgb), 0.14);
}

#item-improvement .decision-current-upgrade-quantity {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  white-space: nowrap;
}

#item-improvement .decision-current-upgrade-quantity > span:nth-child(2) {
  opacity: 0.58;
}

/* Shared material primitives: one requirement item and one stage-cost chip.
 * Parent sections keep their own titles, summaries, and layout rules. */
#item-improvement .decision-material-requirement-item,
.decision-full-route-dialog .decision-material-requirement-item,
.decision-material-detail-modal .decision-material-requirement-item {
  display: grid;
  grid-template-columns: var(--improvement-visual-icon-frame-size) minmax(0, 1fr) max-content;
  align-items: center;
  min-width: 0;
  gap: 5px 8px;
  padding: 7px 9px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-material-requirement-item.is-positive,
.decision-full-route-dialog .decision-material-requirement-item.is-positive,
.decision-material-detail-modal .decision-material-requirement-item.is-positive {
  border-color: rgba(var(--decision-positive-rgb), 0.55);
  color: var(--decision-positive-color);
  background: rgba(var(--decision-positive-rgb), 0.12);
}

#item-improvement .decision-material-requirement-item.is-negative,
.decision-full-route-dialog .decision-material-requirement-item.is-negative,
.decision-material-detail-modal .decision-material-requirement-item.is-negative {
  border-color: rgba(var(--decision-negative-rgb), 0.62);
  color: var(--decision-negative-color);
  background: rgba(var(--decision-negative-rgb), 0.14);
}

#item-improvement .decision-material-requirement-item.is-unknown,
.decision-full-route-dialog .decision-material-requirement-item.is-unknown,
.decision-material-detail-modal .decision-material-requirement-item.is-unknown {
  color: inherit;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-material-requirement-item.is-advantage:not(.is-negative),
.decision-full-route-dialog .decision-material-requirement-item.is-advantage:not(.is-negative),
.decision-material-detail-modal .decision-material-requirement-item.is-advantage:not(.is-negative) {
  box-shadow: inset 0 0 0 1px rgba(var(--decision-positive-rgb), 0.36);
}

#item-improvement .decision-material-entry-icon,
.decision-full-route-dialog .decision-material-entry-icon,
.decision-material-detail-modal .decision-material-entry-icon {
  width: var(--improvement-visual-icon-frame-size);
  max-width: 100%;
}

#item-improvement .decision-material-entry-name,
.decision-full-route-dialog .decision-material-entry-name,
.decision-material-detail-modal .decision-material-entry-name {
  min-width: 0;
  font-size: var(--improvement-font-small);
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}

#item-improvement .decision-material-entry-quantity,
.decision-full-route-dialog .decision-material-entry-quantity,
.decision-material-detail-modal .decision-material-entry-quantity,
#item-improvement .decision-material-cost-value,
.decision-full-route-dialog .decision-material-cost-value,
.decision-material-detail-modal .decision-material-cost-value {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  font-size: var(--improvement-font-small);
  white-space: nowrap;
}

#item-improvement .decision-material-entry-quantity,
.decision-full-route-dialog .decision-material-entry-quantity,
.decision-material-detail-modal .decision-material-entry-quantity {
  justify-self: end;
}

#item-improvement .decision-material-cost-value,
.decision-full-route-dialog .decision-material-cost-value {
  margin-left: auto;
}

#item-improvement .decision-material-entry-quantity > span:nth-child(2),
.decision-full-route-dialog .decision-material-entry-quantity > span:nth-child(2),
.decision-material-detail-modal .decision-material-entry-quantity > span:nth-child(2),
#item-improvement .decision-material-cost-value > span:nth-child(2),
.decision-full-route-dialog .decision-material-cost-value > span:nth-child(2),
.decision-material-detail-modal .decision-material-cost-value > span:nth-child(2) {
  opacity: 0.58;
}

#item-improvement .decision-material-cost-chip,
.decision-full-route-dialog .decision-material-cost-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 4px 8px;
  border-radius: 6px;
  color: inherit;
  background: rgba(127, 127, 127, 0.08);
}

#item-improvement .decision-stage-resource-icons {
  align-items: stretch;
}

#item-improvement .decision-stage-resource-cost {
  flex: 0 1 auto;
}

#item-improvement .decision-stage-resource-cost .decision-material-cost-value {
  font-size: var(--improvement-font-body);
}

#item-improvement .decision-current-upgrade-materials > .decision-material-requirement-item,
.decision-material-detail-modal .decision-current-upgrade-materials > .decision-material-requirement-item {
  width: auto;
  min-width: 0;
}

#item-improvement .decision-target-material-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 7px;
}


/* Plan-target total consumption is a fixed three-profile comparison:
 * minimum improvement materials, normal, and guaranteed. Parent groups differ while
 * every material row reuses the shared requirement item. */
#item-improvement .decision-target-cost-overview {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  align-items: stretch;
  gap: 9px;
  margin-bottom: 9px;
}

#item-improvement .decision-target-cost-overview .decision-target-cost-metric {
  width: 100%;
}

#item-improvement .decision-target-starting-equipment {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-target-starting-equipment > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

#item-improvement .decision-target-starting-equipment > header > span {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

#item-improvement .decision-target-starting-equipment > header > span.is-positive {
  color: var(--decision-positive-color);
}

#item-improvement .decision-target-starting-equipment > header > span.is-negative {
  color: var(--decision-negative-color);
}

#item-improvement .decision-target-starting-equipment-list {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 7px;
}

#item-improvement .decision-target-starting-equipment-item {
  display: grid;
  min-width: min(100%, 260px);
  max-width: 100%;
  grid-template-columns: var(--improvement-visual-icon-frame-size) minmax(0, 1fr) max-content;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.04);
}

#item-improvement .decision-target-starting-equipment-item > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

#item-improvement .decision-target-starting-equipment-item > strong {
  white-space: nowrap;
}

@media (max-width: 980px) {
  #item-improvement .decision-target-cost-overview {
    grid-template-columns: 1fr;
  }
}

#item-improvement .decision-target-cost-profiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 9px;
  overflow-x: auto;
  padding-bottom: 2px;
}

#item-improvement .decision-target-cost-profile {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-target-cost-profile > h5 {
  margin: 0;
  padding: 9px 10px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
  font-size: var(--improvement-font-title);
  font-weight: 700;
}

#item-improvement .decision-target-cost-profile-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  padding: 9px;
}

#item-improvement .decision-target-cost-profile-grid > .decision-material-requirement-item {
  min-height: 64px;
}

/* Upgrade-stage contract: requirement items use only the width their content needs. */
#item-improvement .decision-stage-consumable-requirement {
  width: max-content;
  max-width: 100%;
}

/* Upgrade-route planning lives inside total consumption and gaps.
 * The nested workspace follows the same list + detail interaction as the main UI. */
#item-improvement .decision-total-cost-planner-section {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 12px;
}

#item-improvement .decision-route-planner-state {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(76, 146, 210, 0.42);
  border-radius: 7px;
  background: rgba(76, 146, 210, 0.07);
}

#item-improvement .decision-route-planner-state > header,
#item-improvement .decision-route-planner-state > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
}

#item-improvement .decision-route-planner-state > header {
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
}

#item-improvement .decision-route-planner-state > header small,
#item-improvement .decision-route-planner-state > div span {
  opacity: 0.74;
}

#item-improvement .decision-route-planner-state.is-warning {
  border-color: rgba(197, 142, 57, 0.55);
  background: rgba(197, 142, 57, 0.08);
}

#item-improvement .decision-route-planner {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(210px, 260px) minmax(520px, 1fr);
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
}

#item-improvement .decision-route-planner-list,
#item-improvement .decision-route-planner-detail {
  min-width: 0;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.025);
}

#item-improvement .decision-route-planner-list {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#item-improvement .decision-route-planner-list > header,
#item-improvement .decision-route-planner-detail > header {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
  padding: 9px 10px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
}

#item-improvement .decision-route-planner-list > header small,
#item-improvement .decision-route-planner-detail > header span {
  opacity: 0.72;
}

#item-improvement .decision-route-planner-list > div {
  display: flex;
  min-height: 0;
  max-height: 560px;
  flex-direction: column;
  gap: 6px;
  overflow-y: auto;
  scrollbar-gutter: stable;
  padding: 8px;
}

#item-improvement .decision-route-planner-plan {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 6px;
  color: inherit;
  text-align: left;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-route-planner-plan:hover,
#item-improvement .decision-route-planner-plan:focus {
  border-color: rgba(76, 146, 210, 0.62);
  outline: 0;
  background: rgba(76, 146, 210, 0.08);
}

#item-improvement .decision-route-planner-plan.is-selected {
  border-color: rgba(76, 146, 210, 0.9);
  box-shadow: inset 3px 0 rgba(76, 146, 210, 0.9);
  background: rgba(76, 146, 210, 0.12);
}

#item-improvement .decision-route-planner-plan > span:first-child,
#item-improvement .decision-route-planner-plan > span:last-child {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

#item-improvement .decision-route-planner-plan > span:first-child {
  justify-content: space-between;
}

#item-improvement .decision-route-planner-plan > span:first-child small {
  opacity: 0.72;
}

#item-improvement .decision-route-planner-plan > span:last-child {
  display: grid;
  grid-template-columns: var(--improvement-visual-icon-frame-size) minmax(0, 1fr) max-content;
  gap: 6px;
}

#item-improvement .decision-route-planner-plan > span:last-child > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

#item-improvement .decision-route-planner-plan > span:last-child > small {
  grid-column: 2 / -1;
  opacity: 0.72;
}

#item-improvement .decision-route-planner-plan > span:last-child.is-positive strong {
  color: var(--decision-positive-color);
}

#item-improvement .decision-route-planner-plan > span:last-child.is-negative strong {
  color: var(--decision-negative-color);
}

#item-improvement .decision-route-planner-detail {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#item-improvement .decision-route-planner-families {
  display: flex;
  min-height: 0;
  max-height: 720px;
  flex-direction: column;
  gap: 9px;
  overflow-y: auto;
  scrollbar-gutter: stable;
  padding: 9px;
}

#item-improvement .decision-route-planner-family {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 9px;
  padding: 9px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.035);
}

#item-improvement .decision-route-planner-family.is-selected {
  border-color: rgba(76, 146, 210, 0.9);
  box-shadow: inset 3px 0 rgba(76, 146, 210, 0.9);
}

#item-improvement .decision-route-planner-family > header,
#item-improvement .decision-route-planner-family > footer {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
}

#item-improvement .decision-route-planner-family-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

#item-improvement .decision-route-planner-family > footer small {
  min-width: 0;
  opacity: 0.72;
}

#item-improvement .decision-route-planning-empty {
  margin-top: 0;
}

#item-improvement .decision-route-planner-direct-only {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(76, 146, 210, 0.42);
  border-radius: 7px;
  background: rgba(76, 146, 210, 0.07);
}

#item-improvement .decision-route-planner-direct-only > span {
  opacity: 0.74;
}

#item-improvement .decision-local-route-planner {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
}

/* Current-equipment route is the upstream control for assistant ships and stages. */
#item-improvement .decision-local-route-section {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

/* The total-cost section keeps only a compact prerequisite-route summary.
 * Full planning uses a large modal so complete chains and cost columns are not compressed. */
#item-improvement .decision-route-planner-launcher {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(76, 146, 210, 0.42);
  border-radius: 7px;
  background: rgba(76, 146, 210, 0.07);
}

#item-improvement .decision-route-planner-launcher.is-unreachable {
  border-color: rgba(197, 142, 57, 0.55);
  background: rgba(197, 142, 57, 0.08);
}

#item-improvement .decision-route-planner-launcher-copy {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 4px;
}

#item-improvement .decision-route-planner-launcher-copy > header {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

#item-improvement .decision-route-planner-launcher-copy > header > span,
#item-improvement .decision-route-planner-launcher-copy > span {
  opacity: 0.74;
}

#item-improvement .decision-route-planner-launcher > .btn {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
}

.decision-prerequisite-route-dialog {
  width: 92vw !important;
  height: 88vh;
  min-width: 820px;
  min-height: 600px;
  max-width: calc(100vw - 18px) !important;
  max-height: calc(100vh - 18px);
  margin: 9px auto !important;
  overflow: hidden;
}

.decision-prerequisite-route-dialog.is-maximized {
  width: calc(100vw - 12px) !important;
  height: calc(100vh - 12px) !important;
  max-width: none !important;
  max-height: none;
  margin: 6px !important;
}

.decision-prerequisite-route-dialog > .modal-content {
  display: flex;
  height: 100%;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

.decision-prerequisite-route-dialog .modal-header,
.decision-prerequisite-route-dialog .modal-footer {
  flex: 0 0 auto;
}

.decision-prerequisite-route-dialog .decision-prerequisite-route-titlebar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-right: 26px;
}

.decision-prerequisite-route-dialog .decision-prerequisite-route-titlebar .modal-title {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-prerequisite-route-dialog .decision-prerequisite-route-titlebar .btn {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
}

.decision-prerequisite-route-dialog .decision-prerequisite-route-modal {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  overflow: hidden;
  padding: 10px;
}

.decision-prerequisite-route-dialog .decision-prerequisite-route-progress {
  margin-right: auto;
  font-weight: 700;
}

.decision-prerequisite-route-dialog .decision-prerequisite-route-resize-hint {
  opacity: 0.68;
}

.decision-prerequisite-route-dialog .decision-route-planner {
  display: grid;
  min-width: 0;
  min-height: 0;
  height: 100%;
  flex: 1 1 auto;
  grid-template-columns: minmax(230px, 290px) minmax(600px, 1fr);
  gap: 10px;
  overflow: hidden;
}

.decision-prerequisite-route-dialog .decision-route-planner-list,
.decision-prerequisite-route-dialog .decision-route-planner-detail {
  min-width: 0;
  min-height: 0;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.025);
}

.decision-prerequisite-route-dialog .decision-route-planner-list {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.decision-prerequisite-route-dialog .decision-route-planner-list > header,
.decision-prerequisite-route-dialog .decision-route-planner-detail > header {
  display: flex;
  min-width: 0;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 3px;
  padding: 9px 10px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
}

.decision-prerequisite-route-dialog .decision-route-planner-list > header small,
.decision-prerequisite-route-dialog .decision-route-planner-detail > header span {
  opacity: 0.72;
}

.decision-prerequisite-route-dialog .decision-route-planner-list > div {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 6px;
  overflow-y: scroll;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
  padding: 8px;
}

.decision-prerequisite-route-dialog .decision-route-planner-plan {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 6px;
  color: inherit;
  text-align: left;
  background: rgba(127, 127, 127, 0.035);
}

.decision-prerequisite-route-dialog .decision-route-planner-plan:hover,
.decision-prerequisite-route-dialog .decision-route-planner-plan:focus {
  border-color: rgba(76, 146, 210, 0.62);
  outline: 0;
  background: rgba(76, 146, 210, 0.08);
}

.decision-prerequisite-route-dialog .decision-route-planner-plan.is-selected {
  border-color: rgba(76, 146, 210, 0.9);
  box-shadow: inset 3px 0 rgba(76, 146, 210, 0.9);
  background: rgba(76, 146, 210, 0.12);
}

.decision-prerequisite-route-dialog .decision-route-planner-plan > span:first-child,
.decision-prerequisite-route-dialog .decision-route-planner-plan > span:last-child {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.decision-prerequisite-route-dialog .decision-route-planner-plan > span:first-child {
  justify-content: space-between;
}

.decision-prerequisite-route-dialog .decision-route-planner-plan > span:first-child small {
  opacity: 0.72;
}

.decision-prerequisite-route-dialog .decision-route-planner-plan > span:last-child {
  display: grid;
  grid-template-columns: var(--improvement-visual-icon-frame-size) minmax(0, 1fr) max-content;
  gap: 6px;
}

.decision-prerequisite-route-dialog .decision-route-planner-plan > span:last-child > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.decision-prerequisite-route-dialog .decision-route-planner-plan > span:last-child > small {
  grid-column: 2 / -1;
  opacity: 0.72;
}

.decision-prerequisite-route-dialog .decision-route-planner-plan > span:last-child.is-positive strong,
.decision-prerequisite-route-dialog .decision-route-planner-node.is-positive .decision-visual-node-level {
  color: var(--decision-positive-color);
}

.decision-prerequisite-route-dialog .decision-route-planner-plan > span:last-child.is-negative strong,
.decision-prerequisite-route-dialog .decision-route-planner-node.is-negative .decision-visual-node-level {
  color: var(--decision-negative-color);
}

.decision-prerequisite-route-dialog .decision-route-planner-detail {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.decision-prerequisite-route-dialog .decision-route-planner-families {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 9px;
  overflow-y: scroll;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
  padding: 9px;
}

.decision-prerequisite-route-dialog .decision-route-planner-family {
  display: flex;
  min-width: 0;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 9px;
  padding: 9px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.035);
}

.decision-prerequisite-route-dialog .decision-route-planner-family.is-selected {
  border-color: rgba(76, 146, 210, 0.9);
  box-shadow: inset 3px 0 rgba(76, 146, 210, 0.9);
}

.decision-prerequisite-route-dialog .decision-route-planner-family > header,
.decision-prerequisite-route-dialog .decision-route-planner-family > footer {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
}

.decision-prerequisite-route-dialog .decision-route-planner-family-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

.decision-prerequisite-route-dialog .decision-route-planner-family > footer small {
  min-width: 0;
  opacity: 0.72;
}

.decision-prerequisite-route-dialog .decision-route-planner-flow {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.decision-prerequisite-route-dialog .decision-route-planner-node {
  flex: 0 0 auto;
  border: 1px solid transparent;
  border-radius: 6px;
}

.decision-prerequisite-route-dialog .decision-route-planner-node.is-positive {
  border-color: color-mix(in srgb, var(--decision-positive-color) 55%, transparent);
}

.decision-prerequisite-route-dialog .decision-route-planner-node.is-negative {
  border-color: color-mix(in srgb, var(--decision-negative-color) 55%, transparent);
}

.decision-prerequisite-route-dialog .decision-route-cost-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}


.decision-prerequisite-route-dialog .decision-route-planner-preparing {
  display: flex;
  min-height: 260px;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 24px;
  text-align: left;
}

.decision-prerequisite-route-dialog .decision-route-planner-preparing-icon {
  flex: 0 0 auto;
  font-size: 28px;
  animation: decision-route-planner-spin 0.9s linear infinite;
}

.decision-prerequisite-route-dialog .decision-route-planner-preparing > div {
  display: flex;
  max-width: 520px;
  flex-direction: column;
  gap: 5px;
}

.decision-prerequisite-route-dialog .decision-route-planner-preparing > div > span {
  opacity: 0.72;
}

@keyframes decision-route-planner-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 900px) {
  #item-improvement .decision-route-planner-launcher {
    align-items: stretch;
    flex-direction: column;
  }

  #item-improvement .decision-route-planner-launcher > .btn {
    justify-content: center;
  }

  .decision-prerequisite-route-dialog {
    width: calc(100vw - 12px) !important;
    height: calc(100vh - 12px);
    min-width: 0;
    min-height: 0;
    margin: 6px !important;
  }

  .decision-prerequisite-route-dialog .decision-route-planner {
    grid-template-columns: minmax(200px, 240px) minmax(520px, 1fr);
    overflow-x: auto;
  }
}

/* Prerequisite planner visual contract.
 * Every upgrade step is one explicit A → B transition. Materials reuse the
 * shared MaterialCostChip primitive below the transition instead of appearing
 * as fake nodes in the equipment chain. The modal is rendered through a
 * body-level portal, so the reused visual primitives are scoped here too. */
.decision-prerequisite-route-dialog .decision-route-planner-steps {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  align-items: start;
  gap: 9px;
}

.decision-prerequisite-route-dialog .decision-route-planner-step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  padding: 9px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.035);
}

.decision-prerequisite-route-dialog .decision-route-planner-step > header {
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.18);
}

.decision-prerequisite-route-dialog .decision-route-planner-transition {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(150px, 1fr) 46px minmax(150px, 1fr);
  align-items: center;
  gap: 8px;
}

.decision-prerequisite-route-dialog .decision-route-planner-transition-endpoint {
  min-width: 0;
  height: 100%;
  border: 1px solid transparent;
  border-radius: 7px;
}

.decision-prerequisite-route-dialog .decision-route-planner-transition-endpoint.is-positive {
  border-color: rgba(var(--decision-positive-rgb), 0.58);
}

.decision-prerequisite-route-dialog .decision-route-planner-transition-endpoint.is-negative {
  border-color: rgba(var(--decision-negative-rgb), 0.62);
}

.decision-prerequisite-route-dialog .decision-route-planner-transition-endpoint.is-positive .decision-visual-node-level {
  color: var(--decision-positive-color);
}

.decision-prerequisite-route-dialog .decision-route-planner-transition-endpoint.is-negative .decision-visual-node-level {
  color: var(--decision-negative-color);
}

.decision-prerequisite-route-dialog .decision-route-planner-transition-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #45a9a5;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 0 12px rgba(69, 169, 165, 0.24);
}

.decision-prerequisite-route-dialog .decision-route-planner-step-materials {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
  padding-top: 7px;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
}

.decision-prerequisite-route-dialog .decision-route-planner-step-materials > small {
  opacity: 0.72;
  font-weight: 700;
}

.decision-prerequisite-route-dialog .decision-route-planner-step-materials > div {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 6px;
}

.decision-prerequisite-route-dialog .decision-visual-node {
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  padding: 6px;
  overflow: visible;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.055);
}

.decision-prerequisite-route-dialog .decision-visual-node.is-current {
  border-color: rgba(69, 169, 165, 0.58);
  background: rgba(69, 169, 165, 0.11);
}

.decision-prerequisite-route-dialog .decision-visual-node-artwork {
  align-self: center;
  flex: 0 0 auto;
  max-width: 100%;
  overflow: hidden;
}

.decision-prerequisite-route-dialog .decision-equipment-card-asset {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  background: rgba(127, 127, 127, 0.045);
}

.decision-prerequisite-route-dialog .decision-visual-node-copy {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  margin-top: 5px;
  overflow: visible;
  text-align: center;
}

.decision-prerequisite-route-dialog .decision-visual-node-copy strong,
.decision-prerequisite-route-dialog .decision-visual-node-copy small {
  overflow: visible;
  max-width: none;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}

.decision-prerequisite-route-dialog .decision-visual-node-copy strong {
  font-size: var(--improvement-font-body);
  line-height: 1.35;
}

.decision-prerequisite-route-dialog .decision-visual-node-copy small {
  margin-top: 2px;
  color: #45a9a5;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
}

.decision-prerequisite-route-dialog .decision-visual-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--improvement-visual-icon-frame-size);
  height: var(--improvement-visual-icon-frame-size);
  flex: 0 0 var(--improvement-visual-icon-frame-size);
  min-width: var(--improvement-visual-icon-frame-size);
  min-height: var(--improvement-visual-icon-frame-size);
  overflow: hidden;
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.045);
}

.decision-prerequisite-route-dialog .decision-visual-icon__image {
  display: block;
  object-fit: contain;
  margin: auto;
}

.decision-prerequisite-route-dialog .decision-visual-icon--equipment-type .decision-visual-icon__image {
  width: var(--improvement-equipment-type-icon-max-size) !important;
  height: var(--improvement-equipment-type-icon-max-size) !important;
}

.decision-prerequisite-route-dialog .decision-visual-icon--useitem .decision-visual-icon__image {
  width: var(--improvement-useitem-icon-max-size) !important;
  height: var(--improvement-useitem-icon-max-size) !important;
}

.decision-prerequisite-route-dialog .decision-visual-icon--resource .decision-visual-icon__image {
  width: var(--improvement-resource-icon-max-size) !important;
  height: var(--improvement-resource-icon-max-size) !important;
}

.decision-prerequisite-route-dialog .decision-material-cost-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 4px 8px;
  border-radius: 6px;
  color: inherit;
  background: rgba(127, 127, 127, 0.08);
}

.decision-prerequisite-route-dialog .decision-material-cost-chip.has-label {
  display: grid;
  width: 100%;
  grid-template-columns: var(--improvement-visual-icon-frame-size) minmax(0, 1fr) max-content;
}

.decision-prerequisite-route-dialog .decision-material-cost-label {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--improvement-font-small);
  line-height: 1.25;
}

.decision-prerequisite-route-dialog .decision-material-cost-value {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  margin-left: auto;
  font-size: var(--improvement-font-small);
  white-space: nowrap;
}

.decision-prerequisite-route-dialog .decision-material-cost-value > span:nth-child(2) {
  opacity: 0.58;
}

.decision-prerequisite-route-dialog .decision-route-cost-table {
  width: 100%;
  min-width: 620px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--improvement-font-body);
}

.decision-prerequisite-route-dialog .decision-route-cost-table th,
.decision-prerequisite-route-dialog .decision-route-cost-table td {
  box-sizing: border-box;
  min-width: 0;
  padding: 5px 6px;
  border-right: 1px solid rgba(127, 127, 127, 0.16);
  border-bottom: 1px solid rgba(127, 127, 127, 0.16);
  text-align: center;
  vertical-align: middle;
}

.decision-prerequisite-route-dialog .decision-route-cost-table thead th {
  background: rgba(127, 127, 127, 0.09);
  white-space: nowrap;
}

.decision-prerequisite-route-dialog .decision-route-cost-table thead th:first-child,
.decision-prerequisite-route-dialog .decision-route-cost-table tbody th {
  width: 170px;
}

.decision-prerequisite-route-dialog .decision-route-cost-table tbody th {
  text-align: left;
}

.decision-prerequisite-route-dialog .decision-route-cost-table td.is-lowest,
.decision-prerequisite-route-dialog .decision-route-cost-material.is-lowest {
  color: var(--decision-positive-color);
  background: rgba(var(--decision-positive-rgb), 0.11);
}

.decision-prerequisite-route-dialog .decision-route-cost-materials {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.decision-prerequisite-route-dialog .decision-route-cost-material {
  width: 100%;
}

.decision-prerequisite-route-dialog .decision-route-cost-empty {
  opacity: 0.62;
}

@media (max-width: 1100px) {
  .decision-prerequisite-route-dialog .decision-route-planner-steps {
    grid-template-columns: minmax(420px, 1fr);
  }
}

#item-improvement .decision-workbench-open-plan-button {
  align-self: flex-start;
  margin-top: 8px;
}

#item-improvement .decision-workbench-prerequisite-route-section .decision-workbench-open-plan-button {
  min-width: 220px;
  padding: 10px 18px;
  font-size: 16px;
  font-weight: 700;
}

#item-improvement .decision-equipment-chain-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

#item-improvement .decision-equipment-chain-actions .glyphicon,
#item-improvement .decision-workbench-open-plan-button .glyphicon {
  margin-right: 6px;
}

/* Compact Current Start candidate occurrences.
 * One card represents one selectable start + complete remaining suffix facts.
 * The visual flow projects only critical states; cost calculation still consumes
 * every atomic operation in the suffix. */
.decision-prerequisite-route-dialog .decision-route-planner-family {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
}

.decision-prerequisite-route-dialog .decision-route-planner-route-row,
.decision-prerequisite-route-dialog .decision-route-planner-cost-row {
  width: 100%;
  min-width: 0;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-summary {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  padding: 7px 0 9px;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-summary > strong {
  color: #8fa8b4;
  font-size: var(--improvement-font-small);
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-summary > div {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 5px;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-kind {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(69, 169, 165, 0.12);
  color: #67c6c1;
  font-size: var(--improvement-font-small);
  font-weight: 700;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-summary .glyphicon {
  margin-left: 5px;
}

.decision-prerequisite-route-dialog .decision-route-planner-route-row {
  overflow-x: auto;
  scrollbar-gutter: stable;
  padding: 2px 0 8px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.18);
}

.decision-prerequisite-route-dialog .decision-route-planner-cost-row {
  padding-top: 1px;
}

.decision-prerequisite-route-dialog .decision-route-planner-current-path {
  min-width: max-content;
}

.decision-prerequisite-route-dialog .decision-route-planner-current-path .decision-equipment-flow {
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-width: max-content;
}

.decision-prerequisite-route-dialog .decision-route-planner-current-path .decision-visual-node {
  width: 168px;
  flex: 0 0 168px;
}

.decision-prerequisite-route-dialog .decision-route-planner-current-path .decision-flow-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  color: #45a9a5;
  opacity: 0.82;
}

.decision-prerequisite-route-dialog .decision-route-planner-current-path .decision-equipment-flow > .decision-visual-node:last-child {
  border-color: rgba(var(--decision-positive-rgb), 0.58);
}

.decision-prerequisite-route-dialog .decision-route-planner-current-path .decision-equipment-flow > .decision-visual-node:last-child .decision-visual-node-level {
  color: var(--decision-positive-color);
}

.decision-prerequisite-route-dialog .decision-route-planner-cost-row .decision-route-cost-table-wrap {
  width: 100%;
  max-width: none;
  overflow-x: auto;
  scrollbar-gutter: stable;
}

.decision-prerequisite-route-dialog .decision-route-cost-table {
  margin-bottom: 0;
}

.decision-prerequisite-route-dialog .decision-route-planner-list > div::-webkit-scrollbar,
.decision-prerequisite-route-dialog .decision-route-planner-families::-webkit-scrollbar,
.decision-prerequisite-route-dialog .decision-route-planner-route-row::-webkit-scrollbar,
.decision-prerequisite-route-dialog .decision-route-planner-cost-row .decision-route-cost-table-wrap::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.decision-prerequisite-route-dialog .decision-route-planner-list > div::-webkit-scrollbar-thumb,
.decision-prerequisite-route-dialog .decision-route-planner-families::-webkit-scrollbar-thumb,
.decision-prerequisite-route-dialog .decision-route-planner-route-row::-webkit-scrollbar-thumb,
.decision-prerequisite-route-dialog .decision-route-planner-cost-row .decision-route-cost-table-wrap::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.45);
  background-clip: padding-box;
}

/* 1.0.1031: common acquisition alternatives are strategy branches, not owned starts. */
#item-improvement .decision-route-planner-acquisition-alternatives,
.decision-prerequisite-route-dialog .decision-route-planner-acquisition-alternatives {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid rgba(127, 127, 127, 0.22);
  background: rgba(127, 127, 127, 0.04);
}

#item-improvement .decision-route-planner-acquisition-alternatives > header,
.decision-prerequisite-route-dialog .decision-route-planner-acquisition-alternatives > header,
#item-improvement .decision-route-planner-acquisition-alternative > header,
.decision-prerequisite-route-dialog .decision-route-planner-acquisition-alternative > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

#item-improvement .decision-route-planner-acquisition-alternative,
.decision-prerequisite-route-dialog .decision-route-planner-acquisition-alternative {
  display: grid;
  gap: 8px;
  padding: 9px 10px;
  border: 1px dashed rgba(92, 184, 92, 0.55);
  border-radius: 6px;
}

/* 1.0.1032: real owned staged starts stay visible as current-path backups. */
#item-improvement .decision-route-planner-current-alternatives,
.decision-prerequisite-route-dialog .decision-route-planner-current-alternatives {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid rgba(127, 127, 127, 0.22);
  background: rgba(76, 146, 210, 0.035);
}

#item-improvement .decision-route-planner-current-alternatives > header,
.decision-prerequisite-route-dialog .decision-route-planner-current-alternatives > header,
#item-improvement .decision-route-planner-current-alternative > header,
.decision-prerequisite-route-dialog .decision-route-planner-current-alternative > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

#item-improvement .decision-route-planner-current-alternative,
.decision-prerequisite-route-dialog .decision-route-planner-current-alternative {
  display: grid;
  gap: 8px;
  padding: 9px 10px;
  border: 1px dashed rgba(76, 146, 210, 0.55);
  border-radius: 6px;
}

/* 1.0.1037 corrected Plan scope: priority exists only inside one Item. */
#item-improvement .decision-current-plan-goal.is-priority {
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  cursor: grab;
}

#item-improvement .decision-current-plan-goal.is-priority:active {
  cursor: grabbing;
}

#item-improvement .decision-current-plan-goal.is-priority.is-dragging {
  opacity: 0.58;
}

#item-improvement .decision-plan-priority-handle {
  color: #45a9a5;
  font-size: var(--improvement-font-caption);
}

#item-improvement .decision-plan-priority-index {
  min-width: 18px;
  color: #45a9a5;
  font-size: var(--improvement-font-caption);
  font-weight: 800;
  text-align: center;
}

/* Today stays Item-oriented: one clickable Item row, no Plan-copy rail. */
#item-improvement .decision-equipment-row.is-workbench {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-height: 68px;
  padding: var(--decision-density-card-padding);
  overflow: visible;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-icon {
  margin-right: 9px;
}

/* 1.0.1040: missing equipment materials can open a temporary acquisition drill-down. */
#item-improvement .decision-material-requirement-item.is-clickable,
.decision-material-detail-modal .decision-material-requirement-item.is-clickable {
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

#item-improvement .decision-material-requirement-item.is-clickable:hover,
#item-improvement .decision-material-requirement-item.is-clickable:focus,
.decision-material-detail-modal .decision-material-requirement-item.is-clickable:hover,
.decision-material-detail-modal .decision-material-requirement-item.is-clickable:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(76, 146, 210, 0.28);
}

.decision-material-detail-modal {
  width: min(760px, calc(100vw - 40px));
  max-width: none;
}


.decision-prerequisite-route-dialog .decision-route-planner-acquisition-detail > header {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.decision-route-planner-acquisition-detail-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.decision-route-planner-acquisition-detail-title > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.decision-route-planner-acquisition-detail-title small {
  opacity: 0.72;
}

.decision-route-planner-acquisition-detail-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 10px;
}

.decision-acquisition-source-detail {
  display: grid;
  gap: 8px;
}

.decision-acquisition-source-detail > h5 {
  margin: 0 0 2px;
}

.decision-acquisition-source-detail-row {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.05);
}

.decision-acquisition-source-detail-row > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.decision-acquisition-source-detail-row > div > span {
  opacity: 0.72;
}

.decision-material-detail-modal .modal-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.decision-material-context-summary,
.decision-material-source-section,
.decision-material-route-section,
.decision-material-today-detail {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.decision-material-context-summary > span {
  opacity: 0.68;
}

.decision-material-source-search {
  width: min(420px, 100%);
}

.decision-material-route-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.decision-material-current-equipment {
  display: flex;
  align-items: center;
  gap: 8px;
}

.decision-material-current-equipment > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.decision-material-current-equipment > div > span {
  font-size: var(--improvement-font-caption);
  opacity: 0.68;
}

/* 1.0.1042: temporary Material plans reuse the resolved Workbench execution facts. */
.decision-material-execution-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr);
  gap: 10px;
}

.decision-material-execution-grid > div {
  min-width: 0;
}

.decision-material-execution-grid > div > h5 {
  margin: 0 0 6px;
}

@media (max-width: 720px) {
  .decision-material-execution-grid {
    grid-template-columns: 1fr;
  }
}

/* Current Start presentation keeps the complete state path for calculation but
 * only promotes Current/upgrade/final states visually. Operation conditions
 * remain visible because they may distinguish otherwise identical transitions. */
.decision-prerequisite-route-dialog .decision-route-planner-critical-operations {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 7px;
}

.decision-prerequisite-route-dialog .decision-route-planner-critical-operation {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  padding: 6px 8px;
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.06);
}

.decision-prerequisite-route-dialog .decision-route-planner-critical-operation small {
  opacity: 0.78;
}

.decision-prerequisite-route-dialog .decision-unresolved-current-start-explanation {
  flex: 0 0 auto;
  padding: 9px 12px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.18);
}

.decision-prerequisite-route-dialog .decision-unresolved-current-start-explanation p {
  margin: 4px 0 0;
  opacity: 0.78;
}

/* 1.0.1065: Today list uses one stable visual grid. Two tag slots are reserved
 * even when empty so icon/name alignment never changes with row state. */
#item-improvement .decision-equipment-row.is-workbench {
  grid-template-columns: 42px minmax(0, 1fr) 76px;
  column-gap: 10px;
  align-items: center;
  height: 64px;
  min-height: 64px;
  padding: 7px 10px;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-icon {
  margin: 0;
  align-self: center;
  justify-self: center;
}

#item-improvement .decision-equipment-row.is-workbench .decision-workbench-tag-column {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  width: 76px;
  min-width: 76px;
  height: 42px;
  min-height: 42px;
  margin: 0;
}

#item-improvement .decision-equipment-row.is-workbench .decision-workbench-tag-column .decision-pill {
  max-width: 76px;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-equipment-row.is-workbench .decision-workbench-name-column {
  display: flex;
  min-width: 0;
  height: 100%;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  min-width: 0;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Current improvement identity stays beside the large equipment artwork.
 * Header tools own a stable top-right column, while plan references may grow
 * vertically without pushing the tools onto a later flex line. */
#item-improvement .decision-detail-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) max-content;
  grid-template-areas: "artwork heading tools";
  align-items: start;
  gap: 12px;
}

#item-improvement .decision-detail-header.has-related-plans {
  grid-template-columns: auto minmax(180px, 0.9fr) minmax(180px, 1.1fr) max-content;
  grid-template-areas: "artwork heading related tools";
}

#item-improvement .decision-detail-artwork {
  grid-area: artwork;
  margin-right: 0;
}

#item-improvement .decision-detail-heading-copy {
  grid-area: heading;
  min-width: 0;
}


#item-improvement .decision-detail-show-parent-plans {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  font-size: var(--improvement-font-small);
  font-weight: 600;
  cursor: pointer;
}

#item-improvement .decision-detail-show-parent-plans input {
  margin: 0;
}

#item-improvement .decision-detail-related-plans {
  display: grid;
  grid-area: related;
  gap: 7px;
  min-width: 180px;
  margin-left: 16px;
}

#item-improvement .decision-detail-related-plan-group {
  display: grid;
  gap: 5px;
}

#item-improvement .decision-detail-related-plan-group-label {
  width: fit-content;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(103, 198, 193, 0.09);
  color: #67c6c1;
  font-size: var(--improvement-font-small);
  font-weight: 700;
  line-height: 1.5;
}

#item-improvement .decision-detail-related-plan-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 7px 8px;
}

#item-improvement .decision-detail-related-plan {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.09);
  white-space: nowrap;
}

#item-improvement .decision-detail-related-plan strong {
  font-size: var(--improvement-font-body-large);
  font-weight: 700;
}

#item-improvement .decision-detail-related-plan.is-consumable {
  background: rgba(69, 169, 165, 0.1);
}

#item-improvement .decision-detail-consumable-plan-reference {
  display: grid;
  align-content: start;
  gap: 3px;
  min-width: max-content;
}

#item-improvement .decision-detail-consumable-plan-reference .decision-detail-related-plan-parent {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px 0 10px;
  color: #c8d2d7;
  font-size: var(--improvement-font-body-large);
  font-weight: 650;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
}

#item-improvement .decision-detail-related-plan-parent-arrow {
  color: #67c6c1;
  font-weight: 700;
}

@media (max-width: 760px) {
  #item-improvement .decision-detail-related-plans {
    width: calc(100% - 137px);
    margin-left: 137px;
  }
}

/* Acquisition Current Starts remain actionable Today work. Since 1.0.1084,
 * resolved equipment × exact-star is already sufficient for normal Plan detail;
 * concrete inventory is only an optional Reality overlay. */
#item-improvement .decision-workbench-acquisition-source-list {
  margin: 6px 0 0;
  padding-left: 18px;
}

#item-improvement .decision-workbench-acquisition-source-list li + li {
  margin-top: 3px;
}

/* 1.0.1082: equipment-local Plan management stays compact inside the library detail. */
#item-improvement .decision-equipment-plan-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#item-improvement .decision-equipment-plan-row {
  display: grid;
  grid-template-columns: minmax(96px, auto) minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 4px;
}

#item-improvement .decision-equipment-plan-start {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-equipment-plan-add {
  display: grid;
  grid-template-columns: minmax(100px, 140px) minmax(72px, 96px) auto;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

@media (max-width: 760px) {
  #item-improvement .decision-equipment-plan-row,
  #item-improvement .decision-equipment-plan-add {
    grid-template-columns: 1fr;
  }
}

/* Related Plan occurrences are real selectors. Plan occurrence identity stays
 * independent even where a different Today summary projection shows quantities. */
#item-improvement button.decision-detail-related-plan.is-selectable {
  border: 1px solid rgba(127, 127, 127, 0.18);
  color: inherit;
  font: inherit;
  cursor: pointer;
}

#item-improvement button.decision-detail-related-plan.is-selectable:hover,
#item-improvement button.decision-detail-related-plan.is-selectable:focus {
  border-color: rgba(103, 198, 193, 0.58);
  outline: none;
}

#item-improvement button.decision-detail-related-plan.is-selectable.is-selected {
  border-color: rgba(103, 198, 193, 0.86);
  background: rgba(103, 198, 193, 0.16);
}

/* 1.0.1085: Today names are vertically centered as one stable row identity. */
#item-improvement .decision-equipment-row.is-workbench .decision-workbench-name-column,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  height: 100%;
  align-items: center;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  line-height: 1.25;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-name-main,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-name-qualifier {
  display: inline-flex;
  align-items: center;
}

/* Plan Equipment-Star Chain: one Plan occurrence, exact equipment + star nodes. */
#item-improvement .decision-plan-star-chain,
.decision-prerequisite-route-dialog .decision-plan-star-chain {
  display: grid;
  gap: 14px;
}

#item-improvement .decision-plan-star-chain-flow,
.decision-prerequisite-route-dialog .decision-plan-star-chain-flow {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 10px;
  padding: 4px 2px 8px;
  overflow-x: auto;
  overflow-y: hidden;
}

#item-improvement .decision-plan-star-node,
.decision-prerequisite-route-dialog .decision-plan-star-node {
  display: grid;
  flex: 0 0 148px;
  justify-items: center;
  gap: 6px;
  min-width: 148px;
  padding: 9px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.055);
  text-align: center;
}

#item-improvement .decision-plan-star-node.is-start,
.decision-prerequisite-route-dialog .decision-plan-star-node.is-start {
  border-color: rgba(69, 169, 165, 0.5);
  background: rgba(69, 169, 165, 0.08);
}

#item-improvement .decision-plan-star-node.is-target,
.decision-prerequisite-route-dialog .decision-plan-star-node.is-target {
  border-color: rgba(76, 146, 210, 0.5);
  background: rgba(76, 146, 210, 0.08);
}

#item-improvement .decision-plan-star-node-role,
.decision-prerequisite-route-dialog .decision-plan-star-node-role {
  min-height: 18px;
  color: #8fa8b4;
  font-size: var(--improvement-font-caption);
  font-weight: 700;
}

#item-improvement .decision-plan-star-node-artwork,
.decision-prerequisite-route-dialog .decision-plan-star-node-artwork {
  border-radius: 6px;
}

#item-improvement .decision-plan-star-node > strong,
.decision-prerequisite-route-dialog .decision-plan-star-node > strong {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-plan-star-node-level,
.decision-prerequisite-route-dialog .decision-plan-star-node-level {
  color: #67c6c1;
  font-weight: 800;
}

#item-improvement .decision-plan-star-arrow,
.decision-prerequisite-route-dialog .decision-plan-star-arrow {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 62px;
  color: #7e9ba9;
  text-align: center;
}

#item-improvement .decision-plan-star-arrow > span:first-child,
.decision-prerequisite-route-dialog .decision-plan-star-arrow > span:first-child {
  max-width: 92px;
  font-size: var(--improvement-font-caption);
  line-height: 1.25;
}

#item-improvement .decision-plan-star-arrow .glyphicon,
.decision-prerequisite-route-dialog .decision-plan-star-arrow .glyphicon {
  color: #45a9a5;
  font-size: 18px;
}

#item-improvement .decision-plan-star-arrow.is-unresolved .glyphicon,
#item-improvement .decision-plan-star-arrow.is-unresolved > span:first-child,
.decision-prerequisite-route-dialog .decision-plan-star-arrow.is-unresolved .glyphicon,
.decision-prerequisite-route-dialog .decision-plan-star-arrow.is-unresolved > span:first-child {
  color: #c1904e;
}

#item-improvement .decision-plan-star-cost-heading,
.decision-prerequisite-route-dialog .decision-plan-star-cost-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 10px;
  padding-top: 2px;
}

#item-improvement .decision-plan-star-cost-heading > span,
.decision-prerequisite-route-dialog .decision-plan-star-cost-heading > span {
  color: #8fa8b4;
  font-size: var(--improvement-font-caption);
}

#item-improvement .decision-plan-star-total-cost,
.decision-prerequisite-route-dialog .decision-plan-star-total-cost {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#item-improvement .decision-plan-star-cost-pending,
.decision-prerequisite-route-dialog .decision-plan-star-cost-pending {
  margin: 0;
}

@media (max-width: 760px) {
  #item-improvement .decision-plan-star-total-cost,
  .decision-prerequisite-route-dialog .decision-plan-star-total-cost {
    grid-template-columns: 1fr;
  }
}


/* 1.0.1087: Plan occurrence order is business-visible. Never aggregate or
 * presentation-sort these rows; each row owns exactly one delete/manage action. */
#item-improvement .decision-equipment-plan-list-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

#item-improvement .decision-equipment-plan-row {
  grid-template-columns: minmax(72px, auto) minmax(74px, auto) minmax(0, 1fr) auto;
}

#item-improvement .decision-equipment-plan-order {
  opacity: 0.72;
  white-space: nowrap;
}

/* Route-management cost filters are presentation-only. Hidden categories do
 * not participate in rendering, while the complete cost vector remains in the
 * Domain projection used by every route card. */
.decision-prerequisite-route-dialog .decision-route-cost-filter,
#item-improvement .decision-route-cost-filter {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
  background: rgba(127, 127, 127, 0.025);
}

.decision-prerequisite-route-dialog .decision-route-cost-filter > div,
#item-improvement .decision-route-cost-filter > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.decision-prerequisite-route-dialog .decision-route-cost-filter label,
#item-improvement .decision-route-cost-filter label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 3px 7px;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 999px;
  cursor: pointer;
  font-weight: 400;
  background: rgba(127, 127, 127, 0.04);
}

.decision-prerequisite-route-dialog .decision-route-cost-filter label.is-active,
#item-improvement .decision-route-cost-filter label.is-active {
  border-color: rgba(69, 169, 165, 0.58);
  background: rgba(69, 169, 165, 0.11);
}

.decision-prerequisite-route-dialog .decision-route-planner-detail > header {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.decision-prerequisite-route-dialog .decision-route-planner-detail > header > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.decision-prerequisite-route-dialog .decision-route-planner-detail-actions {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  padding: 8px 10px 0;
}

@media (max-width: 760px) {
  #item-improvement .decision-equipment-plan-row {
    grid-template-columns: 1fr;
  }
}

/* 1.0.1091: keep Today navigation compact without abbreviating equipment identity. */
#item-improvement .decision-equipment-row.is-workbench {
  height: auto;
  min-height: 64px;
}

#item-improvement .decision-equipment-row.is-workbench .decision-workbench-name-column,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  white-space: normal;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-name-main,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-name-qualifier {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-name-main:only-child {
  display: -webkit-box;
  overflow: hidden;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-name-main:not(:only-child),
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-name-qualifier {
  white-space: nowrap;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-name-qualifier {
  margin-top: 2px;
  font-size: var(--improvement-font-small);
  opacity: 0.76;
}

#item-improvement .decision-equipment-row.is-workbench .decision-workbench-status-pill {
  display: inline-flex;
  width: auto;
  max-width: 76px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding-left: 6px;
  padding-right: 6px;
}

#item-improvement .decision-equipment-row.is-workbench .decision-workbench-status-pill > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Today may wrap a long Plan Equipment-Star Chain by whole arrow+node units.
 * Route-management dialogs keep their horizontal-scroll behavior. */
#item-improvement .decision-plan-star-chain-flow.is-wrapping {
  flex-wrap: wrap;
  align-items: stretch;
  row-gap: 12px;
  overflow-x: visible;
  overflow-y: visible;
}

#item-improvement .decision-plan-star-chain-step,
.decision-prerequisite-route-dialog .decision-plan-star-chain-step {
  display: flex;
  min-width: 0;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

#item-improvement .decision-plan-star-node,
.decision-prerequisite-route-dialog .decision-plan-star-node {
  flex: 0 0 auto;
  width: auto;
  min-width: 148px;
  max-width: 260px;
}

#item-improvement .decision-plan-star-node > strong,
.decision-prerequisite-route-dialog .decision-plan-star-node > strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

#item-improvement .decision-plan-star-arrow.is-compact,
.decision-prerequisite-route-dialog .decision-plan-star-arrow.is-compact {
  min-width: 30px;
}

#item-improvement .decision-plan-star-arrow.is-compact .glyphicon,
.decision-prerequisite-route-dialog .decision-plan-star-arrow.is-compact .glyphicon {
  font-size: 22px;
}

/* Page-specific detail-section manager. */
#item-improvement .decision-detail-panel-tools {
  display: flex;
  grid-area: tools;
  align-items: center;
  align-self: start;
  justify-content: flex-end;
  gap: 10px;
  margin-left: 0;
  white-space: nowrap;
}

/* On narrow detail panes the plan groups may move below the identity, but the
 * parent-plan switch and detail manager stay pinned to the top-right cell. */
@media (max-width: 900px) {
  #item-improvement .decision-detail-header.has-related-plans {
    grid-template-columns: auto minmax(0, 1fr) max-content;
    grid-template-areas:
      "artwork heading tools"
      "artwork related related";
  }

  #item-improvement .decision-detail-related-plans {
    margin-left: 0;
  }
}

#item-improvement .decision-detail-layout-manager-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: inherit;
  opacity: 0.78;
}

.decision-detail-layout-dialog {
  max-width: 460px;
}

.decision-detail-layout-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.decision-detail-layout-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  padding: 7px 8px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 5px;
  background: rgba(127, 127, 127, 0.04);
  transition: opacity 120ms ease, background-color 120ms ease;
}

.decision-detail-layout-row.is-dragging {
  opacity: 0.48;
  background: rgba(127, 127, 127, 0.11);
}

.decision-detail-layout-row.is-drop-target {
  border-color: currentColor;
  background: rgba(127, 127, 127, 0.09);
}

.decision-detail-layout-drag-handle {
  flex: 0 0 auto;
  padding: 4px 2px;
  cursor: grab;
  opacity: 0.62;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.decision-detail-layout-drag-handle:active {
  cursor: grabbing;
}

.decision-detail-layout-drag-handle:focus {
  outline: 1px solid currentColor;
  outline-offset: 2px;
}

.decision-detail-layout-toggle {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 600;
}

.decision-detail-layout-toggle > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Equipment Library total-cost overview: count is the focal value, target copies stay contextual. */
#item-improvement .decision-target-cost-actions-total {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 12px;
  row-gap: 3px;
}

#item-improvement .decision-target-cost-actions-total > span {
  grid-column: 1;
  grid-row: 1;
}

#item-improvement .decision-target-cost-actions-total > small {
  grid-column: 1;
  grid-row: 2;
  margin-top: 0;
}

#item-improvement .decision-target-cost-actions-total > strong {
  display: flex;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: stretch;
  justify-self: stretch;
  align-items: center;
  justify-content: center;
  min-width: 4.5ch;
  margin-top: 0;
  text-align: center;
  font-size: var(--improvement-font-title-large);
  font-variant-numeric: tabular-nums;
}


/* 1.0.1093: Today navigation is an index, not a full-name reading surface.
 * Keep every row and equipment name on one visual rhythm; the full localized
 * name remains available through the native title tooltip and the detail pane. */
#item-improvement .decision-equipment-row.is-workbench {
  height: 64px;
  min-height: 64px;
  max-height: 64px;
}

#item-improvement .decision-equipment-row.is-workbench .decision-workbench-name-column,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title,
#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  min-width: 0;
  height: 100%;
  white-space: nowrap;
}

#item-improvement .decision-equipment-row.is-workbench .decision-equipment-title-text {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
}

#item-improvement .decision-workbench-equipment-name-single-line {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 1.0.1094 user-facing Help center: guide and release notes share one surface. */
.improvement-help-version {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: 12px;
  font-size: 0.78em;
  font-weight: normal;
  opacity: 0.72;
}

.improvement-help-version .label {
  font-size: 0.78em;
  vertical-align: middle;
}

.improvement-help-nav {
  flex: 0 0 auto;
  padding: 9px 15px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.2);
  background: rgba(127, 127, 127, 0.035);
}

.improvement-help-nav .btn {
  min-width: 118px;
}

.improvement-help-note-count {
  display: inline-block;
  min-width: 20px;
  margin-left: 7px;
  padding: 1px 6px;
  border-radius: 10px;
  background: rgba(91, 192, 222, 0.18);
  font-size: 0.86em;
  font-variant-numeric: tabular-nums;
}

.improvement-help-quick-start {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.improvement-help-step {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  padding: 12px;
  border: 1px solid rgba(91, 192, 222, 0.3);
  border-radius: 8px;
  background: rgba(91, 192, 222, 0.06);
}

.improvement-help-step > .glyphicon {
  padding-top: 2px;
  font-size: var(--improvement-font-title-large);
  text-align: center;
  opacity: 0.86;
}

.improvement-help-step strong {
  display: block;
  margin-bottom: 4px;
}

.improvement-help-step p {
  margin: 0;
  line-height: 1.5;
  opacity: 0.78;
}

.improvement-help-tool-list {
  margin: 0;
  padding: 10px 12px 10px 30px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.045);
}

.improvement-help-tool-list li + li {
  margin-top: 6px;
}

.improvement-help-empty-release-notes {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px;
  border: 1px dashed rgba(127, 127, 127, 0.28);
  border-radius: 8px;
  text-align: center;
  opacity: 0.8;
}

@media (max-width: 900px) {
  .improvement-help-quick-start {
    grid-template-columns: 1fr;
  }
}

/* 1.0.1099: acquisition facts expand inside the route card. Native <details>
 * avoids a second modal/focus state machine in Poi/Electron. */
.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details {
  flex: 0 0 auto;
  min-width: 0;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details[open] {
  flex: 1 0 100%;
  width: 100%;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details > summary {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 7px;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 3px;
  color: inherit;
  background: rgba(127, 127, 127, 0.08);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details > summary::-webkit-details-marker {
  display: none;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details > summary:hover,
.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details > summary:focus {
  border-color: rgba(76, 146, 210, 0.58);
  outline: 0;
  background: rgba(76, 146, 210, 0.08);
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details[open] > summary {
  margin-left: auto;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details > summary .glyphicon {
  margin-left: 0;
  transition: transform 120ms ease-out;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-details[open] > summary .glyphicon {
  transform: rotate(90deg);
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-inline-detail {
  display: grid;
  gap: 9px;
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(127, 127, 127, 0.18);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.035);
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-inline-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-inline-title > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.decision-prerequisite-route-dialog .decision-route-planner-acquisition-inline-title small {
  opacity: 0.72;
}


/* Runtime data refresh keeps the last published decision visible while N+1 rebuilds. */
#item-improvement .decision-runtime-data-refresh-note {
  flex: 0 0 auto;
  margin: 0;
  padding: 6px 14px;
  border-width: 0 0 1px;
  border-radius: 0;
  font-size: var(--improvement-font-small);
}

/* Poi-hosted dialogs use Blueprint Overlay2 for portal/focus/escape lifecycle.
 * The inner modal-* section classes are intentionally retained as plugin-owned
 * layout hooks so existing dialog sizing/resize CSS does not depend on Blueprint internals. */
.decision-host-dialog {
  padding: 0 !important;
  overflow: visible;
}

.decision-host-dialog > .decision-host-dialog-content {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  margin: 0;
  border: 0;
  border-radius: inherit;
  color: inherit;
  background: inherit;
  box-shadow: none;
}

.decision-host-dialog .decision-host-dialog-header,
.decision-host-dialog .decision-host-dialog-footer {
  flex: 0 0 auto;
}

.decision-host-dialog .decision-host-dialog-body {
  min-width: 0;
  min-height: 0;
}

.decision-host-dialog .decision-host-dialog-close {
  position: relative;
  z-index: 2;
}

#item-improvement .decision-mode-nav.decision-mode-nav-inline .bp6-tab-list {
  display: flex;
  width: 100%;
  min-width: 0;
}

#item-improvement .decision-mode-nav.decision-mode-nav-inline .bp6-tab {
  display: inline-flex;
  min-width: 0;
  min-height: var(--decision-control-height);
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  font-size: var(--decision-control-font-size);
  font-weight: var(--decision-control-font-weight);
  line-height: 1.2;
  text-align: center;
}

/* Problem diagnostics: explicit bundle inventory and one-shot cache recovery. */
.decision-problem-diagnostics-modal {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.decision-diagnostics-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 18px;
  padding: 13px 14px;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.045);
}

.decision-diagnostics-section.is-danger {
  border-color: rgba(169, 68, 66, 0.42);
  background: rgba(169, 68, 66, 0.055);
}

.decision-diagnostics-section-copy {
  min-width: 0;
}

.decision-diagnostics-section h4 {
  margin: 0 0 5px;
  font-weight: 700;
}

.decision-diagnostics-section p {
  margin: 0 0 6px;
  line-height: 1.5;
}

.decision-diagnostics-warning {
  font-size: var(--improvement-font-body);
}

.decision-diagnostics-file-list {
  max-height: 260px;
  margin: 7px 0 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}

.decision-diagnostics-file-list li {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.4fr);
  gap: 10px;
  padding: 5px 0;
  border-bottom: 1px solid rgba(127, 127, 127, 0.16);
}

.decision-diagnostics-file-list code,
.decision-diagnostics-file-list span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.decision-diagnostics-primary-action {
  min-width: 200px;
}

.decision-diagnostics-section .btn .glyphicon {
  margin-right: 6px;
}

.decision-diagnostics-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.decision-problem-diagnostics-dialog {
  width: calc(100vw - 36px);
  max-width: 1180px;
  margin: 18px auto;
}

.decision-problem-diagnostics-dialog .modal-body {
  max-height: calc(100vh - 168px);
  overflow-y: auto;
}

@media (max-width: 900px) {
  .decision-diagnostics-section {
    grid-template-columns: 1fr;
  }

  .decision-diagnostics-primary-action,
  .decision-diagnostics-section > .btn {
    width: 100%;
  }

  .decision-diagnostics-confirm-actions {
    justify-content: stretch;
  }

  .decision-diagnostics-confirm-actions .btn {
    flex: 1 1 auto;
  }
}

@media (max-width: 760px) {
  .decision-problem-diagnostics-dialog {
    width: calc(100vw - 12px);
    margin: 6px auto;
  }

  .decision-diagnostics-file-list li {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}


.decision-data-transfer-section.is-backups {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.decision-data-backup-section {
  min-width: 0;
}

.decision-data-backup-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
  max-height: 260px;
  overflow: auto;
}

.decision-data-backup-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid rgba(127, 127, 127, 0.2);
  border-radius: 6px;
  background: rgba(127, 127, 127, 0.035);
}

.decision-data-backup-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.decision-data-backup-meta span {
  color: #667;
  font-size: var(--improvement-font-body);
}

.decision-data-backup-actions {
  display: flex;
  gap: 6px;
}

.decision-data-backup-empty {
  margin-top: 10px !important;
  color: #777;
}

@media (max-width: 900px) {
  .decision-data-backup-row {
    grid-template-columns: 1fr;
  }

  .decision-data-backup-actions {
    justify-content: flex-end;
  }
}

/* Statistics is a full-width read-only projection. It intentionally does not
 * inherit the master/detail split used by Today and Equipment Library. */
#item-improvement .decision-workspace.is-statistics {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}

#item-improvement .decision-workspace.is-statistics .decision-master-pane {
  min-width: 0;
  border-right: 0;
}

#item-improvement .decision-statistics-page {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--decision-density-gap);
}

#item-improvement .decision-statistics-overview {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--decision-density-gap);
}

#item-improvement .decision-statistics-summary-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  padding: var(--decision-density-card-padding);
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.045);
}

#item-improvement .decision-statistics-summary-card > span,
#item-improvement .decision-statistics-summary-card > small {
  color: rgba(220, 220, 220, 0.72);
}

#item-improvement .decision-statistics-summary-card > strong {
  font-size: var(--improvement-font-title-large);
  line-height: 1.1;
}

#item-improvement .decision-statistics-workspace {
  min-width: 0;
}

#item-improvement .decision-statistics-view-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: var(--decision-density-gap);
}

#item-improvement .decision-statistics-table-wrap {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 8px;
}

#item-improvement .decision-statistics-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  background: rgba(127, 127, 127, 0.02);
}

#item-improvement .decision-statistics-table th,
#item-improvement .decision-statistics-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(127, 127, 127, 0.16);
  text-align: left;
  vertical-align: middle;
}

#item-improvement .decision-statistics-table th {
  color: rgba(220, 220, 220, 0.74);
  font-size: var(--improvement-font-small);
  font-weight: 700;
  background: rgba(127, 127, 127, 0.055);
}

#item-improvement .decision-statistics-sort-button {
  display: inline-flex;
  width: 100%;
  align-items: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  text-align: left;
  cursor: pointer;
}

#item-improvement .decision-statistics-sort-button:hover,
#item-improvement .decision-statistics-sort-button:focus {
  color: rgba(235, 235, 235, 0.95);
}

#item-improvement .decision-statistics-sort-button:focus-visible {
  outline: 1px solid rgba(69, 169, 165, 0.75);
  outline-offset: 2px;
}

#item-improvement .decision-statistics-sort-indicator {
  flex: 0 0 auto;
  opacity: 0.62;
  font-size: 0.82em;
  line-height: 1;
}

#item-improvement .decision-statistics-table tbody tr:last-child td {
  border-bottom: 0;
}

#item-improvement .decision-statistics-equipment-identity {
  display: flex;
  min-width: 180px;
  align-items: center;
  gap: 8px;
}

#item-improvement .decision-statistics-equipment-link.btn-link {
  min-width: 0;
  padding: 0;
  color: inherit;
  font-size: var(--improvement-font-body);
  font-weight: 600;
  text-align: left;
  white-space: normal;
}

#item-improvement .decision-statistics-goal-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#item-improvement .decision-statistics-goal-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border: 1px solid rgba(127, 127, 127, 0.24);
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.06);
  white-space: nowrap;
}

#item-improvement .decision-statistics-empty-cell {
  padding: 24px 12px !important;
  color: rgba(220, 220, 220, 0.62);
  text-align: center !important;
}

@media (max-width: 820px) {
  #item-improvement .decision-statistics-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  #item-improvement .decision-statistics-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

#item-improvement .decision-statistics-cost-projection {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--decision-density-gap);
}

#item-improvement .decision-statistics-projection-basis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  padding: var(--decision-density-card-padding);
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.045);
}

#item-improvement .decision-statistics-projection-basis > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

#item-improvement .decision-statistics-projection-basis > div > span,
#item-improvement .decision-statistics-projection-basis > small {
  color: rgba(220, 220, 220, 0.7);
  line-height: 1.45;
}

#item-improvement .decision-statistics-projection-basis > small {
  grid-column: 1 / -1;
}

#item-improvement .decision-statistics-cost-group + .decision-statistics-cost-group {
  margin-top: var(--decision-density-gap);
}

#item-improvement .decision-statistics-cost-group > h3 {
  margin: 0 0 7px;
  font-size: var(--improvement-font-body-large);
}

#item-improvement .decision-statistics-cost-table {
  min-width: 860px;
}

#item-improvement .decision-statistics-cost-table td.is-negative {
  color: #d87474;
  font-weight: 700;
}

#item-improvement .decision-statistics-inline-note {
  display: block;
  margin-top: 2px;
  color: rgba(220, 220, 220, 0.62);
  white-space: nowrap;
}

#item-improvement .decision-statistics-cost-unknown {
  display: block;
  margin-top: 6px;
  color: rgba(220, 220, 220, 0.62);
}

#item-improvement .decision-statistics-empty-panel {
  padding: 24px 12px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 8px;
  color: rgba(220, 220, 220, 0.62);
  text-align: center;
}

@media (max-width: 900px) {
  #item-improvement .decision-statistics-projection-basis {
    grid-template-columns: minmax(0, 1fr);
  }

  #item-improvement .decision-statistics-projection-basis > small {
    grid-column: auto;
  }
}

/* 1.2.7 Statistics final information architecture */
#item-improvement .decision-statistics-introduction {
  max-width: 980px;
  margin-top: 6px;
  color: rgba(220, 220, 220, 0.76);
  line-height: 1.5;
}

#item-improvement .decision-statistics-introduction p {
  margin: 3px 0;
}

#item-improvement .decision-statistics-workspace .decision-statistics-overview {
  margin-bottom: var(--decision-density-gap);
}

#item-improvement .decision-statistics-profile-selector {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

#item-improvement .decision-statistics-profile-selector > span {
  flex: 0 0 auto;
  font-weight: 700;
}

#item-improvement .decision-statistics-profile-selector > select {
  width: auto;
  min-width: 180px;
}

#item-improvement .decision-statistics-profile-help {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 9px 11px;
  border-left: 3px solid rgba(69, 169, 165, 0.55);
  background: rgba(69, 169, 165, 0.055);
  color: rgba(220, 220, 220, 0.76);
  line-height: 1.45;
}

#item-improvement .decision-statistics-profile-help > small {
  color: rgba(220, 220, 220, 0.6);
}

#item-improvement .decision-statistics-resource-identity {
  display: flex;
  align-items: center;
  gap: 8px;
}

#item-improvement .decision-statistics-resource-gap-table {
  min-width: 780px;
  table-layout: fixed;
}

#item-improvement .decision-statistics-resource-gap-table th {
  position: relative;
}

#item-improvement .decision-statistics-resource-gap-table th:nth-child(n+2),
#item-improvement .decision-statistics-resource-gap-table td:nth-child(n+2),
#item-improvement .decision-statistics-equipment-requirement-table th:last-child,
#item-improvement .decision-statistics-equipment-requirement-table td:last-child {
  text-align: center;
}

#item-improvement .decision-statistics-column-resize-handle {
  position: absolute;
  top: 0;
  right: -5px;
  width: 10px;
  height: 100%;
  cursor: col-resize;
  touch-action: none;
  user-select: none;
  z-index: 2;
}

#item-improvement .decision-statistics-column-resize-handle::after {
  content: '';
  position: absolute;
  top: 25%;
  bottom: 25%;
  left: 4px;
  width: 1px;
  background: rgba(127, 127, 127, 0.28);
}

#item-improvement .decision-statistics-column-resize-handle:hover::after {
  background: rgba(127, 127, 127, 0.7);
}

#item-improvement .decision-statistics-useitem-row td {
  border-top-color: rgba(127, 127, 127, 0.16);
}

#item-improvement .decision-statistics-resource-gap-table td.is-negative {
  color: #d87474;
}

#item-improvement .decision-statistics-equipment-requirement-table {
  min-width: 760px;
}


#item-improvement .decision-statistics-progress-cell {
  display: grid;
  grid-template-columns: minmax(80px, 1fr) 48px;
  align-items: center;
  gap: 8px;
}

#item-improvement .decision-statistics-progress-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.18);
}

#item-improvement .decision-statistics-progress-track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
  opacity: 0.72;
}

#item-improvement .decision-statistics-progress-cell > strong {
  font-variant-numeric: tabular-nums;
  text-align: right;
}

#item-improvement .decision-statistics-success-note {
  margin: 0 0 8px;
  color: rgba(220, 220, 220, 0.7);
}

#item-improvement .decision-statistics-success-table {
  min-width: 520px;
}

@media (max-width: 620px) {
  #item-improvement .decision-statistics-profile-selector {
    align-items: stretch;
    flex-direction: column;
    gap: 5px;
  }

  #item-improvement .decision-statistics-profile-selector > select {
    width: 100%;
  }
}

/* Allocation recommendations: actionable strict-progress updates + read-only audit history. */
.decision-binding-recommendation-trigger.has-pending {
  font-weight: 600;
  box-shadow: 0 0 0 1px rgba(255, 193, 7, 0.36);
}

.decision-binding-adjustment-dialog {
  width: min(760px, calc(100vw - 48px));
}

.decision-binding-adjustment-modal {
  display: grid;
  gap: 18px;
  max-height: min(72vh, 720px);
  overflow: auto;
}

.decision-binding-recommendation-notice {
  margin: 0;
}

.decision-binding-adjustment-section {
  display: grid;
  gap: 10px;
}

.decision-binding-adjustment-section > header {
  display: grid;
  gap: 2px;
}

.decision-binding-adjustment-section > header small {
  opacity: 0.72;
}

.decision-binding-adjustment-list,
.decision-binding-adjustment-history {
  display: grid;
  gap: 8px;
}

.decision-binding-adjustment-entry,
.decision-binding-adjustment-history-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(127, 127, 127, 0.28);
  border-radius: 4px;
}

.decision-binding-adjustment-copy,
.decision-binding-adjustment-history-entry > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.decision-binding-adjustment-copy span,
.decision-binding-adjustment-history-entry span {
  overflow-wrap: anywhere;
}

.decision-binding-adjustment-history-entry time {
  flex: 0 0 auto;
  opacity: 0.66;
  font-size: 0.9em;
}

/* Development analysis workspace */
#item-improvement .decision-development-workspace {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

#item-improvement .decision-development-columns {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1.1fr);
  gap: 12px;
}

#item-improvement .decision-development-panel {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.04);
}

#item-improvement .decision-development-panel-heading {
  margin-bottom: 10px;
}

#item-improvement .decision-development-panel-heading h3,
#item-improvement .decision-development-queue-group h4,
#item-improvement .decision-development-saved-tasks h4 {
  margin: 0 0 4px;
}

#item-improvement .decision-development-panel-heading small,
#item-improvement .decision-development-recommendation small,
#item-improvement .decision-development-today-recipe small {
  display: block;
  opacity: 0.72;
}

#item-improvement .decision-development-plan-list,
#item-improvement .decision-development-queue,
#item-improvement .decision-development-results,
#item-improvement .decision-development-saved-tasks {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#item-improvement .decision-development-plan-row,
#item-improvement .decision-development-queue-row,
#item-improvement .decision-development-saved-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#item-improvement .decision-development-plan-copy {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
}

#item-improvement .decision-development-plan-copy strong,
#item-improvement .decision-development-queue-row > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#item-improvement .decision-development-gap-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  margin-top: 4px;
}

#item-improvement .decision-development-gap-item {
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.1);
  font-size: 11px;
  line-height: 1.4;
}

#item-improvement .decision-development-queue-group + .decision-development-queue-group {
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
}

#item-improvement .decision-development-queue-row > span {
  flex: 1;
}

#item-improvement .decision-development-queue-row em {
  font-size: 11px;
  opacity: 0.7;
}

#item-improvement .decision-development-manual-add {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 76px auto;
  gap: 8px;
}

#item-improvement .decision-development-task-name {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr);
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

#item-improvement .decision-development-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 10px;
}

#item-improvement .decision-development-result-note,
#item-improvement .decision-development-demand-summary,
#item-improvement .decision-development-recommendation,
#item-improvement .decision-development-today-recipe {
  padding: 10px 12px;
  border-radius: 7px;
  background: rgba(127, 127, 127, 0.07);
}

#item-improvement .decision-development-result-note {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#item-improvement .decision-development-demand-summary > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

#item-improvement .decision-development-demand-pill {
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.12);
}

#item-improvement .decision-development-recommendation {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 10px;
}

#item-improvement .decision-development-recommendation.is-best {
  border: 1px solid rgba(74, 144, 226, 0.45);
}

#item-improvement .decision-development-recommendation-rank {
  font-size: 18px;
  font-weight: 700;
}

#item-improvement .decision-development-recipe-resources,
#item-improvement .decision-development-today-recipe > strong {
  display: block;
  font-size: 18px;
}

#item-improvement .decision-development-saved-row > .btn-link {
  flex: 1;
  padding-left: 0;
  text-align: left;
}

#item-improvement .decision-development-today-card {
  margin-bottom: 12px;
}

#item-improvement .decision-development-today-recipe {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

@media (max-width: 900px) {
  #item-improvement .decision-development-columns {
    grid-template-columns: 1fr;
  }
}
