/* =====================================================================
   GolAppZo · Sistema de diseño del panel
   Alineado con las vistas de usuarios (perfil, listado y formularios).
   Solo estilos: no altera comportamiento.
   ===================================================================== */

:root {
    --gaz-accent: #f59e0b;
    --gaz-accent-strong: #d97706;
    --gaz-brand-from: #ea580c;
    --gaz-brand-to: #f59e0b;
    --gaz-brand-from-hover: #c2410c;
    --gaz-brand-to-hover: #d97706;
    --gaz-radius: 1rem;
    --gaz-border: rgba(0, 0, 0, .06);
    --gaz-shadow: 0 1px 3px rgba(0, 0, 0, .05);
    --gaz-muted: #6b7280;
}
:root.dark {
    --gaz-border: rgba(255, 255, 255, .08);
    --gaz-shadow: none;
    --gaz-muted: #9ca3af;
}

/* ---------- Encabezado de página ---------- */
.fi-header-heading {
    font-weight: 700;
    letter-spacing: -.02em;
}
.fi-header-subheading {
    color: var(--gaz-muted);
}
/* Acciones de cabecera: si no caben junto al título, el bloque completo de botones pasa a su propia
   fila (sin partir el título ni apilar botones). En pantallas angostas los botones se reparten en filas. */
@media (min-width: 640px) {
    .fi-header {
        flex-wrap: wrap;
        align-items: flex-end;
        row-gap: 1rem;
    }
    .fi-header > div:last-child {
        margin-top: 0;
    }
}
.fi-header > div:last-child {
    max-width: 100%;
}
.fi-header > div:last-child > .fi-ac {
    flex-wrap: wrap;
    gap: .5rem;
}

/* ---------- Tarjetas / secciones ---------- */
.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-fo-tabs,
.fi-in-tabs,
.fi-fo-wizard {
    border-radius: var(--gaz-radius) !important;
}
.fi-section:not(.fi-section-not-contained),
.fi-ta-ctn,
.fi-wi-stats-overview-stat {
    box-shadow: var(--gaz-shadow), 0 0 0 1px var(--gaz-border) !important;
}
.fi-section-header-heading {
    font-weight: 700;
    letter-spacing: -.01em;
}
.fi-section-header-description {
    color: var(--gaz-muted);
}
/* Línea divisoria bajo el encabezado de la sección, como en las tarjetas del perfil */
.fi-section:not(.fi-section-not-contained):not(.fi-collapsed) > header.fi-section-header {
    border-bottom: 1px solid var(--gaz-border);
}

/* ---------- Tablas ---------- */
.fi-ta-header-cell-label {
    font-size: .72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--gaz-muted) !important;
}
.fi-ta-record {
    transition: background-color .15s ease;
}
.fi-ta-empty-state-heading {
    font-weight: 700;
}

/* ---------- Infolists: etiquetas como en el perfil de usuario ---------- */
.fi-in-entry-wrp-label {
    font-size: .72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--gaz-muted) !important;
}

