/* Fase 9.3 — CSS verbatim de los bloques de estilo de Pages/Ventas/GuiaRemision/GuiaV2/GuiaV2Estilos.razor. Igual que hoy, es global mientras el componente está en pantalla:
   se enlaza con <link> donde estaba el bloque. Cambios: @@ → @ y capas D-51. */
.gv-root {
    --de-ground: #f6f7f6;
    --de-surface: #fff;
    --de-surface-2: #fbfcfb;
    --de-surface-3: #eef1ef;
    --de-line: #e2e7e4;
    --de-line-strong: #cfd6d2;
    --de-ink: #17211f;
    --de-ink-2: #3d4a47;
    --de-muted: #6b7a76;
    --de-faint: #93a09c;
    --de-acc: #0f6b5c;
    --de-acc-deep: #0a4f44;
    --de-acc-soft: #e7f1ee;
    --de-acc-line: #bcd8d1;
    --ok: #157f47;
    --ok-bg: #e6f4ec;
    --ok-line: #b4dcc4;
    --warn: #a35a06;
    --warn-bg: #fdf1e1;
    --warn-line: #f0d3a8;
    --err: #b3253f;
    --err-bg: #fceaee;
    --err-line: #f2c2cd;
    --prog: #5b4bbd;
    --prog-bg: #eeecfb;
    --prog-line: #cfc8f0;
    --mono: "IBM Plex Mono",ui-monospace,Consolas,monospace;
    font: 13.5px/1.45 "Libre Franklin","Segoe UI",system-ui,sans-serif;
    color: var(--de-ink);
    background: var(--de-ground);
    min-height: 100vh
}

    /* [FIX] Antes esto era ".gv-root *", ".gv-root button" y ".gv-root input,select,textarea":
       al ser selectores universales/por etiqueta, se aplicaban también a componentes reutilizados
       dentro del módulo (VDateRangePicker, UcBuscarCliente, ClienteFormModal, SeriesCaptureModal…),
       pisando su propio font-size/color/cursor y desalineándolos. Ahora solo alcanzan a elementos
       con una clase "gv-…" propia de este módulo, así los componentes ajenos quedan intactos. */
    .gv-root [class*="gv-"] {
        box-sizing: border-box
    }

    .gv-root button[class*="gv-"] {
        font: inherit;
        cursor: pointer
    }

    .gv-root input[class*="gv-"], .gv-root select[class*="gv-"], .gv-root textarea[class*="gv-"] {
        font: inherit;
        color: var(--de-ink)
    }

.gv-mono {
    font-family: var(--mono);
    font-variant-numeric: tabular-nums
}

.gv-r {
    text-align: right
}

.gv-sp {
    flex: 1
}

.gv-sub {
    font-size: 11.5px;
    color: var(--de-muted)
}

.gv-page {
    max-width: none;
    width: 100%;
    margin: 0 auto;
    padding: 18px 22px 40px
}

.gv-head {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    margin-bottom: 14px;
    flex-wrap: wrap
}

.gv-eyebrow {
    font-size: 10.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--de-acc);
    font-weight: 700
}

.gv-head h1 {
    margin: 2px 0 0;
    font-size: 24px;
    font-weight: 600
}

.gv-lead {
    font-size: 12.5px;
    color: var(--de-muted)
}

.gv-chip-ruc {
    border: 1px solid var(--de-line);
    background: #fff;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 12px;
    color: var(--de-ink-2)
}

    .gv-chip-ruc small {
        display: block;
        font-size: 9.5px;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--de-muted);
        font-weight: 700
    }

.gv-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 34px;
    padding: 0 14px;
    border-radius: 7px;
    border: 1px solid var(--de-acc);
    background: var(--de-acc);
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    white-space: nowrap
}

    .gv-btn:hover:not(:disabled) {
        background: var(--de-acc-deep)
    }

    .gv-btn:disabled {
        opacity: .45;
        cursor: not-allowed
    }

    .gv-btn.gv-ghost {
        background: #fff;
        color: var(--de-ink-2);
        border-color: var(--de-line-strong)
    }

        .gv-btn.gv-ghost:hover:not(:disabled) {
            background: var(--de-surface-3)
        }

    .gv-btn.gv-soft {
        background: var(--prog-bg);
        color: var(--prog);
        border-color: var(--prog-line)
    }

    .gv-btn.gv-sm {
        height: 28px;
        padding: 0 10px;
        font-size: 12px
    }

    .gv-btn.gv-danger {
        background: var(--err);
        border-color: var(--err)
    }

    .gv-btn.gv-wa {
        background: #1faa53;
        border-color: #1faa53
    }

.gv-ib {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    border: 1px solid var(--de-line);
    background: #fff;
    color: var(--de-ink-2);
    display: inline-grid;
    place-items: center;
    flex-shrink: 0
}

    .gv-ib:hover:not(:disabled) {
        border-color: var(--de-acc-line);
        background: var(--de-acc-soft);
        color: var(--de-acc)
    }

    .gv-ib:disabled {
        opacity: .3;
        cursor: not-allowed
    }

    .gv-ib.gv-ib-sm {
        width: 26px;
        height: 26px
    }

    .gv-ib.pulse {
        border-color: var(--prog);
        color: var(--prog);
        animation: gvP 1.6s infinite
    }

@keyframes gvP {
    0% {
        box-shadow: 0 0 0 0 rgba(91,75,189,.45)
    }

    100% {
        box-shadow: 0 0 0 8px rgba(91,75,189,0)
    }
}

.gv-link {
    background: none;
    border: 0;
    padding: 0;
    color: var(--de-acc);
    font-weight: 600;
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 2px
}

.gv-seg {
    display: inline-flex;
    border: 1px solid var(--de-line-strong);
    border-radius: 7px;
    overflow: hidden;
    background: #fff
}

    .gv-seg button {
        border: 0;
        background: #fff;
        padding: 6px 12px;
        font-size: 12.5px;
        color: var(--de-ink-2);
        display: inline-flex;
        gap: 6px;
        align-items: center
    }

        .gv-seg button + button {
            border-left: 1px solid var(--de-line)
        }

        .gv-seg button.on {
            background: var(--de-acc);
            color: #fff
        }

