﻿@charset "UTF-8";

/* Version 1.0.1. Resumen del control Archivo e interfaz modal V2 de activación explícita. */
.gmx-archivo-resumen {
    --gmx-archivo-navy: #173b5d;
    --gmx-archivo-blue: #245a87;
    --gmx-archivo-green: #009632;
    --gmx-archivo-green-hover: #087c35;
    --gmx-archivo-green-soft: #f1faf4;
    --gmx-archivo-border: #d8e2ea;
    --gmx-archivo-muted: #66788a;
    align-items: stretch;
    background: #f7f9fb;
    border: 1px dashed #9ab5c9;
    border-radius: 9px;
    box-shadow: none;
    box-sizing: border-box;
    color: #253746;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 12px;
    max-width: 100%;
    min-width: 0;
    padding: 11px;
    width: 100%;
}

.gmx-archivo-resumen > .btn {
    align-items: center;
    align-self: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 7px;
    justify-content: center;
    margin: 0;
    white-space: nowrap;
}

.gmx-archivo-resumen .gmx-archivo-accion-principal {
    background: var(--gmx-archivo-green);
    border-color: var(--gmx-archivo-green);
    color: #fff;
    font-weight: 600;
}

.gmx-archivo-resumen .gmx-archivo-accion-principal:hover {
    background: var(--gmx-archivo-green-hover);
    border-color: var(--gmx-archivo-green-hover);
    color: #fff;
}

.gmx-archivo-resumen .gmx-archivo-accion-principal:focus {
    background: var(--gmx-archivo-green-hover);
    border-color: var(--gmx-archivo-green-hover);
    box-shadow: 0 0 0 3px rgba(0, 150, 50, .20);
    color: #fff;
    outline: 0;
}

.gmx-archivo-resumen .gmx-archivo-accion-principal:active,
.gmx-archivo-resumen .gmx-archivo-accion-principal.active {
    background: var(--gmx-archivo-green-hover);
    border-color: var(--gmx-archivo-green-hover);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, .14);
    color: #fff;
}

.gmx-archivo-resumen .gmx-archivo-guardar-cambios {
    align-self: center;
    background: var(--gmx-archivo-green);
    border-color: var(--gmx-archivo-green);
    color: #fff;
    font-weight: 600;
}

.gmx-archivo-resumen .gmx-archivo-guardar-cambios:hover,
.gmx-archivo-resumen .gmx-archivo-guardar-cambios:focus {
    background: var(--gmx-archivo-green-hover);
    border-color: var(--gmx-archivo-green-hover);
    box-shadow: 0 0 0 3px rgba(0, 150, 50, .20);
    color: #fff;
    outline: 0;
}

.gmx-archivo-resumen .gmx-archivo-accion-secundaria {
    background: #fff;
    border-color: var(--gmx-archivo-green);
    color: var(--gmx-archivo-green-hover);
}

.gmx-archivo-resumen .gmx-archivo-accion-secundaria:hover,
.gmx-archivo-resumen .gmx-archivo-accion-secundaria:focus,
.gmx-archivo-resumen .gmx-archivo-accion-secundaria:active,
.gmx-archivo-resumen .gmx-archivo-accion-secundaria.active {
    background: var(--gmx-archivo-green-soft);
    border-color: var(--gmx-archivo-green-hover);
    box-shadow: 0 0 0 3px rgba(0, 150, 50, .14);
    color: var(--gmx-archivo-green-hover);
    outline: 0;
}

.gmx-archivo-resumen .gmx-archivo-contenido {
    background: #fff;
    border: 1px solid var(--gmx-archivo-border);
    border-radius: 7px;
    box-shadow: none;
    box-sizing: border-box;
    color: #253746;
    flex: 1 1 280px;
    margin: 0 !important;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 9px 11px;
}

/*
 * En V2 las acciones conservan siempre la misma franja superior. De esta
 * forma "Ver archivos" no salta al costado cuando desaparecen Cámara o las
 * acciones de edición por permisos, y el componente mantiene su lugar dentro
 * del formulario anfitrión.
 */
.gmx-archivo-resumen.gmx-archivo-interfaz-v2 > .btn {
    order: 1;
}

.gmx-archivo-resumen.gmx-archivo-interfaz-v2 > .gmx-archivo-contenido {
    flex: 1 0 100%;
    order: 2;
    width: 100%;
}

.gmx-archivo-resumen.gmx-archivo-interfaz-v2 > .clearfix {
    flex-basis: 100%;
    order: 3;
}

.gmx-archivo-estado-vacio {
    align-items: center;
    display: flex;
    gap: 11px;
    min-height: 38px;
    min-width: 0;
}

.gmx-archivo-estado-vacio > div {
    min-width: 0;
}

.gmx-archivo-estado-vacio strong,
.gmx-archivo-estado-vacio small,
.gmx-archivo-detalle strong,
.gmx-archivo-detalle small {
    display: block;
}

.gmx-archivo-estado-vacio strong {
    color: #263947;
    font-size: 13px;
    line-height: 18px;
}

.gmx-archivo-estado-vacio small,
.gmx-archivo-detalle small {
    color: var(--gmx-archivo-muted);
    font-size: 11px;
    line-height: 16px;
}

.gmx-archivo-vacio-icono {
    color: #91a2b1;
    flex: 0 0 30px;
    font-size: 27px;
    text-align: center;
}

.gmx-archivo-requerido {
    background: #fff3e7;
    border: 1px solid #efc89b;
    border-radius: 11px;
    color: #9a5c18;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 700;
    margin-left: auto;
    padding: 3px 8px;
}

.gmx-archivo-lista-encabezado {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    margin-bottom: 7px;
}

.gmx-archivo-lista-encabezado strong {
    color: var(--gmx-archivo-navy);
    font-size: 12px;
}

