
#px-main .v2f { position: relative; margin: 0 0 12px; font-size: 13px; }
#px-main .v2f-sitio { min-width: 0; max-width: 100%; }
#px-main .v2f-linea { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; min-width: 0; padding: 6px 0; }
#px-main .v2f button, #px-main .v2f select, #px-main .v2f input { width: auto; min-height: 0; margin: 0; font: inherit; }
#px-main .v2f-it { display: inline-flex; align-items: center; gap: 6px; flex: none; min-width: 0; }
#px-main .v2f-it[hidden], #px-main .v2f-n[hidden] { display: none; }

#px-main .v2f-buscar { display: flex; align-items: center; gap: 6px; flex: 1 1 150px; min-width: 110px; max-width: 280px; height: 34px; padding: 0 10px; margin: 0; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 8px; background: var(--cc-superficie, #fff); color: var(--cc-texto-3, #6b7785); }
#px-main .v2f-buscar input { flex: 1; min-width: 0; width: 100%; height: 30px; padding: 0; border: 0; background: transparent; font-size: 13px; color: var(--cc-texto, #1d1f25); outline: 0; -webkit-appearance: none; appearance: none; text-overflow: ellipsis; }
#px-main .v2f-buscar:focus-within { border-color: var(--cc-texto-3, #6b7785); box-shadow: 0 0 0 2px var(--u-neutro-suave); }

#px-main .v2f-seg { display: inline-flex; flex: none; height: 34px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 8px; overflow: hidden; background: var(--cc-superficie, #fff); }
#px-main .v2f-seg button { height: 32px; padding: 0 10px; border: 0; border-left: 1px solid var(--cc-borde, #e3e6ea); border-radius: 0; background: transparent; font-size: 12.5px; font-weight: 600; color: var(--cc-texto-2, #444b55); white-space: nowrap; cursor: pointer; }
#px-main .v2f-seg button:first-child { border-left: 0; }
#px-main .v2f-seg button.act { background: var(--cc-primario, #0f3d5e); color: var(--cc-sobre-primario, #fff); }
#px-main .v2f-seg button:disabled { cursor: not-allowed; opacity: .55; }
#px-main .v2f-seg button:not(.act):not(:disabled):hover { background: var(--u-neutro-suave); }
#px-main .v2f-rot { font-size: 12.5px; font-weight: 600; color: var(--cc-texto-3, #6b7785); white-space: nowrap; }

#px-main .v2f-sel { flex: none; height: 34px; max-width: 240px; padding: 0 26px 0 10px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 8px; background: var(--cc-superficie, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b7785' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 9px center / 10px 6px; font-size: 12.5px; font-weight: 600; color: var(--cc-texto-2, #444b55); cursor: pointer; -webkit-appearance: none; appearance: none; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
#px-main .v2f-sel.act { border-color: var(--cc-texto-3, #6b7785); background-color: var(--u-neutro-suave); color: var(--cc-texto, #1d1f25); }
#px-main .v2f-sel:disabled { opacity: .55; cursor: not-allowed; }

#px-main .v2f-sel.v2f-off { border-style: dashed; color: var(--cc-texto-3, #6b7785); background-color: transparent; }
#px-main .v2f-sel:focus-visible, #px-main .v2f-seg button:focus-visible, #px-main .v2f-mas:focus-visible, #px-main .v2f-quitar:focus-visible, #px-main .v2f-ficha:focus-visible, #px-main .v2f-exp button:focus-visible { outline: 2px solid var(--cc-texto, #1d1f25); outline-offset: 1px; }
#px-main .v2f-alt { display: none; }
#px-main .v2f.compacto .v2f-it[data-parte] .v2f-seg { display: none; }
#px-main .v2f.compacto .v2f-it[data-parte] .v2f-alt { display: inline-block; }

#px-main .v2f-multi { position: relative; }
#px-main .v2f-multi > summary { display: flex; align-items: center; list-style: none; line-height: 32px; min-width: 64px; }
#px-main .v2f-multi > summary::-webkit-details-marker { display: none; }
#px-main .v2f-multi-ops { position: absolute; z-index: 30; top: 38px; left: 0; min-width: 220px; max-width: calc(100vw - 32px); max-height: 320px; overflow: auto; padding: 6px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 10px; background: var(--cc-superficie, #fff); box-shadow: var(--v2-sombra, 0 8px 24px rgba(15, 30, 45, .14)); }
#px-main .v2f-multi-ops label { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 8px; border-radius: 6px; font-size: 13px; color: var(--cc-texto, #1d1f25); cursor: pointer; white-space: nowrap; }
#px-main .v2f-multi-ops label:hover { background: var(--u-neutro-suave); }
#px-main .v2f-multi-ops label b { margin-left: auto; font-weight: 600; color: var(--cc-texto-3, #6b7785); font-variant-numeric: tabular-nums; }
#px-main .v2f-multi-ops input { width: 16px; height: 16px; accent-color: var(--cc-primario, #0f3d5e); }
#px-main .v2f-multi-todos { display: block; margin: 4px 0 0 8px; padding: 6px 0; border: 0; background: none; color: var(--cc-texto-2, #444b55); font-weight: 600; font-size: 12.5px; text-decoration: underline; cursor: pointer; }

