.equipment-projection-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 10px;
  margin: 4px 0 16px;
}
.equipment-projection-metric {
  min-height: 76px;
  padding: 12px 14px;
  border: 1px solid #d8e4e8;
  border-radius: 12px;
  background: #fff;
  color: #17313b;
  text-align: left;
  box-shadow: 0 2px 8px rgba(19, 55, 65, .05);
}
.equipment-projection-metric strong,
.equipment-projection-metric span { display: block; }
.equipment-projection-metric strong { font-size: 22px; line-height: 1.1; }
.equipment-projection-metric span { margin-top: 6px; font-size: 12px; line-height: 1.25; color: #5c7079; }
.equipment-projection-metric.is-action { cursor: pointer; font: inherit; }
.equipment-projection-metric.is-action:hover,
.equipment-projection-metric.is-action:focus-visible { border-color: #318f91; background: #f1fbfa; outline: none; }
.equipment-projection-metric.is-action.is-selected {
  border-color: #23877d;
  background: #e7f5f2;
  box-shadow: 0 0 0 3px rgba(35, 135, 125, .14);
}
.equipment-projection-dialog {
  width: min(1540px, calc(100vw - 48px));
  max-height: calc(100vh - 64px);
  padding: 0;
  border: 0;
  border-radius: 14px;
  color: #17313b;
  box-shadow: 0 20px 70px rgba(9, 32, 40, .28);
}
.equipment-projection-dialog::backdrop { background: rgba(10, 31, 38, .48); }
.equipment-projection-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid #dce7ea;
}
.equipment-projection-dialog header strong,
.equipment-projection-dialog header small { display: block; }
.equipment-projection-dialog header small { margin-top: 3px; color: #61747b; }
.equipment-projection-close {
  width: 42px;
  height: 42px;
  border: 1px solid #cedde1;
  border-radius: 9px;
  background: #fff;
  color: #27444e;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.equipment-projection-note { margin: 14px 20px; padding: 10px 12px; border-radius: 8px; background: #edf8f7; color: #315d5d; }
.equipment-projection-table-wrap { max-height: calc(100vh - 220px); overflow: auto; padding: 0 20px 20px; }
.equipment-projection-table-wrap table { width: 100%; border-collapse: collapse; font-size: 12px; }
.equipment-projection-table-wrap th { position: sticky; top: 0; z-index: 1; padding: 9px 8px; background: #1f7076; color: #fff; text-align: left; white-space: nowrap; }
.equipment-projection-table-wrap td { padding: 8px; border-bottom: 1px solid #e3ecee; vertical-align: top; }
.equipment-projection-table-wrap tbody tr:hover { background: #f5fafb; }
.equipment-legacy-source-table {
  min-width: 2920px;
  table-layout: fixed;
}
.equipment-legacy-source-table th:nth-child(1),
.equipment-legacy-source-table td:nth-child(1) { width: 90px; min-width: 90px; max-width: 90px; left: 0; }
.equipment-legacy-source-table th:nth-child(2),
.equipment-legacy-source-table td:nth-child(2) { width: 105px; min-width: 105px; max-width: 105px; left: 90px; }
.equipment-legacy-source-table th:nth-child(3),
.equipment-legacy-source-table td:nth-child(3) { width: 150px; min-width: 150px; max-width: 150px; left: 195px; }
.equipment-legacy-source-table th:nth-child(4),
.equipment-legacy-source-table td:nth-child(4) { width: 140px; min-width: 140px; max-width: 140px; left: 345px; }
.equipment-legacy-source-table th:nth-child(5),
.equipment-legacy-source-table td:nth-child(5) { width: 160px; min-width: 160px; max-width: 160px; left: 485px; }
.equipment-legacy-source-table th:nth-child(6),
.equipment-legacy-source-table td:nth-child(6) { width: 145px; min-width: 145px; max-width: 145px; left: 645px; }
.equipment-legacy-source-table th:nth-child(7),
.equipment-legacy-source-table td:nth-child(7) { width: 190px; min-width: 190px; max-width: 190px; }
.equipment-legacy-source-table th:nth-child(8),
.equipment-legacy-source-table td:nth-child(8) { width: 200px; min-width: 200px; max-width: 200px; }
.equipment-legacy-source-table th {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.2;
}
.equipment-legacy-source-table th:nth-child(-n+6) {
  z-index: 5;
  box-shadow: 1px 0 0 #dce7ea;
}
.equipment-legacy-source-table td:nth-child(-n+6) {
  position: sticky;
  z-index: 2;
  background: #fff;
  box-shadow: 1px 0 0 #e3ecee;
}
.equipment-legacy-source-table tbody tr:hover td:nth-child(-n+6) { background: #f5fafb; }
.equipment-projection-cell-line + .equipment-projection-cell-line { margin-top: 5px; padding-top: 5px; border-top: 1px dotted #d8e4e8; }
.equipment-projection-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.equipment-projection-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 7px;
  border: 1px solid #b9dadd;
  border-radius: 999px;
  background: #edf8f7;
  color: #1f676c;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
a.equipment-projection-chip:hover,
a.equipment-projection-chip:focus-visible { border-color: #1f7076; background: #dff3f1; outline: none; }
.equipment-projection-finance-link {
  padding: 4px 7px;
  border: 0;
  border-bottom: 1px solid #2a777c;
  background: transparent;
  color: #246d72;
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}
.equipment-projection-finance-link:hover,
.equipment-projection-finance-link:focus-visible { color: #124a4e; background: #eaf7f6; outline: 2px solid #90c8ca; }
.equipment-finance-dialog { width: min(820px, calc(100vw - 48px)); }
.equipment-finance-detail { padding: 0 20px 22px; }
.equipment-finance-detail .equipment-projection-note { margin-left: 0; margin-right: 0; }
.equipment-finance-detail-grid {
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(260px, 1.3fr);
  gap: 0;
  margin: 0;
  border: 1px solid #dce7ea;
  border-radius: 10px;
  overflow: hidden;
}
.equipment-finance-detail-grid dt,
.equipment-finance-detail-grid dd { margin: 0; padding: 10px 12px; border-bottom: 1px solid #e3ecee; }
.equipment-finance-detail-grid dt { background: #f4f8f9; font-weight: 700; }
.equipment-finance-detail-grid dd { background: #fff; }
.equipment-finance-technical { margin-top: 14px; color: #51676f; }
.equipment-finance-technical summary { cursor: pointer; font-weight: 700; }
.equipment-finance-technical code { display: block; margin-top: 8px; padding: 10px; border-radius: 8px; background: #f4f7f8; white-space: pre-wrap; }
.equipment-projection-summary.has-error { display: block; padding: 12px; border: 1px solid #eab5b5; border-radius: 10px; color: #8b2626; background: #fff5f5; }
.equipment-master-filter {
  flex: 0 1 230px;
  min-width: 190px;
}
.equipment-master-filter-count {
  min-width: 58px;
  color: #5c7079;
  font-size: 12px;
  align-self: center;
}
.equipment-master-id {
  margin-top: 3px;
  color: #2b7075;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
}
.equipment-row-clickable { cursor: pointer; }
.equipment-row-clickable:hover { background: #f5fafb; }
@media (max-width: 1150px) {
  .equipment-projection-summary { grid-template-columns: repeat(3, minmax(145px, 1fr)); }
}
@media (max-width: 720px) {
  .equipment-projection-summary { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
  .equipment-projection-dialog { width: calc(100vw - 20px); }
}
