/* Pestaña Costos */
.cc-sec { border-bottom: 1px solid var(--linea); padding: 13px 0; }
.cc-sec summary { font-family: var(--serif); font-size: 20px; font-weight: 600; cursor: pointer; }
.cc-sec[open] summary { margin-bottom: 10px; }
.cc-fuentes { margin-top: 18px; }
.cc-fuentes a { color: var(--verde); }
.cc-sec > .sub { margin: 4px 0 11px; color: var(--gris); }
.cc-sec .mini { color: var(--gris); font-size: 12.5px; }
.cc-sec a { color: var(--verde); }
table.tabla.cc-tabla { min-width: 0; font-size: 13.5px; }
.cc-tabla td { vertical-align: top; }
.cc-tabla tr.cc-rec td { background: var(--menta); }
.cc-tabla tr.cc-total td { background: #f4efe2; border-bottom: 0; }
.cc-barra { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: baseline; background: #fff; border-radius: 18px; padding: 13px 16px; box-shadow: 0 2px 14px rgba(20, 48, 31, .1); }
.cc-barra output { font-family: var(--serif); font-size: 23px; font-weight: 600; color: var(--bosque); }
.cc-barra input { grid-column: 1 / -1; width: 100%; accent-color: var(--verde); }
.cc-lista { display: grid; gap: 7px; margin: 12px 0 8px; }
.cc-comi { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; font-size: 14px; }
.cc-comi .v { font-weight: 600; }
.cc-comi i { grid-column: 1 / -1; display: block; height: 8px; border-radius: 0 4px 4px 0; background: #b9c8bd; }
.cc-comi.rec i { background: var(--verde); }
.cc-comi.rec .n { font-weight: 600; }
.cc-comi em { font-style: normal; font-size: 11.5px; color: var(--verde); }
@media (max-width: 640px) {
  .cc-wrap { background: transparent; box-shadow: none; overflow: visible; }
  .cc-tabla, .cc-tabla tbody, .cc-tabla tr, .cc-tabla td { display: block; width: 100%; }
  .cc-tabla thead { display: none; }
  .cc-tabla tr { background: #fff; border-radius: 16px; padding: 8px 12px; margin-bottom: 10px; box-shadow: 0 2px 10px rgba(20, 48, 31, .08); }
  .cc-tabla tr.cc-rec { background: var(--menta); }
  .cc-tabla tr.cc-total { background: #f4efe2; }
  .cc-tabla td { border-bottom: 0; padding: 4px 0; background: transparent !important; text-align: left; }
  .cc-tabla td::before { content: attr(data-t); display: block; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--gris); }
  .cc-tabla td:first-child::before { display: none; }
}