#px-main .v2f-rango { gap: 6px; font-size: 12.5px; color: var(--cc-texto-3, #6b7785); }
#px-main .v2f-rango input { height: 34px; width: 136px; padding: 0 6px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 8px; background: var(--cc-superficie, #fff); color: var(--cc-texto, #1d1f25); font-size: 12.5px; }
#px-main .v2f-fijo { height: 34px; padding: 0 10px; border: 1px dashed var(--cc-borde-fuerte, #cfd4da); border-radius: 8px; font-size: 12.5px; font-weight: 600; color: var(--cc-texto-3, #6b7785); white-space: nowrap; }

#px-main .v2f-fichas { gap: 6px; flex-wrap: nowrap; }
#px-main .v2f-ficha { display: inline-flex; align-items: center; gap: 6px; flex: none; height: 30px; padding: 0 8px 0 11px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 999px; background: var(--u-neutro-suave); color: var(--cc-texto, #1d1f25); font-size: 12.5px; font-weight: 600; white-space: nowrap; cursor: pointer; }
#px-main .v2f-ficha .x { font-size: 15px; line-height: 1; font-weight: 500; color: var(--cc-texto-3, #6b7785); }
#px-main .v2f-ficha:hover .x { color: var(--cc-texto, #1d1f25); }
#px-main .v2f-ficha.gris { padding: 0 11px; border-style: dashed; background: transparent; color: var(--cc-texto-3, #6b7785); font-weight: 500; cursor: help; }

#px-main button.v2f-ficha.gris { cursor: pointer; padding: 4px 8px 4px 11px; height: auto; min-height: 30px; max-width: 100%; flex: 0 1 auto; white-space: normal; text-align: left; line-height: 1.25; color: var(--cc-texto-2, #4a5563); }
#px-main button.v2f-ficha.gris:hover { border-style: solid; }

#px-main .v2f-nota { margin: 0 0 4px; font-size: 12.5px; line-height: 1.4; color: var(--cc-texto-3, #6b7785); }
#px-main .v2f-nota[hidden] { display: none; }

#px-main .v2f-mas { display: inline-flex; align-items: center; gap: 6px; flex: none; height: 34px; padding: 0 10px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 8px; background: var(--cc-superficie, #fff); font-size: 12.5px; font-weight: 600; color: var(--cc-texto-2, #444b55); cursor: pointer; }
#px-main .v2f-mas[hidden] { display: none; }
#px-main .v2f-mas.act { border-color: var(--cc-texto-3, #6b7785); background: var(--u-neutro-suave); color: var(--cc-texto, #1d1f25); }
#px-main .v2f-n { margin-left: auto; font-size: 12.5px; color: var(--cc-texto-3, #6b7785); font-variant-numeric: tabular-nums; white-space: nowrap; }
#px-main .v2f-quitar { flex: none; height: 34px; padding: 0 6px; border: 0; background: none; color: var(--cc-texto-2, #444b55); font-size: 12.5px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; cursor: pointer; }
#px-main .v2f-quitar[hidden] { display: none; }

#px-main .v2f-exp { gap: 2px; }
#px-main .v2f-exp button { display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 6px; border: 0; border-radius: 6px; background: none; font-size: 12.5px; font-weight: 600; color: var(--cc-texto-2, #444b55); white-space: nowrap; cursor: pointer; }
#px-main .v2f-exp button:hover { background: var(--u-neutro-suave); color: var(--cc-texto, #1d1f25); }
#px-main .v2f-exp-sep { font-size: 12.5px; color: var(--cc-texto-3, #6b7785); }
#px-main .v2f-acc { gap: 6px; }
#px-main .v2f-acc button, #px-main .v2f-acc .px-btn { width: auto; flex: none; height: 34px; min-height: 0; padding: 0 12px; white-space: nowrap; font-size: 12.5px; }

