.favoritos{background:var(--surface-base);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px 16px;margin:0 0 28px}.fav-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fav-header h2{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:7px}.fav-header h2 .sec-ic{flex:none;color:var(--primary)}.fav-editar{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);color:var(--text-emphasis);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.fav-editar:hover{border-color:var(--primary-soft-border);background:var(--primary-soft)}.fav-hint{font-size:12.5px;color:var(--text-muted);margin:-4px 0 12px}.fav-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.fav-tile{display:flex;align-items:center;gap:10px;min-width:0;min-height:58px;padding:10px 12px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-emphasis);text-decoration:none;font-family:inherit;text-align:left;transition:border-color .15s,background .15s,transform .15s}.fav-tile:hover{border-color:var(--fav-c, var(--primary));background:var(--surface-base);transform:translateY(-1px)}.fav-tile:focus-visible,.fav-editar:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.fav-ic{flex:0 0 auto;width:34px;height:34px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--fav-c, var(--primary));background:color-mix(in srgb,var(--fav-c, var(--primary)) 12%,transparent)}.fav-ic svg{width:18px;height:18px}.fav-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.fav-label{font-size:13px;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fav-dept{font-size:11.5px;color:var(--text-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fav-tile-atajos{position:relative;flex-wrap:wrap;row-gap:8px}.fav-link{color:inherit;text-decoration:none}.fav-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.fav-link:focus-visible{outline:none}.fav-tile-atajos:has(.fav-link:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.fav-atajos{flex:1 0 100%;display:flex;gap:6px}.fav-atajo{position:relative;z-index:1;flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;border:1px solid color-mix(in srgb,var(--fav-c, var(--primary)) 40%,var(--border));border-radius:var(--radius-pill);background:var(--surface-base);color:var(--text-emphasis);font-size:11.5px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap}.fav-atajo:hover{border-color:var(--fav-c, var(--primary));background:color-mix(in srgb,var(--fav-c, var(--primary)) 12%,var(--surface-base))}.fav-atajo:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.fav-vacio{cursor:pointer;background:transparent;border:1.5px dashed var(--border-strong);color:var(--text-muted)}.fav-vacio .fav-ic{color:var(--text-muted);background:var(--surface-muted)}.fav-vacio:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.fav-vacio:hover .fav-ic{color:var(--primary)}@media (max-width: 900px){.fav-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 560px){.fav-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.fav-overlay{position:fixed;inset:0;z-index:1500;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility 0s .18s}.fav-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s,visibility 0s}.fav-modal{width:100%;max-width:620px;max-height:min(86vh,760px);display:flex;flex-direction:column;gap:12px;background:var(--surface-base);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:18px 18px 14px;transform:translateY(8px) scale(.98);transition:transform .18s}.fav-overlay.open .fav-modal{transform:none}.fav-modal>:not(.fav-lista){flex-shrink:0}.fav-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fav-modal-head h2{font-size:17px;font-weight:800;color:var(--text-emphasis)}.fav-modal-sub{font-size:12.5px;color:var(--text-muted);margin-top:3px}.fav-cerrar{flex:0 0 auto;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.fav-cerrar:hover{color:var(--text-emphasis)}.fav-sel{display:flex;flex-wrap:wrap;gap:6px;min-height:32px;align-items:center}.fav-sel-vacio{font-size:12.5px;color:var(--text-muted)}.fav-chip{display:inline-flex;align-items:center;gap:2px;padding:3px 4px;border:1px solid color-mix(in srgb,var(--fav-c, var(--primary)) 45%,var(--border));background:color-mix(in srgb,var(--fav-c, var(--primary)) 8%,var(--surface-base));border-radius:var(--radius-pill);font-size:12.5px;font-weight:700;color:var(--text-emphasis)}.fav-chip-n{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--fav-c, var(--primary));color:#fff;font-size:11px;font-weight:800}.fav-chip-txt{padding:0 4px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fav-chip button{width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.fav-chip button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-emphasis)}.fav-chip button:disabled{opacity:.3;cursor:default}.fav-chip button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.fav-buscar{width:100%;min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-input, var(--surface-base));color:var(--text-emphasis);font-family:inherit;font-size:13.5px}.fav-buscar:focus{outline:2px solid var(--primary);outline-offset:0;border-color:transparent}.fav-lista{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;padding-right:2px}.fav-grupo{border:0;margin:0;padding:0;min-inline-size:0;display:flex;flex-direction:column;gap:6px}.fav-grupo legend{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.fav-opcion{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-base);cursor:pointer}.fav-opcion:hover{background:var(--surface-muted)}.fav-opcion input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--primary);cursor:pointer}.fav-opcion .fav-ic{width:30px;height:30px}.fav-opcion .fav-ic svg{width:16px;height:16px}.fav-opcion.is-marcada{border-color:var(--fav-c, var(--primary));background:color-mix(in srgb,var(--fav-c, var(--primary)) 7%,var(--surface-base))}.fav-opcion.is-bloqueada{opacity:.5;cursor:not-allowed}.fav-opcion.is-bloqueada input{cursor:not-allowed}.fav-opcion:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:1px}.fav-sin-resultados{font-size:13px;color:var(--text-muted);padding:10px 2px}.fav-modal-foot{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);padding-top:12px}.fav-btn{min-height:36px;padding:6px 16px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);color:var(--text-emphasis);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.fav-btn:hover{background:var(--surface-hover)}.fav-btn-primario{background:var(--primary-fill, var(--primary));border-color:transparent;color:var(--primary-on-fill, #fff)}.fav-btn-primario:hover{background:var(--primary-fill-dark, var(--primary-dark))}.fav-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.fav-tile,.fav-overlay,.fav-modal{transition:none}.fav-tile:hover{transform:none}}@media (max-width: 560px){.fav-overlay{align-items:flex-end;padding:0}.fav-modal{max-width:none;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}}