.gmx-archivo-contador {
    background: #e8f4f0;
    border-radius: 11px;
    color: #126c58;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
}

.gmx-archivo-lista {
    border: 1px solid var(--gmx-archivo-border);
    border-radius: 6px;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.gmx-archivo-fila {
    align-items: center;
    background: #fff;
    display: grid;
    gap: 9px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    min-height: 43px;
    padding: 7px 9px;
}

.gmx-archivo-fila + .gmx-archivo-fila {
    border-top: 1px solid #e8edf1;
}

.gmx-archivo-tipo-icono {
    align-items: center;
    background: #f2f5f7;
    border: 1px solid #dbe4ea;
    border-radius: 5px;
    color: #718596;
    display: inline-flex;
    font-size: 18px;
    height: 30px;
    justify-content: center;
    overflow: hidden;
    width: 30px;
}

.gmx-archivo-tipo-icono img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.gmx-archivo-extension-pdf {
    background: #d44137;
    border-color: #b8322a;
    color: #fff;
}

.gmx-archivo-extension-pdf.gmx-archivo-icono-pdf {
    font-family: Arial, "Helvetica Neue", sans-serif;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .25px;
    line-height: 1;
}

.gmx-archivo-extension-xml,
.gmx-archivo-extension-json {
    background: #eef6fc;
    border-color: #c4daeb;
    color: #246a9d;
}

.gmx-archivo-extension-xls,
.gmx-archivo-extension-xlsx,
.gmx-archivo-extension-csv {
    background: #eef8f0;
    border-color: #c6e2cb;
    color: #297840;
}

.gmx-archivo-extension-jpg,
.gmx-archivo-extension-jpeg,
.gmx-archivo-extension-png,
.gmx-archivo-extension-gif,
.gmx-archivo-extension-webp,
.gmx-archivo-extension-bmp,
.gmx-archivo-extension-tif,
.gmx-archivo-extension-tiff {
    background: #edf8f5;
    border-color: #c4e3da;
    color: #16866d;
}

.gmx-archivo-detalle {
    min-width: 0;
}

.gmx-archivo-nombre {
    color: #263947;
    font-size: 12px;
    font-weight: 600;
    line-height: 17px;
    overflow-wrap: anywhere;
    white-space: normal;
}

.gmx-archivo-estado-listo {
    color: #16866d;
    font-size: 11px;
    white-space: nowrap;
}

.gmx-archivo-resumen-editor .gmx-archivo-lista {
    align-items: stretch;
    border: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    overflow: visible;
}

.gmx-archivo-resumen-editor .gmx-archivo-fila {
    border: 1px solid var(--gmx-archivo-border);
    border-radius: 6px;
    flex: 1 1 260px;
    max-width: 100%;
}

.gmx-archivo-resumen-editor .gmx-archivo-fila + .gmx-archivo-fila {
    border-top: 1px solid var(--gmx-archivo-border);
}

.gmx-archivo-resumen-ver {
    display: block;
}

.gmx-archivo-resumen-ver .gmx-archivo-contenido {
    width: 100%;
}

.gmx-archivo-fila-ver {
    grid-template-columns: 38px minmax(120px, 1fr) auto;
    min-height: 54px;
}

.gmx-archivo-fila-ver .gmx-archivo-tipo-icono {
    font-size: 21px;
    height: 34px;
    width: 34px;
}

.gmx-archivo-fila-ver .gmx-archivo-icono-pdf {
    font-size: 9px;
}

.gmx-archivo-acciones-ver {
    align-items: center;
    display: flex;
    gap: 6px;
}

.gmx-archivo-acciones-ver .btn {
    align-items: center;
    background: #fff;
    border-color: #d7e1e8;
    color: #205b89;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
}

.gmx-archivo-acciones-ver .btn:focus,
.gmx-archivo-acciones-ver .btn:hover {
    background: #eef6fb;
    border-color: #8eb1cb;
    color: #173b5d;
}

.gmx-archivo-lista-ver.gmx-archivo-solo-imagenes {
    background: #f7f9fb;
    border: 0;
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
    overflow: visible;
}

.gmx-archivo-lista-ver.gmx-archivo-solo-imagenes .gmx-archivo-fila-ver {
    border: 1px solid var(--gmx-archivo-border);
    border-radius: 7px;
    display: grid;
    gap: 7px;
    grid-template-columns: minmax(0, 1fr);
    padding: 8px;
}

.gmx-archivo-lista-ver.gmx-archivo-solo-imagenes .gmx-archivo-fila + .gmx-archivo-fila {
    border-top: 1px solid var(--gmx-archivo-border);
}

.gmx-archivo-lista-ver.gmx-archivo-solo-imagenes .gmx-archivo-tipo-icono {
    border-radius: 6px;
    height: 96px;
    width: 100%;
}

.gmx-archivo-lista-ver.gmx-archivo-solo-imagenes .gmx-archivo-detalle {
    padding: 0 2px;
}

.gmx-archivo-lista-ver.gmx-archivo-solo-imagenes .gmx-archivo-acciones-ver {
    border-top: 1px solid #e8edf1;
    justify-content: space-between;
    padding-top: 7px;
}

.gmx-archivo-lista-ver.gmx-archivo-solo-imagenes .gmx-archivo-acciones-ver .btn {
    flex: 1 1 0;
    min-width: 0;
}

@media (max-width: 767px) {
    .gmx-archivo-resumen {
        align-items: stretch;
        display: flex;
        flex-direction: column;
    }

    .gmx-archivo-resumen > .btn {
        align-self: stretch;
        width: 100%;
    }

    .gmx-archivo-fila-ver {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .gmx-archivo-fila-ver .gmx-archivo-acciones-ver {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .gmx-archivo-acciones-ver .btn {
        flex: 1 1 0;
    }
}

/*
 * Interfaz V2. El tema activo es deliberadamente claro para integrarse con
 * las pantallas renovadas del sistema. Las variables permiten incorporar un
 * tema oscuro posteriormente sin depender de prefers-color-scheme.
 */
.gmx-archivo-modal-v2 {
    --gmx-archivo-v2-bg: #f7f9fc;
    --gmx-archivo-v2-surface: #ffffff;
    --gmx-archivo-v2-border: #d8e0ea;
    --gmx-archivo-v2-text: #172033;
    --gmx-archivo-v2-muted: #64748b;
    --gmx-archivo-v2-primary: #1769aa;
    --gmx-archivo-v2-primary-hover: #12578e;
    --gmx-archivo-v2-success: #147a4b;
    --gmx-archivo-v2-danger: #b42318;
    color: var(--gmx-archivo-v2-text);
    font-family: "Segoe UI", Arial, sans-serif;
    max-width: 860px;
    width: calc(100% - 30px);
}

.gmx-archivo-modal-v2 .modal-content {
    background: var(--gmx-archivo-v2-surface);
    border: 0;
    border-radius: 14px;
    box-shadow: 0 20px 55px rgba(22, 35, 58, .18);
    overflow: hidden;
}

.gmx-archivo-modal-v2 .modal-header {
    background: var(--gmx-archivo-v2-surface);
    border-bottom: 1px solid var(--gmx-archivo-v2-border);
    min-height: 72px;
    padding: 15px 18px;
}

.gmx-archivo-modal-v2 .modal-title {
    color: var(--gmx-archivo-v2-text);
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
}

.gmx-archivo-modal-v2 .gmx-archivo-modal-titulo-wrap {
    min-width: 0;
    padding-right: 48px;
}

.gmx-archivo-modal-v2 .gmx-archivo-modal-subtitulo {
    color: var(--gmx-archivo-v2-muted);
    font-size: 12px;
    line-height: 18px;
    margin: 2px 0 0;
}

.gmx-archivo-modal-v2 .modal-header .close {
    align-items: center;
    border-radius: 9px;
    color: var(--gmx-archivo-v2-muted);
    display: inline-flex;
    font-size: 26px;
    height: 38px;
    justify-content: center;
    margin: 1px 0 0;
    opacity: 1;
    width: 38px;
}

.gmx-archivo-modal-v2 .modal-header .close:hover,
.gmx-archivo-modal-v2 .modal-header .close:focus {
    background: var(--gmx-archivo-v2-bg);
    color: var(--gmx-archivo-v2-text);
}

.gmx-archivo-modal-v2 .modal-body {
    background: var(--gmx-archivo-v2-surface);
    max-height: calc(100vh - 210px);
    margin: 0;
    overflow-y: auto;
    padding: 18px 18px 8px;
}

.gmx-archivo-modal-v2 .modal-body > .alert-info {
    background: #edf6fb;
    border-color: #c9e0ef;
    border-radius: 7px;
    color: #285c7d;
    margin-left: 15px;
    margin-right: 15px;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-cabecera-lista {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-cabecera-lista > div {
    min-width: 0;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-cabecera-lista strong,
.gmx-archivo-modal-v2 .gmx-archivo-v2-cabecera-lista span {
    display: block;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-cabecera-lista strong {
    color: var(--gmx-archivo-v2-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-cabecera-lista > div > span {
    color: var(--gmx-archivo-v2-muted);
    font-size: 11px;
    line-height: 17px;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-contador {
    background: #e8f2fb;
    border-radius: 999px;
    color: #124f80;
    flex: 0 0 auto;
    font-size: 11px;
    padding: 5px 9px;
}

.gmx-archivo-modal-v2 .file-input {
    background: var(--gmx-archivo-v2-surface);
    border: 0;
    border-radius: 0;
    padding: 0;
}

.gmx-archivo-modal-v2 .file-preview {
    border: 0;
    border-radius: 0;
    margin: 0 0 12px;
    padding: 0;
}

.gmx-archivo-modal-v2 .file-drop-zone {
    align-items: center;
    background: var(--gmx-archivo-v2-bg);
    border: 2px dashed #9cb5ca;
    border-radius: 14px;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 150px;
    padding: 18px;
    width: 100%;
}

.gmx-archivo-modal-v2 .file-drop-zone.gmx-archivo-v2-con-archivos {
    background: transparent;
    border: 0;
    display: block;
    min-height: 0;
    padding: 0;
}

/* Bootstrap agrega pseudo-elementos a .clearfix que alteran flex y grid. */
.gmx-archivo-modal-v2 .file-drop-zone::before,
.gmx-archivo-modal-v2 .file-drop-zone::after,
.gmx-archivo-modal-v2 .file-preview-thumbnails::before,
.gmx-archivo-modal-v2 .file-preview-thumbnails::after {
    content: none;
    display: none !important;
}

.gmx-archivo-modal-v2 .file-drop-zone.gmx-archivo-v2-vacio {
    display: grid;
    place-items: center;
    text-align: center;
}

.gmx-archivo-modal-v2 .file-drop-zone.gmx-archivo-v2-vacio > .file-preview-thumbnails,
.gmx-archivo-modal-v2 .file-drop-zone.gmx-archivo-v2-vacio > .file-preview-status:empty,
.gmx-archivo-modal-v2 .file-drop-zone.gmx-archivo-v2-vacio > .file-error-message:empty {
    display: none !important;
}

.gmx-archivo-modal-v2 .file-drop-zone.gmx-archivo-v2-vacio > .file-drop-zone-title {
    margin: 0 auto;
    text-align: center;
    width: 100%;
}

.gmx-archivo-modal-v2 .file-drop-zone.gmx-archivo-v2-solo-lectura-vacio {
    border-style: solid;
    cursor: default;
}

.gmx-archivo-modal-v2 .file-drop-zone.gmx-archivo-v2-solo-lectura-vacio .file-drop-zone-title::before {
    content: "\f016";
}

.gmx-archivo-modal-v2 .file-drop-zone:hover,
.gmx-archivo-modal-v2 .file-highlighted {
    background: #e8f2fb;
    border-color: var(--gmx-archivo-v2-primary);
}

.gmx-archivo-modal-v2 .file-drop-zone-title {
    color: var(--gmx-archivo-v2-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    padding: 0;
}

.gmx-archivo-modal-v2 .file-drop-zone-title::before {
    align-items: center;
    background: #e8f2fb;
    border-radius: 12px;
    color: var(--gmx-archivo-v2-primary);
    content: "\f0ee";
    display: flex;
    font-family: FontAwesome;
    font-size: 21px;
    height: 46px;
    justify-content: center;
    margin: 0 auto 9px;
    width: 46px;
}

.gmx-archivo-modal-v2 .file-caption-main,
.gmx-archivo-modal-v2 .file-input > .file-caption {
    display: none !important;
}

.gmx-archivo-modal-v2 .file-caption-main .file-caption {
    background: var(--gmx-archivo-v2-bg);
    border-color: var(--gmx-archivo-v2-border);
    border-radius: 9px 0 0 9px;
    color: var(--gmx-archivo-v2-muted);
    min-height: 38px;
}

.gmx-archivo-modal-v2 .file-caption-main .btn {
    min-height: 38px;
}

.gmx-archivo-modal-v2 .btn-file {
    border-radius: 0 9px 9px 0;
}

/* En administración las imágenes se presentan como miniaturas reales. */
.gmx-archivo-modal-v2 .file-preview-thumbnails {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    width: 100%;
}

.gmx-archivo-modal-v2 .file-preview-frame {
    background: var(--gmx-archivo-v2-bg);
    border: 0;
    border-radius: 11px;
    box-shadow: none;
    float: none;
    margin: 0 !important;
    padding: 10px;
    width: auto !important;
}

.gmx-archivo-modal-v2 .file-preview-frame:hover,
.gmx-archivo-modal-v2 .file-preview-frame:focus,
.gmx-archivo-modal-v2 .file-preview-frame.file-preview-success {
    border: 0;
    box-shadow: inset 0 0 0 1px var(--gmx-archivo-v2-border);
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] {
    background: #eef3f7;
    display: flex;
    flex-direction: column;
    min-height: 190px;
    overflow: hidden;
    padding: 0;
    position: relative;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .kv-file-content {
    background: #dfe8ef;
    border-radius: 11px;
    height: 190px !important;
    overflow: hidden;
    position: relative;
    width: 100% !important;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .kv-file-content[role="button"] {
    cursor: zoom-in;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .kv-file-content[role="button"]::after {
    align-items: center;
    background: rgba(4, 13, 22, .64);
    border-radius: 999px;
    color: #fff;
    content: "\f00e  Ver completa";
    display: flex;
    font-family: FontAwesome, "Segoe UI", Arial, sans-serif;
    font-size: 11px;
    gap: 5px;
    left: 50%;
    opacity: 0;
    padding: 7px 11px;
    pointer-events: none;
    position: absolute;
    top: 45%;
    transform: translate(-50%, -50%);
    transition: opacity 140ms ease;
    white-space: nowrap;
    z-index: 3;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .kv-file-content[role="button"]:hover::after,
.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .kv-file-content[role="button"]:focus::after {
    opacity: 1;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-preview-image {
    height: 100% !important;
    max-height: none;
    object-fit: cover;
    width: 100% !important;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-thumbnail-footer {
    background: linear-gradient(180deg, transparent, rgba(4, 13, 22, .82));
    border-radius: 0 0 11px 11px;
    bottom: 0;
    color: #fff;
    left: 0;
    min-height: 86px;
    padding: 28px 10px 9px;
    position: absolute;
    right: 0;
    z-index: 2;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-footer-caption,
.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-size-info {
    color: #fff;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-footer-caption {
    margin: 0;
    padding: 0 108px 0 0;
    text-align: left;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-caption-info {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-footer-buttons {
    bottom: 7px;
    display: flex;
    float: none;
    gap: 3px;
    position: absolute;
    right: 8px;
    z-index: 4;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-footer-buttons .btn {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    display: inline-flex;
    justify-content: center;
    color: #fff;
}

.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-footer-buttons .btn:hover,
.gmx-archivo-modal-v2 .file-preview-frame[data-template="image"] .file-footer-buttons .btn:focus {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.gmx-archivo-modal-v2 .file-preview-frame:not([data-template="image"]) {
    align-items: center;
    display: grid;
    gap: 11px;
    grid-column: 1 / -1;
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 76px;
}

.gmx-archivo-modal-v2 .file-preview-frame:not([data-template="image"]) .kv-file-content {
    align-items: center;
    background: #edf3fa;
    border-radius: 9px;
    color: var(--gmx-archivo-v2-primary);
    display: flex;
    height: 54px !important;
    justify-content: center;
    width: 54px !important;
}

.gmx-archivo-modal-v2 .file-preview-frame:not([data-template="image"]) .file-thumbnail-footer {
    min-width: 0;
}

.gmx-archivo-modal-v2 .file-footer-caption {
    color: var(--gmx-archivo-v2-text);
    font-size: 12px;
    margin: 0 0 7px;
}

.gmx-archivo-modal-v2 .file-caption-info {
    font-weight: 500;
}

.gmx-archivo-modal-v2 .file-size-info {
    color: var(--gmx-archivo-v2-muted);
    font-size: 11px;
}

.gmx-archivo-modal-v2 .file-footer-buttons .btn {
    background: transparent;
    border: 0;
    border-radius: 8px;
    color: var(--gmx-archivo-v2-muted);
    height: 34px;
    padding: 6px 9px;
}

.gmx-archivo-modal-v2 .file-footer-buttons .btn:hover,
.gmx-archivo-modal-v2 .file-footer-buttons .btn:focus {
    background: #e8f2fb;
    color: var(--gmx-archivo-v2-primary);
}

.gmx-archivo-modal-v2 .file-footer-buttons .kv-file-remove:hover,
.gmx-archivo-modal-v2 .file-footer-buttons .kv-file-remove:focus {
    background: #fff0ee;
    color: var(--gmx-archivo-v2-danger);
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-agregar-tarjeta {
    align-items: center;
    background: var(--gmx-archivo-v2-bg);
    border: 2px dashed #9cb5ca;
    border-radius: 11px;
    color: var(--gmx-archivo-v2-primary);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 190px;
    padding: 18px;
    text-align: center;
    width: 100%;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-agregar-tarjeta:hover,
.gmx-archivo-modal-v2 .gmx-archivo-v2-agregar-tarjeta:focus {
    background: #e8f2fb;
    border-color: var(--gmx-archivo-v2-primary);
    outline: 0;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-agregar-tarjeta > .glyphicon {
    align-items: center;
    background: #e8f2fb;
    border-radius: 12px;
    display: flex;
    font-size: 18px;
    height: 42px;
    justify-content: center;
    margin-bottom: 9px;
    width: 42px;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-agregar-tarjeta strong,
.gmx-archivo-modal-v2 .gmx-archivo-v2-agregar-tarjeta small {
    display: block;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-agregar-tarjeta strong {
    color: var(--gmx-archivo-v2-text);
    font-size: 13px;
    font-weight: 500;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-agregar-tarjeta small {
    color: var(--gmx-archivo-v2-muted);
    font-size: 11px;
    margin-top: 4px;
}

/*
 * El zoom de Krajee es compartido por todas las instancias. La clase se
 * agrega únicamente cuando una instancia V2 abre una imagen.
 */
.file-zoom-dialog.gmx-archivo-visor-v2 {
    background: rgba(10, 20, 29, .92);
    padding: 0 !important;
    z-index: 1080;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .modal-dialog {
    height: 100%;
    margin: 0;
    max-width: none !important;
    min-width: 100%;
    width: 100%;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .modal-content {
    background: #101820;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    height: 100vh;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .kv-zoom-header {
    background: #fff;
    border-bottom: 1px solid #d7e2e9;
    color: #253746;
    min-height: 58px;
    padding: 10px 16px;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .kv-zoom-title {
    font-size: 14px;
    font-weight: 600;
    max-width: calc(100% - 220px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .kv-zoom-body {
    background: #101820;
    height: calc(100vh - 59px) !important;
    overflow: hidden;
    padding: 16px 62px;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .file-zoom-detail.file-preview-image {
    height: 100% !important;
    max-height: 100% !important;
    max-width: 100% !important;
    object-fit: contain;
    width: 100% !important;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .btn-navigate {
    background: rgba(255, 255, 255, .94);
    border: 0;
    color: #173b5d;
    height: 46px;
    margin-top: -23px;
    width: 46px;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .btn-kv-prev {
    left: 10px;
}

.file-zoom-dialog.gmx-archivo-visor-v2 .btn-kv-next {
    right: 10px;
}

/* Visualizador utilizado por el DisplayTemplate en pantallas de consulta. */
.gmx-archivo-visor-imagen {
    background: rgba(10, 20, 29, .92);
    padding: 0 !important;
    z-index: 1080;
}

.gmx-archivo-visor-imagen .modal-dialog {
    height: 100%;
    margin: 0;
    max-width: none;
    width: 100%;
}

.gmx-archivo-visor-imagen .modal-content {
    background: #101820;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    height: 100vh;
}

.gmx-archivo-visor-imagen .modal-header {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #d7e2e9;
    display: flex;
    gap: 12px;
    min-height: 59px;
    padding: 10px 16px;
}

.gmx-archivo-visor-imagen .modal-header .close {
    color: #526b7d;
    font-size: 28px;
    margin: 0 0 0 4px;
    opacity: .85;
    order: 3;
}

.gmx-archivo-visor-titulo {
    min-width: 0;
}

.gmx-archivo-visor-titulo strong,
.gmx-archivo-visor-titulo small {
    display: block;
}

.gmx-archivo-visor-titulo strong {
    color: #253746;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gmx-archivo-visor-titulo small {
    color: #66788a;
    font-size: 11px;
}

.gmx-archivo-visor-descargar {
    margin-left: auto;
}

.gmx-archivo-visor-imagen .modal-body {
    background: #101820;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    height: calc(100vh - 59px);
    padding: 0;
}

.gmx-archivo-visor-escenario {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    position: relative;
}

.gmx-archivo-visor-imagen-contenido {
    height: 100%;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.gmx-archivo-visor-cargando,
.gmx-archivo-visor-error {
    color: #dce7ee;
    font-size: 13px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.gmx-archivo-visor-navegar {
    align-self: center;
    background: rgba(255, 255, 255, .94);
    border: 0;
    border-radius: 50%;
    color: #173b5d;
    height: 44px;
    justify-self: center;
    padding: 0;
    width: 44px;
    z-index: 2;
}

.gmx-archivo-visor-navegar:disabled {
    opacity: .28;
}

.gmx-archivo-modal-v2 .btn-primary {
    background-color: var(--gmx-archivo-v2-primary);
    border-color: var(--gmx-archivo-v2-primary);
    border-radius: 9px;
}

.gmx-archivo-modal-v2 .btn-primary:hover,
.gmx-archivo-modal-v2 .btn-primary:focus {
    background-color: var(--gmx-archivo-v2-primary-hover);
    border-color: var(--gmx-archivo-v2-primary-hover);
}

.gmx-archivo-modal-v2 .modal-footer {
    align-items: center;
    background: var(--gmx-archivo-v2-surface);
    border-top: 1px solid var(--gmx-archivo-v2-border);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    min-height: 68px;
    padding: 15px 18px;
}

.gmx-archivo-modal-v2 .modal-footer .btn {
    border-radius: 9px;
    min-height: 38px;
    padding: 8px 13px;
}

.gmx-archivo-modal-v2 .modal-footer .btn:focus {
    box-shadow: 0 0 0 3px rgba(23, 105, 170, .14);
    outline: 0;
}

.gmx-archivo-modal-v2 .gmx-archivo-v2-pie-ayuda {
    color: var(--gmx-archivo-v2-muted);
    font-size: 11px;
    margin-right: auto;
    text-align: left;
}

.gmx-archivo-v2-estado {
    align-items: flex-start;
    background: #eef6fb;
    border: 1px solid #c9e0ef;
    border-radius: 10px;
    color: #244f6c;
    display: grid;
    gap: 11px;
    grid-template-columns: 28px minmax(0, 1fr);
    margin-bottom: 14px;
    padding: 12px 14px;
}

.gmx-archivo-v2-estado.is-busy {
    background: #edf5fb;
    border-color: #bcd5e7;
}

.gmx-archivo-v2-estado.is-success {
    background: #edf8f5;
    border-color: #bcded4;
    color: #146a57;
}

.gmx-archivo-v2-estado.is-error {
    background: #fff3f1;
    border-color: #efc8c2;
    color: #943b32;
}

.gmx-archivo-v2-carga {
    display: grid;
    gap: 16px;
    padding: 8px 0 16px;
}

.gmx-archivo-v2-carga-bloqueo {
    align-items: center;
    background: #e8f2fb;
    border-radius: 10px;
    color: #124f80;
    display: flex;
    gap: 11px;
    padding: 12px 14px;
}

.gmx-archivo-v2-carga-bloqueo > .glyphicon {
    flex: 0 0 auto;
    font-size: 19px;
}

.gmx-archivo-v2-carga-bloqueo strong,
.gmx-archivo-v2-carga-bloqueo span,
.gmx-archivo-v2-carga-archivo strong,
.gmx-archivo-v2-carga-archivo span {
    display: block;
}

.gmx-archivo-v2-carga-bloqueo strong,
.gmx-archivo-v2-carga-archivo strong {
    font-size: 13px;
    font-weight: 600;
    line-height: 19px;
}

.gmx-archivo-v2-carga-bloqueo div > span,
.gmx-archivo-v2-carga-archivo div > span {
    color: var(--gmx-archivo-v2-muted);
    font-size: 11px;
    line-height: 17px;
    margin-top: 2px;
}

.gmx-archivo-v2-carga-archivo {
    align-items: center;
    background: var(--gmx-archivo-v2-bg);
    border: 1px solid var(--gmx-archivo-v2-border);
    border-radius: 10px;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    padding: 11px 13px;
}

.gmx-archivo-v2-carga-archivo > .glyphicon-file {
    align-items: center;
    background: #e8f2fb;
    border-radius: 9px;
    color: var(--gmx-archivo-v2-primary);
    display: flex;
    font-size: 18px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.gmx-archivo-v2-spinner {
    animation: gmx-archivo-v2-spinner-giro .75s linear infinite;
    border: 2px solid rgba(0, 150, 50, .22);
    border-radius: 50%;
    border-top-color: var(--gmx-archivo-green, #009632);
    box-sizing: border-box;
    display: inline-block;
    flex: 0 0 auto;
    height: 18px;
    transform-origin: 50% 50%;
    width: 18px;
}

.gmx-archivo-v2-confirmar .gmx-archivo-v2-spinner {
    height: 15px;
    margin-right: 3px;
    vertical-align: -2px;
    width: 15px;
}

@keyframes gmx-archivo-v2-spinner-giro {
    to { transform: rotate(360deg); }
}

.gmx-archivo-v2-estado-icono {
    font-size: 21px;
    line-height: 23px;
    text-align: center;
}

.gmx-archivo-v2-estado-contenido,
.gmx-archivo-v2-estado-contenido > strong,
.gmx-archivo-v2-estado-contenido > span {
    display: block;
    min-width: 0;
}

.gmx-archivo-v2-estado-contenido > strong {
    font-size: 13px;
    line-height: 19px;
}

.gmx-archivo-v2-estado-contenido > span {
    color: var(--gmx-archivo-v2-muted);
    font-size: 11px;
    line-height: 17px;
    margin-top: 1px;
}

.gmx-archivo-v2-progreso {
    margin-top: 0;
}

.gmx-archivo-v2-progreso-copia {
    align-items: center;
    color: var(--gmx-archivo-v2-text);
    display: flex;
    font-size: 13px;
    justify-content: space-between;
    margin-bottom: 7px;
}

.gmx-archivo-v2-progreso-barra {
    background: #dce6ed;
    border-radius: 999px;
    height: 10px;
    overflow: hidden;
    position: relative;
}

.gmx-archivo-v2-progreso-barra > span {
    background: #009632;
    border-radius: inherit;
    display: block;
    height: 100%;
    transition: width 180ms ease-out;
    width: 0;
}

.gmx-archivo-v2-progreso-meta {
    align-items: center;
    color: var(--gmx-archivo-v2-muted);
    display: flex;
    font-size: 11px;
    gap: 12px;
    justify-content: space-between;
    margin-top: 7px;
}

.gmx-archivo-v2-carga.is-indeterminate .gmx-archivo-v2-progreso-barra > span {
    animation: gmx-archivo-v2-indeterminado 1.2s ease-in-out infinite;
    left: -35%;
    position: absolute;
    width: 35% !important;
}

@keyframes gmx-archivo-v2-indeterminado {
    from { left: -35%; }
    to { left: 100%; }
}

/* El progreso nativo mezcla lectura y transferencia; V2 muestra una sola barra estable. */
.gmx-archivo-modal-v2 .kv-upload-progress,
.gmx-archivo-modal-v2 .file-thumb-progress {
    display: none !important;
}

.gmx-archivo-modal-bloqueado .modal-header .close,
.gmx-archivo-modal-bloqueado [data-dismiss="modal"] {
    cursor: not-allowed;
    opacity: .45;
    pointer-events: none;
}

.gmx-archivo-modal-v2[data-archivo-etapa="preparando"] .gmx-archivo-v2-cabecera-lista,
.gmx-archivo-modal-v2[data-archivo-etapa="subiendo"] .gmx-archivo-v2-cabecera-lista,
.gmx-archivo-modal-v2[data-archivo-etapa="procesando"] .gmx-archivo-v2-cabecera-lista {
    display: none;
}

.gmx-archivo-modal-v2[data-archivo-etapa="preparando"] .file-input,
.gmx-archivo-modal-v2[data-archivo-etapa="subiendo"] .file-input,
.gmx-archivo-modal-v2[data-archivo-etapa="procesando"] .file-input {
    display: none;
}

.gmx-archivo-resumen.gmx-archivo-drop-activo {
    cursor: copy;
    transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.gmx-archivo-resumen.gmx-archivo-drop-activo:hover,
.gmx-archivo-resumen.gmx-archivo-drop-activo.is-dragover {
    background: #eef7f4;
    border-color: var(--gmx-archivo-green);
    box-shadow: 0 0 0 3px rgba(22, 134, 109, .10);
}

.gmx-archivo-resumen.gmx-archivo-drop-activo.is-dragover .gmx-archivo-contenido {
    border-color: #9ccdbf;
}

/* Modal de cámara V2: comparte el lenguaje visual claro del administrador. */
.gmx-archivo-camara-v2 {
    --gmx-archivo-camara-bg: #f4f7fa;
    --gmx-archivo-camara-surface: #ffffff;
    --gmx-archivo-camara-border: #d8e0ea;
    --gmx-archivo-camara-text: #172033;
    --gmx-archivo-camara-muted: #64748b;
    --gmx-archivo-camara-primary: #1769aa;
    color: var(--gmx-archivo-camara-text);
    font-family: "Segoe UI", Arial, sans-serif;
    max-width: 900px;
    width: calc(100% - 30px);
}

.gmx-archivo-camara-v2 .modal-content {
    background: var(--gmx-archivo-camara-surface);
    border: 0;
    border-radius: 14px;
    box-shadow: 0 20px 55px rgba(22, 35, 58, .20);
    overflow: hidden;
}

.gmx-archivo-camara-v2 .modal-header {
    background: var(--gmx-archivo-camara-surface);
    border-bottom: 1px solid var(--gmx-archivo-camara-border);
    min-height: 72px;
    padding: 15px 18px;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-titulos {
    min-width: 0;
    padding-right: 48px;
}

.gmx-archivo-camara-v2 .modal-title {
    color: var(--gmx-archivo-camara-text);
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-titulos p {
    color: var(--gmx-archivo-camara-muted);
    font-size: 12px;
    line-height: 18px;
    margin: 2px 0 0;
}

.gmx-archivo-camara-v2 .modal-header .close {
    align-items: center;
    border-radius: 9px;
    color: var(--gmx-archivo-camara-muted);
    display: inline-flex;
    font-size: 26px;
    height: 38px;
    justify-content: center;
    margin: 1px 0 0;
    opacity: 1;
    width: 38px;
}

.gmx-archivo-camara-v2 .modal-header .close:hover,
.gmx-archivo-camara-v2 .modal-header .close:focus {
    background: var(--gmx-archivo-camara-bg);
    color: var(--gmx-archivo-camara-text);
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-cuerpo {
    background: var(--gmx-archivo-camara-bg);
    margin: 0;
    max-height: calc(100vh - 205px);
    overflow-y: auto;
    padding: 18px;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-contenido {
    display: grid;
    float: none;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 !important;
    padding: 0;
    width: 100%;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-contenido::before,
.gmx-archivo-camara-v2 .gmx-archivo-camara-contenido::after,
.gmx-archivo-camara-v2 .gmx-archivo-camara-pie::before,
.gmx-archivo-camara-v2 .gmx-archivo-camara-pie::after {
    content: none;
    display: none;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-control {
    float: none;
    margin: 0 !important;
    padding: 0;
    width: auto;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-control label,
.gmx-archivo-camara-v2 .I-Nombre label {
    color: var(--gmx-archivo-camara-text);
    display: block;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
    margin: 0 0 6px;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-control label .glyphicon {
    color: var(--gmx-archivo-camara-primary);
    margin-right: 5px;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-control .bootstrap-select {
    width: 100% !important;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-control .dropdown-toggle,
.gmx-archivo-camara-v2 .I-Nombre .form-control {
    background: var(--gmx-archivo-camara-surface);
    border-color: var(--gmx-archivo-camara-border);
    border-radius: 8px;
    box-shadow: none;
    color: var(--gmx-archivo-camara-text);
    height: 40px;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-control .dropdown-toggle:focus,
.gmx-archivo-camara-v2 .I-Nombre .form-control:focus {
    border-color: var(--gmx-archivo-camara-primary);
    box-shadow: 0 0 0 3px rgba(23, 105, 170, .12);
    outline: 0 !important;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-contenido > .clearfix {
    display: none;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-escenario {
    background: #101b25;
    border: 1px solid #253b4d;
    border-radius: 12px;
    box-shadow: 0 10px 26px rgba(14, 28, 40, .16);
    float: none;
    grid-column: 1 / -1;
    overflow: hidden;
    padding: 8px;
    position: relative;
    width: 100%;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-escenario .video {
    background: #0a1219;
    border: 0 !important;
    border-radius: 8px !important;
    display: block;
    float: none;
    margin: 0;
    max-height: calc(100vh - 330px) !important;
    min-height: 300px;
    object-fit: contain;
    padding: 0 !important;
    width: 100%;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-indicacion {
    align-items: center;
    background: rgba(6, 17, 26, .78);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    bottom: 22px;
    color: #fff;
    display: flex;
    font-size: 12px;
    gap: 7px;
    left: 50%;
    padding: 8px 13px;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    white-space: nowrap;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-pie {
    align-items: flex-end;
    background: var(--gmx-archivo-camara-surface);
    border-top: 1px solid var(--gmx-archivo-camara-border);
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    min-height: 68px;
    padding: 14px 18px;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-pie .I-Nombre {
    flex: 1 1 auto;
    float: none;
    margin: 0 !important;
    padding: 0;
    text-align: left;
    width: auto;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-pie .B-Nombre {
    flex: 0 0 auto;
    float: none;
    margin: 0;
    padding: 0;
    width: auto;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-pie .btn {
    border-radius: 8px;
    min-height: 38px;
    padding: 8px 15px;
}

.gmx-archivo-camara-v2 .gmx-archivo-camara-pie .btn-primary {
    background: var(--gmx-archivo-camara-primary);
    border-color: var(--gmx-archivo-camara-primary);
}

/* Reservado para una activación futura y explícita; actualmente nunca se selecciona automáticamente. */
.gmx-archivo-modal-v2[data-archivo-tema="oscuro"] {
    --gmx-archivo-v2-bg: #111b24;
    --gmx-archivo-v2-surface: #182531;
    --gmx-archivo-v2-border: #304454;
    --gmx-archivo-v2-text: #edf4f8;
    --gmx-archivo-v2-muted: #aac0cf;
}

.gmx-archivo-camara-v2[data-archivo-tema="oscuro"] {
    --gmx-archivo-camara-bg: #111b24;
    --gmx-archivo-camara-surface: #182531;
    --gmx-archivo-camara-border: #304454;
    --gmx-archivo-camara-text: #edf4f8;
    --gmx-archivo-camara-muted: #aac0cf;
}

@media (max-width: 767px) {
    .file-zoom-dialog.gmx-archivo-visor-v2 .kv-zoom-header {
        align-items: stretch;
        flex-direction: row;
    }

    .file-zoom-dialog.gmx-archivo-visor-v2 .kv-zoom-title {
        max-width: calc(100% - 155px);
    }

    .file-zoom-dialog.gmx-archivo-visor-v2 .kv-zoom-body {
        padding: 10px 44px;
    }

    .gmx-archivo-visor-imagen .modal-header {
        padding: 8px 10px;
    }

    .gmx-archivo-visor-descargar {
        font-size: 0;
        padding: 8px 11px;
    }

    .gmx-archivo-visor-descargar .fa {
        font-size: 14px;
    }

    .gmx-archivo-visor-imagen .modal-body {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
    }

    .gmx-archivo-visor-navegar {
        height: 36px;
        width: 36px;
    }

    .gmx-archivo-modal-v2 {
        margin: 10px;
    }

    .gmx-archivo-camara-v2 {
        margin: 10px;
        width: calc(100% - 20px);
    }

    .gmx-archivo-camara-v2 .gmx-archivo-camara-cuerpo {
        max-height: calc(100vh - 185px);
        padding: 13px;
    }

    .gmx-archivo-camara-v2 .gmx-archivo-camara-contenido {
        grid-template-columns: 1fr;
    }

    .gmx-archivo-camara-v2 .gmx-archivo-camara-escenario .video {
        max-height: calc(100vh - 345px) !important;
        min-height: 220px;
    }

    .gmx-archivo-camara-v2 .gmx-archivo-camara-pie {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .gmx-archivo-camara-v2 .gmx-archivo-camara-pie .I-Nombre,
    .gmx-archivo-camara-v2 .gmx-archivo-camara-pie .B-Nombre {
        flex: 1 0 100%;
    }

    .gmx-archivo-camara-v2 .gmx-archivo-camara-pie .B-Nombre {
        display: flex;
        gap: 8px;
    }

    .gmx-archivo-camara-v2 .gmx-archivo-camara-pie .B-Nombre .btn {
        flex: 1 1 0;
        margin: 0;
    }

    .gmx-archivo-modal-v2 .modal-header {
        padding: 15px 16px 12px;
    }

    .gmx-archivo-modal-v2 .modal-body {
        padding: 13px 8px 5px;
    }

    .gmx-archivo-modal-v2 .file-preview-thumbnails {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gmx-archivo-modal-v2 .file-preview-frame:not([data-template="image"]) {
        grid-column: 1 / -1;
    }

    .gmx-archivo-modal-v2 .modal-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .gmx-archivo-modal-v2 .gmx-archivo-v2-pie-ayuda {
        margin: 0 0 4px;
        width: 100%;
    }

    .gmx-archivo-modal-v2 .modal-footer .btn {
        margin: 0;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .gmx-archivo-modal-v2 .file-preview-thumbnails {
        grid-template-columns: 1fr;
    }

    .gmx-archivo-modal-v2 .gmx-archivo-v2-cabecera-lista {
        align-items: flex-start;
        flex-direction: column;
    }
}
