


#px-main :where(.v2g button, .v2g-cifra, .v2g-ven button, .v2g-area button:not(.v2-vacio-accion), .v2g-pl > summary) {
  all: unset; box-sizing: border-box; cursor: pointer; font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
#px-main :where(.v2g button, .v2g-cifra, .v2g-ven button, .v2g-area button, .v2g-pl > summary):focus-visible { outline: 2px solid var(--cc-texto-2); outline-offset: 2px; border-radius: 6px; }
#px-main :where(.v2g) button { width: auto; margin: 0; }


.v2g .u-critico, .v2g-cifra .u-critico { --col: var(--u-critico); }
.v2g .u-alerta,  .v2g-cifra .u-alerta  { --col: var(--u-alerta); }
.v2g .u-bien,    .v2g-cifra .u-bien    { --col: var(--u-bien); }
.v2g .u-info,    .v2g-cifra .u-info    { --col: var(--u-info); }
.v2g .u-neutro,  .v2g-cifra .u-neutro  { --col: var(--u-neutro); }
.v2g .u-firma,   .v2g-cifra .u-firma   { --col: var(--u-firma); }

.v2g .t-1, .v2g-cifra .t-1 { --col: var(--c-1); }
.v2g .t-2, .v2g-cifra .t-2 { --col: var(--c-6); }
.v2g .t-3, .v2g-cifra .t-3 { --col: var(--c-7); }
.v2g .t-4, .v2g-cifra .t-4 { --col: var(--c-8); }
.v2g .t-credito, .v2g-cifra .t-credito { --col: var(--t-credito); }
.v2g .t-contado, .v2g-cifra .t-contado { --col: var(--t-contado); }


.v2g { display: flex; flex-direction: column; gap: 10px; min-width: 0; font-size: 14px; color: var(--cc-texto); container-type: inline-size; }
#px-main .v2g { background: var(--cc-superficie, #fff); border: 1px solid var(--cc-borde); border-radius: 12px; padding: 14px 16px; margin: 12px 0; box-shadow: var(--v2-sombra, none); }
.v2g-cab { display: flex; align-items: baseline; gap: 4px 10px; flex-wrap: wrap; min-width: 0; }
.v2g-cab b { font-size: 15px; font-weight: 700; color: var(--cc-texto); }
.v2g-cab .d { font-size: 13px; color: var(--cc-texto-3); min-width: 0; overflow-wrap: anywhere; }
.v2g-cab .v2g-vivo, .v2g-cab .v2g-cada { margin-left: auto; white-space: nowrap; }
.v2g-cada { font-size: 12.5px; color: var(--cc-texto-3); }
.v2g-nada, .v2g-nota { margin: 0; font-size: 13px; color: var(--cc-texto-3); }
.v2g-nd { color: var(--cc-texto-3); font-style: italic; }


.v2g-filtros { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.v2g-seg { display: inline-flex; flex-wrap: wrap; flex: 0 1 auto; max-width: 100%; background: var(--cc-superficie-hundida, var(--cc-superficie-2)); padding: 3px; gap: 2px; border-radius: 9px; }
#px-main .v2g-seg button { min-height: 30px; padding: 0 11px; font-size: 13px; font-weight: 600; color: var(--cc-texto-2); white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; border-radius: 7px; flex: 1 0 auto; }
#px-main .v2g-seg button.act { background: var(--cc-superficie); color: var(--cc-texto); box-shadow: 0 1px 2px rgba(0,0,0,.12); }


.v2g-barras { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr) max-content; column-gap: 12px; row-gap: 2px; }
#px-main .v2g-barras > * { grid-column: 1 / -1; }
#px-main .v2g-barra { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr) max-content; grid-template-columns: subgrid; column-gap: 12px; align-items: center; min-height: 44px; padding: 4px 8px; border-radius: 8px; width: 100%; }
#px-main .v2g .v2g-barra:nth-child(even) { background: var(--cc-superficie-2); }
#px-main .v2g .v2g-barra:hover { background: var(--u-neutro-suave); }
#px-main .v2g-barra.v2g-sel { outline: 2px solid var(--cc-texto-2); outline-offset: -2px; }
#px-main .v2g-barra.v2g-baja { opacity: .55; }
.v2g-barra .n { font-size: 14px; color: var(--cc-texto-2); line-height: 1.3; overflow-wrap: anywhere; display: flex; flex-direction: column; min-width: 0; }
.v2g-barra .n small { font-size: 12.5px; color: var(--cc-texto-3); }
.v2g-barra .p { position: relative; height: 14px; background: var(--u-pista); border-radius: 4px; overflow: visible; min-width: 0; }
.v2g-barra .p i { position: absolute; left: var(--x, 0); top: 0; bottom: 0; width: 0; border-radius: 4px; background: var(--col, var(--u-neutro)); transition: width .7s cubic-bezier(.2, .7, .2, 1); }

