.tabs{display:flex;gap:4px;border-bottom:1px solid var(--c-border);margin:24px 0 16px;overflow-x:auto}.tabs .tab{background:transparent;border:0;padding:12px 20px;color:var(--c-text-2);cursor:pointer;font-size:14px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.tabs .tab:hover{color:var(--c-text-1)}.tabs .tab.active{color:var(--c-accent);border-bottom-color:var(--c-accent)}.tabs .count{background:var(--c-bg-2);color:var(--c-text-3);padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.tabs .tab.active .count{background:var(--c-accent);color:#fff}.tab-panel{animation:fade-in .2s ease-out}.tab-panel[hidden]{display:none}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.kpi-grid-sm{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi-grid-sm .kpi{padding:14px 16px}.kpi-grid-sm .label{font-size:11px}.kpi-grid-sm .value{font-size:24px;font-weight:700}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.toolbar .input[type=search]{flex:1 1 180px;width:auto;min-width:0}.toolbar select.input{flex:0 0 180px;width:180px;min-width:0}.toolbar .btn-nuevo{flex:0 0 auto;white-space:nowrap}.meta-count{flex-basis:100%;order:99;color:var(--c-text-3);font-size:12px}.table-wrap{background:var(--c-bg-1);border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background:var(--c-bg-2)}.data-table th{text-align:left;padding:10px 14px;font-weight:600;color:var(--c-text-2);font-size:12px;letter-spacing:.02em;text-transform:uppercase;border-bottom:1px solid var(--c-border)}.data-table td{padding:10px 14px;border-bottom:1px solid var(--c-border);color:var(--c-text-1);vertical-align:middle}.data-table tbody tr:hover{background:var(--c-bg-2)}.data-table tbody tr:last-child td{border-bottom:0}.data-table .loading,.data-table .empty{padding:32px;text-align:center;color:var(--c-text-3)}.data-table .actions{display:inline-flex;gap:4px}.data-table .actions a,.data-table .actions button{background:transparent;border:1px solid var(--c-border);border-radius:6px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--c-text-2);cursor:pointer;text-decoration:none;font-size:14px}.data-table .actions a:hover,.data-table .actions button:hover{background:var(--c-bg-2);color:var(--c-accent);border-color:var(--c-accent)}.vig-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.vig-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.vig-chip.vigente,.vig-chip.activo{color:var(--c-success);background:color-mix(in srgb,var(--c-success) 15%,transparent)}.vig-chip.por_vencer{color:var(--c-warning);background:color-mix(in srgb,var(--c-warning) 18%,transparent)}.vig-chip.vencido{color:var(--c-danger);background:color-mix(in srgb,var(--c-danger) 15%,transparent)}.vig-chip.desconocido,.vig-chip.inactivo{color:var(--c-text-3);background:var(--c-bg-2)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:var(--c-text-3)}.pager-size select{margin:0 4px;padding:4px 6px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface, var(--c-bg-1));color:var(--c-text-1);font-family:inherit;font-size:13px}.pager-nav{display:flex;align-items:center;gap:8px}.pager-info{min-width:130px;text-align:center}.pager-nav button[disabled]{opacity:.45;cursor:default}.compl-cell{display:flex;align-items:center;gap:8px;min-width:130px}.compl-bar{width:70px;height:6px;background:var(--c-bg-2);border-radius:999px;overflow:hidden}.compl-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--c-warning) 0%,var(--c-accent) 100%);transition:width .2s}.compl-pct{font-size:12px;color:var(--c-text-3);min-width:30px;text-align:right}.pill-list{display:inline-flex;flex-wrap:wrap;gap:4px}.pill{background:var(--c-bg-2);color:var(--c-text-2);padding:2px 8px;border-radius:999px;font-size:11px}