.gv-filters {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    background: #fff;
    border: 1px solid var(--de-line);
    border-radius: 10px;
    padding: 8px 10px;
    margin-bottom: 10px
}

.gv-inp {
    height: 34px;
    border: 1px solid var(--de-line-strong);
    border-radius: 6px;
    padding: 4px 9px;
    background: #fff;
    outline: none;
    min-width: 0;
    width: 100%
}

    .gv-inp:focus {
        border-color: var(--de-acc);
        box-shadow: 0 0 0 3px rgba(15,107,92,.12)
    }

.gv-filters .gv-inp {
    width: auto
}

.gv-srch {
    position: relative;
    flex: 1;
    min-width: 220px
}

    .gv-srch i {
        position: absolute;
        left: 10px;
        top: 11px;
        color: var(--de-faint);
        font-size: 12px
    }

    .gv-srch .gv-inp {
        width: 100%;
        padding-left: 30px
    }

.gv-how {
    background: #eaf1fd;
    color: #1a56db;
    border: 1px solid #cddcfb;
    border-radius: 7px;
    height: 34px;
    padding: 0 12px;
    font-weight: 600;
    display: inline-flex;
    gap: 7px;
    align-items: center
}

.gv-kpis {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 10px;
    margin-bottom: 14px
}

@media(max-width:1100px) {
    .gv-kpis {
        grid-template-columns: repeat(3,1fr)
    }
}

@media(max-width:640px) {
    .gv-kpis {
        grid-template-columns: repeat(2,1fr)
    }
}

.gv-kpi {
    background: #fff;
    border: 1px solid var(--de-line);
    border-left: 3px solid var(--de-line-strong);
    border-radius: 10px;
    padding: 10px 12px;
    min-width: 0;
    overflow: hidden
}

    .gv-kpi small {
        display: block;
        color: var(--de-muted);
        font-size: 10.5px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .06em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .gv-kpi b {
        display: block;
        font-size: 24px;
        font-weight: 600;
        margin-top: 2px
    }

    .gv-kpi span {
        font-size: 11.5px;
        color: var(--de-muted)
    }

    .gv-kpi.gv-ok {
        border-left-color: var(--ok)
    }

    .gv-kpi.gv-prog {
        border-left-color: var(--prog)
    }

    .gv-kpi.gv-warn {
        border-left-color: var(--warn)
    }

    .gv-kpi.gv-err {
        border-left-color: var(--err)
    }

    .gv-kpi.gv-acc {
        border-left-color: var(--de-acc)
    }

.gv-tbl {
    background: #fff;
    border: 1px solid var(--de-line);
    border-radius: 10px;
    overflow: auto
}

.gv-tbl-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 12px;
    border-bottom: 1px solid var(--de-line);
    font-size: 12px;
    color: var(--de-muted)
}

table.gv-lst {
    width: 100%;
    border-collapse: collapse;
    min-width: 1180px
}

.gv-lst th {
    background: var(--de-surface-2);
    color: var(--de-muted);
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    text-align: left;
    padding: 9px 10px;
    border-bottom: 1px solid var(--de-line);
    white-space: nowrap
}

.gv-lst td {
    padding: 10px;
    border-bottom: 1px solid var(--de-line);
    vertical-align: middle
}

/* ── Blindaje anti-"tabla responsive apilada" ──────────────────────────────
   
   volver las tablas responsive en móvil, esa regla puede alcanzar esta tabla
   también, sin que nuestro prefijo "gv-" la frene (porque esa regla externa
   apunta a las etiquetas table/tr/td directamente, no a una clase). El
   WebView2 respeta el escalado de Windows, así que un monitor al 150-250%
   puede cruzar ese breakpoint aunque la ventana se vea ancha en pantalla.
   Este bloque fuerza el rol de tabla SIEMPRE, sin condicionarlo a ningún
   ancho, con !important para ganarle a esa regla externa. */
.gv-tbl table.gv-lst,
.gv-tbl table.gv-lst thead,
.gv-tbl table.gv-lst tbody,
.gv-tbl table.gv-lst tfoot { display: table !important; width: 100% !important }

.gv-tbl table.gv-lst thead { display: table-header-group !important }
.gv-tbl table.gv-lst tbody { display: table-row-group !important }
.gv-tbl table.gv-lst tfoot { display: table-footer-group !important }

.gv-tbl table.gv-lst tr,
.gv-tbl table.gv-lst tr.row,
.gv-tbl table.gv-lst tr.day,
.gv-tbl table.gv-lst tr.gv-det { display: table-row !important; width: auto !important }

.gv-tbl table.gv-lst th,
.gv-tbl table.gv-lst td { display: table-cell !important; width: auto !important; float: none !important }

.gv-lst tr.day td {
    background: #f1f6f4;
    padding: 8px 12px
}

.gv-dayh {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--de-ink-2);
    flex-wrap: wrap
}

.gv-dbar {
    width: 130px;
    height: 6px;
    border-radius: 4px;
    background: var(--de-line);
    display: flex;
    overflow: hidden
}

    .gv-dbar i {
        display: block;
        height: 100%
    }

.gv-dcnt {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--de-muted);
    display: flex;
    gap: 10px
}

.gv-dtot {
    margin-left: auto;
    border: 1px solid var(--de-line-strong);
    border-radius: 20px;
    background: #fff;
    padding: 2px 10px;
    font-family: var(--mono);
    font-size: 11.5px;
    letter-spacing: 0
}

.gv-lst tr.row {
    cursor: pointer
}

    .gv-lst tr.row:hover td {
        background: #fafcfb
    }

    .gv-lst tr.row.open td {
        background: #f7fbfa
    }

    .gv-lst tr.row.nuevo td {
        animation: gvFlash 2.6s ease
    }

@keyframes gvFlash {
    0%, 35% {
        background: #fff7d6
    }

    100% {
        background: #fff
    }
}

.gv-chev {
    color: var(--de-faint);
    transition: transform .15s;
    width: 14px
}

.row.open .gv-chev {
    transform: rotate(90deg);
    color: var(--de-acc)
}

