/* Control V - capa visual transversal
   Cargada despues de los estilos historicos para modernizar la interfaz sin
   cambiar IDs, eventos, rutas ni reglas de negocio. */

:root {
    --cv-page-max: 1180px;
    --cv-card: #ffffff;
    --cv-card-soft: #f6f8fc;
    --cv-line: #dfe6f1;
    --cv-ink-soft: #526079;
    --cv-danger: #d93f55;
    --cv-success: #238966;
    --cv-warning: #f4bd37;
    --cv-control-height: 48px;
    --cv-card-shadow: 0 16px 42px rgba(21, 39, 91, 0.16);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    line-height: 1.45;
}

img,
svg,
canvas {
    max-width: 100%;
}

button,
.btn,
input[type="submit"],
input[type="button"] {
    min-height: 44px;
    padding: 0.7rem 1rem;
    border-radius: 13px;
    font-weight: 700;
    line-height: 1.15;
}

button:disabled,
.btn:disabled,
input:disabled {
    cursor: not-allowed;
    opacity: 0.68;
}

/* En varias pantallas antiguas un div era usado como boton. Se limita a los
   elementos con aspecto de control y sin un button hijo, manteniendo sus IDs
   para que los handlers existentes sigan funcionando. */
body [id^="boton_"]:not(button):not(a):not(form):not(:has(button)):is(.bg-primary, .bg-secondary, .bg-success, .bg-danger, .bg-dark, .bg-light, .border.rounded),
body [class*=" boton_"]:not(button):not(a):not(form):not(:has(button)):is(.bg-primary, .bg-secondary, .bg-success, .bg-danger, .bg-dark, .bg-light, .border.rounded) {
    display: inline-grid;
    min-height: 44px;
    padding: 0.65rem 0.9rem;
    place-items: center;
    border-radius: 13px !important;
    font-weight: 700;
    line-height: 1.15;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

body [id^="boton_"]:not(button):not(a):not(form):not(:has(button)):hover,
body [class*=" boton_"]:not(button):not(a):not(form):not(:has(button)):hover {
    filter: brightness(1.03);
    transform: translateY(-1px);
}

.btn-primary {
    border-color: #4267f5;
    background-color: #4267f5;
    box-shadow: 0 9px 22px rgba(66, 103, 245, 0.22);
}

.btn-success {
    border-color: var(--cv-success);
    background-color: var(--cv-success);
}

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

.btn-light {
    border: 1px solid var(--cv-line);
    color: var(--cv-ink);
    background: #fff;
}

.form-control,
.form-select,
textarea.form-control,
input[type="date"],
input[type="time"] {
    width: 100%;
    min-height: var(--cv-control-height);
    border: 1px solid #d6dfed;
    border-radius: 13px;
    color: var(--cv-ink);
    background-color: #fff;
    box-shadow: 0 6px 18px rgba(32, 57, 111, 0.07);
}

.input-group {
    align-items: stretch;
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .input-group-text,
.input-group > .btn {
    min-height: var(--cv-control-height);
}

.input-group-text {
    border-color: #d6dfed;
    color: var(--cv-ink);
    background: #eef3fb;
    font-weight: 700;
}

.form-check {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 0.55rem;
}

.form-check-input {
    flex: 0 0 auto;
    width: 1.35rem !important;
    height: 1.35rem !important;
    min-height: 0 !important;
    border-radius: 0.38rem !important;
    cursor: pointer;
}

.form-switch .form-check-input {
    width: 2.7rem !important;
    height: 1.45rem !important;
    border-radius: 999px !important;
}

/* Todas las vistas de trabajo ocupan el espacio disponible y conservan aire. */
.secciones_principales,
.role-admin > .container,
.role-mantenimiento > .container,
.role-root-mantenimiento > .container {
    width: min(calc(100% - 28px), var(--cv-page-max));
    max-width: var(--cv-page-max);
    margin-inline: auto;
    padding: 0 0 42px;
}

.secciones_principales > h1,
.role-admin .container > div:not(#menu_ppal) > h1,
.role-admin .container > div:not(#menu_ppal) > h2,
.role-admin .container > div:not(#menu_ppal) > h3 {
    width: min(100%, 840px);
    margin: clamp(18px, 4vw, 36px) auto 22px !important;
    color: #fff !important;
    font-size: clamp(1.65rem, 4.2vw, 2.6rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    text-align: center;
    text-shadow: 0 3px 12px rgba(18, 33, 61, 0.22);
}

/* Tarjetas heredadas de admin: se convierten en superficies operativas. */
.role-admin [style*="background-color:darkturquoise"],
.role-admin [style*="background-color: darkturquoise"],
.role-admin .caja_fondo_azul,
.role-owner .caja_fondo_azul {
    width: min(100%, 860px);
    height: auto !important;
    min-height: 0;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: clamp(16px, 3vw, 28px) !important;
    border: 1px solid rgba(255, 255, 255, 0.58) !important;
    border-radius: 20px !important;
    color: var(--cv-ink) !important;
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: var(--cv-card-shadow);
}

.role-admin [style*="background-color:darkturquoise"] .text-light:not(.btn),
.role-admin [style*="background-color: darkturquoise"] .text-light:not(.btn),
.role-admin .caja_fondo_azul .text-light:not(.btn),
.role-owner .caja_fondo_azul .text-light:not(.btn) {
    color: var(--cv-ink) !important;
}

.role-admin [style*="background-color:darkturquoise"] > .row[style*="height"],
.role-admin [style*="background-color: darkturquoise"] > .row[style*="height"] {
    height: auto !important;
    min-height: 46px;
}

.role-admin .container > div:not(#menu_ppal) > .row,
.role-owner .secciones_principales > .row {
    max-width: 100%;
}

.role-admin .container > div:not(#menu_ppal) .mx-5,
.role-owner .secciones_principales .mx-5 {
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Modales consistentes, incluidos los que llegan de includes PHP. */
.modal-dialog {
    width: min(calc(100% - 24px), var(--bs-modal-width));
    margin: 1.25rem auto;
}

.modal-lg,
.modal-xl {
    --bs-modal-width: min(94vw, 1040px);
}

.modal-content {
    border: 1px solid rgba(214, 223, 237, 0.9);
    border-radius: 22px;
    color: var(--cv-ink);
    background: #fff;
}

.modal-header {
    min-height: 68px;
    padding: 1rem clamp(16px, 3vw, 28px);
    background: #fbfcff;
}

.modal-title {
    color: var(--cv-ink) !important;
    font-size: clamp(1.12rem, 3vw, 1.5rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
}

.modal-body {
    max-width: 100%;
    padding: clamp(18px, 3vw, 30px);
    overflow-x: hidden;
}

.modal-body > .row,
.modal-body form > .row {
    margin-right: 0;
    margin-left: 0;
}

.modal-footer {
    padding: 14px clamp(16px, 3vw, 28px) 18px;
    gap: 10px;
    background: #fbfcff;
}

.modal-footer > * {
    margin: 0;
}

.btn-close {
    min-width: 44px;
    min-height: 44px;
    padding: 0.8rem;
    border-radius: 50%;
}

/* Tablas legibles: escritorio amplio y desplazamiento controlado en movil. */
.table-responsive,
[id*="area_tabla"],
[id*="tabla_"] {
    max-width: 100%;
}

.table-responsive {
    border: 1px solid rgba(223, 230, 241, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 30px rgba(21, 39, 91, 0.12);
}

.table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--cv-ink);
    background: #fff;
    box-shadow: none;
}

.table > :not(caption) > * > * {
    min-width: 92px;
    padding: 0.78rem 0.7rem;
    border-color: #e4eaf3;
    vertical-align: middle;
}

.table thead,
.table thead[style*="midnightblue"] {
    color: #fff;
    background: #1f2c59 !important;
}

.table tbody tr:hover > * {
    background-color: #f2f6ff;
}

/* Listas AJAX y paneles con scroll ya no quedan clavados a 400px. */
[class*="area_scrollable"],
[id^="area_lista_"],
[id*="_lista_"] {
    max-width: 100%;
    scrollbar-color: #9ba9bf transparent;
    scrollbar-width: thin;
}

[class*="area_scrollable"]::-webkit-scrollbar,
[id^="area_lista_"]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[class*="area_scrollable"]::-webkit-scrollbar-thumb,
[id^="area_lista_"]::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #9ba9bf;
}

/* Recaudo Owner */
.cv-recaudo-module {
    padding-bottom: 54px;
}

.cv-recaudo-shell {
    width: min(100%, 980px);
    margin-inline: auto;
}

.cv-recaudo-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.cv-recaudo-toolbar-copy {
    color: #fff;
}

.cv-recaudo-toolbar-copy strong,
.cv-recaudo-toolbar-copy span {
    display: block;
}

.cv-recaudo-toolbar-copy strong {
    font-size: 1.02rem;
}

.cv-recaudo-toolbar-copy span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.82rem;
}

#boton_nuevo_recaudo.cv-icon-button {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 0;
    align-items: center;
    gap: 9px;
    border: 0;
    color: #fff;
    background: var(--cv-owner);
    box-shadow: 0 12px 26px rgba(217, 63, 111, 0.27);
}

.cv-recaudo-list-panel {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: var(--cv-card-shadow);
}

.cv-recaudo-list-head {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr) minmax(0, 0.95fr) 132px;
    padding: 12px 16px;
    color: var(--cv-ink-soft);
    border-bottom: 1px solid var(--cv-line);
    background: #eef3fb;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.area_scrollable_recaudos.cv-recaudo-list {
    width: 100%;
    height: auto;
    max-height: min(52vh, 540px);
    min-height: 190px;
    padding: 8px;
    overflow-x: hidden;
    overflow-y: auto;
    text-align: left;
    background: #fff;
}

.cv-recaudo-empty {
    display: grid;
    min-height: 170px;
    padding: 28px;
    place-items: center;
    color: var(--cv-ink-soft);
    text-align: center;
}

.cv-recaudo-empty i {
    display: block;
    margin-bottom: 8px;
    color: var(--cv-owner);
    font-size: 2rem;
}

.cv-recaudo-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 132px;
    gap: 8px;
    padding: 7px;
    border-bottom: 1px solid #edf1f6;
}

.cv-recaudo-row:last-child {
    border-bottom: 0;
}

.cv-recaudo-row-main {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr) minmax(0, 0.95fr) 26px;
    min-width: 0;
    min-height: 58px;
    align-items: center;
    padding: 8px 10px;
    border: 0;
    border-radius: 13px;
    color: var(--cv-ink);
    background: #f8faff;
    text-align: left;
}

.cv-recaudo-row-main:hover {
    background: #eef3ff;
    transform: translateY(-1px);
}

.cv-recaudo-row-main span {
    min-width: 0;
    padding-inline: 6px;
}

.cv-recaudo-row-main small,
.cv-recaudo-row-main strong {
    display: block;
}

.cv-recaudo-row-main small {
    color: var(--cv-ink-soft);
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
}

.cv-recaudo-row-main strong {
    overflow: hidden;
    font-size: 0.82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cv-recaudo-period {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 7px;
}

.cv-recaudo-select {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid var(--cv-line);
    border-radius: 13px;
    color: var(--cv-ink-soft);
    background: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
}

.cv-recaudo-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.cv-recaudo-actions .btn,
#area_botones_pdf_recaudo .btn {
    width: 100%;
}

.cv-recaudo-actions .cv-action-danger {
    grid-column: 1 / -1;
}

#area_botones_pdf_recaudo {
    width: min(100%, 560px);
    margin: 16px auto 0 !important;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 12px 30px rgba(21, 39, 91, 0.15);
}

/* Vendedor: resumen claro y centrado. */
.role-vendedor {
    padding: 18px 14px 38px;
}

.role-vendedor > .row,
.role-vendedor > h3,
.role-vendedor > span,
.role-vendedor > #area_incentivos_vendedor,
.role-vendedor > #alerta_vendedor_no_ha_sido_liquidado,
.role-vendedor > #liquidacion,
.role-vendedor > form {
    width: min(100%, 760px);
    margin-right: auto !important;
    margin-left: auto !important;
}

.role-vendedor > h3 {
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    border-radius: 16px !important;
    color: var(--cv-ink);
    background: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 10px 24px rgba(21, 39, 91, 0.14);
}

.role-vendedor #liquidacion > .row[style*="deeppink"] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: clamp(14px, 3vw, 24px) !important;
    background: rgba(255, 255, 255, 0.97) !important;
}

