/* Indicadores, estados y tablas */
.sc-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sc-space-4); margin-bottom: var(--sc-space-6); }
.sc-stat { display: flex; align-items: center; gap: var(--sc-space-3); padding: var(--sc-space-4); background: var(--sc-color-surface); border: var(--sc-border-width) solid var(--sc-color-border); border-radius: var(--sc-radius-card); box-shadow: var(--sc-shadow-xs); }
.sc-stat__icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; color: var(--sc-color-brand-600); background: var(--sc-color-brand-50); border-radius: var(--sc-radius-control); font-size: 1.1rem; }
.sc-stat__label, .sc-stat__value { display: block; }
.sc-stat__label { color: var(--sc-color-text-muted); font-size: var(--sc-font-size-2xs); font-weight: var(--sc-font-weight-bold); letter-spacing: .08em; text-transform: uppercase; }
.sc-stat__value { margin-top: 2px; font-family: var(--sc-font-display); font-size: 1.75rem; line-height: 1; }

.sc-filter-card { margin-bottom: var(--sc-space-4); padding: var(--sc-space-4); background: var(--sc-color-surface); border: var(--sc-border-width) solid var(--sc-color-border); border-radius: var(--sc-radius-card); }
.sc-filter-grid { display: grid; grid-template-columns: minmax(220px, 1.4fr) minmax(200px, 1fr) auto; gap: var(--sc-space-3); align-items: end; }
.sc-filter-actions { display: flex; gap: var(--sc-space-2); }

