/**
 * La vista de datos de company-theme (tabla / tarjetas / columnas), para el
 * sitio publico.
 *
 * NO se edita a mano: la genera `tools/extraer-componentes.php` a partir de
 * `componentes.css`, quedandose con la familia de la vista de datos y SIN una
 * sola variable (el sitio ya tiene MDB con su paleta; ver la nota de la barra).
 *
 * La acompana `assets/css/tabla-vista.css`, que viste los <select> nativos del
 * orden y el tamano —esos no salen de company-theme, son del port del tema—.
 */
.data-cards[hidden],.data-board[hidden],.data-table-panel[hidden],.data-pager[hidden],.view-switch[hidden]{display:none}
.data-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem}
.data-toolbar[hidden]{display:none}
.data-toolbar-tools{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}
.data-search{position:relative;width:min(20rem,100%)}
.data-search-icon{color:var(--mdb-secondary-color);font-size:.8125rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}
.data-search-input{background-color:#fff;border:1px solid rgba(0,0,0,.175);border-radius:50rem;color:var(--mdb-body-color);font-size:.875rem;padding:.5rem 1rem .5rem 2.375rem;width:100%}
.data-search-input:focus{border-color:var(--mdb-primary);box-shadow:0 0 0 .15rem rgba(var(--mdb-primary-rgb),.12);outline:none}
.data-search-input::-webkit-search-cancel-button{cursor:pointer}
.data-sort[hidden]{display:none}
.data-sort-toggle{align-items:center;background-color:#fff;border:1px solid rgba(0,0,0,.175);border-radius:50rem;color:var(--mdb-body-color);cursor:pointer;display:inline-flex;font-size:.8125rem;padding:.5rem 1rem}
.data-sort-toggle:hover{background-color:#00000008}
.data-sort .dropdown-item{font-size:.8125rem}
.data-sort .dropdown-item.active{background-color:rgba(var(--mdb-primary-rgb),0.059);color:var(--mdb-primary);font-weight:500}
.data-sort-arrow{font-size:.6875rem;opacity:.3;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}
.table th.data-sorted .data-sort-arrow{color:var(--mdb-secondary);opacity:1}
.data-view-loading{position:relative}
.data-view-loading .data-table-panel,.data-view-loading .data-cards,.data-view-loading .data-board{opacity:.5;pointer-events:none;transition:opacity .15s ease}
.data-pager{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-top:1rem}
.data-pager-summary{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}
.data-pager-range{color:var(--mdb-secondary-color);font-size:.8125rem}
.data-pager-size-toggle{align-items:center;background:none;border:0;color:var(--mdb-secondary);cursor:pointer;display:inline-flex;font-size:.8125rem;padding:.125rem .25rem}
.data-pager-size-toggle:hover{text-decoration:underline}
.data-pager-size .dropdown-item{font-size:.8125rem}
.data-pager-size .dropdown-item.active{background-color:rgba(var(--mdb-primary-rgb),0.059);color:var(--mdb-primary);font-weight:500}
.data-pager-controls{display:flex;flex-wrap:wrap;gap:.25rem}
.data-pager-page,.data-pager-nav{background:none;border:0;border-radius:50rem;color:var(--mdb-body-color);cursor:pointer;font-size:.8125rem;min-width:2rem;padding:.375rem .625rem}
.data-pager-page:hover:not(:disabled):not(.active),.data-pager-nav:hover:not(:disabled):not(.active){background-color:rgba(var(--mdb-primary-rgb),.08)}
.data-pager-page:disabled,.data-pager-nav:disabled{cursor:default;opacity:.35}
.data-pager-gap{color:var(--mdb-secondary-color);font-size:.8125rem;min-width:2rem;padding:.375rem 0;text-align:center;-webkit-user-select:none;user-select:none}
.data-pager-page.active{background-color:var(--mdb-primary);color:#fff;font-weight:600}
.data-table-panel{background-color:#fff;border-radius:1rem;box-shadow:0 0 3px rgba(var(--mdb-box-shadow-color-rgb),.07),0 2px 2px rgba(var(--mdb-box-shadow-color-rgb),.04);overflow-x:auto;padding:1rem}
.data-table-panel .table{margin-bottom:0;--mdb-table-bg: transparent}
.data-table-panel .table>:first-child>tr:first-child>:first-child{border-top-left-radius:.5rem}
.data-table-panel .table>:first-child>tr:first-child>:last-child{border-top-right-radius:.5rem}
.data-table-panel .table>:last-child>tr:last-child>:first-child{border-bottom-left-radius:.5rem}
.data-table-panel .table>:last-child>tr:last-child>:last-child{border-bottom-right-radius:.5rem}
.data-table-panel .table>:last-child>tr:last-child>*{border-bottom:0}
.data-cards{display:grid;gap:.75rem;grid-template-columns:1fr}
@media(min-width:768px){
.data-cards{grid-template-columns:repeat(var(--data-cards-columns, 1),minmax(0,1fr))}
}
.data-board{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:768px){
.data-board{grid-template-columns:repeat(var(--data-board-columns, 3),minmax(0,1fr))}
}
.data-board-column{display:flex;flex-direction:column;gap:.75rem;min-width:0}
.data-board-header{align-items:center;border-bottom:2px solid var(--mdb-primary);display:flex;gap:.5rem;justify-content:space-between;padding-bottom:.5rem}
.data-board-title{color:var(--mdb-primary);font-size:.8125rem;font-weight:600;letter-spacing:.02em;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.data-board-count{background-color:rgba(var(--mdb-primary-rgb),.1);border-radius:999px;color:var(--mdb-primary);flex:0 0 auto;font-size:.6875rem;font-weight:600;padding:.125rem .5rem}
.data-board-empty{color:var(--mdb-secondary-color);font-size:.75rem;padding:.75rem 0;text-align:center}
.data-board-pager{align-items:center;display:flex;gap:.25rem;justify-content:center;margin-top:auto;padding-top:.5rem}
.data-board-pager-range{color:var(--mdb-secondary-color);font-size:.75rem}
.data-card{background-color:#fff;border-radius:.75rem;box-shadow:0 0 3px rgba(var(--mdb-box-shadow-color-rgb),.07),0 2px 2px rgba(var(--mdb-box-shadow-color-rgb),.04);padding:1rem}
.data-card-header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,.06);display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}
.data-card-title{color:var(--mdb-primary);font-size:.9375rem;font-weight:600;margin:0}
.data-card-body{display:grid;gap:.5rem 1.5rem;grid-template-columns:1fr}
@media(min-width:768px){
.data-card-body{grid-template-columns:repeat(var(--data-card-groups, 2),1fr)}
}
.data-card-grid{align-content:start;column-gap:.625rem;display:grid;grid-template-columns:var(--data-card-label-width, auto) 1fr;row-gap:.3125rem}
.data-card-label{color:var(--mdb-secondary-color);font-size:.75rem;font-weight:400}
.data-card-value{color:var(--mdb-body-color);font-size:.75rem;font-weight:700;min-width:0;overflow-wrap:anywhere}
.data-card-actions{align-items:center;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:flex-end;margin-top:.75rem;padding-top:.5rem}
.data-card-actions a,.data-card-actions button:not(.btn){background:none;border:0;color:var(--mdb-primary);cursor:pointer;font-size:.75rem;font-weight:500;padding:0;text-decoration:none}
.data-card-actions a:hover,.data-card-actions button:not(.btn):hover{text-decoration:underline}
.view-switch{background-color:#0000000d;border-radius:50rem;display:inline-flex;gap:.25rem;padding:.25rem}
.view-switch .btn{align-items:center;background-color:transparent;border:0;box-shadow:none;color:var(--mdb-secondary-color);display:inline-flex;gap:.375rem;padding:.375rem .875rem}
.view-switch .btn:hover{background-color:#0000000a;color:var(--mdb-body-color)}
.view-switch .btn.active{background-color:#fff;box-shadow:0 0 3px rgba(var(--mdb-box-shadow-color-rgb),.07),0 2px 2px rgba(var(--mdb-box-shadow-color-rgb),.04);color:var(--mdb-primary)}
.data-view-empty{align-items:center;background-color:#fff;border-radius:1rem;box-shadow:0 0 3px rgba(var(--mdb-box-shadow-color-rgb),.07),0 2px 2px rgba(var(--mdb-box-shadow-color-rgb),.04);color:var(--mdb-secondary-color);display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:16rem;padding:2.5rem 1.5rem;text-align:center}
.data-view-empty[hidden]{display:none}
.data-view-empty-icon{color:rgba(var(--mdb-primary-rgb),.25);font-size:3rem;line-height:1}
.data-view-empty-title{color:var(--mdb-body-color);font-size:1rem;font-weight:600;margin:.5rem 0 0}
.data-view-empty-text{font-size:.875rem;margin:0;max-width:28rem}
.data-view-empty-actions{margin-top:.75rem}