.v2g-barra .p i.f { background: repeating-linear-gradient(45deg, var(--u-neutro) 0 3px, transparent 3px 6px); opacity: .6; }
.v2g-listo .v2g-barra .p i, .v2g-barra .p i.listo { width: var(--w); }
.v2g-barra .p em { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--cc-texto); opacity: .55; margin-left: -1px; }
.v2g-barra .v { display: flex; flex-direction: column; align-items: flex-end; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; font-size: 14px; line-height: 1.2; }
.v2g-barra .v small { font-weight: 500; font-size: 12.5px; color: var(--cc-texto-3); }
#px-main .v2g-barra.cero { min-height: 36px; }
#px-main .v2g-barra.cero.solo { cursor: default; }
.v2g-barra.cero .n, .v2g-barra.cero .v { color: var(--cc-texto-3); font-weight: 500; }
.v2g-barra.cero .p { background: transparent; }
#px-main .v2g-barra[hidden] { display: none; }

#px-main .v2g-barra.v2g-fila-cero .p, body.px-activo #px-main .v2g-barra.v2g-fila-cero .p { display: flex; align-items: center; height: 22px; background: transparent; border: 1px dashed var(--cc-borde-fuerte); border-radius: 99px; overflow: hidden; }
.v2g-barra .v2g-cero-txt { padding: 0 10px; font-size: 12.5px; font-weight: 600; color: var(--cc-texto-2); white-space: nowrap; }


.v2g-pie { display: flex; gap: 6px 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--cc-texto-3); }
.v2g-pie i { display: inline-block; width: 14px; height: 8px; border-radius: 2px; background: var(--col, var(--u-neutro)); vertical-align: middle; margin-right: 5px; }
.v2g-pie i.f { background: repeating-linear-gradient(45deg, var(--u-neutro) 0 3px, transparent 3px 6px); }
.v2g-pie em { display: inline-block; width: 2px; height: 12px; background: var(--cc-texto); opacity: .55; vertical-align: middle; margin-right: 6px; }


.v2g-anillo { display: flex; align-items: center; gap: 16px 28px; flex-wrap: wrap; }
.v2g-anillo svg { flex: none; transform: rotate(-90deg); }
.v2g-anillo svg .s { stroke: var(--col, var(--u-neutro)); stroke-dasharray: 0 var(--c); stroke-dashoffset: var(--o); transition: stroke-dasharray .8s cubic-bezier(.2, .7, .2, 1); cursor: pointer; }
.v2g-anillo.v2g-listo svg .s { stroke-dasharray: var(--l) var(--c); }
.v2g-anillo svg .s:hover { opacity: .8; }
.v2g-anillo svg text { transform: rotate(90deg); transform-origin: 55px 55px; fill: var(--cc-texto); font-weight: 700; font-size: 19px; font-variant-numeric: tabular-nums; }
.v2g-anillo svg text.u { font-weight: 500; font-size: 12px; fill: var(--cc-texto-3); }
.v2g-leyenda { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; flex: 1 1 200px; min-width: 0; align-content: flex-start; }
.v2g-leyenda.fila { flex-direction: row; flex-wrap: wrap; gap: 2px 16px; align-content: flex-start; }
#px-main .v2g-leyenda button { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto auto; gap: 8px; align-items: center; min-height: 36px; padding: 0 8px; border-radius: 6px; width: 100%; }
.v2g-leyenda.fila li { flex: 0 1 auto; min-width: 0; } #px-main .v2g-leyenda.fila button { width: auto; min-height: 32px; }
#px-main .v2g-leyenda button:hover { background: var(--cc-superficie-2); }
#px-main .v2g-leyenda button[disabled] { cursor: default; }
#px-main .v2g-leyenda button.v2g-sel { outline: 2px solid var(--cc-texto-2); outline-offset: -2px; }
#px-main .v2g-leyenda button.v2g-baja { opacity: .55; }
.v2g-leyenda i { width: 12px; height: 12px; border-radius: 3px; background: var(--col, var(--u-neutro)); }
.v2g-leyenda .n { color: var(--cc-texto-2); font-size: 14px; overflow-wrap: anywhere; min-width: 0; }
.v2g-leyenda b { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.v2g-leyenda small { font-size: 12.5px; color: var(--cc-texto-3); white-space: nowrap; }

#px-main .v2g > .v2g-leyenda { flex: 0 0 auto; }
.v2g-leyenda .v2g-resto { align-self: center; font-size: 13px; color: var(--cc-texto-3); padding: 0 4px; }


.v2g-medidores { display: flex; flex-direction: column; gap: 2px; }
#px-main .v2g-medidor { display: grid; grid-template-columns: minmax(0, 160px) minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 44px; padding: 4px 8px; border-radius: 8px; width: 100%; }
#px-main .v2g-medidor:hover { background: var(--cc-superficie-2); }
.v2g-medidor .n { font-size: 14px; color: var(--cc-texto-2); overflow-wrap: anywhere; }
.v2g-medidor .p { position: relative; height: 10px; border-radius: 5px; background: var(--u-pista); }
.v2g-medidor .p i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 5px; background: var(--col, var(--u-neutro)); transition: width .7s cubic-bezier(.2, .7, .2, 1); }
.v2g-listo .v2g-medidor .p i { width: var(--w); }
.v2g-medidor .p em { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--cc-texto); opacity: .55; }
.v2g-medidor .v { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--cc-texto); }