.gv-tbadge {
    display: inline-block;
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 600;
    border: 1px solid var(--de-line-strong);
    border-radius: 5px;
    padding: 1px 6px;
    background: #fff
}

    .gv-tbadge.t31 {
        border-color: var(--prog-line);
        color: var(--prog);
        background: var(--prog-bg)
    }

.gv-sn {
    font-family: var(--mono);
    font-weight: 600;
    white-space: nowrap
}

    .gv-sn.anu {
        text-decoration: line-through;
        color: var(--de-faint)
    }

.gv-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 22px;
    padding: 0 9px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
    border: 1px solid;
    white-space: nowrap
}

    .gv-chip::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: currentColor
    }

    .gv-chip.ok {
        color: var(--ok);
        background: var(--ok-bg);
        border-color: var(--ok-line)
    }

    .gv-chip.warn {
        color: var(--warn);
        background: var(--warn-bg);
        border-color: var(--warn-line)
    }

    .gv-chip.err {
        color: var(--err);
        background: var(--err-bg);
        border-color: var(--err-line)
    }

    .gv-chip.prog {
        color: var(--prog);
        background: var(--prog-bg);
        border-color: var(--prog-line)
    }

    .gv-chip.neutral {
        color: var(--de-muted);
        background: var(--de-surface-3);
        border-color: var(--de-line)
    }

    .gv-chip.prog::before {
        animation: gvB 1.4s ease-in-out infinite
    }

    .gv-chip.confirm {
        animation: gvP 1.6s infinite
    }

@keyframes gvB {
    50% {
        opacity: .25
    }
}

.gv-tagm {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    border-radius: 5px;
    padding: 1px 7px;
    background: var(--de-acc-soft);
    color: var(--de-acc-deep);
    white-space: nowrap
}

.gv-ruta {
    font-size: 11.5px;
    color: var(--de-ink-2);
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

/* [V2.2] motivo 04 · transferencia de almacén vinculada (badge de fila + caja del detalle) */
span[class*="gv-tagm-tr"] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 4px;
    background: var(--ok-bg, #e6f6ec);
    color: var(--ok, #1a7f43)
}

div[class*="gv-trbox"] {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--de-line, #e2e2e2)
}

div[class*="gv-trtit"] {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--ok, #1a7f43);
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 6px
}

div[class*="gv-trflow"] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px
}

    span[class*="gv-trend"] {
        font-family: var(--mono);
        font-weight: 600;
        background: var(--de-bg-2, #f4f4f6);
        border-radius: 5px;
        padding: 2px 8px
    }

        span[class*="gv-trend"] b {
            font-weight: 400;
            color: var(--de-ink-2);
            margin: 0 2px
        }

    i[class*="gv-trarrow"] {
        color: var(--de-ink-2);
        font-size: 13px
    }

.gv-resp {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--de-ink-2);
    max-width: 250px
}

    .gv-resp .t {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

.gv-code {
    font-family: var(--mono);
    font-size: 10.5px;
    border-radius: 4px;
    padding: 1px 5px;
    flex-shrink: 0
}

    .gv-code.o {
        background: var(--ok-bg);
        color: var(--ok)
    }

    .gv-code.e {
        background: var(--err-bg);
        color: var(--err)
    }

    .gv-code.w {
        background: var(--warn-bg);
        color: var(--warn)
    }

    .gv-code.p {
        background: var(--prog-bg);
        color: var(--prog)
    }

.gv-acts {
    display: flex;
    gap: 4px;
    justify-content: flex-end
}

.gv-luego {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--warn);
    background: var(--warn-bg);
    border-radius: 4px;
    padding: 1px 6px
}

tr.gv-det td {
    background: #fbfdfc;
    padding: 0 12px 14px 40px;
    border-bottom: 1px solid var(--de-line)
}

.gv-detw {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 12px;
    padding-top: 6px
}

@media(max-width:1000px) {
    .gv-detw {
        grid-template-columns: 1fr
    }
}

.gv-card {
    background: #fff;
    border: 1px solid var(--de-line);
    border-radius: 10px;
    overflow: hidden
}

.gv-card-h {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--de-line);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--de-ink-2);
    background: var(--de-surface-2)
}

    .gv-card-h i {
        color: var(--de-acc)
    }

    .gv-card-h .r {
        margin-left: auto;
        text-transform: none;
        letter-spacing: 0;
        font-weight: 500
    }

.gv-card-b {
    padding: 10px 12px
}

.gv-kv {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 3px 12px;
    font-size: 12.5px;
    margin: 0
}

    .gv-kv dt {
        color: var(--de-muted)
    }

    .gv-kv dd {
        margin: 0;
        font-weight: 500
    }

.gv-lschips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 3px
}

.gv-lsc {
    font-family: var(--mono);
    font-size: 10.5px;
    border-radius: 4px;
    padding: 1px 6px;
    background: var(--de-surface-3);
    color: var(--de-ink-2)
}

    .gv-lsc.l {
        background: #eef6ff;
        color: #1d4ed8
    }

    .gv-lsc.s {
        background: #f3efff;
        color: #5b21b6
    }

    .gv-lsc.t {
        background: #fff4e5;
        color: #92400e
    }
/* modales */
.gv-ovl {
    position: fixed;
    inset: 0;
    background: rgba(14,26,23,.45);
    backdrop-filter: blur(2px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal);
    padding: 14px
}

    .gv-ovl.gv-on {
        display: flex;
        animation: gvFi .15s
    }

@keyframes gvFi {
    from {
        opacity: 0
    }
}

