/* Filtros compartidos de los listados. Los filtros emergentes antiguos ya no se usan. */
.it-smart-grid { min-width: 0; width: 100%; }
.it-grid-tools { margin: 0 0 12px; padding: 14px; background: #f8fafc; border: 1px solid #e3eaf2; border-radius: 14px; color: #34495e; }
.it-grid-tools__main { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.it-grid-search { flex: 1 1 260px; display: flex; align-items: center; gap: 10px; margin: 0; padding: 0 12px; min-width: 180px; border: 1px solid #d6e0ea; border-radius: 10px; background: #fff; }
.it-grid-search i { color: #718096; }
.it-grid-search:focus-within { border-color: #4088bd; box-shadow: 0 0 0 3px #4088bd18; }
.it-grid-tools input[type="search"] { box-sizing: border-box; height: 40px; min-width: 0; width: 100%; font: inherit; font-size: .875rem; color: #25374b; background: #fff; border: 1px solid #d6e0ea; border-radius: 9px; padding: 8px 10px; outline: none; }
.it-grid-search input[type="search"] { border: 0; padding-inline: 0; box-shadow: none; background: transparent; }
.it-grid-tools input[type="search"]:focus-visible { outline: 2px solid #4088bd; outline-offset: 2px; }
.it-grid-search input[type="search"]:focus-visible { outline: none; }
.it-grid-tools input::placeholder { color: #8a98a8; }
.it-grid-tools__button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 13px; border: 1px solid #d6e0ea; border-radius: 10px; background: #fff; color: #34495e; font: inherit; font-size: .83rem; font-weight: 600; cursor: pointer; }
.it-grid-tools__button:hover, .it-grid-tools__button.is-active { border-color: #4088bd; background: #edf6fc; color: #276d9f; }
.it-grid-tools__button:focus-visible { outline: 2px solid #4088bd; outline-offset: 2px; }
.it-grid-tools__badge { padding: 1px 6px; border-radius: 20px; background: #4088bd; color: #fff; font-size: .75rem; }
.it-grid-tools__count { margin-left: auto; color: #64748b; font-size: .8rem; font-variant-numeric: tabular-nums; }
.it-grid-tools__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; padding-top: 14px; margin-top: 12px; border-top: 1px solid #e3eaf2; }
.it-grid-tools__fields label { display: flex; flex-direction: column; gap: 5px; margin: 0; font-size: .78rem; font-weight: 600; }
.it-grid-empty { padding: 24px; color: #64748b; text-align: center; font-size: .9rem; }
.it-smart-grid .rz-paginator { flex-wrap: wrap; gap: 8px; padding-block: 12px; }
.it-native-pager { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 12px 0; color: #64748b; font-size: .8rem; }
.it-native-pager > span { margin-right: auto; }
.it-native-pager button:disabled { opacity: .4; cursor: default; }
.it-native-pager label { display: flex; align-items: center; gap: 8px; margin: 0; }
.it-native-pager select { padding: 8px; border: 1px solid #d6e0ea; border-radius: 8px; background: #fff; color: #34495e; }
::highlight(itrucks-grid-match) { background-color: #ffe08a; color: #172b42; }
.it-smart-grid [data-grid-match] { background-color: #fff2bd !important; box-shadow: inset 0 0 0 1px #e8bd4d; }
@media (max-width: 600px) {
    .it-grid-tools { padding: 10px; }
    .it-grid-search { flex-basis: 100%; }
    .it-grid-tools__count { flex-basis: 100%; margin-left: 0; }
}
@media print { .it-grid-tools, .it-native-pager { display: none !important; } }

/* Cabecera de listado: título, búsqueda centrada y acciones en una misma fila. */
.it-grid-list-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 560px) minmax(0, 1fr);
    align-items: center !important;
    gap: 12px 20px !important;
    width: 100%;
    margin-bottom: 16px;
}
.it-grid-list-header > :first-child { grid-column: 1; min-width: 0; }
.it-grid-list-header > :last-child:not(.it-grid-search-slot) { grid-column: 3; justify-self: end; max-width: 100%; flex-wrap: wrap; }
.it-grid-list-header > .title-section { flex-wrap: wrap; gap: 8px; }
.it-grid-list-header .FontCard { max-width: 100%; overflow-wrap: anywhere; }
.it-grid-search-slot { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; position: relative; z-index: 5; }
.it-grid-tools--compact { margin: 0; padding: 0; border: 0; background: transparent; position: relative; }
.it-grid-tools--compact .it-grid-tools__main { flex-wrap: nowrap; gap: 8px; }
.it-grid-tools--compact .it-grid-search { flex: 1 1 auto; min-width: 90px; }
.it-grid-tools--compact .it-grid-tools__button { flex-shrink: 0; padding-inline: 10px; }
.it-grid-tools--compact .it-grid-tools__count { flex-shrink: 0; margin: 0; min-width: 26px; text-align: center; font-size: .75rem; }
.it-grid-tools--compact .it-grid-tools__fields {
    box-sizing: border-box; position: absolute; top: calc(100% + 8px); right: 0; z-index: 30;
    width: min(640px, calc(100vw - 64px)); max-height: min(440px, 60vh); overflow: auto;
    margin: 0; padding: 16px; border: 1px solid #dce5ef; border-radius: 14px;
    background: #fff; box-shadow: 0 12px 36px #20374d24;
}
@media (max-width: 1199px) {
    .it-grid-list-header { grid-template-columns: minmax(0, 1fr) minmax(250px, 420px) minmax(0, 1fr); gap: 12px !important; }
    .it-grid-tools--compact .it-grid-tools__column-label { display: none; }
}
@media (max-width: 900px) {
    .it-grid-list-header { grid-template-columns: minmax(0, 1fr) auto; }
    .it-grid-list-header > :last-child:not(.it-grid-search-slot) { grid-column: 2; grid-row: 1; }
    .it-grid-search-slot { grid-column: 1 / -1; grid-row: 2; }
    .it-grid-tools--compact .it-grid-tools__column-label { display: inline; }
    .it-grid-tools--compact .it-grid-tools__fields { width: 100%; box-sizing: border-box; }
    .it-grid-tools--compact .it-grid-search { flex-basis: auto; }
    .it-grid-tools--compact .it-grid-tools__count { flex-basis: auto; }
}
@media (max-width: 420px) {
    .it-grid-tools--compact .it-grid-tools__column-label { display: none; }
    .it-grid-list-header { column-gap: 8px !important; }
}
@media print { .it-grid-search-slot { display: none !important; } }

.it-grid-tools__panel-heading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #34495e; font-size: .85rem; }
.it-grid-tools__panel-heading .it-grid-tools__button { min-height: 30px; padding: 5px 9px; }