.v2g-apilada { display: flex; height: 30px; border-radius: 7px; overflow: hidden; gap: 2px; background: var(--u-pista); }
#px-main .v2g-apilada .s { flex: 0 1 0%; min-width: 0; display: flex; align-items: center; padding: 0 10px; background: var(--col, var(--u-neutro)); color: #fff; font-size: 12.5px; font-weight: 700; white-space: nowrap; overflow: hidden; transition: flex-basis .7s cubic-bezier(.2, .7, .2, 1); }
#px-main .v2g-apilada.v2g-listo .s { flex-basis: var(--w); }

#px-main .v2g-apilada .s:is(.c-1, .c-3, .c-7, .c-9, .t-1, .t-3, .t-contado) { color: #1d1f25; }
:root[data-tema="oscuro"] #px-main .v2g-apilada .s { color: #11151a; }
:root[data-tema="oscuro"] #px-main .v2g-apilada .s:is(.c-4, .c-5, .c-6, .c-9, .t-2) { color: #fff; }

@media (prefers-color-scheme: dark) { :root:not([data-tema="claro"]) #px-main .v2g-apilada .s { color: #11151a; } :root:not([data-tema="claro"]) #px-main .v2g-apilada .s:is(.c-4, .c-5, .c-6, .c-9, .t-2) { color: #fff; } }
#px-main .v2g-apilada .s span { overflow: hidden; }
#px-main .v2g-apilada .s.v2g-sin-cifra span { display: none; }
#px-main .v2g-apilada .s:hover { filter: brightness(.92); }
#px-main .v2g-apilada .s.v2g-sel { box-shadow: inset 0 0 0 2px var(--cc-texto); }
#px-main .v2g-apilada .s.v2g-baja { opacity: .45; }


.v2g-base { border-top: 1px solid var(--cc-borde); padding-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.v2g-base[hidden] { display: none; }
#px-main .v2g-base { min-width: 0; max-width: 100%; overflow-x: auto; }
.v2g-base-cab { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; font-size: 14px; }
.v2g-base-cab b { font-weight: 700; }
.v2g-base-cab .d { color: var(--cc-texto-3); font-size: 13px; }
#px-main .v2g-ir { color: var(--cc-texto); font-weight: 700; font-size: 13.5px; margin-left: auto; white-space: nowrap; min-height: 32px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--cc-borde-fuerte, var(--cc-borde)); }
#px-main .v2g-x { color: var(--cc-texto-3); font-weight: 600; font-size: 13px; padding: 4px 8px; border-radius: 6px; border: 1px solid var(--cc-borde); min-height: 32px; display: inline-flex; align-items: center; }
.v2g-tabla { width: 100%; border-collapse: collapse; font-size: 14px; table-layout: fixed; }
.v2g-tabla th { text-align: left; font-size: 13px; font-weight: 700; color: var(--cc-texto-3); height: 36px; padding: 0 8px; border-bottom: 1px solid var(--cc-borde); white-space: normal; overflow-wrap: anywhere; }
.v2g-tabla td { height: 44px; padding: 0 8px; border-bottom: 1px solid var(--cc-borde); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; line-height: 1.3; }
.v2g-tabla td.d, .v2g-tabla th.d { text-align: right; white-space: nowrap; }
.v2g-tabla tbody tr:nth-child(even) { background: var(--cc-superficie-2); }

.v2g-tabla th[data-v2g-orden] { cursor: pointer; user-select: none; }
.v2g-tabla th[data-v2g-orden]:focus-visible { outline: 2px solid var(--cc-primario, currentColor); outline-offset: -2px; }
.v2g-tabla th[data-v2g-orden] .flecha::after { content: " \21C5"; opacity: .55; }
.v2g-tabla th[aria-sort="ascending"] .flecha::after { content: " \25B2"; opacity: 1; }
.v2g-tabla th[aria-sort="descending"] .flecha::after { content: " \25BC"; opacity: 1; }
.v2g-tabla tfoot td { font-weight: 700; height: 44px; padding: 0 8px; border-top: 2px solid var(--cc-borde-fuerte, var(--cc-borde)); background: var(--cc-superficie-2); font-variant-numeric: tabular-nums; }
.v2g-tabla tfoot td.d { text-align: right; white-space: nowrap; }
#px-main tr.v2g-oculta, #px-main .v2g-oculta { display: none !important; }


.v2g-ven { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 32px; margin-top: 16px; font-size: 13px; color: var(--cc-texto-3); }
.v2g-ven svg { flex: none; opacity: .7; }
#px-main .v2g-ven button { font-weight: 600; color: var(--cc-texto-2); padding: 2px 0; }
#px-main .v2g-ven button:hover { color: var(--cc-texto); text-decoration: underline; }
.v2g-ven .pt { opacity: .6; margin: 0 2px; }


.v2g-vacio { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin: 0; font-size: 14px; color: var(--cc-texto-2); }
#px-main .v2g-crear { all: unset; box-sizing: border-box; cursor: pointer; min-height: 40px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--cc-borde-fuerte, var(--cc-borde)); font-weight: 600; font-size: 14px; color: var(--cc-texto); display: inline-flex; align-items: center; }
#px-main .v2g-crear:hover { background: var(--u-neutro-suave); }
.v2g-vacio-bloque { display: flex; flex-direction: column; gap: 4px; }

#px-main .v2g-motivo { margin: 0 0 12px; padding: 8px 12px; border-radius: 8px; background: var(--u-neutro-suave); color: var(--cc-texto-2); font-size: 13.5px; line-height: 1.45; white-space: normal; overflow: visible; -webkit-line-clamp: unset; display: block; }


.v2g-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px 32px; margin: 0 0 16px; padding: 0 0 16px; border-bottom: 1px solid var(--cc-borde); }
.v2g-panel.dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2g-panel .v2g + .v2g { margin-top: 0; }
#px-main .v2g-panel.compacto { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-start; margin: 0 0 8px; padding: 0; border-bottom: 0; }
.v2g-tiras, .v2g-plegados { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
#px-main .v2g-panel.compacto > .v2g-tiras { flex: 999 1 480px; }
#px-main .v2g-panel.compacto > .v2g-plegados { flex: 1 1 260px; }

#px-main .v2g-panel.compacto:has(.v2g-pl[open]) > .v2g-plegados { flex-basis: 100%; }

#px-main .v2g.v2g-tira { margin: 0; padding: 6px 12px 8px; gap: 2px 14px; flex-direction: row; flex-wrap: wrap; align-items: center; }
#px-main .v2g-tira > .v2g-cab { flex: 0 1 auto; }
#px-main .v2g-tira > .v2g-cab .v2g-vivo { margin-left: 4px; }
#px-main .v2g-tira > .v2g-leyenda { flex: 1 1 auto; }
#px-main .v2g-tira > .v2g-apilada, #px-main .v2g-tira > .v2g-nada, #px-main .v2g-tira > .v2g-pie { flex: 1 0 100%; order: 3; }
#px-main .v2g-tira > .v2g-base { flex: 1 0 100%; order: 4; }
#px-main .v2g-tira .v2g-cab b { font-size: 14px; }
#px-main .v2g-tira .v2g-apilada { height: 24px; }
#px-main .v2g-tira .v2g-leyenda.fila { gap: 0 12px; }
#px-main .v2g-tira .v2g-leyenda.fila button { min-height: 26px; padding: 0 4px; gap: 6px; }
#px-main .v2g-tira .v2g-apilada { height: 22px; }
@media (max-width: 600px) { #px-main .v2g-tira .v2g-leyenda.fila { gap: 0 6px; } #px-main .v2g-tira .v2g-leyenda .n { font-size: 13px; } #px-main .v2g-tira > .v2g-cab .d { font-size: 12.5px; } }
.v2g-pl { min-width: 0; }
#px-main .v2g-pl > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid var(--cc-borde); border-radius: 12px; background: var(--cc-superficie, #fff); list-style: none; font-size: 14px; }
#px-main .v2g-pl > summary::-webkit-details-marker { display: none; }
#px-main .v2g-pl > summary::after { content: "▾"; margin-left: auto; color: var(--cc-texto-3); }
#px-main .v2g-pl[open] > summary::after { content: "▴"; }
#px-main .v2g-pl > summary .n { font-size: 13px; color: var(--cc-texto-3); }
#px-main .v2g-pl[open] > summary { border-radius: 12px 12px 0 0; border-bottom-color: transparent; }
#px-main .v2g-pl > .v2g { margin: 0; border-top: 0; border-radius: 0 0 12px 12px; }


#px-main .px-cab.v2g-cab-area { background: transparent; border: 0; border-bottom: 1px solid var(--cc-borde); border-radius: 0; padding: 4px 0 16px; margin-bottom: 16px; }
#px-main .px-cab.v2g-cab-area .tit h1 { color: var(--cc-texto); }
#px-main .px-cab.v2g-cab-area .sub, #px-main .px-cab.v2g-cab-area .v2g-sub { margin: 12px 0 0; font-size: 12.5px; color: var(--cc-texto-3); }
.v2g-area { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.v2g-area-cuerpo { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.v2g-cifras { display: flex; flex-wrap: wrap; gap: 12px 0; }
#px-main .v2g-cifra { display: flex; flex-direction: column; gap: 3px; min-width: 150px; flex: 1 1 150px; padding: 6px 16px 6px 0; margin-right: 16px; border-right: 1px solid var(--cc-borde); border-radius: 0; text-align: left; }
#px-main .v2g-cifra:last-child { border-right: 0; margin-right: 0; }
#px-main .v2g-cifra.cero { cursor: default; }
#px-main button.v2g-cifra:hover .r { color: var(--cc-texto); text-decoration: underline; text-underline-offset: 3px; }

.v2g-cifra .k { font-size: 26px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--cc-texto); overflow-wrap: anywhere; }
.v2g-cifra .k.u-critico, .v2g-cifra .k.u-alerta { color: var(--col); }
.v2g-cifra.cero .k { color: var(--cc-texto-3); }
.v2g-cifra .r { font-size: 13px; font-weight: 700; color: var(--cc-texto-2); text-transform: uppercase; letter-spacing: .04em; }
.v2g-cifra .d { font-size: 12.5px; color: var(--cc-texto-3); line-height: 1.35; }
#px-main .v2g-cifra.accion { border-right: 0; background: var(--cc-primario, var(--cc-texto)); color: var(--cc-sobre-primario, #fff); border-radius: 10px; padding: 8px 14px; flex: 0 1 190px; }
.v2g-cifra.accion .k { font-size: 17px; color: var(--cc-sobre-primario, #fff); } .v2g-cifra.accion .r, .v2g-cifra.accion .d { color: var(--cc-sobre-primario, #fff); opacity: .9; }

.v2g-cifra .k.v2g-cambia { animation: v2g-cambia .45s cubic-bezier(.2, .7, .2, 1); }
@keyframes v2g-cambia { from { opacity: .2; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.v2g-mini { display: flex; height: 4px; border-radius: 2px; background: var(--u-pista); overflow: hidden; margin: 4px 0 2px; max-width: 160px; gap: 1px; }
.v2g-mini i { display: block; height: 100%; width: 0; background: var(--col, var(--u-neutro)); transition: width .7s cubic-bezier(.2, .7, .2, 1); }
.v2g-mini.v2g-listo i { width: var(--w); }
.v2g-mini i.t-1 { --col: var(--c-1); } .v2g-mini i.t-2 { --col: var(--c-6); } .v2g-mini i.t-3 { --col: var(--c-7); }
.v2g-mini i.u-critico { --col: var(--u-critico); } .v2g-mini i.u-alerta { --col: var(--u-alerta); } .v2g-mini i.u-neutro { --col: var(--u-neutro); }
#px-main .v2g-mas { display: none; align-self: flex-start; min-height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--cc-borde); font-size: 14px; font-weight: 600; color: var(--cc-texto); }
.v2g-area-graf { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px 32px; }
.v2g-area-graf .v2g + .v2g { margin-top: 0; }
#px-main .v2g-area-graf > .v2g, #px-main .v2g-area-graf > .v2g-pl { margin: 0; align-self: start; }

@media (min-width: 700px) { #px-main .v2g-pl-area > summary { display: none; } #px-main .v2g-pl-area > .v2g { border-top: 1px solid var(--cc-borde); border-radius: 12px; } }

@media (max-width: 699px) {
  #px-main .v2g-cifras:not(.todas) > .v2g-cifra:nth-child(n+4) { display: none; }
  #px-main .v2g-cifras:not(.todas) > .v2g-cifra:nth-child(3) { border-right: 0; margin-right: 0; }
  #px-main .v2g-mas { display: inline-flex; align-items: center; }
  .v2g-area-graf { grid-template-columns: minmax(0, 1fr); }
}
.v2g-cab-area ~ .px-g4 { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }


@media (max-width: 1023px) {
  .v2g-panel.dos { grid-template-columns: minmax(0, 1fr); }
  .v2g-barras, #px-main .v2g-barra { grid-template-columns: minmax(0, 150px) minmax(0, 1fr) max-content; }
  #px-main .v2g-barra { grid-template-columns: subgrid; }
  .v2g-tabla td.p3, .v2g-tabla th:nth-child(n+5) { display: none; }
}

@media (max-width: 600px) {
  #px-main .v2g-barra { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n v" "p p"; gap: 2px 10px; min-height: 48px; padding: 6px 6px; }
  .v2g-barra .n { grid-area: n; } .v2g-barra .v { grid-area: v; flex-direction: row; gap: 6px; align-items: baseline; } .v2g-barra .p { grid-area: p; height: 10px; }
  #px-main .v2g-medidor { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n v" "p p"; gap: 2px 10px; min-height: 48px; }
  .v2g-medidor .n { grid-area: n; } .v2g-medidor .v { grid-area: v; } .v2g-medidor .p { grid-area: p; }
  .v2g-anillo { gap: 12px; } .v2g-anillo svg { width: 120px; height: 120px; }
  .v2g-cab .v2g-vivo, .v2g-cab .v2g-cada { margin-left: 0; }
  #px-main .v2g-cifra { min-width: calc(50% - 16px); flex: 1 1 calc(50% - 16px); padding-right: 12px; margin-right: 12px; }
  #px-main .v2g-cifra:nth-child(2n) { border-right: 0; margin-right: 0; }
  .v2g-cifra .k { font-size: 22px; }
  .v2g-tabla th:nth-child(n+4), .v2g-tabla td:nth-child(n+4) { display: none; }
  #px-main .v2g-ir { margin-left: 0; }
  #px-main .v2g { padding: 12px; }
}

@container (max-width: 420px) {
  #px-main .v2g-medidor, #px-main .v2g-barra { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
  #px-main .v2g-medidor .p, #px-main .v2g-barra .p { grid-column: 1 / -1; grid-row: 2; }
  .v2g-medidor .v { white-space: normal; text-align: right; }
}
@container (max-width: 300px) {
  #px-main .v2g-medidor { grid-template-columns: minmax(0, 1fr); }
  #px-main .v2g-medidor .p { grid-row: auto; }
  .v2g-medidor .v { text-align: left; }
}


@media (pointer: coarse) {
  #px-main .v2g-barra, #px-main .v2g-barra.cero, #px-main .v2g-medidor { min-height: 44px; }
  #px-main .v2g-leyenda button, #px-main .v2g-tira .v2g-leyenda.fila button, #px-main .v2g-leyenda.fila button { min-height: 44px; }
  #px-main .v2g-seg button, #px-main .v2g-ir, #px-main .v2g-x, #px-main .v2g-ven button, #px-main .v2g-mas, #px-main .v2g-crear { min-height: 44px; }
  #px-main .v2g-apilada, #px-main .v2g-tira .v2g-apilada { height: 44px; }
  #px-main .v2r-lista { min-height: 44px; }
}


@media (prefers-reduced-motion: reduce) {
  #px-main .v2g, #px-main .v2g *, #px-main .v2g-cifra, #px-main .v2g-cifra *, #px-main .v2g-mini i, #px-main .v2r * { transition: none !important; animation: none !important; }
  .v2g-barra .p i, .v2g-medidor .p i, .v2g-mini i { width: var(--w); }
  #px-main .v2g-apilada .s { flex-basis: var(--w); }
  .v2g-anillo svg .s { stroke-dasharray: var(--l) var(--c); }
}


.v2v-qr { padding-top: 20px; border-top: 1px solid var(--cc-borde); display: flex; flex-direction: column; gap: 20px; scroll-margin-top: 80px; border-radius: 4px; transition: box-shadow .6s; }
.v2v-qr.v2v-resalte { box-shadow: 0 0 0 3px var(--u-neutro-suave); }


#px-main .v2r { margin: 14px 0 18px; padding: 20px 22px; border-radius: 14px; background: var(--cc-superficie, #fff); border: 1px solid var(--cc-borde);
  box-shadow: var(--v2-sombra, var(--cc-sombra-1, 0 1px 3px rgba(16,24,40,.08))); display: grid; gap: 20px; min-width: 0; }
#px-main .v2r-franja { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 28px; }
#px-main .v2r-pri { display: grid; gap: 6px; min-width: 0; padding-right: 28px; border-right: 1px solid var(--cc-borde); }
#px-main .v2r-pri.v2r-vacio { align-self: center; }
#px-main .v2r-pri .cif { font-size: 40px; line-height: 1; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--cc-texto); }
#px-main .v2r-pri .cif small { font-size: 16px; font-weight: 600; color: var(--cc-texto-2); margin-left: 6px; }
#px-main .v2r-pri .rot { font-size: 14px; color: var(--cc-texto-2); line-height: 1.4; }
#px-main .v2r-muestra { justify-self: start; font-size: 12px; font-weight: 600; letter-spacing: .02em; padding: 2px 8px; border-radius: 999px;
  background: var(--u-neutro-suave); color: var(--u-neutro); text-transform: lowercase; }
#px-main .v2r-minis { display: flex; flex-wrap: wrap; gap: 14px 0; flex: 1 1 320px; min-width: 0; }
#px-main .v2r-m { display: grid; gap: 2px; padding: 0 20px; border-left: 1px solid var(--cc-borde); min-width: 96px; }
#px-main .v2r-m:first-child { border-left: 0; padding-left: 0; }
#px-main .v2r-m b { font-size: 22px; line-height: 1.15; font-weight: 700; font-variant-numeric: tabular-nums; }
#px-main .v2r-m span { font-size: 13px; font-weight: 600; color: var(--cc-texto-2); }
#px-main .v2r-m small { font-size: 12.5px; color: var(--cc-texto-3); line-height: 1.4; }
#px-main .v2r-graf { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 18px; border-top: 1px solid var(--cc-borde); min-width: 0; }
#px-main .v2r-graf.dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#px-main .v2r-pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
#px-main .v2r-lista { min-height: 44px; padding: 0 16px; border-radius: 10px; border: 1px solid var(--cc-borde-fuerte, var(--cc-borde)); background: transparent;
  font-size: 14px; font-weight: 600; color: var(--cc-texto); cursor: pointer; }
#px-main .v2r-lista:hover { background: var(--u-neutro-suave); }
#px-main .v2r-sec > .destacado-sub { margin-bottom: 0; }
#px-main .v2r .v2g-leyenda { flex: 0 0 auto; }
#px-main .v2r-graf > .v2g { margin-top: 0; align-self: start; }
@media (max-width: 900px) { #px-main .v2r-graf.dos { grid-template-columns: minmax(0, 1fr); } }

#px-main .v2r-graf.dos:has(> .v2g table) > .v2g { grid-column: 1 / -1; }
#px-main .v2r-graf.dos:has(> .v2g table) > .v2g table td, #px-main .v2r-graf.dos:has(> .v2g table) > .v2g table th { overflow-wrap: normal; word-break: normal; }
@media (max-width: 767px) {
  #px-main .v2r { padding: 16px; gap: 16px; }
  #px-main .v2r-pri { border-right: 0; padding-right: 0; flex: 1 1 100%; }
  #px-main .v2r-pri .cif { font-size: 32px; }
  #px-main .v2r-minis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; flex-basis: 100%; }
  #px-main .v2r-m { padding: 0 0 0 12px; min-width: 0; }
  #px-main .v2r-m:first-child { padding-left: 0; }
  #px-main .v2r-m:nth-child(3n+1) { border-left: 0; padding-left: 0; }
  #px-main .v2r-m:nth-child(n+4) { display: none; }  
  #px-main .v2r-lista { width: auto; }
}


@media (max-width: 600px) {
  #px-main .v2g-tira .v2g-leyenda.fila { gap: 0 10px; }
  #px-main .v2g-tira .v2g-leyenda.fila button { min-height: 20px; padding: 0; pointer-events: none; }
  #px-main .v2g-tira .v2g-leyenda i { width: 10px; height: 10px; }
}

@media (min-width: 1024px) {
  #px-main .v2g-tira > .v2g-cab { order: 1; }
  #px-main .v2g-tira > .v2g-apilada { order: 2; flex: 1 1 200px; }
  #px-main .v2g-tira > .v2g-leyenda { order: 3; flex: 0 1 auto; }
  #px-main .v2g-tira > .v2g-pie, #px-main .v2g-tira > .v2g-base { order: 4; }
}

@media (min-width: 1024px) {
  #px-main .v2g-tira > .v2g-apilada { flex: 1 1 120px; min-width: 120px; }
  #px-main .v2g-tira > .v2g-leyenda.fila { flex-wrap: nowrap; }
}

@media (max-width: 600px) {
  #px-main .v2g-panel.compacto.v2g-junto:not(:has(.v2g-base:not([hidden]))):not(:has(.v2g-pl[open])) { position: relative; }
  #px-main .v2g-panel.compacto.v2g-junto:not(:has(.v2g-base:not([hidden]))):not(:has(.v2g-pl[open])) > .v2g-plegados { position: absolute; bottom: 8px; right: 12px; width: 128px; }
  #px-main .v2g-panel.compacto.v2g-junto:not(:has(.v2g-base:not([hidden]))):not(:has(.v2g-pl[open])) .v2g-pl > summary { padding: 0 8px; gap: 4px; font-size: 12.5px; line-height: 1.2; border-radius: 8px; }
  #px-main .v2g-panel.compacto.v2g-junto:not(:has(.v2g-base:not([hidden]))):not(:has(.v2g-pl[open])) .v2g-pl > summary .n { display: none; }
  #px-main .v2g-panel.compacto.v2g-junto:not(:has(.v2g-base:not([hidden]))):not(:has(.v2g-pl[open])) .v2g-tira > .v2g-apilada { flex: 0 0 calc(100% - 136px); max-width: calc(100% - 136px); }
}

#px-main .v2g-panel .v2g-rot { flex: 1 0 100%; display: flex; align-items: baseline; gap: 8px; margin: 2px 0 0; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--cc-texto-3, #6b7785); }
#px-main .v2g-panel .v2g-rot .r { font-weight: 700; color: var(--acento, var(--cc-primario, #0f3d5e)); }

:root[data-tema="oscuro"] #px-main .v2g-panel .v2g-rot .r { color: var(--cc-texto); }
@media (prefers-color-scheme: dark) { :root:not([data-tema="claro"]) #px-main .v2g-panel .v2g-rot .r { color: var(--cc-texto); } }
#px-main .v2g-panel .v2g-rot .d { text-transform: none; letter-spacing: 0; font-size: 12px; }

#px-main .v2g-panel.dos { align-items: start; }   

.v2g-leyenda.fila li { flex: 1 1 200px; max-width: 100%; }
#px-main .v2g-leyenda.fila button { width: 100%; max-width: 100%; }
#px-main .v2g-leyenda button .n { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#px-main .v2g-leyenda button b, #px-main .v2g-leyenda button small { white-space: nowrap; }

.v2g-leyenda .v2g-quitar button{border:1px solid var(--cc-borde);background:var(--cc-superficie);color:var(--cc-texto-2);font:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;cursor:pointer}
.v2g-leyenda .v2g-quitar button:hover{border-color:var(--cc-primario);color:var(--cc-primario)}
.v2g-apilada .s.v2g-baja{opacity:.38}
.v2g-apilada .s.v2g-baja:hover{opacity:.7}

#px-main .v2g-barra.v2g-total{cursor:default;border-top:1px solid var(--cc-borde);margin-top:4px;padding-top:8px;background:var(--cc-superficie-2);border-radius:0 0 10px 10px}
#px-main .v2g-barra.v2g-total .n{font-weight:700;color:var(--cc-texto)}
#px-main .v2g-barra.v2g-total .v{font-weight:800}


#px-main .v2g-panel.compacto.v2g-con-figuras{display:block;margin:0 0 12px}
.v2g-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 10px}
.v2g-kpi{background:var(--cc-superficie,#fff);border:1px solid var(--cc-borde);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0;box-shadow:var(--cc-sombra-1,none)}
.v2g-kpi b{font-size:22px;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--cc-texto);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2g-kpi span{font-size:12.5px;line-height:1.3;color:var(--cc-texto-3)}
.v2g-figuras{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:12px;align-items:start;margin:0 0 4px}
.v2g-fig{min-width:0;display:flex}
#px-main .v2g-fig > .v2g{margin:0;flex:1 1 auto;min-width:0}

#px-main .v2g-fig .v2g-barras{max-height:none;overflow:visible;padding-right:0}
#px-main .v2g-fig--anillo .v2g-anillo{gap:14px 24px;align-items:center}
#px-main .v2g-fig--anillo .v2g-anillo svg{width:152px;height:152px}
#px-main .v2g-fig--anillo .v2g-leyenda{flex:1 1 180px;min-width:0}
#px-main .v2g-con-figuras .v2g-tiras{margin:0 0 12px}



#px-main .v2g-fig .v2g-barras .v2g-barra.v2g-total{position:static;margin-top:0}

.v2g-kpi b{max-width:100%}
.v2g-kpi:last-child b{font-size:17px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2}


#px-main .v2r-franja { align-items: stretch; }
#px-main .v2r-pri { align-content: center; }
#px-main .v2r-minis { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 10px; align-content: start; }
#px-main .v2r-m, #px-main .v2r-m:first-child { padding: 12px 14px; border: 1px solid var(--cc-borde); border-radius: 12px; background: var(--cc-superficie-2, rgba(127,127,127,.06)); min-width: 0; align-content: start; }

#px-main .v2r-minis:has(> .v2r-m:nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#px-main .v2r-minis:has(> .v2r-m:nth-child(4):last-child), #px-main .v2r-minis:has(> .v2r-m:nth-child(7):last-child), #px-main .v2r-minis:has(> .v2r-m:nth-child(8):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 767px) { #px-main .v2r-minis, #px-main .v2r-minis:has(> .v2r-m) { grid-template-columns: repeat(2, minmax(0, 1fr)); } #px-main .v2r-pri { border-right: 0; padding-right: 0; } }

#px-main button.v2g-cifra.accion, #px-main button.v2g-cifra.accion:hover { background: var(--cc-primario, #0f4c5c) !important; border-color: transparent !important; }

#px-main button.v2g-cifra.accion .k, #px-main button.v2g-cifra.accion .r, #px-main button.v2g-cifra.accion .d { color: var(--cc-sobre-primario, #fff) !important; }


:root{--c-1:#3992fc;--c-2:#be409d;--c-3:#9f9611;--c-4:#0d7ca4;--c-5:#8c3e05;--c-6:#8730a8;--c-7:#14a19b;--c-8:#7d5ee0;--c-9:#ec5482}
:root[data-tema="oscuro"]{--c-1:#3f93f7;--c-2:#cd5cac;--c-3:#999010;--c-4:#0e7fa8;--c-5:#b7530a;--c-6:#994eb7;--c-7:#15a7a1;--c-8:#8d75eb;--c-9:#c13d67}
@media (prefers-color-scheme: dark){:root:not([data-tema="claro"]){--c-1:#3f93f7;--c-2:#cd5cac;--c-3:#999010;--c-4:#0e7fa8;--c-5:#b7530a;--c-6:#994eb7;--c-7:#15a7a1;--c-8:#8d75eb;--c-9:#c13d67}}
.v2g .c-1,.v2g-cifra .c-1,.v2g-mini i.c-1{--col:var(--c-1)} .v2g .c-2,.v2g-cifra .c-2,.v2g-mini i.c-2{--col:var(--c-2)}
.v2g .c-3,.v2g-cifra .c-3,.v2g-mini i.c-3{--col:var(--c-3)} .v2g .c-4,.v2g-cifra .c-4,.v2g-mini i.c-4{--col:var(--c-4)}
.v2g .c-5,.v2g-cifra .c-5,.v2g-mini i.c-5{--col:var(--c-5)} .v2g .c-6,.v2g-cifra .c-6,.v2g-mini i.c-6{--col:var(--c-6)}
.v2g .c-7,.v2g-cifra .c-7,.v2g-mini i.c-7{--col:var(--c-7)} .v2g .c-8,.v2g-cifra .c-8,.v2g-mini i.c-8{--col:var(--c-8)}
.v2g .c-9,.v2g-cifra .c-9,.v2g-mini i.c-9{--col:var(--c-9)}
#px-main .v2g-barra i.b.c-1,#px-main .v2g-medidor .p i.b.c-1{background:var(--c-1)!important} #px-main .v2g-barra i.b.c-2,#px-main .v2g-medidor .p i.b.c-2{background:var(--c-2)!important}
#px-main .v2g-barra i.b.c-3,#px-main .v2g-medidor .p i.b.c-3{background:var(--c-3)!important} #px-main .v2g-barra i.b.c-4,#px-main .v2g-medidor .p i.b.c-4{background:var(--c-4)!important}
#px-main .v2g-barra i.b.c-5,#px-main .v2g-medidor .p i.b.c-5{background:var(--c-5)!important} #px-main .v2g-barra i.b.c-6,#px-main .v2g-medidor .p i.b.c-6{background:var(--c-6)!important}
#px-main .v2g-barra i.b.c-7,#px-main .v2g-medidor .p i.b.c-7{background:var(--c-7)!important} #px-main .v2g-barra i.b.c-8,#px-main .v2g-medidor .p i.b.c-8{background:var(--c-8)!important}
#px-main .v2g-barra i.b.c-9,#px-main .v2g-medidor .p i.b.c-9{background:var(--c-9)!important}


#px-main .v2g-barra.v2g-barras-mas { cursor: pointer; }
#px-main .v2g-barra.v2g-barras-mas .n { color: var(--cc-texto-2); font-weight: 600; }

.v2g-figuras.v2g-dos{grid-template-columns:repeat(var(--v2g-nc,2),minmax(0,1fr));align-items:stretch}
.v2g-figuras.v2g-dos > .v2g-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.v2g-figuras.v2g-dos > .v2g-col > .v2g-fig:last-child{flex:1 1 auto}