.gv-mdl {
    background: #fff;
    border-radius: 14px;
    width: 100%;
    max-width: 560px;
    max-height: calc(100vh - 28px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(14,26,23,.28)
}

.gv-mdl-h {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px;
    background: var(--de-surface-2);
    border-bottom: 1px solid var(--de-line);
    flex-shrink: 0
}

    .gv-mdl-h h3 {
        margin: 0;
        font-size: 14.5px;
        font-weight: 700
    }

.gv-s {
    font-size: 11.5px;
    color: var(--de-muted)
}

.gv-x {
    margin-left: auto;
    width: 30px;
    height: 30px;
    border-radius: 7px;
    border: 1px solid var(--de-line);
    background: #fff;
    color: var(--de-muted);
    flex-shrink: 0
}

.gv-mdl-b {
    padding: 16px 18px;
    overflow: auto
}

.gv-mdl-f {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding: 11px 18px;
    border-top: 1px solid var(--de-line);
    background: var(--de-surface-2);
    flex-wrap: wrap;
    align-items: center;
    flex-shrink: 0
}

@media(max-width:640px) {
    .gv-ovl {
        padding: 0
    }

    .gv-mdl {
        max-height: 100vh;
        height: 100vh;
        border-radius: 0
    }
}

.gv-pick {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

@media(max-width:560px) {
    .gv-pick {
        grid-template-columns: 1fr
    }
}

.gv-pk {
    border: 2px solid var(--de-line);
    border-radius: 12px;
    padding: 16px;
    background: #fff;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 6px
}

    .gv-pk:hover {
        border-color: var(--de-acc);
        background: var(--de-acc-soft)
    }

    .gv-pk i {
        font-size: 26px;
        color: var(--de-acc)
    }

    .gv-pk b {
        font-size: 15px
    }

    .gv-pk small {
        color: var(--de-muted);
        font-size: 12px
    }
/* editor */
.gv-mdl.gv-big {
    max-width: 1360px;
    height: calc(100vh - 28px)
}

.gv-cfgstrip {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
    padding: 6px 18px;
    background: var(--warn-bg);
    border-bottom: 1px solid var(--warn-line);
    font-size: 12px;
    color: #6b3b04
}

.gv-ed {
    display: grid;
    grid-template-columns: minmax(0,1fr) 310px;
    min-height: 0;
    flex: 1
}

.gv-ed-main {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    border-right: 1px solid var(--de-line)
}

@media(max-width:980px) {
    .gv-ed {
        display: block;
        overflow: auto
    }

    .gv-ed-main {
        display: block;
        border-right: 0
    }

    .gv-tabs {
        position: sticky;
        top: 0;
        z-index: 5
    }

    .gv-side {
        border-top: 1px solid var(--de-line)
    }

    .gv-ed-body {
        overflow: visible
    }

    .gv-mdl-f .gv-btn {
        flex: 1;
        justify-content: center
    }
}

.gv-tabs {
    display: flex;
    gap: 4px;
    padding: 0 18px;
    border-bottom: 1px solid var(--de-line);
    background: #fff;
    overflow-x: auto;
    flex-shrink: 0
}

.gv-tab {
    border: 0;
    background: none;
    padding: 11px 12px;
    font-weight: 600;
    color: var(--de-muted);
    border-bottom: 3px solid transparent;
    display: flex;
    gap: 7px;
    align-items: center;
    white-space: nowrap
}

    .gv-tab.on {
        color: var(--de-acc);
        border-bottom-color: var(--de-acc)
    }

.gv-n {
    font-size: 10.5px;
    border-radius: 10px;
    padding: 0 6px;
    background: var(--err-bg);
    color: var(--err)
}

    .gv-n.ok {
        background: var(--ok-bg);
        color: var(--ok)
    }

.gv-ed-body {
    padding: 14px 18px;
    overflow: auto;
    flex: 1
}

.gv-sec {
    border: 1px solid var(--de-line);
    border-radius: 10px;
    margin-bottom: 12px;
    background: #fff
}

.gv-sec-h {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--de-line);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--de-ink-2);
    background: var(--de-surface-2);
    border-radius: 10px 10px 0 0;
    flex-wrap: wrap
}

    .gv-sec-h i {
        color: var(--de-acc)
    }

    .gv-sec-h .r {
        margin-left: auto;
        text-transform: none;
        letter-spacing: 0;
        font-weight: 500
    }

.gv-sec-b {
    padding: 10px 12px
}

.gv-g {
    display: grid;
    gap: 9px 12px
}

.gv-g2 {
    grid-template-columns: 1fr 1fr
}

.gv-g3 {
    grid-template-columns: repeat(3,1fr)
}

.gv-g4 {
    grid-template-columns: repeat(4,1fr)
}

@media(max-width:760px) {
    .gv-g3, .gv-g4 {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:480px) {
    .gv-g2, .gv-g3, .gv-g4 {
        grid-template-columns: 1fr
    }
}

.gv-f label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--de-muted);
    margin-bottom: 3px
}

.gv-f .req {
    color: var(--err)
}

.gv-f.bad .gv-inp {
    border-color: var(--err);
    background: #fffafa
}

.gv-em {
    font-size: 11px;
    color: var(--err);
    margin-top: 3px;
    display: flex;
    gap: 5px
}

.gv-hint {
    font-size: 11px;
    color: var(--de-muted);
    margin-top: 3px
}

.gv-ac {
    position: relative
}

    .gv-ac .gv-inp {
        padding-left: 30px
    }

    .gv-ac > i {
        position: absolute;
        left: 10px;
        top: 11px;
        color: var(--de-faint);
        font-size: 12px
    }

.gv-drop {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    background: #fff;
    border: 1px solid var(--de-line);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
    z-index: 30;
    max-height: 300px;
    overflow: auto
}

    .gv-drop .it {
        padding: 8px 11px;
        border-bottom: 1px solid #f1f3f2;
        cursor: pointer
    }

        .gv-drop .it:hover, .gv-drop .it.act {
            background: var(--de-acc-soft)
        }

        .gv-drop .it .m {
            display: flex;
            gap: 10px;
            font-size: 11px;
            color: var(--de-muted);
            margin-top: 1px;
            flex-wrap: wrap
        }

.gv-dtype {
    display: inline-block;
    min-width: 34px;
    text-align: center;
    font-family: var(--mono);
    font-size: 10.5px;
    font-weight: 700;
    border-radius: 4px;
    padding: 1px 5px;
    margin-right: 6px
}

    .gv-dtype.t01 {
        background: #e8f0fe;
        color: #1d4ed8
    }

    .gv-dtype.t03 {
        background: #eef6ff;
        color: #0369a1
    }

    .gv-dtype.tPE {
        background: #fff4e5;
        color: #92400e
    }

    .gv-dtype.tCO {
        background: #f3efff;
        color: #5b21b6
    }

