.ds-listado { --ds-accent: #236b57; --ds-heading: #29483b; --ds-surface: #fff; --ds-border: #d8e1dc; --ds-radius: 8px; width: 100%; max-width: none; margin: 2rem 0; color: #1f2d27; font-family: inherit; }
.ds-listado-header h2, .ds-listado-detail h2 { margin-bottom: .45rem; color: var(--ds-heading); }
.ds-listado-description { color: #52635b; }
.ds-listado-filters { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; padding: 1rem; margin: 1.25rem 0 .75rem; border: 1px solid var(--ds-border); border-radius: var(--ds-radius); background: #f6f9f7; }
.ds-listado-filters label { display: flex; flex-direction: column; gap: .3rem; font-size: .9rem; font-weight: 600; }
.ds-listado-filters input, .ds-listado-filters select { min-height: 2.3rem; min-width: 180px; padding: .35rem .55rem; border: 1px solid #aebdb5; border-radius: 4px; background: #fff; }
.ds-listado-filters button { min-height: 2.3rem; padding: .35rem .9rem; border: 0; border-radius: 4px; background: var(--ds-accent); color: #fff; cursor: pointer; }
.ds-clear, .ds-back { color: var(--ds-accent); }
.ds-results-count { color: #52635b; font-size: .9rem; }
.ds-record-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ds-listado.ds-columns-1 .ds-record-grid { grid-template-columns: 1fr; }
.ds-listado.ds-columns-2 .ds-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ds-listado.ds-columns-4 .ds-record-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ds-record-card { display: flex; flex-direction: column; min-height: 220px; padding: 1.25rem; border: 1px solid var(--ds-border); border-radius: var(--ds-radius); background: var(--ds-surface); box-shadow: 0 2px 8px rgba(31, 45, 39, .06); }
.ds-record-card h3 { margin: 0 0 1rem; font-size: 1.2rem; }
.ds-record-card h3 a { color: var(--ds-heading); }
.ds-record-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; margin: 0 0 1.25rem; }
.ds-record-summary div { min-width: 0; }
.ds-record-summary dt { color: #52635b; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.ds-record-summary dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.ds-listado .ds-record-link { display: inline-flex; align-items: center; align-self: flex-start; gap: .45rem; margin-top: auto; padding: .65rem .9rem; border: 1px solid var(--ds-accent); border-radius: var(--ds-radius); background: var(--ds-accent); color: #fff; font-weight: 700; line-height: 1.2; text-decoration: none; box-shadow: 0 2px 5px rgba(31, 45, 39, .12); transition: transform .15s ease, box-shadow .15s ease, filter .15s ease; }
.ds-listado .ds-record-link:hover { color: #fff; filter: brightness(.92); transform: translateY(-1px); box-shadow: 0 4px 9px rgba(31, 45, 39, .16); }
.ds-listado .ds-record-link:focus-visible { outline: 3px solid color-mix(in srgb, var(--ds-accent) 35%, #fff); outline-offset: 2px; }
.ds-table-wrap { overflow-x: auto; border: 1px solid var(--ds-border); border-radius: 6px; }
.ds-listado-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.ds-listado-table th, .ds-listado-table td { padding: .75rem; border-bottom: 1px solid var(--ds-border); text-align: left; vertical-align: top; }
.ds-listado-table thead th { background: #eef4f0; color: #29483b; }
.ds-listado-table tbody tr:last-child th, .ds-listado-table tbody tr:last-child td { border-bottom: 0; }
.ds-listado-table a { color: var(--ds-accent); font-weight: 600; }
.ds-empty { padding: 1rem; border: 1px dashed var(--ds-border); }
.ds-pagination { display: flex; gap: .35rem; margin-top: 1rem; }
.ds-pagination a { display: inline-flex; min-width: 2rem; justify-content: center; padding: .4rem .55rem; border: 1px solid var(--ds-border); border-radius: 4px; color: var(--ds-accent); text-decoration: none; }
.ds-pagination a.is-current { background: var(--ds-accent); color: #fff; }
.ds-listado-detail { border: 1px solid var(--ds-border); padding: 1.5rem; border-radius: var(--ds-radius); background: var(--ds-surface); }
.ds-listado-detail h2 { margin-top: 1.25rem; }
.ds-detail-group { margin-top: 1.75rem; }
.ds-detail-group h3 { margin: 0; padding-bottom: .55rem; border-bottom: 2px solid var(--ds-accent); color: var(--ds-heading); font-size: 1.1rem; }
.ds-detail-group-description { margin: .6rem 0; color: #52635b; font-size: .9rem; }
.ds-detail-group dl { display: grid; grid-template-columns: minmax(210px, 34%) 1fr; column-gap: 1.25rem; margin: 0; }
.ds-listado-detail dt, .ds-listado-detail dd { padding: .75rem 0; border-bottom: 1px solid var(--ds-border); }
.ds-listado-detail dt { font-weight: 700; color: #52635b; overflow-wrap: anywhere; }
.ds-listado-detail dd { margin: 0; }
.ds-listado-detail.ds-detail-layout-one .ds-detail-group dl { grid-template-columns: 1fr; }
.ds-listado-detail.ds-detail-layout-one .ds-detail-group dt { padding-bottom: .25rem; border-bottom: 0; }
.ds-listado-detail.ds-detail-layout-one .ds-detail-group dd { padding-top: 0; }
@media (max-width: 620px) { .ds-detail-group dl { grid-template-columns: 1fr; } .ds-listado-detail dt { padding-bottom: .25rem; border-bottom: 0; } .ds-listado-detail dd { padding-top: 0; } }
@media (max-width: 900px) { .ds-listado.ds-columns-3 .ds-record-grid, .ds-listado.ds-columns-4 .ds-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .ds-listado .ds-record-grid { grid-template-columns: 1fr; } }