.role-vendedor #liquidacion > .row[style*="deeppink"] h3 {
    display: flex;
    min-width: 0;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 !important;
    padding: 10px 12px;
    border: 1px solid var(--cv-line);
    border-radius: 12px;
    color: var(--cv-ink) !important;
    background: #f7f9fd;
}

.role-vendedor #liquidacion > .row[style*="deeppink"] h3 span {
    flex: 0 0 auto;
    color: var(--cv-ink) !important;
    background: #fff !important;
}

.role-vendedor #area_botones_conforme_no_conforme_notas {
    padding: 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: var(--cv-card-shadow);
}

.role-vendedor #area_botones_conforme_no_conforme_notas > .row:last-child {
    display: flex;
    gap: 10px;
    margin: 0;
}

.role-vendedor #boton_conforme_liquidacion_vendedor,
.role-vendedor #boton_no_conforme_liquidacion_vendedor {
    display: grid;
    min-height: 48px;
    margin: 0 !important;
    padding: 0.75rem;
    place-items: center;
    border: 0;
    border-radius: 13px !important;
    cursor: pointer;
}

.role-vendedor #boton_conforme_liquidacion_vendedor {
    color: #fff;
    background: var(--cv-success) !important;
}

.role-vendedor #boton_no_conforme_liquidacion_vendedor {
    color: #fff;
    background: var(--cv-danger) !important;
}