.gv-cli-card {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--de-acc-line);
    background: var(--de-acc-soft);
    border-radius: 9px;
    margin-top: 8px;
    flex-wrap: wrap
}

.gv-av {
    width: 40px;
    height: 40px;
    border-radius: 9px;
    background: #fff;
    border: 1px solid var(--de-acc-line);
    display: grid;
    place-items: center;
    font-weight: 800;
    color: var(--de-acc);
    flex-shrink: 0
}

.gv-pulled {
    display: flex;
    gap: 10px;
    align-items: center;
    border: 1px solid #cddcfb;
    background: #f3f7ff;
    border-radius: 9px;
    padding: 8px 12px;
    margin-top: 8px;
    font-size: 12.5px;
    color: #1e3a8a;
    flex-wrap: wrap
}

.gv-sug {
    border: 1px dashed var(--de-acc-line);
    border-radius: 9px;
    padding: 8px 10px;
    background: #fbfefd;
    margin-top: 8px
}

    .gv-sug.pulse {
        animation: gvPu 1.6s ease-out 3
    }

@keyframes gvPu {
    0% {
        box-shadow: 0 0 0 0 rgba(15,107,92,.45)
    }

    100% {
        box-shadow: 0 0 0 10px rgba(15,107,92,0)
    }
}

.gv-sug-h {
    font-size: 11px;
    font-weight: 700;
    color: var(--de-acc);
    text-transform: uppercase;
    letter-spacing: .05em;
    display: flex;
    gap: 6px;
    align-items: center;
    margin-bottom: 6px
}

.gv-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--de-acc-line);
    background: #fff;
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 12px;
    margin: 0 6px 6px 0;
    cursor: pointer
}

    .gv-pill:hover {
        background: var(--de-acc);
        color: #fff;
        border-color: var(--de-acc)
    }

    .gv-pill small {
        color: var(--de-muted)
    }

    .gv-pill:hover small {
        color: #d7ece7
    }

.gv-opts {
    display: grid;
    gap: 6px
}

    .gv-opts.fixme {
        outline: 2px solid var(--err);
        outline-offset: 3px;
        border-radius: 8px
    }

.gv-opt {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    border: 1px solid var(--de-line);
    border-radius: 8px;
    padding: 7px 10px;
    cursor: pointer;
    background: #fff
}

    .gv-opt:hover {
        border-color: var(--de-acc-line)
    }

    .gv-opt.on {
        border-color: var(--de-acc);
        background: var(--de-acc-soft)
    }

    .gv-opt .dot {
        width: 14px;
        height: 14px;
        border-radius: 50%;
        border: 2px solid var(--de-line-strong);
        margin-top: 2px;
        flex-shrink: 0
    }

    .gv-opt.on .dot {
        border-color: var(--de-acc);
        background: radial-gradient(var(--de-acc) 45%,#fff 50%)
    }

    .gv-opt small {
        display: block;
        color: var(--de-muted);
        font-size: 11px
    }

.gv-mods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px
}

@media(max-width:560px) {
    .gv-mods {
        grid-template-columns: 1fr
    }
}

.gv-mod {
    border: 2px solid var(--de-line);
    border-radius: 10px;
    padding: 10px 12px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    align-items: center;
    background: #fff
}

    .gv-mod i {
        font-size: 20px;
        color: var(--de-faint)
    }

    .gv-mod.on {
        border-color: var(--de-acc);
        background: var(--de-acc-soft)
    }

        .gv-mod.on i {
            color: var(--de-acc)
        }

    .gv-mod b {
        display: block
    }

    .gv-mod small {
        color: var(--de-muted)
    }

.gv-qadd {
    display: grid;
    grid-template-columns: 1fr 80px 90px 100px auto;
    gap: 6px;
    align-items: end;
    padding: 8px;
    background: var(--de-surface-2);
    border: 1px dashed var(--de-line-strong);
    border-radius: 8px;
    margin-top: 8px
}

@media(max-width:760px) {
    .gv-qadd {
        grid-template-columns: 1fr 1fr
    }
}

.gv-linw {
    overflow: auto;
    margin-top: 10px
}

table.gv-lin {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    min-width: 720px
}

.gv-lin th {
    background: var(--de-surface-2);
    color: var(--de-muted);
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .05em;
    text-align: left;
    padding: 7px 8px;
    border-bottom: 1px solid var(--de-line);
    white-space: nowrap
}

.gv-lin td {
    padding: 6px 8px;
    border-bottom: 1px solid #f0f2f1;
    vertical-align: middle
}

.gv-lin .n {
    text-align: right
}

.gv-lin input.q, .gv-lin input.p {
    height: 28px;
    text-align: right;
    border: 1px solid var(--de-line-strong);
    border-radius: 5px;
    padding: 0 6px;
    font-family: var(--mono)
}

.gv-lin input.q {
    width: 74px
}

.gv-lin input.p {
    width: 86px
}

.gv-lin select.af {
    height: 28px;
    border: 1px solid var(--de-line-strong);
    border-radius: 5px;
    font-size: 11.5px
}

.gv-empty {
    text-align: center;
    padding: 22px !important;
    color: var(--de-muted)
}

    .gv-empty i {
        font-size: 20px;
        display: block;
        margin-bottom: 6px
    }

.gv-man {
    font-size: 10px;
    font-weight: 700;
    background: #fff4e5;
    color: #92400e;
    border-radius: 4px;
    padding: 1px 5px;
    margin-left: 5px
}

.gv-trg {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    cursor: pointer;
    background: #fff;
    white-space: nowrap;
    margin: 1px 0
}

    .gv-trg.ok {
        color: var(--ok);
        border-color: var(--ok-line);
        background: var(--ok-bg)
    }

    .gv-trg.off {
        color: var(--de-muted);
        border-color: var(--de-line);
        background: var(--de-surface-3)
    }

    .gv-trg.info {
        color: var(--prog);
        border-color: var(--prog-line);
        background: var(--prog-bg);
        cursor: default
    }

    .gv-trg.warn {
        color: var(--warn);
        border-color: var(--warn-line);
        background: var(--warn-bg);
        animation: gvW 1.8s infinite
    }