/* ---------- Widgets de estadísticas ---------- */
.fi-wi-stats-overview-stat-label {
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.fi-wi-stats-overview-stat-value {
    letter-spacing: -.02em;
}

/* ---------- Modales ---------- */
.fi-modal-window {
    border-radius: var(--gaz-radius) !important;
}
.fi-modal-heading {
    font-weight: 700;
    letter-spacing: -.01em;
}

/* ---------- Botones de icono en tablas ---------- */
.fi-ta-actions .fi-icon-btn {
    border-radius: .5rem;
}
.fi-ta-actions .fi-icon-btn:hover {
    background-color: rgba(var(--primary-500), .1);
}

/* =====================================================================
   Modales de Filament: encabezado y pie compactos
   ===================================================================== */
.fi-modal-header { padding-bottom: .75rem !important; }
.fi-modal-content { gap: 1rem !important; }
.fi-modal-footer { padding-top: .75rem !important; }
.fi-modal-icon-bg { border-radius: .8rem !important; }

/* =====================================================================
   Componentes gz-* para vistas y modales personalizadas
   ===================================================================== */
.gz { display: flex; flex-direction: column; gap: 1rem; color: #111827; font-size: .875rem; }
:root.dark .gz { color: #f3f4f6; }
.gz *, .gz *::before, .gz *::after { box-sizing: border-box; }

.gz-muted { color: var(--gaz-muted); }
.gz-small { font-size: .75rem; }
.gz-strong { font-weight: 600; }
.gz-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-variant-numeric: tabular-nums; }
.gz-center { text-align: center; }
.gz-right { text-align: right; }
.gz-row { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.gz-row-between { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.gz-stack { display: flex; flex-direction: column; gap: .75rem; min-width: 0; }
.gz-wrap { display: flex; flex-wrap: wrap; gap: .5rem; }
.gz-truncate { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }

.gz-icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.gz-icon-sm { width: 1rem; height: 1rem; flex-shrink: 0; }
.gz-icon-xs { width: .875rem; height: .875rem; flex-shrink: 0; }
.gz-accent { color: var(--gaz-accent); }

/* Encabezado compacto dentro de una modal */
.gz-header { display: flex; align-items: center; gap: .875rem; }
.gz-header-title { font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.3; }
.gz-header-sub { font-size: .8rem; color: var(--gaz-muted); margin-top: .1rem; }

/* Tarjetas */
.gz-card {
    background: #fff; border-radius: .875rem;
    box-shadow: 0 0 0 1px var(--gaz-border), var(--gaz-shadow);
    min-width: 0;
}
:root.dark .gz-card { background: rgba(255, 255, 255, .03); }
.gz-card-body { padding: .875rem 1rem; }
.gz-card-head {
    display: flex; align-items: center; gap: .5rem;
    padding: .7rem 1rem; border-bottom: 1px solid var(--gaz-border);
    font-weight: 700; font-size: .875rem;
}
.gz-card-head .gz-icon, .gz-card-head .gz-icon-sm { color: var(--gaz-accent); }
.gz-card-head-extra { margin-left: auto; font-weight: 500; }
.gz-card-accent { box-shadow: inset 3px 0 0 var(--gaz-accent), 0 0 0 1px var(--gaz-border); }

/* Rejillas */
.gz-grid { display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) {
    .gz-grid-2, .gz-grid-3, .gz-grid-4, .gz-grid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
    .gz-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gz-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .gz-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.gz-span-full { grid-column: 1 / -1; }

/* Etiquetas y valores */
.gz-label {
    display: flex; align-items: center; gap: .3rem;
    font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em;
    color: var(--gaz-muted);
}
.gz-value { margin-top: .2rem; font-size: .9rem; font-weight: 500; word-break: break-word; }
.gz-empty-value { color: #9ca3af; font-style: italic; font-weight: 400; }

/* Lista de datos (label / valor) */
.gz-dl { display: grid; gap: .75rem 1.25rem; grid-template-columns: minmax(0, 1fr); padding: .875rem 1rem; }
@media (min-width: 640px) { .gz-dl-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gz-dl-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Estadísticas */
.gz-stat { display: flex; align-items: center; gap: .75rem; padding: .75rem .875rem; }
.gz-stat-value { font-size: 1.35rem; font-weight: 700; line-height: 1.15; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.gz-stat-detail { font-size: .72rem; color: var(--gaz-muted); margin-top: .1rem; }

/* Mosaicos de icono */
.gz-tile {
    width: 2.25rem; height: 2.25rem; border-radius: .65rem; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
}
.gz-tile-lg { width: 2.75rem; height: 2.75rem; border-radius: .8rem; }
.gz-tone-amber  { background: rgba(245, 158, 11, .14); color: #d97706; }
.gz-tone-green  { background: rgba(34, 197, 94, .13);  color: #16a34a; }
.gz-tone-red    { background: rgba(239, 68, 68, .12);  color: #dc2626; }
.gz-tone-blue   { background: rgba(59, 130, 246, .12); color: #2563eb; }
.gz-tone-violet { background: rgba(139, 92, 246, .12); color: #7c3aed; }
.gz-tone-gray   { background: rgba(107, 114, 128, .12); color: #6b7280; }
:root.dark .gz-tone-amber  { color: #fbbf24; }
:root.dark .gz-tone-green  { color: #4ade80; }
:root.dark .gz-tone-red    { color: #f87171; }
:root.dark .gz-tone-blue   { color: #60a5fa; }
:root.dark .gz-tone-violet { color: #a78bfa; }
:root.dark .gz-tone-gray   { color: #9ca3af; }

/* Insignias */
.gz-badge {
    display: inline-flex; align-items: center; gap: .25rem; white-space: nowrap;
    padding: .125rem .5rem; border-radius: .375rem;
    font-size: .72rem; font-weight: 600; line-height: 1.4;
}
.gz-badge.gz-tone-amber  { box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .3); }
.gz-badge.gz-tone-green  { box-shadow: inset 0 0 0 1px rgba(34, 197, 94, .3); }
.gz-badge.gz-tone-red    { box-shadow: inset 0 0 0 1px rgba(239, 68, 68, .3); }
.gz-badge.gz-tone-blue   { box-shadow: inset 0 0 0 1px rgba(59, 130, 246, .3); }
.gz-badge.gz-tone-violet { box-shadow: inset 0 0 0 1px rgba(139, 92, 246, .3); }
.gz-badge.gz-tone-gray   { box-shadow: inset 0 0 0 1px rgba(107, 114, 128, .25); }

/* Barra de progreso */
.gz-progress { height: .375rem; border-radius: 9999px; background: rgba(107, 114, 128, .15); overflow: hidden; margin-top: .5rem; }
.gz-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--gaz-accent); }

/* Avatares */
.gz-avatar { width: 2.25rem; height: 2.25rem; border-radius: 9999px; object-fit: cover; flex-shrink: 0; box-shadow: 0 0 0 1px var(--gaz-border); background: #f3f4f6; }
.gz-avatar-lg { width: 3.5rem; height: 3.5rem; }
.gz-avatar-initials { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .8rem; background: rgba(var(--primary-500), .14); color: rgb(var(--primary-600)); }

/* Estado vacío */
.gz-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .5rem; padding: 2rem 1rem; }
.gz-empty .gz-tile { width: 3rem; height: 3rem; border-radius: 9999px; }
.gz-empty-title { font-weight: 700; font-size: .95rem; }
.gz-empty-text { color: var(--gaz-muted); font-size: .8rem; max-width: 26rem; }

/* Tablas compactas */
.gz-table-wrap { overflow-x: auto; }
.gz-table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.gz-table th {
    text-align: left; padding: .55rem .75rem; white-space: nowrap;
    font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--gaz-muted);
    border-bottom: 1px solid var(--gaz-border); background: rgba(107, 114, 128, .04);
}
.gz-table td { padding: .55rem .75rem; border-bottom: 1px solid var(--gaz-border); vertical-align: middle; }
.gz-table tbody tr:last-child td { border-bottom: 0; }
.gz-table tbody tr:hover td { background: rgba(var(--primary-500), .04); }
.gz-table .gz-num { text-align: center; font-variant-numeric: tabular-nums; }
.gz-table tr.gz-row-highlight td { background: rgba(var(--primary-500), .07); }
.gz-table .gz-num.gz-right, .gz-table th.gz-right { text-align: right; }
.gz-table th.gz-center { text-align: center; }
.gz-table tfoot td { border-bottom: 0; border-top: 2px solid var(--gaz-border); font-weight: 700; background: rgba(127, 127, 127, .06); }
.gz-table tfoot tr + tr td { border-top: 1px solid var(--gaz-border); }

/* Lista de filas */
.gz-list > * + * { border-top: 1px solid var(--gaz-border); }
.gz-list-item { display: flex; align-items: center; gap: .75rem; padding: .6rem 1rem; min-width: 0; }

/* Aviso */
.gz-note { display: flex; gap: .6rem; align-items: flex-start; padding: .7rem .875rem; border-radius: .75rem; font-size: .8rem; }
.gz-note.gz-tone-amber { background: rgba(245, 158, 11, .08); box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .25); color: inherit; }
.gz-note.gz-tone-blue  { background: rgba(59, 130, 246, .07); box-shadow: inset 0 0 0 1px rgba(59, 130, 246, .22); color: inherit; }
.gz-note.gz-tone-green { background: rgba(34, 197, 94, .07); box-shadow: inset 0 0 0 1px rgba(34, 197, 94, .22); color: inherit; }
.gz-note.gz-tone-red   { background: rgba(239, 68, 68, .07); box-shadow: inset 0 0 0 1px rgba(239, 68, 68, .22); color: inherit; }
.gz-note .gz-icon-sm { margin-top: .1rem; }

/* Marcador */
.gz-score { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

/* Encabezado de ficha (vistas de detalle) */
.gz-hero-section { position: relative; overflow: hidden; }
.gz-hero-section::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--gaz-accent); }
.gz-hero-body { flex-direction: row !important; align-items: center; gap: 1.25rem !important; }
@media (max-width: 640px) { .gz-hero-body { flex-direction: column !important; align-items: flex-start; } }

/* =====================================================================
   Legibilidad de fichas y formularios a dos columnas
   ===================================================================== */

/* Fichas: estilo de hoja técnica. Etiqueta pequeña, valor legible y divisoria fina entre filas. */
.gz-info-col .fi-in-entry-wrp {
    min-width: 0;
    padding: .15rem 0 .7rem;
    border-bottom: 1px solid var(--gaz-border);
}
.gz-info-col .fi-in-entry-wrp-label { margin-bottom: .2rem; }
.gz-info-col .fi-in-text-item,
.gz-info-col .fi-in-text { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.gz-info-col .fi-in-image img { max-width: 100%; height: auto; }
.fi-in-entry-wrp { min-width: 0; }
.fi-in-text-item { overflow-wrap: anywhere; }

/* Espaciado uniforme entre celdas */
.gz-info-col .fi-section-content .grid { column-gap: 1.5rem !important; row-gap: .85rem !important; }

/* En media pantalla (dos columnas), las rejillas internas se limitan a 2 columnas
   para que ningún campo quede apretado ni montado sobre otro. */
@media (min-width: 1024px) and (max-width: 1535px) {
    .gz-form-col [style*="--cols-md: repeat(3"], .gz-info-col [style*="--cols-md: repeat(3"],
    .gz-form-col [style*="--cols-md: repeat(4"], .gz-info-col [style*="--cols-md: repeat(4"] { --cols-md: repeat(2, minmax(0, 1fr)) !important; }
    .gz-form-col [style*="--cols-lg: repeat(3"], .gz-info-col [style*="--cols-lg: repeat(3"],
    .gz-form-col [style*="--cols-lg: repeat(4"], .gz-info-col [style*="--cols-lg: repeat(4"],
    .gz-form-col [style*="--cols-lg: repeat(5"], .gz-info-col [style*="--cols-lg: repeat(5"] { --cols-lg: repeat(2, minmax(0, 1fr)) !important; }
    .gz-form-col [style*="--cols-xl: repeat(3"], .gz-info-col [style*="--cols-xl: repeat(3"],
    .gz-form-col [style*="--cols-xl: repeat(4"], .gz-info-col [style*="--cols-xl: repeat(4"] { --cols-xl: repeat(2, minmax(0, 1fr)) !important; }
    /* columnas que ocupaban 3 de 3 siguen ocupando la fila completa */
    .gz-form-col [style*="--col-span-md: span 3"], .gz-info-col [style*="--col-span-md: span 3"],
    .gz-form-col [style*="--col-span-lg: span 3"], .gz-info-col [style*="--col-span-lg: span 3"] { --col-span-md: 1 / -1 !important; --col-span-lg: 1 / -1 !important; }
}

/* Campos de formulario: evitar desbordes de textos largos y adjuntos */
.gz-form-col .fi-fo-field-wrp { min-width: 0; }
.gz-form-col .fi-fo-file-upload { max-width: 100%; }

/* Tablas: celdas que no se montan unas sobre otras */
.fi-ta-cell { vertical-align: middle; }
.fi-ta-text-item-label { overflow-wrap: anywhere; }

/* Textos que no caben: salto de línea dentro de su tarjeta, nunca desbordados */
.gz, .gz-card, .gz-card-body, .gz-value, .gz-card-head { overflow-wrap: anywhere; word-break: break-word; }
.gz-rank-name, .gz-rank-sub, .gz-team-name { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; }
.gz-standings td.gz-left { white-space: normal; }
.fi-section-header-heading, .fi-section-header-description { overflow-wrap: anywhere; }

/* =====================================================================
   Vistas de detalle (perfil): diseño de "Ver usuario" reutilizable (uvp-*)
   ===================================================================== */

        .uvp { display: flex; flex-direction: column; gap: 1.5rem; color: #111827; }
        :root.dark .uvp { color: #f3f4f6; }

        .uvp-icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
        .uvp-icon-sm { width: 1rem; height: 1rem; flex-shrink: 0; }
        .uvp-icon-xs { width: .875rem; height: .875rem; flex-shrink: 0; }
        .uvp-min0 { min-width: 0; }
        .uvp-accent { color: rgb(var(--primary-500)); }
        .uvp-muted { color: #6b7280; }
        :root.dark .uvp-muted { color: #9ca3af; }
        .uvp-small { font-size: .8rem; }
        .uvp-pad { padding: 0 1.25rem 1.25rem; }

        /* Hero */
        .uvp-hero { position: relative; overflow: hidden; padding: 1.5rem; }
        .uvp-hero::before {
            content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: rgb(var(--primary-500));
        }
        .uvp-hero-body { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
        .uvp-avatar-wrap { position: relative; flex-shrink: 0; }
        .uvp-avatar {
            width: 5.5rem; height: 5.5rem; border-radius: 9999px; object-fit: cover;
            background: #f3f4f6; box-shadow: 0 0 0 1px rgba(0,0,0,.08);
        }
        :root.dark .uvp-avatar { background: #27272a; box-shadow: 0 0 0 1px rgba(255,255,255,.1); }
        .uvp-verified {
            position: absolute; right: 0; bottom: 0;
            display: flex; align-items: center; justify-content: center;
            width: 1.5rem; height: 1.5rem; border-radius: 9999px;
            background: #fff; color: #16a34a; box-shadow: 0 0 0 2px #fff;
        }
        :root.dark .uvp-verified { background: #18181b; box-shadow: 0 0 0 2px #18181b; }
        .uvp-hero-info { flex: 1; min-width: 0; }
        .uvp-name-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .6rem; }
        .uvp-name { font-size: 1.5rem; line-height: 1.25; font-weight: 700; letter-spacing: -.015em; word-break: break-word; }
        .uvp-role {
            display: inline-flex; align-items: center; padding: .125rem .55rem; border-radius: .375rem;
            font-size: .75rem; font-weight: 500; color: rgb(var(--primary-700));
            background: rgba(var(--primary-500), .1); box-shadow: inset 0 0 0 1px rgba(var(--primary-500), .25);
        }
        :root.dark .uvp-role { color: rgb(var(--primary-400)); background: rgba(var(--primary-500), .1); box-shadow: inset 0 0 0 1px rgba(var(--primary-500), .25); }
        .uvp-meta {
            display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin-top: .6rem;
            font-size: .875rem; color: #6b7280;
        }
        :root.dark .uvp-meta { color: #9ca3af; }
        .uvp-meta li { display: inline-flex; align-items: center; gap: .4rem; min-width: 0; word-break: break-all; }
        .uvp-hero-side { display: flex; gap: 2rem; flex-shrink: 0; }
        .uvp-hero-side-value { margin-top: .2rem; font-size: .95rem; font-weight: 600; font-variant-numeric: tabular-nums; }

        @media (min-width: 768px) {
            .uvp-hero { padding: 1.75rem 2rem; }
            .uvp-hero-body { flex-direction: row; align-items: center; gap: 1.5rem; }
            .uvp-hero-side { padding-left: 2rem; border-left: 1px solid rgba(0,0,0,.08); }
            :root.dark .uvp-hero-side { border-color: rgba(255,255,255,.08); }
        }

        /* Cards */
        .uvp-card {
            background: #fff; border-radius: 1rem;
            border: 1px solid rgba(0,0,0,.06);
            box-shadow: 0 1px 3px rgba(0,0,0,.05);
        }
        :root.dark .uvp-card { background: #18181b; border-color: rgba(255,255,255,.08); }
        .uvp-card-head {
            display: flex; align-items: center; gap: .6rem;
            padding: 1rem 1.25rem; margin-bottom: .25rem;
            border-bottom: 1px solid rgba(0,0,0,.06);
        }
        :root.dark .uvp-card-head { border-color: rgba(255,255,255,.08); }
        .uvp-card-head h2 { font-size: 1rem; font-weight: 700; }

        /* Stats */
        .uvp-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
        @media (min-width: 1024px) { .uvp-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
        .uvp-stat { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.1rem; }
        .uvp-stat-icon {
            width: 2.75rem; height: 2.75rem; border-radius: .8rem; flex-shrink: 0;
            display: flex; align-items: center; justify-content: center;
        }
        .uvp-stat-value { font-size: 1.1rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .uvp-tone-amber { background: rgba(245,158,11,.14); color: #d97706; }
        .uvp-tone-red   { background: rgba(239,68,68,.12);  color: #dc2626; }
        .uvp-tone-blue  { background: rgba(59,130,246,.12); color: #2563eb; }
        .uvp-tone-green { background: rgba(34,197,94,.12);  color: #16a34a; }

        /* Layout */
        .uvp-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
        @media (min-width: 1024px) { .uvp-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
        .uvp-col { display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; }
        .uvp-two { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
        @media (min-width: 768px) { .uvp-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

        /* Fields */
        .uvp-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.1rem 1.5rem; padding: 1rem 1.25rem 1.25rem; }
        @media (min-width: 640px) { .uvp-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
        .uvp-fields.uvp-fields-1 { grid-template-columns: minmax(0, 1fr); }
        .uvp-label {
            display: flex; align-items: center; gap: .35rem;
            font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #6b7280;
        }
        :root.dark .uvp-label { color: #9ca3af; }
        .uvp-value {
            display: flex; align-items: center; flex-wrap: wrap; gap: .4rem;
            margin-top: .3rem; font-size: .95rem; font-weight: 500; word-break: break-word;
        }
        .uvp-empty { color: #9ca3af; font-style: italic; font-weight: 400; }
        :root.dark .uvp-empty { color: #6b7280; }
        .uvp-copy {
            display: inline-flex; padding: .25rem; border-radius: .4rem; color: #9ca3af;
            transition: background .15s, color .15s;
        }
        .uvp-copy:hover { background: rgba(var(--primary-500), .12); color: rgb(var(--primary-600)); }
        .uvp-ok { color: #16a34a; }

        /* Pills */
        .uvp-pill { display: inline-flex; padding: .15rem .6rem; border-radius: 9999px; font-size: .75rem; font-weight: 600; }
        .uvp-pill-ok { background: rgba(34,197,94,.14); color: #15803d; }
        .uvp-pill-warn { background: rgba(245,158,11,.16); color: #b45309; }

        /* QR */
        .uvp-qr-box { display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 1.25rem; text-align: center; }
        .uvp-qr {
            padding: .9rem; background: #fff; border-radius: 1rem;
            border: 1px solid rgba(0,0,0,.08); box-shadow: 0 8px 24px -12px rgba(0,0,0,.25);
        }
        .uvp-qr svg { display: block; width: 180px; height: 180px; }
        .uvp-actions { display: flex; flex-direction: column; gap: .6rem; padding: 0 1.25rem 1.25rem; }
        .uvp-btn {
            display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
            width: 100%; padding: .65rem 1rem; border-radius: .7rem;
            font-size: .875rem; font-weight: 600;
            border: 1px solid rgba(0,0,0,.12); background: #fff; color: #374151;
            transition: background .15s, transform .15s, box-shadow .15s;
        }
        .uvp-btn:hover { background: #f9fafb; transform: translateY(-1px); }
        :root.dark .uvp-btn { background: #27272a; color: #e5e7eb; border-color: rgba(255,255,255,.1); }
        :root.dark .uvp-btn:hover { background: #3f3f46; }
        .uvp-btn-primary {
            border-color: transparent; color: #fff;
            background: linear-gradient(135deg, var(--gaz-brand-from), var(--gaz-brand-to));
            box-shadow: 0 8px 18px -8px rgba(var(--gaz-sec-600), .6);
        }
        .uvp-btn-primary:hover { background: linear-gradient(135deg, var(--gaz-brand-from-hover), var(--gaz-brand-to-hover)); }
        :root.dark .uvp-btn-primary { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--gaz-brand-from), var(--gaz-brand-to)); }
    
/* Complementos para otras vistas de detalle */
.uvp-stats-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { .uvp-stats-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.uvp-stats-3 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 768px) { .uvp-stats-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.uvp-avatar-square { border-radius: 1rem !important; }
.uvp-value.uvp-wrap { white-space: normal; }
.uvp-list > * + * { border-top: 1px solid rgba(0,0,0,.06); }
:root.dark .uvp-list > * + * { border-color: rgba(255,255,255,.08); }
.uvp-list-item { display: flex; align-items: center; gap: .75rem; padding: .75rem 1.25rem; min-width: 0; }
.uvp-note { font-size: .85rem; line-height: 1.55; padding: .25rem 1.25rem 1.25rem; color: #6b7280; }
.uvp-card-head + .uvp-note { padding-top: 1rem; }
:root.dark .uvp-note { color: #d1d5db; }
.uvp-fields-3 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .uvp-fields-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.uvp-prose { font-size: .9rem; line-height: 1.6; padding: 1rem 1.25rem 1.25rem; white-space: pre-line; overflow-wrap: anywhere; }
.uvp-pill-info { background: rgba(59,130,246,.14); color: #1d4ed8; }
:root.dark .uvp-pill-info { color: #93c5fd; }
.uvp-pill-gray { background: rgba(107,114,128,.14); color: #4b5563; }
:root.dark .uvp-pill-gray { color: #d1d5db; }
.uvp-pill-danger { background: rgba(239,68,68,.14); color: #b91c1c; }
:root.dark .uvp-pill-danger { color: #fca5a5; }

/* Tarjetas de imagen a ancho completo (carrusel de inicio de sesión) */
.gz-carousel-img, .gz-carousel-img > *, .gz-carousel-img .fi-ta-image, .gz-carousel-img .fi-ta-image > div { width: 100% !important; max-width: 100% !important; }
.gz-carousel-img .fi-ta-image { padding: 0 !important; }
.gz-carousel-stack { align-items: stretch !important; }
.gz-carousel-stack > * { width: 100%; }
.gz-carousel-img .flex { width: 100% !important; }
.gz-carousel-img .flex > img { flex: 1 1 auto; min-width: 0; }

/* Listado de jugadores: 5 indicadores en una fila */
.fi-resource-jugadors .fi-wi-stats-overview-stats-ctn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media (min-width: 768px) { .fi-resource-jugadors .fi-wi-stats-overview-stats-ctn { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .fi-resource-jugadors .fi-wi-stats-overview-stats-ctn { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.fi-resource-jugadors .fi-wi-stats-overview-stat { padding: 1rem 1.1rem; }

/* Escala 1–5 con botones (calificación de árbitros) */
.gz-escala { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .4rem !important; }
.gz-escala > div, .gz-escala label { width: 100%; }
.gz-escala label { justify-content: center; }

/* =====================================================================
   Inscripciones a campeonatos (ver y editar): indicadores, tabla de jugadores y campos legibles.
   Limitado a .gz-ins (formulario) y .gz-ins-* (piezas de la ficha).
   ===================================================================== */
.gz-tone-text-green { color: #16a34a; }
.gz-tone-text-amber { color: #d97706; }
:root.dark .gz-tone-text-green { color: #4ade80; }
:root.dark .gz-tone-text-amber { color: #fbbf24; }

/* Indicadores */
.gz-ins-kpis { display: flex; flex-direction: column; gap: .75rem; }
.gz-ins-kpis .gz-stat { padding: 1rem 1.1rem; }
.gz-ins-kpis .gz-stat-value { font-size: 1.5rem; }
.gz-ins-avance { padding: .85rem 1.1rem; }
.gz-ins-avance .gz-progress { height: .5rem; }

/* Resumen lateral del formulario */
.gz-ins-resumen { display: flex; flex-direction: column; gap: .6rem; padding: 1rem 1.1rem; font-size: .9rem; }
.gz-ins-resumen-total { padding-top: .6rem; border-top: 1px solid var(--gaz-border); font-weight: 700; font-size: 1.05rem; }

/* Tabla de jugadores: más aire y texto más grande que la tabla compacta */
.gz-ins-table { font-size: .875rem; }
.gz-ins-table th { padding: .7rem .9rem; }
.gz-ins-table td { padding: .7rem .9rem; }
.gz-ins-table tfoot td { padding: .75rem .9rem; }
/* Jugador no inscrito: datos atenuados, pero la casilla "Inscribir" (primera celda) siempre visible */
.gz-ins-table tr.gz-ins-off td:not(:first-child) { opacity: .5; }
.gz-ins-table tr.gz-ins-off:hover td:not(:first-child) { opacity: .8; }
/* Nombre del jugador en una sola línea (sin cortes por palabra) */
.gz-ins-jugador { min-width: 13rem; }
.gz-ins-jugador .gz-strong { overflow-wrap: normal; word-break: normal; }
.gz-ins-table .gz-badge, .gz-ins-table td.gz-num { white-space: nowrap; }
.gz-ins-check { display: inline-flex; align-items: center; justify-content: center; padding: .25rem; cursor: pointer; }
.gz-ins-check .fi-checkbox-input, .gz-ins-pago .fi-checkbox-input { width: 1.15rem; height: 1.15rem; }
.gz-ins-pago { display: inline-flex; align-items: center; gap: .6rem; cursor: pointer; white-space: nowrap; }
.gz-ins-jugadores .gz-card-head { padding: .85rem 1.1rem; font-size: .95rem; }

/* Panel de detalle */
.gz-ins-dato { padding: .7rem 1rem; }

/* Campos del formulario más legibles */
.gz-ins .fi-fo-field-wrp-label span { font-weight: 600; font-size: .875rem; }
.gz-ins .fi-input-wrp { --tw-ring-color: rgba(17, 24, 39, .14); }
.gz-ins .fi-input, .gz-ins .fi-select-input { font-size: .9375rem; }
.gz-ins .fi-fo-field-wrp-helper-text { font-size: .8rem; }
:root.dark .gz-ins .fi-input-wrp { background-color: rgba(255, 255, 255, .07); --tw-ring-color: rgba(255, 255, 255, .18); }
:root.dark .gz-ins .fi-input-wrp:focus-within { --tw-ring-color: var(--gaz-accent); }
/* Campos bloqueados (campeonato, estado automático, fecha): legibles, no casi invisibles */
.gz-ins .fi-input:disabled, .gz-ins .fi-select-input:disabled {
    color: inherit !important; -webkit-text-fill-color: currentColor !important; opacity: .85;
}
.gz-ins .fi-section-header-heading { font-size: 1rem; }