#px-main .v2f-pop { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 0 4px; border-top: 1px solid var(--cc-borde, #e3e6ea); }
#px-main .v2f-pop[hidden] { display: none; }
#px-main .v2f-pop .v2f-n { margin-left: 0; }
#px-main .v2f-pop .v2f-seg { max-width: 100%; overflow-x: auto; }
#px-main .v2f-pop .v2f-fichas { flex-wrap: wrap; }
@media (max-width: 520px) {
  #px-main .v2f-buscar { flex: 1 1 120px; }
  #px-main .v2f-sel { max-width: calc(100vw - 48px); }
  #px-main .v2f-rango input { width: 128px; }
}

@media (pointer: coarse) {
  #px-main .v2f-buscar, #px-main .v2f-seg, #px-main .v2f-sel, #px-main .v2f-mas, #px-main .v2f-quitar, #px-main .v2f-exp button, #px-main .v2f-rango input, #px-main .v2f-fijo { height: 44px; }
  #px-main .v2f-seg button { height: 42px; }
  #px-main .v2f-buscar input { height: 40px; }
  #px-main .v2f-ficha { height: 44px; }
  #px-main .v2f-multi > summary { line-height: 42px; }
  #px-main .v2f-multi-ops { top: 48px; }
  #px-main .v2f-multi-ops label { min-height: 44px; }
}


#px-main .v2f > .v2f-fichas.abajo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 0 0 6px; }
#px-main .v2f > .v2f-fichas.abajo[hidden] { display: none; }


body[data-vista-depto] #px-main .v2f-seg button.act { background: var(--acento, var(--cc-primario, #0f3d5e)); color: #fff; }   
body[data-vista-depto] #px-main .v2f-buscar:focus-within { border-color: var(--acento, var(--cc-texto-3)); box-shadow: 0 0 0 2px var(--acento-suave, var(--u-neutro-suave)); }
body[data-vista-depto] #px-main .v2f-ficha { border-color: var(--acento, var(--cc-borde-fuerte)); background: var(--acento-suave, var(--u-neutro-suave)); }

#px-main .v2f-sitio.v2f-basica { margin: 0 0 12px; }


#px-main .v2f-num { display: inline-flex; align-items: center; gap: 4px; height: 34px; padding: 0 6px 0 10px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 8px; background: var(--cc-superficie, #fff); font-size: 12.5px; font-weight: 600; color: var(--cc-texto-2, #444b55); }
#px-main .v2f-num.act { border-color: var(--cc-texto-2, #444b55); }
#px-main .v2f-num .v2f-num-rot { margin-right: 2px; white-space: nowrap; }
#px-main .v2f-num .v2f-num-a { font-weight: 500; color: var(--cc-texto-3, #6b7785); }
#px-main .v2f-num input { width: 76px; height: 26px; min-height: 0; margin: 0; padding: 0 6px; border: 1px solid var(--cc-borde, #e3e6ea); border-radius: 6px; background: var(--cc-superficie, #fff); font: inherit; font-weight: 500; color: var(--cc-texto, #1d1f25); -moz-appearance: textfield; }
#px-main .v2f-num input::-webkit-outer-spin-button, #px-main .v2f-num input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
@media (pointer: coarse) { #px-main .v2f-num { height: 44px; } #px-main .v2f-num input { height: 36px; } }

#px-main .v2f-todo { position: relative; }
#px-main .v2f-todo > details > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 8px; background: var(--cc-superficie, #fff); font-size: 12.5px; font-weight: 600; color: var(--cc-texto-2, #444b55); cursor: pointer; white-space: nowrap; }
#px-main .v2f-todo > details > summary::-webkit-details-marker { display: none; }
#px-main .v2f-todo > details[open] > summary { border-color: var(--cc-texto-2, #444b55); }
#px-main .v2f-todo-ops { position: absolute; z-index: 30; top: 38px; right: 0; display: flex; flex-direction: column; min-width: 220px; padding: 6px; border: 1px solid var(--cc-borde-fuerte, #cfd4da); border-radius: 10px; background: var(--cc-superficie, #fff); box-shadow: var(--v2-sombra, 0 8px 24px rgba(15, 30, 45, .14)); }
#px-main .v2f-todo-ops button { display: block; width: 100%; height: auto; min-height: 34px; margin: 0; padding: 6px 10px; border: 0; border-radius: 6px; background: transparent; font: inherit; font-size: 13px; font-weight: 600; text-align: left; color: var(--cc-texto, #1d1f25); cursor: pointer; }
#px-main .v2f-todo-ops button:hover { background: var(--u-neutro-suave, #eef1f4); }
#px-main .v2f-todo-ops small { display: block; padding: 4px 10px 6px; font-size: 12px; font-weight: 500; color: var(--cc-texto-3, #6b7785); }