@keyframes gvW {
    0% {
        box-shadow: 0 0 0 0 rgba(163,90,6,.4)
    }

    100% {
        box-shadow: 0 0 0 7px rgba(163,90,6,0)
    }
}

.gv-side {
    padding: 14px;
    overflow: auto;
    background: var(--de-surface-2)
}

    .gv-side h4 {
        margin: 0 0 8px;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .08em;
        color: var(--de-muted)
    }

.gv-chk {
    list-style: none;
    margin: 0 0 14px;
    padding: 0
}

    .gv-chk li {
        display: flex;
        gap: 8px;
        align-items: flex-start;
        padding: 5px 0;
        font-size: 12.5px;
        border-bottom: 1px dashed var(--de-line);
        cursor: pointer
    }

        .gv-chk li i {
            margin-top: 3px;
            width: 14px
        }

        .gv-chk li.ok i {
            color: var(--ok)
        }

        .gv-chk li.bad i {
            color: var(--err)
        }

        .gv-chk li.bad:hover {
            color: var(--de-acc)
        }

.gv-tot {
    background: #fff;
    border: 1px solid var(--de-line);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 12px
}

    .gv-tot .r {
        display: flex;
        justify-content: space-between;
        padding: 2px 0;
        font-size: 12.5px
    }

        .gv-tot .r b {
            font-family: var(--mono)
        }

        .gv-tot .r.z {
            color: var(--de-faint)
        }

    .gv-tot .big {
        border-top: 1px solid var(--de-line);
        margin-top: 4px;
        padding-top: 6px;
        font-size: 15px
    }

    .gv-tot .more {
        background: none;
        border: 0;
        color: var(--de-acc);
        font-size: 11.5px;
        font-weight: 600;
        padding: 4px 0 0
    }

.gv-fac {
    border: 1px solid var(--de-line);
    border-radius: 10px;
    background: #fff;
    padding: 10px 12px;
    margin-bottom: 12px
}

.gv-sw {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    margin: 0;
    font-size: 12.5px
}

    .gv-sw input[type=checkbox] {
        display: none
    }

    .gv-sw .t {
        width: 36px;
        height: 20px;
        border-radius: 20px;
        background: var(--de-line-strong);
        position: relative;
        transition: .15s;
        flex-shrink: 0
    }

        .gv-sw .t::after {
            content: "";
            position: absolute;
            top: 2px;
            left: 2px;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            background: #fff;
            transition: .15s
        }

    .gv-sw input:checked + .t {
        background: var(--de-acc)
    }

        .gv-sw input:checked + .t::after {
            left: 18px
        }

.gv-f label.gv-sw {
    display: flex;
    color: var(--de-ink);
    font-weight: 500;
    font-size: 12.5px
}

.gv-fixbox {
    border: 1px solid var(--err-line);
    background: #fffafa;
    border-radius: 8px;
    padding: 8px 10px;
    margin-bottom: 10px;
    font-size: 12.5px;
    color: #7d1a2c;
    display: flex;
    gap: 8px
}
/* envío */
.gv-timer {
    text-align: center;
    font-family: var(--mono);
    font-size: 30px;
    font-weight: 600;
    color: var(--de-acc-deep)
}

    .gv-timer small {
        display: block;
        font-family: "Libre Franklin",sans-serif;
        font-size: 11px;
        color: var(--de-muted);
        font-weight: 600
    }

.gv-steps {
    list-style: none;
    margin: 12px 0 0;
    padding: 0
}

    .gv-steps li {
        display: flex;
        gap: 10px;
        align-items: center;
        padding: 7px 10px;
        border-radius: 8px;
        color: var(--de-faint);
        font-size: 13px
    }

        .gv-steps li .st {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            border: 2px solid var(--de-line-strong);
            display: grid;
            place-items: center;
            font-size: 10px;
            flex-shrink: 0
        }

        .gv-steps li .t {
            margin-left: auto;
            font-family: var(--mono);
            font-size: 11px
        }

        .gv-steps li.run {
            color: var(--de-ink);
            background: var(--de-acc-soft)
        }

            .gv-steps li.run .st {
                border-color: var(--de-acc);
                border-top-color: transparent;
                animation: gvS .8s linear infinite
            }

        .gv-steps li.done {
            color: var(--de-ink)
        }

            .gv-steps li.done .st {
                background: var(--ok);
                border-color: var(--ok);
                color: #fff
            }

        .gv-steps li.fail {
            color: var(--err)
        }

            .gv-steps li.fail .st {
                background: var(--err);
                border-color: var(--err);
                color: #fff
            }

        .gv-steps li.wait {
            color: var(--prog);
            background: var(--prog-bg)
        }

            .gv-steps li.wait .st {
                border-color: var(--prog);
                color: var(--prog)
            }

@keyframes gvS {
    to {
        transform: rotate(360deg)
    }
}

.gv-cd {
    display: flex;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--prog-line);
    background: var(--prog-bg);
    border-radius: 10px;
    padding: 12px;
    margin-top: 10px;
    color: #3b2f86;
    flex-wrap: wrap
}

.gv-ring {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    position: relative
}

    .gv-ring svg {
        transform: rotate(-90deg)
    }

    .gv-ring b {
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        font-family: var(--mono);
        font-size: 18px
    }

.gv-stage {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
    flex-wrap: wrap
}

    .gv-stage div {
        flex: 1;
        min-width: 150px;
        border: 1px solid var(--de-line);
        border-radius: 8px;
        padding: 6px 10px;
        font-size: 12px;
        color: var(--de-muted);
        display: flex;
        gap: 7px;
        align-items: center
    }

        .gv-stage div.on {
            border-color: var(--de-acc);
            color: var(--de-acc-deep);
            background: var(--de-acc-soft);
            font-weight: 600
        }

        .gv-stage div.ok {
            border-color: var(--ok-line);
            color: var(--ok);
            background: var(--ok-bg)
        }

        .gv-stage div.bad {
            border-color: var(--err-line);
            color: var(--err);
            background: var(--err-bg)
        }

        .gv-stage div.pend {
            border-color: var(--warn-line);
            color: var(--warn);
            background: var(--warn-bg)
        }