/* Mantenimiento y Root: los bloques generados conservan sus grids pero no se
   salen del viewport. */
.role-mantenimiento .modal-body,
.role-root-mantenimiento .modal-body,
.role-owner .modal-body,
.role-admin .modal-body {
    overflow-x: auto;
}

.role-mantenimiento [class*="registro_"],
.role-root-mantenimiento [class*="registro_"],
.role-owner [class*="registro_"] {
    max-width: 100%;
}

@media (max-width: 767.98px) {
    :root {
        --cv-control-height: 50px;
    }

    .secciones_principales,
    .role-admin > .container,
    .role-mantenimiento > .container,
    .role-root-mantenimiento > .container {
        width: min(calc(100% - 20px), var(--cv-page-max));
        padding-bottom: 30px;
    }

    .role-admin .container > div:not(#menu_ppal) > .row,
    .role-owner .secciones_principales > .row {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .role-admin .container > div:not(#menu_ppal) [class*="col-"]:not(.modal-dialog):not(.modal-content),
    .role-owner .secciones_principales > .row > [class*="col-"] {
        max-width: 100%;
    }

    .modal-dialog {
        width: calc(100% - 16px);
        margin: 8px auto;
    }

    .modal-content {
        border-radius: 18px;
    }

    .modal-footer {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    }

    .modal-footer .btn {
        width: 100%;
    }

    .table-responsive,
    .secciones_principales .table,
    .role-admin .table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table {
        font-size: 0.78rem !important;
    }

    .table > :not(caption) > * > * {
        min-width: 104px;
        padding: 0.68rem 0.6rem;
    }

    .cv-recaudo-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    #boton_nuevo_recaudo.cv-icon-button {
        width: 100%;
        justify-content: center;
    }

    .cv-recaudo-list-head {
        display: none;
    }

    .area_scrollable_recaudos.cv-recaudo-list {
        max-height: 58vh;
        padding: 7px;
    }

    .cv-recaudo-row {
        grid-template-columns: 1fr;
        gap: 7px;
        padding: 8px 4px;
    }

    .cv-recaudo-row-main {
        grid-template-columns: repeat(2, minmax(0, 1fr)) 24px;
        gap: 8px;
        padding: 11px 9px;
    }

    .cv-recaudo-period {
        grid-column: 1 / -1;
        padding-bottom: 8px !important;
        border-bottom: 1px solid var(--cv-line);
    }

    .cv-recaudo-select {
        min-height: 46px;
    }

    .cv-recaudo-actions {
        grid-template-columns: 1fr;
    }

    .cv-recaudo-actions .cv-action-danger {
        grid-column: auto;
    }

    .role-vendedor {
        padding-inline: 10px;
    }

    .role-vendedor #liquidacion > .row[style*="deeppink"] {
        grid-template-columns: 1fr;
    }

    .role-vendedor #area_botones_conforme_no_conforme_notas > .row:last-child {
        display: grid;
        grid-template-columns: 1fr;
    }

    .role-vendedor #boton_conforme_liquidacion_vendedor,
    .role-vendedor #boton_no_conforme_liquidacion_vendedor {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    .modal-header,
    .modal-body,
    .modal-footer {
        padding-right: 14px;
        padding-left: 14px;
    }

    .role-vendedor #posicion_vendedor {
        font-size: 3.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Administrador: vendedores y boletería ---------------------------------- */
.admin-sellers-module,
.admin-seller-operation,
.admin-ticketing-module {
    width: min(100% - 28px, 1080px);
    margin: 28px auto 48px;
    color: #17223f;
}

.admin-module-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
    color: #fff;
}

