/* Scoped to the cable origin detail, shared by budget and workspace views. */
main #resumen-cables .cable-origin > summary {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  width: auto;
  max-width: 100%;
  min-height: 44px;
  padding: .65rem .8rem .65rem 2rem;
  border: 1px solid #dee2e6;
  border-radius: .65rem;
  background: #f8f9fa;
  color: #343a40;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
main #resumen-cables .cable-origin > summary::-webkit-details-marker { display: none; }
main #resumen-cables .cable-origin > summary::marker { content: ""; }
main #resumen-cables .cable-origin > summary::before {
  content: "›";
  position: absolute;
  left: .7rem;
  top: 50%;
  font-size: 1.25rem;
  line-height: 1;
  transform: translateY(-50%);
}
main #resumen-cables .cable-origin[open] > summary::before { transform: translateY(-50%) rotate(90deg); }
main #resumen-cables .cable-origin > summary:hover { background: #eef2f6; }
main #resumen-cables .cable-origin > summary:focus-visible {
  outline: 3px solid var(--amper-primary);
  outline-offset: 3px;
}
main .cable-origin-list { display: grid; gap: .75rem; margin-top: .75rem; }
main .cable-origin-card { border: 1px solid #dee2e6; border-radius: .75rem; overflow: hidden; }
main .cable-origin-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: .75rem;
  padding: .8rem;
  background: #f8f9fa;
}
main .cable-origin-header > div { min-width: 0; }
main .cable-origin-environment { display: block; color: #59636d; font-size: .8rem; }
main .cable-origin-title { display: block; font-weight: 600; text-decoration: none; }
main .cable-origin-title:hover { text-decoration: underline; }
main .cable-origin-total { text-align: right; margin-left: auto; }
main .cable-origin-total strong, main .cable-origin-length { white-space: nowrap; font-variant-numeric: tabular-nums; }
main .cable-origin-conductors { padding: 0 .8rem; }
main .cable-origin-conductor {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .65rem 0;
}
main .cable-origin-conductor + .cable-origin-conductor { border-top: 1px solid #eef0f2; }
main .cable-origin-name { display: block; font-size: .9rem; }
main .cable-origin-calculation { display: block; font-size: .8rem; color: #59636d; }
main .cable-origin-length { font-size: .9rem; }
@media (max-width: 1199.98px) {
  /* Cable detail needs the whole row rather than two stretched tablet cards. */
  main #resumen-cables .mobile-cards tbody { display: block; }
  main #resumen-cables .mobile-cards tbody tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 1rem;
  }
  main #resumen-cables .mobile-cards td[data-label="Origen"] { grid-column: 1 / -1; }
  main #resumen-cables .mobile-cards td .cable-origin-title { display: block; }
  main #resumen-cables .cable-origin-header > div { flex: 1; }
  main #resumen-cables .cable-origin-total { flex-shrink: 0; padding-left: .75rem; }
  main #resumen-cables .cable-origin-conductor > div { min-width: 0; }
  main #resumen-cables .cable-origin-length { flex-shrink: 0; padding-left: .75rem; }
}
@media (max-width: 575.98px) {
  main #resumen-cables .cable-origin-header { flex-direction: column; }
  main #resumen-cables .cable-origin-total { text-align: left; margin-left: 0; padding-left: 0; }
}