.gv-res {
    text-align: center;
    margin-top: 10px
}

    .gv-res .ic {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        margin: 2px auto 8px;
        font-size: 26px
    }

    .gv-res.ok .ic {
        background: var(--ok-bg);
        color: var(--ok)
    }

    .gv-res.err .ic {
        background: var(--err-bg);
        color: var(--err)
    }

    .gv-res.warn .ic {
        background: var(--warn-bg);
        color: var(--warn)
    }

    .gv-res.prog .ic {
        background: var(--prog-bg);
        color: var(--prog)
    }

    .gv-res h2 {
        margin: 0;
        font-size: 17px
    }

    .gv-res .doc {
        font-family: var(--mono);
        font-size: 20px;
        font-weight: 600;
        color: var(--de-acc-deep);
        margin: 4px 0
    }

.gv-box {
    text-align: left;
    border-radius: 9px;
    padding: 10px 12px;
    font-size: 12.5px;
    margin-top: 10px;
    border: 1px solid
}

    .gv-box.ok {
        background: var(--ok-bg);
        border-color: var(--ok-line);
        color: #0e4f2d
    }

    .gv-box.err {
        background: var(--err-bg);
        border-color: var(--err-line);
        color: #7d1a2c
    }

    .gv-box.warn {
        background: var(--warn-bg);
        border-color: var(--warn-line);
        color: #6b3b04
    }

    .gv-box.prog {
        background: var(--prog-bg);
        border-color: var(--prog-line);
        color: #3b2f86
    }

    .gv-box.info {
        background: #f8faf9;
        border-color: var(--de-line);
        color: var(--de-ink-2)
    }

    .gv-box .sep {
        border-top: 1px dotted currentColor;
        opacity: .5;
        margin: 8px 0
    }

.gv-risk {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 6px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700
}

    .gv-risk.bajo {
        background: var(--ok-bg);
        color: var(--ok)
    }

    .gv-risk.medio {
        background: var(--warn-bg);
        color: var(--warn)
    }

    .gv-risk.alto {
        background: var(--err-bg);
        color: var(--err)
    }

.gv-docs2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px
}

@media(max-width:560px) {
    .gv-docs2 {
        grid-template-columns: 1fr
    }
}

.gv-dcard {
    border: 1px solid var(--de-line);
    border-radius: 10px;
    padding: 10px 12px;
    text-align: left
}

    .gv-dcard .gv-sn {
        font-size: 15px
    }

.gv-acts3 {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
    margin-top: 12px
}

    .gv-acts3 .gv-btn {
        justify-content: center;
        height: 38px
    }

@media(max-width:560px) {
    .gv-acts3 {
        grid-template-columns: 1fr
    }
}

.gv-pdfv {
    background: #525659;
    flex: 1;
    position: relative
}

    .gv-pdfv iframe {
        border: 0;
        width: 100%;
        height: 100%
    }

.gv-pdfmsg {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 14px
}

.gv-toast {
    position: fixed;
    right: 16px;
    bottom: 16px;
    background: #17211f;
    color: #fff;
    border-radius: 8px;
    padding: 10px 14px;
    z-index: var(--z-toast);
    display: flex;
    gap: 8px;
    align-items: center;
    box-shadow: 0 8px 20px rgba(0,0,0,.25);
    max-width: 440px
}

.gv-how-steps {
    counter-reset: s;
    list-style: none;
    padding: 0;
    margin: 0
}

    .gv-how-steps li {
        counter-increment: s;
        display: flex;
        gap: 10px;
        padding: 7px 0;
        border-bottom: 1px dashed var(--de-line);
        font-size: 13px
    }

        .gv-how-steps li::before {
            content: counter(s);
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: var(--de-acc);
            color: #fff;
            display: grid;
            place-items: center;
            font-size: 11px;
            font-weight: 700;
            flex-shrink: 0
        }

.gv-loading {
    padding: 30px;
    text-align: center;
    color: var(--de-muted)
}
/* ── [V2.1] conductor 5 columnas, orden, paginación, columnas opcionales, hash ── */
.gv-g5 {
    grid-template-columns: 1.1fr 1fr 1.3fr 1.3fr 1fr
}