.admin-module-heading h1 {
    margin: 2px 0 4px;
    font-size: clamp(1.8rem, 4vw, 2.65rem);
    font-weight: 850;
    letter-spacing: -0.045em;
}

.admin-module-heading p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.98rem;
}

.admin-module-eyebrow {
    color: #526179;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-module-heading .admin-module-eyebrow {
    color: rgba(255, 255, 255, 0.72);
}

.admin-module-date,
.admin-operation-context {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 13px;
    background: rgba(19, 33, 68, 0.76);
    color: #fff;
    font-size: 0.86rem;
    font-weight: 750;
}

.admin-seller-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--cv-card-shadow);
}

.admin-search-field {
    position: relative;
    display: flex;
    align-items: center;
}

.admin-search-field > i {
    position: absolute;
    left: 16px;
    z-index: 1;
    color: #71809a;
    font-size: 1.05rem;
    pointer-events: none;
}

.admin-search-field input,
.admin-assignment-control input,
.admin-sale-fields input,
.admin-ticket-received input,
.admin-prize-fields input {
    width: 100%;
    min-height: 50px;
    padding: 0.75rem 0.9rem;
    border: 1px solid #ccd6e6;
    border-radius: 12px;
    background: #f9fbfe;
    color: #17223f;
    font-size: 1rem;
    outline: none;
    transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.admin-search-field input {
    padding-left: 46px;
}

.admin-search-field input:focus,
.admin-assignment-control input:focus,
.admin-sale-fields input:focus,
.admin-ticket-received input:focus,
.admin-prize-fields input:focus {
    border-color: #4267f5;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(66, 103, 245, 0.13);
}

.admin-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 0.78rem 1.05rem;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 0.88rem;
    font-weight: 800;
    transition: transform 150ms ease, box-shadow 150ms ease, filter 150ms ease;
}

.admin-action-button:hover:not(:disabled) {
    filter: brightness(1.03);
    transform: translateY(-1px);
}