.sc-table-card { overflow: hidden; background: var(--sc-color-surface); border: var(--sc-border-width) solid var(--sc-color-border); border-radius: var(--sc-radius-card); box-shadow: var(--sc-shadow-xs); }
.sc-table-scroll { width: 100%; overflow-x: auto; }
.sc-table { width: 100%; margin: 0; color: var(--sc-color-text); border-collapse: collapse; font-family: var(--sc-font-body); font-size: var(--sc-font-size-sm); }
.sc-table th { padding: var(--sc-space-3) var(--sc-space-4); color: var(--sc-color-text-muted); text-align: left; background: var(--sc-color-surface-subtle); border-bottom: var(--sc-border-width) solid var(--sc-color-border); font-size: var(--sc-font-size-2xs); font-weight: var(--sc-font-weight-bold); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.sc-table td { padding: var(--sc-space-3) var(--sc-space-4); vertical-align: middle; border-bottom: var(--sc-border-width) solid var(--sc-color-border); }
.sc-table tbody tr:last-child td { border-bottom: 0; }
.sc-table tbody tr { transition: background-color var(--sc-duration-fast) var(--sc-ease-standard); }
.sc-table tbody tr:hover { background: var(--sc-color-ink-50); }
.sc-table__primary { display: block; color: var(--sc-color-text); font-weight: var(--sc-font-weight-semibold); text-decoration: none; }
.sc-table__primary:hover { color: var(--sc-color-brand-600); }
.sc-table__secondary { display: block; margin-top: 2px; color: var(--sc-color-text-muted); font-size: var(--sc-font-size-xs); }
.sc-table__actions { display: flex; justify-content: flex-end; align-items: center; gap: var(--sc-space-1); }

.sc-badge { display: inline-flex; align-items: center; gap: var(--sc-space-1); padding: .35rem .55rem; color: var(--sc-color-text-muted); background: var(--sc-color-ink-100); border-radius: var(--sc-radius-pill); font-size: var(--sc-font-size-2xs); font-weight: var(--sc-font-weight-bold); line-height: 1; white-space: nowrap; }
.sc-badge::before { content: ''; width: 6px; height: 6px; background: currentColor; border-radius: 50%; }
.sc-badge--success { color: var(--sc-color-success); background: var(--sc-color-success-soft); }
.sc-badge--warning { color: var(--sc-color-warning-ink); background: var(--sc-color-warning-soft); }
.sc-badge--danger { color: var(--sc-color-danger); background: var(--sc-color-danger-soft); }
.sc-badge--info { color: var(--sc-color-info); background: var(--sc-color-info-soft); }
.sc-badge--brand { color: var(--sc-color-brand-600); background: var(--sc-color-brand-50); }
.sc-badge--dark { color: var(--sc-color-ink-800); background: var(--sc-color-ink-100); }

.sc-priority { display: inline-flex; align-items: center; gap: var(--sc-space-1); color: var(--sc-color-text-muted); font-size: var(--sc-font-size-xs); font-weight: var(--sc-font-weight-medium); }
.sc-priority--high { color: var(--sc-color-warning-ink); font-weight: var(--sc-font-weight-semibold); }
.sc-priority--critical { color: var(--sc-color-danger); font-weight: var(--sc-font-weight-bold); }

.sc-table-footer { display: flex; justify-content: space-between; align-items: center; gap: var(--sc-space-4); padding: var(--sc-space-3) var(--sc-space-4); background: var(--sc-color-surface-subtle); border-top: var(--sc-border-width) solid var(--sc-color-border); }
.sc-table-count { margin: 0; color: var(--sc-color-text-muted); font-size: var(--sc-font-size-xs); }
.sc-pagination { display: flex; align-items: center; gap: var(--sc-space-1); margin: 0; padding: 0; list-style: none; }
.sc-pagination a, .sc-pagination span { display: grid; min-width: var(--sc-control-height-sm); height: var(--sc-control-height-sm); padding-inline: var(--sc-space-2); place-items: center; color: var(--sc-color-text-muted); background: var(--sc-color-surface); border: var(--sc-border-width) solid var(--sc-color-border); border-radius: var(--sc-radius-control); font-size: var(--sc-font-size-xs); font-weight: var(--sc-font-weight-semibold); text-decoration: none; }
.sc-pagination a:hover { color: var(--sc-color-brand-600); border-color: var(--sc-color-brand-200); background: var(--sc-color-brand-50); }
.sc-pagination [aria-current="page"] { color: var(--sc-color-white); background: var(--sc-color-brand-500); border-color: var(--sc-color-brand-500); }
.sc-pagination .is-disabled { opacity: .45; }

.sc-empty { display: grid; justify-items: center; padding: var(--sc-space-12) var(--sc-space-6); text-align: center; }
.sc-empty__icon { display: grid; width: 56px; height: 56px; place-items: center; color: var(--sc-color-brand-600); background: var(--sc-color-brand-50); border-radius: 50%; font-size: 1.35rem; }
.sc-empty__title { margin: var(--sc-space-3) 0 var(--sc-space-1); font-family: var(--sc-font-display); font-size: var(--sc-font-size-lg); }
.sc-empty__text { max-width: 440px; margin: 0; color: var(--sc-color-text-muted); font-size: var(--sc-font-size-sm); }

.sc-dropdown-menu { min-width: 180px; padding: var(--sc-space-1); border: var(--sc-border-width) solid var(--sc-color-border); border-radius: var(--sc-radius-control); box-shadow: var(--sc-shadow-md); }
.sc-dropdown-menu .dropdown-item { display: flex; align-items: center; gap: var(--sc-space-2); padding: var(--sc-space-2) var(--sc-space-3); border-radius: calc(var(--sc-radius-control) - 2px); font-size: var(--sc-font-size-xs); }

@media (max-width: 991.98px) {
    .sc-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .sc-filter-grid { grid-template-columns: 1fr 1fr; }
    .sc-filter-actions { grid-column: span 2; }
}

@media (max-width: 767.98px) {
    .sc-table--responsive thead { display: none; }
    .sc-table--responsive, .sc-table--responsive tbody, .sc-table--responsive tr { display: block; }
    .sc-table--responsive tbody { padding: var(--sc-space-2); }
    .sc-table--responsive tr { margin-bottom: var(--sc-space-3); padding: var(--sc-space-3); border: var(--sc-border-width) solid var(--sc-color-border); border-radius: var(--sc-radius-card); box-shadow: var(--sc-shadow-xs); }
    .sc-table--responsive tbody tr:last-child { margin-bottom: 0; }
    .sc-table--responsive td { display: grid; grid-template-columns: 105px minmax(0, 1fr); align-items: center; gap: var(--sc-space-3); padding: var(--sc-space-2) 0; border: 0; }
    .sc-table--responsive td::before { content: attr(data-label); color: var(--sc-color-text-muted); font-size: var(--sc-font-size-2xs); font-weight: var(--sc-font-weight-bold); letter-spacing: .04em; text-transform: uppercase; }
    .sc-table--responsive .sc-table__actions { justify-content: flex-start; }
    .sc-table-footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
    .sc-stat-grid { grid-template-columns: 1fr 1fr; gap: var(--sc-space-2); }
    .sc-stat { padding: var(--sc-space-3); }
    .sc-stat__icon { display: none; }
    .sc-filter-grid { grid-template-columns: 1fr; }
    .sc-filter-actions { grid-column: auto; }
    .sc-filter-actions .sc-btn:first-child { flex: 1; }
    .sc-table--responsive td { grid-template-columns: 88px minmax(0, 1fr); }
    .sc-pagination li:not(:first-child):not(:last-child):not(.is-current) { display: none; }
}