@media(max-width:900px) {
    .gv-g5 {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:480px) {
    .gv-g5 {
        grid-template-columns: 1fr
    }
}

.gv-lst th.srt {
    cursor: pointer;
    user-select: none
}

    .gv-lst th.srt:hover {
        color: var(--de-acc)
    }

    .gv-lst th.srt i {
        margin-left: 4px;
        font-size: 9px;
        opacity: .35
    }

    .gv-lst th.srt.on {
        color: var(--de-acc)
    }

        .gv-lst th.srt.on i {
            opacity: 1
        }

.gv-lst td.n, .gv-lst th.n {
    text-align: right;
    white-space: nowrap
}

.gv-pager {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 9px 12px;
    border-top: 1px solid var(--de-line);
    font-size: 12px;
    color: var(--de-muted)
}

    .gv-pager .gv-inp {
        width: auto;
        height: 30px
    }

    .gv-pager .gv-sp {
        flex: 1
    }

    .gv-pager button {
        min-width: 30px;
        height: 30px;
        border: 1px solid var(--de-line-strong);
        background: #fff;
        border-radius: 6px;
        color: var(--de-ink-2);
        cursor: pointer
    }

        .gv-pager button.on {
            background: var(--de-acc);
            border-color: var(--de-acc);
            color: #fff
        }

        .gv-pager button:disabled {
            opacity: .4;
            cursor: default
        }

.gv-hash {
    font-family: var(--mono);
    font-size: 11px;
    word-break: break-all;
    background: var(--de-surface-3);
    border-radius: 6px;
    padding: 6px 8px;
    margin-top: 8px
}

.gv-more {
    cursor: pointer;
    background: var(--de-acc-soft);
    color: var(--de-acc)
}


/* ═══════════════════════════════════════════════════════════════════════════
   [FormV2] DENSIDAD ADAPTATIVA · pantallas chicas (05/10/2026) · CloudERP 08/10/2026
   Se activa sola según el área útil del navegador / WebView2 (no la pantalla
   física): 1366×768 al 100 % o 1920×1080 al 125 % dejan ~1230–1366 px útiles.
     Nivel 1 · ≤1440 px de ancho o ≤800 px de alto → compacto
     Nivel 2 · ≤1280 px de ancho                   → muy compacto
   Utilidades para el marcado (opcionales, no cambian nada en pantallas grandes):
     .gv-p3   columna secundaria de un listado: se oculta en el nivel 2
     .gv-lbl  texto de un botón que pasa a solo icono en el nivel 2
              (poner title="…" en el botón para no perder el texto)
   CloudERP: OPT-IN. Solo aplica dentro de <div class="gv-root gv-adapt">;
   las pantallas que no lleven gv-adapt no cambian.
   Solo reduce espaciados / tamaños y evita que los textos bajen a dos líneas;
   no cambia colores, estructura ni comportamiento.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1440px), (max-height: 800px) {
    .gv-root.gv-adapt { font-size: 12.5px }
    .gv-adapt .gv-page { padding: 12px 14px 26px }
    .gv-adapt .gv-head { margin-bottom: 10px; gap: 10px }
    .gv-adapt .gv-head h1 { font-size: 20px }
    .gv-adapt .gv-lead { font-size: 12px }
    .gv-adapt .gv-chip-ruc { padding: 4px 8px; font-size: 11.5px; white-space: nowrap }
    .gv-adapt .gv-filters { padding: 6px 8px; gap: 6px; margin-bottom: 8px }

    .gv-adapt .gv-inp { height: 30px; padding: 3px 8px; font-size: 12.5px }
    .gv-adapt .gv-btn { height: 30px; padding: 0 11px; font-size: 12.5px; gap: 6px }
    .gv-adapt .gv-btn.gv-sm { height: 26px; padding: 0 9px; font-size: 11.5px }
    .gv-adapt .gv-ib, .gv-adapt .gv-x { width: 28px; height: 28px }
    .gv-adapt .gv-ib.gv-ib-sm { width: 24px; height: 24px }
    .gv-adapt .gv-seg button { padding: 5px 10px; font-size: 12px }

    .gv-adapt table.gv-lst { min-width: 1080px }
    .gv-adapt table.gv-lst.gv-wide { min-width: 1380px }
    .gv-adapt .gv-lst th { padding: 7px 8px; font-size: 10px; letter-spacing: .04em }
    .gv-adapt .gv-lst td { padding: 7px 8px; font-size: 12.5px }
    .gv-adapt .gv-lst td.gv-ell { max-width: 200px }
    .gv-adapt .gv-tbl-top, .gv-adapt .gv-pager { padding: 7px 10px }
    .gv-adapt .gv-pager .gv-inp, .gv-adapt .gv-pager button { height: 28px; min-width: 28px }
    .gv-adapt tr.gv-det td { padding: 0 10px 12px 28px }

    .gv-adapt .gv-kpis { gap: 8px; margin-bottom: 10px }
    .gv-adapt .gv-kpi { padding: 8px 10px }
    .gv-adapt .gv-kpi b { font-size: 20px }

    .gv-adapt .gv-mdl.gv-xl { max-width: none }
    .gv-adapt .gv-mdl-h { padding: 9px 14px; gap: 8px }
    .gv-adapt .gv-mdl-h h3 { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
    .gv-adapt .gv-mdl-f { padding: 8px 14px }
    .gv-adapt .gv-mdl-b { padding: 12px 14px }
    .gv-adapt .gv-metabar { padding: 5px 14px; gap: 6px }
    .gv-adapt .gv-tag { height: 24px; padding: 0 7px; gap: 5px }
    .gv-adapt .gv-tabs { padding: 0 12px }
    .gv-adapt .gv-tab { padding: 8px 10px }
    .gv-adapt .gv-ed { grid-template-columns: minmax(0,1fr) 270px }
    .gv-adapt .gv-ed-body { padding: 10px 14px }
    .gv-adapt .gv-sec-h { padding: 7px 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
    .gv-adapt .gv-sec-b { padding: 8px 10px }
    .gv-adapt .gv-g { gap: 7px 10px }
    .gv-adapt .gv-f label { font-size: 10.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
    .gv-adapt .gv-lin th { padding: 6px 7px }
    .gv-adapt .gv-lin td { padding: 5px 7px }
}

@media (max-width: 1280px) {
    .gv-root.gv-adapt { font-size: 12px }
    .gv-adapt .gv-head h1 { font-size: 18px }
    .gv-adapt .gv-lead, .gv-adapt .gv-eyebrow { display: none }
    .gv-adapt .gv-inp { height: 28px; padding: 2px 7px; font-size: 12px }
    .gv-adapt .gv-btn { height: 28px; padding: 0 9px; font-size: 12px }
    .gv-adapt .gv-btn .gv-lbl { display: none }
    .gv-adapt table.gv-lst { min-width: 960px }
    .gv-adapt table.gv-lst.gv-wide { min-width: 1180px }
    .gv-adapt .gv-lst td { padding: 6px 7px; font-size: 12px }
    .gv-adapt .gv-lst th { padding: 6px 7px }
    .gv-adapt .gv-lst th.gv-p3, .gv-adapt .gv-lst td.gv-p3,
    .gv-adapt .gv-tbl table.gv-lst th.gv-p3, .gv-adapt .gv-tbl table.gv-lst td.gv-p3 { display: none !important }
    .gv-adapt .gv-lst td.gv-ell { max-width: 170px }
    .gv-adapt .gv-ed { grid-template-columns: minmax(0,1fr) 240px }
    .gv-adapt .gv-mdl-h { padding: 8px 12px }
    .gv-adapt .gv-metabar { padding: 4px 12px }
    .gv-adapt .gv-tab { padding: 7px 8px; gap: 5px }
}