.admin-action-primary { background: #4267f5; color: #fff; box-shadow: 0 8px 20px rgba(66, 103, 245, 0.22); }
.admin-action-secondary { background: #e9efff; color: #2e51d5; border-color: #cdd9ff; }
.admin-action-muted { background: #f1f4f8; color: #3d4b63; border-color: #dbe2ec; }
.admin-action-success { background: #e4f5ee; color: #176d51; border-color: #b8dfd0; }
.admin-action-warning { background: #fff4d5; color: #8a5a00; border-color: #f2d58a; }
.admin-action-danger { background: #fff0f2; color: #bd3147; border-color: #efc1c9; }
.admin-action-reset { background: #20293a; color: #fff; }

.admin-action-button.is-loading { position: relative; color: transparent !important; }
.admin-action-button.is-loading::after {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: #fff;
    border-radius: 50%;
    content: "";
    animation: cv-admin-spin 700ms linear infinite;
}

@keyframes cv-admin-spin { to { transform: rotate(360deg); } }

.admin-list-loading {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.admin-list-loading span {
    display: block;
    height: 84px;
    border-radius: 16px;
    background: linear-gradient(90deg, rgba(255,255,255,.58), rgba(255,255,255,.92), rgba(255,255,255,.58));
    background-size: 200% 100%;
    animation: cv-admin-shimmer 1.1s linear infinite;
}

@keyframes cv-admin-shimmer { to { background-position: -200% 0; } }

.admin-seller-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 18px 0 12px;
}

.admin-seller-summary > div {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 9px;
    min-height: 62px;
    padding: 10px 15px;
    border: 1px solid rgba(255, 255, 255, 0.56);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.92);
}

.admin-seller-summary small { color: #58657b; font-weight: 700; }
.admin-seller-summary strong { font-size: 1.4rem; }
.summary-dot { width: 10px; height: 10px; border-radius: 50%; }
.summary-dot.pending { background: #9aa6b8; }
.summary-dot.supplied { background: #e8ae1d; }
.summary-dot.liquidated { background: #7b5bd6; }

.admin-seller-list { display: grid; gap: 10px; }

.admin-seller-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-left: 5px solid #9ba7b9;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 9px 24px rgba(20, 40, 85, 0.1);
}

.admin-seller-card.state-supplied { border-left-color: #e8ae1d; }
.admin-seller-card.state-liquidated { border-left-color: #7659cc; }

.admin-seller-main {
    display: grid;
    width: 100%;
    min-height: 84px;
    grid-template-columns: 42px minmax(180px, 1fr) 120px 190px 20px;
    align-items: center;
    gap: 14px;
    padding: 13px 16px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #17223f;
    text-align: left;
}

.admin-seller-main:hover { background: #f8faff; }
.admin-seller-index {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    background: #eef2f8;
    color: #526079;
    font-weight: 800;
}

.admin-seller-identity,
.admin-seller-daily { display: flex; min-width: 0; flex-direction: column; }
.admin-seller-identity strong { overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-seller-identity small,
.admin-seller-daily small { color: #748098; font-size: 0.74rem; font-weight: 650; }
.admin-seller-daily strong { font-size: 1.1rem; }

.admin-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    white-space: nowrap;
}

.status-pending { background: #eef1f5; color: #59657a; }
.status-supplied { background: #fff2c9; color: #835800; }
.status-liquidated { background: #eee9ff; color: #5940a6; }
.admin-seller-open { color: #8995aa; }

.admin-seller-liquidator {
    padding: 0 17px 10px 72px;
    color: #6651ad;
    font-size: 0.74rem;
    font-weight: 750;
}

.admin-seller-card-actions {
    display: flex;
    gap: 8px;
    padding: 9px 14px;
    border-top: 1px solid #e8edf5;
    background: #f8fafd;
}

.admin-seller-card-actions button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 6px 10px;
    border: 1px solid #d9e1ed;
    border-radius: 10px;
    background: #fff;
    color: #47546a;
    font-size: 0.75rem;
}

.admin-seller-card-actions .boton_eliminar_vendedores { color: #bd3147; }

.admin-empty-state {
    display: grid;
    min-height: 210px;
    margin-top: 18px;
    padding: 34px 20px;
    place-items: center;
    align-content: center;
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    color: #46536a;
    text-align: center;
}

.admin-empty-state > i { margin-bottom: 10px; color: #6879a0; font-size: 2rem; }
.admin-empty-state h2 { margin: 0; color: #17223f; font-size: 1.1rem; }
.admin-empty-state p { margin: 6px 0 0; }
.admin-empty-warning > i { color: #d49a0d; }

.admin-operation-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.admin-selected-seller {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 15px;
    margin-bottom: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--cv-card-shadow);
}

.admin-selected-avatar {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 15px;
    background: #eaf0ff;
    color: #4267f5;
    font-size: 1.45rem;
}

.admin-selected-seller span:not(.admin-status-pill) { color: #6a768d; font-size: 0.76rem; font-weight: 800; text-transform: uppercase; }
.admin-selected-seller h1 { margin: 2px 0 0; font-size: clamp(1.25rem, 3vw, 1.7rem); font-weight: 850; }

.admin-operation-grid,
.admin-ticketing-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

.admin-operation-card {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(19, 37, 79, 0.12);
}

.admin-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.admin-card-heading span { color: #768198; font-size: 0.69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-card-heading h2 { margin: 2px 0 0; font-size: 1.14rem; font-weight: 850; }
.admin-card-icon { color: #5473e8; font-size: 1.65rem; }

.admin-total-badge { display: flex; min-width: 96px; flex-direction: column; padding: 8px 11px; border-radius: 12px; background: #edf2ff; text-align: right; }
.admin-total-badge small { color: #66738d; font-size: .66rem; font-weight: 700; }
.admin-total-badge strong { color: #2f51d1; font-size: 1.45rem; line-height: 1.05; }

.admin-assignment-control {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: end;
}

.admin-assignment-control label { grid-column: 2; color: #526079; font-size: .76rem; font-weight: 800; }
.admin-sign-toggle { grid-row: 1 / 3; align-self: end; min-height: 50px; padding: 0; border: 1px solid #ccd6e6; background: #f1f4f9; color: #28344c; }

.admin-sale-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.admin-sale-fields > label,
.admin-ticket-received > label,
.admin-prize-fields label { display: flex; flex-direction: column; gap: 6px; color: #526079; font-size: .76rem; font-weight: 800; }
.admin-money-input { display: grid; grid-template-columns: auto 1fr; align-items: center; overflow: hidden; border: 1px solid #ccd6e6; border-radius: 12px; background: #f1f4f8; }
.admin-money-input > span { padding-left: 12px; color: #6b7890; }
.admin-money-input input { border: 0; background: transparent; }

.admin-switch-field {
    display: flex !important;
    min-height: 58px;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 12px;
    border: 1px solid #dbe2ec;
    border-radius: 12px;
    background: #f8fafd;
}
.admin-switch-field > span { display: flex; flex-direction: column; }
.admin-switch-field strong { color: #17223f; font-size: .9rem; }
.admin-switch-field small { color: #778299; font-size: .66rem; }
.admin-switch-field input { width: 48px !important; min-height: 26px !important; margin: 0 !important; }

.admin-inline-feedback { min-height: 22px; margin-top: 9px; font-size: .78rem; font-weight: 750; }
.admin-inline-feedback.is-success { color: #177457; }
.admin-inline-feedback.is-error { color: #c33047; }

.admin-operation-actions { margin-top: 16px; }
.admin-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.admin-action-grid > #area_pagar_incentivos,
.admin-action-grid > #area_abono_prestamos { display: contents; }
.admin-action-grid .modal:not(.show) { display: none !important; }
.admin-danger-zone { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e3e8f0; }

.admin-reset-modal-body { color: #344158; }
.admin-reset-warning { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid #f0c5cc; border-radius: 14px; background: #fff2f4; }
.admin-reset-warning i { color: #cc354c; font-size: 1.35rem; }
.admin-reset-warning p { margin: 0; }
.admin-reset-modal-body ul { margin: 16px 0; padding-left: 22px; }
.admin-reset-modal-body li + li { margin-top: 5px; }
.admin-reset-scope { display: flex; gap: 8px; margin: 0; padding: 11px; border-radius: 12px; background: #edf7f3; color: #236a54; font-size: .82rem; }

.admin-ticket-received > small { display: block; margin-top: 9px; color: #7a8599; font-size: .72rem; }
.admin-ticket-input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.admin-prize-fields { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(130px, .65fr); gap: 10px; margin-bottom: 10px; }
.admin-prize-card > .admin-action-button { width: 100%; }

.admin-ticket-summary { margin-top: 16px; }
.admin-ticket-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ticket-stat { display: grid; min-height: 112px; grid-template-columns: 1fr auto; align-content: space-between; gap: 4px; padding: 14px; border: 1px solid #dfe5ee; border-radius: 14px; background: #f7f9fc; }
.ticket-stat i { color: #6a79a1; font-size: 1.15rem; }
.ticket-stat span { grid-column: 1 / -1; color: #657188; font-size: .74rem; font-weight: 750; }
.ticket-stat strong { grid-column: 1 / -1; font-size: 1.45rem; }
.ticket-stat.stat-received { background: #ecf3ff; border-color: #ccdaf8; }
.ticket-stat.stat-sold { background: #eaf7f1; border-color: #c6e4d6; }
.ticket-stat.stat-remaining { background: #fff5d9; border-color: #efdb9e; }

.admin-current-prize { display: grid; grid-template-columns: 1fr auto; gap: 20px; margin-top: 16px; padding: 16px 20px; border: 1px solid rgba(255,255,255,.6); border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(20,40,85,.1); }
.admin-current-prize > div { display: flex; min-width: 0; flex-direction: column; }
.admin-current-prize span { color: #78849a; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-current-prize strong { overflow: hidden; font-size: 1.05rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-current-prize > div:last-child { text-align: right; }

/* Acciones del vendedor: pantallas y modales operativos. */
.seller-action-page {
    min-height: 100vh;
    padding: 20px 0 0;
}

.seller-action-shell {
    width: min(calc(100% - 24px), 860px);
    margin: 0 auto;
}

.seller-action-topbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.seller-action-context {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 14px;
    color: #fff;
    background: #202f59;
    font-size: .78rem;
    font-weight: 800;
    text-align: right;
}

.seller-action-context i { color: #8eb5ff; font-size: 1rem; }

.seller-action-heading {
    margin-bottom: 16px;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.68);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(19,37,79,.14);
}

.seller-action-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #5770d2;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.seller-action-heading h1 {
    margin: 0;
    color: #17223f;
    font-size: clamp(1.55rem, 4vw, 2.15rem);
    font-weight: 900;
    letter-spacing: -.035em;
}

.seller-action-heading > p {
    margin: 7px 0 18px;
    color: #68758c;
    font-size: .9rem;
}

.seller-action-person {
    display: inline-flex;
    min-height: 44px;
    max-width: 100%;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border: 1px solid #dbe4f2;
    border-radius: 13px;
    color: #27334c;
    background: #f5f8fc;
}

.seller-action-person i { color: #4b68dd; font-size: 1.25rem; }
.seller-action-person strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.seller-action-form,
.seller-settlement-card {
    padding: clamp(18px, 4vw, 28px);
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(18,37,79,.15);
}

.seller-action-card-title,
.seller-modal-heading {
    display: flex;
    align-items: center;
    gap: 12px;
}

.seller-action-card-title { margin-bottom: 18px; }
.seller-action-card-title > div,
.seller-modal-heading > div { display: flex; min-width: 0; flex-direction: column; }
.seller-action-card-title span:not(.seller-action-card-icon),
.seller-modal-heading > div > span { color: #778299; font-size: .67rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.seller-action-card-title h2 { margin: 2px 0 0; color: #17223f; font-size: 1.15rem; font-weight: 850; }

.seller-action-card-icon,
.seller-modal-icon,
.seller-modal-person-icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 13px;
}

.seller-action-card-icon { width: 44px; height: 44px; font-size: 1.15rem; }
.seller-action-card-icon--blue { color: #3558d6; background: #eaf0ff; }
.seller-action-card-icon--green { color: #167154; background: #e6f5ef; }

.seller-qr-toggle {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 1px solid #dce4f0;
    border-radius: 15px;
    background: #f7f9fd;
    cursor: pointer;
}

.seller-qr-copy { display: flex; min-width: 0; align-items: center; gap: 12px; }
.seller-qr-copy > i { color: #4267f5; font-size: 1.35rem; }
.seller-qr-copy > span { display: flex; min-width: 0; flex-direction: column; }
.seller-qr-copy strong { color: #1b2843; font-size: .92rem; }
.seller-qr-copy small { color: #748098; font-size: .7rem; line-height: 1.35; }
.seller-qr-toggle .form-check-input { flex: 0 0 auto; width: 50px; height: 27px; margin: 0; cursor: pointer; }

.seller-action-fields {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr);
    gap: 14px;
}

.seller-action-fields > label { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.seller-action-fields > label > span { color: #536079; font-size: .76rem; font-weight: 800; }
.seller-action-fields input { width: 100%; min-height: 52px; }

.seller-currency-input {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(31,55,105,.18);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(34,61,117,.08);
}

.seller-currency-input:focus-within { border-color: #4267f5; box-shadow: 0 0 0 .24rem rgba(66,103,245,.18); }
.seller-currency-input > span { padding-left: 13px; color: #65728a; font-size: .82rem; font-weight: 800; }
.seller-currency-input .form-control { border: 0; border-radius: 0; box-shadow: none; }
.seller-action-submit { width: 100%; margin-top: 20px; }
.seller-action-feedback { min-height: 24px; margin-top: 10px; text-align: center; }

.seller-settlement-card { display: grid; gap: 22px; }
.seller-settlement-section + .seller-settlement-section { padding-top: 21px; border-top: 1px solid #e3e9f2; }
.seller-settlement-grid { display: grid; gap: 10px; }
.seller-settlement-grid--tickets { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.seller-settlement-grid article {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    padding: 14px;
    border: 1px solid #dfe6f0;
    border-radius: 14px;
    background: #f7f9fc;
}

.seller-settlement-grid article span,
.seller-settlement-list > div > span,
.seller-settlement-total > span { color: #6f7b91; font-size: .72rem; font-weight: 800; }
.seller-settlement-grid article strong { color: #17223f; font-size: 1.4rem; }

.seller-settlement-list { display: grid; gap: 8px; }
.seller-settlement-list > div {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 13px;
    border-radius: 12px;
    background: #f7f9fc;
}

.seller-settlement-list > div > span { display: inline-flex; align-items: center; gap: 8px; }
.seller-settlement-list i { color: #5870c9; }
.seller-settlement-list strong { color: #24314a; font-size: .92rem; text-align: right; }

.seller-settlement-total {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border: 1px solid #bcdcca;
    border-radius: 16px;
    background: #eaf7f1;
}

.seller-settlement-total > span { color: #2d6d58; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.seller-settlement-total strong { color: #146849; font-size: clamp(1.5rem, 5vw, 2.15rem); font-weight: 900; text-align: right; }

.seller-action-modal { --seller-modal-accent: #4267f5; --seller-modal-soft: #edf2ff; }
.seller-action-modal--attendance { --seller-modal-accent: #198c65; --seller-modal-soft: #e8f6f0; }
.seller-action-modal--settle,
.seller-action-modal--reset { --seller-modal-accent: #d53c52; --seller-modal-soft: #fff0f2; }
.seller-action-modal--incentive { --seller-modal-accent: #ad7a0a; --seller-modal-soft: #fff5d8; }
.seller-action-modal--disable { --seller-modal-accent: #b56a0a; --seller-modal-soft: #fff4df; }
.seller-action-modal--debt { --seller-modal-accent: #1d775b; --seller-modal-soft: #e9f6f1; }
.seller-action-modal .modal-dialog { max-width: 570px; }
.seller-action-modal .modal-content { overflow: hidden; border: 0; border-radius: 22px; box-shadow: 0 24px 70px rgba(10,24,55,.28); }

.seller-modal-header {
    min-height: 82px;
    padding: 16px 20px;
    border-bottom: 1px solid #e6ebf2;
    background: #fff;
}

.seller-modal-icon { width: 46px; height: 46px; color: var(--seller-modal-accent); background: var(--seller-modal-soft); font-size: 1.2rem; }
.seller-modal-heading .modal-title { margin: 2px 0 0; color: #17223f !important; font-size: 1.17rem !important; line-height: 1.2; }
.seller-action-modal .modal-body { padding: 20px; }

.seller-confirmation-panel {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--seller-modal-accent) 24%, #dfe5ef);
    border-radius: 15px;
    background: var(--seller-modal-soft);
}

.seller-confirmation-panel > i { color: var(--seller-modal-accent); font-size: 1.35rem; }
.seller-confirmation-panel strong { display: block; margin-bottom: 4px; color: #1a2742; font-size: .96rem; }
.seller-confirmation-panel p { margin: 0; color: #506078; font-size: .83rem; line-height: 1.5; }
.seller-confirmation-panel .span_nombre_vendedor_modales { color: #17223f; font-weight: 850; }

.seller-modal-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 13px 0 0;
    padding: 10px 12px;
    border-radius: 11px;
    color: #526079;
    background: #f5f7fa;
    font-size: .75rem;
    line-height: 1.45;
}

.seller-modal-note i { margin-top: 1px; color: #62729a; }
.seller-modal-note--danger { color: #8c2637; background: #fff1f3; }
.seller-modal-note--danger i { color: #c9364d; }

.seller-modal-footer,
.seller-modal-footer-inline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 20px 20px;
    border-top: 1px solid #e6ebf2;
    background: #fbfcfe;
}

.seller-modal-footer-inline { margin: 20px -20px -20px; }
.seller-modal-footer .btn,
.seller-modal-footer-inline .btn { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 8px; margin: 0; border: 0; font-size: .8rem; font-weight: 850; }
.seller-modal-secondary { color: #46536a; background: #edf1f5; }
.seller-modal-confirm { color: #fff; box-shadow: 0 9px 20px rgba(20,35,70,.14); }
.seller-modal-confirm--green { background: #23865f; }
.seller-modal-confirm--danger { background: #dc3d54; }
.seller-modal-confirm--warning { background: #c77b12; }
.seller-modal-confirm--blue { background: #4267f5; }
.seller-modal-confirm.is-loading { position: relative; color: transparent !important; }
.seller-modal-confirm.is-loading::after {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,.45);
    border-top-color: #fff;
    border-radius: 50%;
    content: "";
    animation: cv-admin-spin 700ms linear infinite;
}

.seller-modal-loading { display: grid; gap: 10px; padding: 6px 0; }
.seller-modal-loading span { height: 52px; border-radius: 13px; background: #edf1f6; animation: cv-admin-shimmer 1.1s linear infinite; }

.seller-modal-person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 13px;
    border: 1px solid #e0e6ef;
    border-radius: 14px;
    background: #f8fafd;
}

.seller-modal-person-icon { width: 43px; height: 43px; color: var(--seller-modal-accent); background: var(--seller-modal-soft); font-size: 1.1rem; }
.seller-modal-person > div { display: flex; min-width: 0; flex-direction: column; }
.seller-modal-person small { color: #79849a; font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.seller-modal-person strong { overflow: hidden; color: #1b2741; font-size: .94rem; text-overflow: ellipsis; white-space: nowrap; }
.seller-modal-person > div > span { color: #6e7a90; font-size: .72rem; }

.seller-incentive-grid,
.seller-debt-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.seller-incentive-grid article,
.seller-debt-summary article { display: flex; min-width: 0; flex-direction: column; gap: 5px; padding: 13px; border: 1px solid #e0e6ef; border-radius: 13px; background: #fff; }
.seller-incentive-grid span,
.seller-debt-summary span { color: #748097; font-size: .68rem; font-weight: 800; }
.seller-incentive-grid strong,
.seller-debt-summary strong { color: #24314a; font-size: .96rem; }
.seller-incentive-total { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 10px; padding: 16px; border-radius: 14px; color: #795300; background: #fff2c9; }
.seller-incentive-total span { font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.seller-incentive-total strong { font-size: 1.3rem; }

.seller-debt-body { min-height: 180px; }
.seller-debt-content { padding: 20px !important; }
.seller-debt-feedback { margin: 0 20px; }
.seller-debt-stepper { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 12px; padding: 14px; border: 1px solid #dfe6ef; border-radius: 14px; background: #f8fafd; }
.seller-debt-stepper > div:first-child { display: flex; min-width: 0; flex-direction: column; }
.seller-debt-stepper span { color: #27344c; font-size: .8rem; font-weight: 850; }
.seller-debt-stepper small { color: #7a8599; font-size: .66rem; }
.seller-stepper-control { display: grid; flex: 0 0 auto; grid-template-columns: 42px 54px 42px; gap: 6px; }
.seller-stepper-control button,
.seller-stepper-control input { min-height: 42px; border: 1px solid #d5deeb; border-radius: 10px; }
.seller-stepper-control button { display: grid; padding: 0; place-items: center; color: #3153cc; background: #fff; }
.seller-stepper-control input { width: 54px; padding: 0; color: #17223f !important; background: #edf2ff !important; font-weight: 850; text-align: center; opacity: 1; }
.seller-debt-values { display: grid; gap: 8px; margin-top: 12px; }
.seller-debt-values > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border-radius: 11px; background: #f7f9fc; }
.seller-debt-values span { color: #6d7990; font-size: .72rem; font-weight: 800; }
.seller-debt-values strong { color: #26334d; font-size: .87rem; }
.seller-debt-values .seller-debt-after { color: #176c50; background: #eaf7f1; }
.seller-debt-values .seller-debt-after span,
.seller-debt-values .seller-debt-after strong { color: inherit; }

.seller-modal-empty { display: grid; min-height: 210px; padding: 28px 20px; place-items: center; align-content: center; text-align: center; }
.seller-modal-empty i { margin-bottom: 10px; color: var(--seller-modal-accent); font-size: 2rem; }
.seller-modal-empty strong { color: #1b2842; font-size: 1rem; }
.seller-modal-empty p { max-width: 340px; margin: 6px 0 0; color: #6f7b91; font-size: .78rem; line-height: 1.5; }

@media (max-width: 800px) {
    .admin-module-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
    .admin-module-date { min-height: 36px; }
    .admin-operation-grid,
    .admin-ticketing-layout { grid-template-columns: 1fr; }
    .admin-seller-main { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; }
    .admin-seller-daily { display: none; }
    .admin-seller-main .admin-status-pill { grid-column: 2; justify-self: start; }
    .admin-seller-open { grid-column: 3; grid-row: 1 / 3; }
    .admin-ticket-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .admin-sellers-module,
    .admin-seller-operation,
    .admin-ticketing-module { width: min(100% - 20px, 1080px); margin-top: 18px; }
    .admin-seller-search { grid-template-columns: 1fr 52px; }
    .admin-search-field { grid-column: 1 / -1; }
    .admin-seller-search .admin-action-button span { display: none; }
    .admin-seller-search .admin-action-button { padding-inline: 0; }
    .admin-seller-summary { gap: 6px; }
    .admin-seller-summary > div { grid-template-columns: auto 1fr; gap: 5px 7px; padding: 9px; }
    .admin-seller-summary strong { grid-column: 2; font-size: 1.2rem; }
    .admin-seller-summary small { font-size: .68rem; }
    .admin-seller-main { padding: 12px 10px; }
    .admin-seller-identity strong { font-size: .92rem; }
    .admin-status-pill { font-size: .68rem; white-space: normal; }
    .admin-seller-liquidator { padding-left: 60px; }
    .admin-operation-nav { align-items: stretch; flex-direction: column; }
    .admin-operation-context { justify-content: center; }
    .admin-selected-seller { grid-template-columns: auto 1fr; padding: 14px; }
    .admin-selected-seller .admin-status-pill { grid-column: 1 / -1; justify-self: stretch; }
    .admin-operation-card { padding: 16px 14px; }
    .admin-assignment-control { grid-template-columns: 46px minmax(0, 1fr); }
    .admin-assignment-control .admin-action-button { grid-column: 1 / -1; }
    .admin-sale-fields,
    .admin-prize-fields { grid-template-columns: 1fr; }
    .admin-action-grid { grid-template-columns: 1fr; }
    .admin-danger-zone { flex-direction: column; }
    .admin-ticket-input-row { grid-template-columns: 1fr; }
    .admin-ticket-stats { gap: 7px; }
    .ticket-stat { min-height: 96px; padding: 11px; }
    .ticket-stat strong { font-size: 1.2rem; }
    .admin-current-prize { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .admin-current-prize > div:last-child { text-align: left; }
    .seller-action-page { padding-top: 12px; }
    .seller-action-shell { width: min(100% - 16px, 860px); }
    .seller-action-topbar { grid-template-columns: 1fr; }
    .seller-action-topbar .screen-back-button { width: max-content; }
    .seller-action-context { justify-content: flex-start; text-align: left; }
    .seller-action-heading { padding: 18px 16px; }
    .seller-action-fields,
    .seller-settlement-grid--tickets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .seller-modal-header { padding: 14px 15px; }
    .seller-action-modal .modal-body,
    .seller-debt-content { padding: 16px !important; }
    .seller-modal-footer { padding: 12px 15px 16px; }
    .seller-modal-footer-inline { margin: 16px -16px -16px; padding: 12px 15px 16px; }
}

@media (max-width: 420px) {
    .seller-action-fields,
    .seller-incentive-grid,
    .seller-debt-summary { grid-template-columns: 1fr; }
    .seller-action-heading > p { font-size: .8rem; }
    .seller-action-form,
    .seller-settlement-card { padding: 15px; }
    .seller-settlement-list > div { align-items: flex-start; flex-direction: column; gap: 4px; }
    .seller-settlement-list strong { text-align: left; }
    .seller-settlement-total { align-items: flex-start; flex-direction: column; gap: 4px; }
    .seller-settlement-total strong { text-align: left; }
    .seller-modal-heading .modal-title { font-size: 1rem !important; }
    .seller-modal-icon { width: 40px; height: 40px; }
    .seller-confirmation-panel { padding: 13px; }
    .seller-modal-footer,
    .seller-modal-footer-inline { grid-template-columns: 1fr; }
    .seller-debt-stepper { align-items: stretch; flex-direction: column; }
    .seller-stepper-control { grid-template-columns: 1fr 64px 1fr; }
    .seller-stepper-control input { width: 64px; }
}
