/*
 * Lugh Dental / Liud - capa responsive global
 * Objetivo: mantener el escritorio intacto y hacer formularios, tablas,
 * modales y navegación utilizables en celulares y tablets.
 */

:root {
    --liud-touch-size: 44px;
    --liud-mobile-gap: 12px;
    --liud-mobile-radius: 14px;
}

html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

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

iframe {
    max-width: 100%;
}

/* =========================================================
   ADMINISTRACIÓN / MÓDULOS INTERNOS
   ========================================================= */
.liud-admin-page .admin-shell,
.liud-admin-page .admin-main,
.liud-admin-page .admin-content,
.liud-admin-page .admin-content > *,
.liud-admin-page .row > * {
    min-width: 0;
}

.liud-admin-page .admin-content {
    overflow-x: clip;
}

.liud-admin-page .card,
.liud-admin-page .liud-card,
.liud-admin-page .panel,
.liud-admin-page .well {
    max-width: 100%;
}

.liud-admin-page .card-header,
.liud-admin-page .panel-heading,
.liud-admin-page .modal-header,
.liud-admin-page .modal-footer {
    gap: 10px;
}

.liud-admin-page .form-control,
.liud-admin-page .form-select,
.liud-admin-page select,
.liud-admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.liud-admin-page textarea {
    max-width: 100%;
}

.liud-admin-page textarea.form-control,
.liud-admin-page textarea {
    min-height: 108px;
    resize: vertical;
}

.liud-admin-page .input-group,
.liud-admin-page .form-floating,
.liud-admin-page .select2-container,
.liud-admin-page .select2-container--default,
.liud-admin-page .bootstrap-select,
.liud-admin-page .choices,
.liud-admin-page .choices__inner,
.liud-admin-page .tox-tinymce,
.liud-admin-page .mce-tinymce,
.liud-admin-page .ace_editor {
    max-width: 100% !important;
}

.liud-admin-page .select2-container,
.liud-admin-page .bootstrap-select {
    width: 100% !important;
}

.liud-admin-page .nav-tabs,
.liud-admin-page .nav-pills {
    max-width: 100%;
}

.liud-admin-page .table-responsive,
.liud-admin-page .liud-table-scroll,
.liud-admin-page .dataTables_scrollBody,
.liud-admin-page .fc-table-wrap,
.liud-admin-page .pg-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

.liud-admin-page .table-responsive > table,
.liud-admin-page .liud-table-scroll > table {
    margin-bottom: 0;
}

.liud-admin-page .table th,
.liud-admin-page .table td {
    vertical-align: middle;
}

.liud-admin-page .table .btn-group,
.liud-admin-page .table .liud-page-actions,
.liud-admin-page .table .fc-row-actions {
    white-space: nowrap;
}

.liud-admin-page .pagination {
    flex-wrap: wrap;
    gap: 4px;
}

.liud-admin-page .page-link {
    min-width: 38px;
    text-align: center;
}

.liud-admin-page .dropdown-menu {
    max-width: min(92vw, 420px);
    overflow-wrap: anywhere;
}

.liud-admin-page .alert,
.liud-admin-page .toast,
.liud-admin-page .popover,
.liud-admin-page .tooltip-inner {
    overflow-wrap: anywhere;
}

.liud-admin-page .modal {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.liud-admin-page .modal-dialog {
    max-width: calc(100vw - 24px);
}

.liud-admin-page .modal-content {
    max-width: 100%;
    overflow: hidden;
}

.liud-admin-page .modal-body {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior: contain;
}

.liud-admin-page .modal-footer {
    flex-wrap: wrap;
}

.liud-admin-page .offcanvas,
.liud-admin-page .dropdown-menu {
    max-width: 92vw;
}

.liud-admin-page .fc2-modern,
.liud-admin-page .fc2-modern #resultados-rut,
.liud-admin-page .fc2-modern #ficha-completa,
.liud-admin-page .fc2-modern .card,
.liud-admin-page .fc2-modern .card-body,
.liud-admin-page .fc2-modern .toggle-content {
    min-width: 0;
    max-width: 100%;
}

/* Los odontogramas y periodontogramas conservan su geometría y se desplazan,
   en vez de deformarse o desbordar toda la página. */
.liud-admin-page .odonto-v7-viewport,
.liud-admin-page .odonto-v7-scroll,
.liud-admin-page .odonto-v7-stage-wrap,
.liud-admin-page .odontograma-wrapper,
.liud-admin-page .odontograma-container,
.liud-admin-page .periodontograma-wrapper,
.liud-admin-page .pg-scroll,
.liud-admin-page .pg-arch-scroll,
.liud-admin-page .perio-scroll,
.liud-admin-page .perio-history-box {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 992px) {
    .liud-admin-page .admin-sidebar {
        width: min(320px, 88vw) !important;
        padding-top: env(safe-area-inset-top);
        padding-bottom: env(safe-area-inset-bottom);
        box-shadow: 24px 0 60px rgba(15, 23, 42, .28);
    }

    .liud-admin-page .admin-sidebar-toggle {
        top: max(12px, env(safe-area-inset-top));
        left: max(12px, env(safe-area-inset-left));
    }

    .liud-admin-page .admin-content {
        padding-top: calc(68px + env(safe-area-inset-top));
        padding-right: max(16px, env(safe-area-inset-right));
        padding-bottom: max(24px, env(safe-area-inset-bottom));
        padding-left: max(16px, env(safe-area-inset-left));
    }

    .liud-admin-page .admin-nav a,
    .liud-admin-page .admin-module-btn,
    .liud-admin-page .admin-footer-profile,
    .liud-admin-page .admin-footer-icon {
        min-height: var(--liud-touch-size);
    }

    .liud-admin-page .liud-icon-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .liud-admin-page .fc2-modern .fc2-hero-inner,
    .liud-admin-page .fc2-modern .fc2-search-heading,
    .liud-admin-page .fc2-modern .fc-fichas-header,
    .liud-admin-page .fc2-modern .ficha-completa-header {
        align-items: flex-start;
    }
}

/* =========================================================
   CELULAR
   ========================================================= */
@media (max-width: 767.98px) {
    .liud-admin-page .admin-content {
        padding-top: calc(66px + env(safe-area-inset-top));
        padding-right: max(12px, env(safe-area-inset-right));
        padding-bottom: max(20px, env(safe-area-inset-bottom));
        padding-left: max(12px, env(safe-area-inset-left));
    }

    .liud-admin-page .admin-content h1,
    .liud-admin-page .admin-content .h1 {
        font-size: clamp(1.45rem, 7vw, 1.9rem);
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .liud-admin-page .admin-content h2,
    .liud-admin-page .admin-content .h2 {
        font-size: clamp(1.25rem, 6vw, 1.65rem);
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .liud-admin-page .admin-content h3,
    .liud-admin-page .admin-content h4,
    .liud-admin-page .admin-content .card-title {
        overflow-wrap: anywhere;
    }

    .liud-admin-page .admin-content-actions,
    .liud-admin-page .liud-page-actions,
    .liud-admin-page .fc-fichas-header-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        gap: 8px;
    }

    .liud-admin-page .admin-content-actions > *,
    .liud-admin-page .liud-page-actions > *,
    .liud-admin-page .fc-fichas-header-actions > * {
        width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .liud-admin-page .card,
    .liud-admin-page .liud-card,
    .liud-admin-page .panel,
    .liud-admin-page .well {
        border-radius: var(--liud-mobile-radius) !important;
    }

    .liud-admin-page .card-body,
    .liud-admin-page .liud-card.p-4,
    .liud-admin-page .panel-body {
        padding: 14px !important;
    }

    .liud-admin-page .card-header,
    .liud-admin-page .panel-heading {
        padding: 13px 14px;
        flex-wrap: wrap;
    }

    .liud-admin-page .d-flex.justify-content-between,
    .liud-admin-page .d-flex.align-items-center.justify-content-between,
    .liud-admin-page .d-flex.align-items-start.justify-content-between {
        flex-wrap: wrap;
    }

    .liud-admin-page .form-control,
    .liud-admin-page .form-select,
    .liud-admin-page select,
    .liud-admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .liud-admin-page textarea {
        font-size: 16px !important; /* evita zoom automático en iPhone */
    }

    .liud-admin-page .form-control,
    .liud-admin-page .form-select,
    .liud-admin-page select,
    .liud-admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
        min-height: 46px;
    }

    .liud-admin-page .btn,
    .liud-admin-page button:not(.btn-close),
    .liud-admin-page [role="button"] {
        min-height: var(--liud-touch-size);
    }

    .liud-admin-page .btn-sm {
        min-height: 40px;
        padding-top: .42rem;
        padding-bottom: .42rem;
    }

    .liud-admin-page .form-check-input {
        width: 1.25rem;
        height: 1.25rem;
        margin-top: .15rem;
    }

    .liud-admin-page .form-check-label {
        line-height: 1.45;
    }

    .liud-admin-page .nav-tabs,
    .liud-admin-page .nav-pills {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 6px !important;
        padding-bottom: 4px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .liud-admin-page .nav-tabs .nav-item,
    .liud-admin-page .nav-pills .nav-item,
    .liud-admin-page .nav-tabs .nav-link,
    .liud-admin-page .nav-pills .nav-link {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .liud-admin-page .table-responsive,
    .liud-admin-page .liud-table-scroll {
        margin-inline: -2px;
        border: 1px solid rgba(148, 163, 184, .22);
        border-radius: 12px;
        background: var(--liud-card-bg, #fff);
    }

    .liud-admin-page .table {
        font-size: .88rem;
    }

    .liud-admin-page .table th,
    .liud-admin-page .table td {
        padding: .72rem .68rem;
    }

    .liud-admin-page .table th {
        white-space: nowrap;
    }

    .liud-admin-page .table td .btn,
    .liud-admin-page .table td button {
        min-height: 38px;
    }

    .liud-admin-page .modal-dialog {
        margin: 8px auto;
        max-width: calc(100vw - 16px);
    }

    .liud-admin-page .modal-dialog:not(.modal-fullscreen-sm-down) .modal-content {
        max-height: calc(100dvh - 16px);
        border-radius: 16px;
    }

    .liud-admin-page .modal-body {
        padding: 14px;
    }

    .liud-admin-page .modal-footer {
        padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
    }

    .liud-admin-page .modal-footer .btn {
        flex: 1 1 160px;
        margin: 0 !important;
    }

    .liud-admin-page .dropdown-menu {
        max-height: min(68dvh, 520px);
        overflow-y: auto;
    }

    .liud-admin-page .liud-icon-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    /* Ficha clínica: controles cómodos y bloques de una columna. */
    .liud-admin-page .fc2-modern .fc2-search-grid > [class*="col-"] {
        width: 100%;
    }

    .liud-admin-page .fc2-modern .fc2-hero-inner,
    .liud-admin-page .fc2-modern .fc2-card-title-group,
    .liud-admin-page .fc2-modern .fc2-search-option-head,
    .liud-admin-page .fc2-modern .fc-fichas-header,
    .liud-admin-page .fc2-modern .fc-ficha-download-bar,
    .liud-admin-page .fc2-modern .fc-tratamiento-download-bar {
        gap: 10px;
    }

    .liud-admin-page .fc2-modern .toggle-header,
    .liud-admin-page .fc2-modern .fc2-order-heading,
    .liud-admin-page .fc2-modern #ficha-completa > .card > .card-header.toggle-header,
    .liud-admin-page .fc2-modern #ficha-completa > #odontograma-card > .card > .card-header.toggle-header {
        grid-template-columns: minmax(0, 1fr) !important;
        display: grid !important;
    }

    .liud-admin-page .fc2-modern .toggle-header .toggle-btn,
    .liud-admin-page .fc2-modern .fc2-group-toggle,
    .liud-admin-page .fc2-modern #ficha-completa > .fc2-order-heading .fc2-group-toggle,
    .liud-admin-page .fc2-modern #ficha-completa > .card > .card-header.toggle-header .toggle-btn,
    .liud-admin-page .fc2-modern #ficha-completa > #odontograma-card > .card > .card-header.toggle-header .toggle-btn {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .liud-admin-page .fc2-modern .fc-ficha-download-bar,
    .liud-admin-page .fc2-modern .fc-tratamiento-download-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .liud-admin-page .fc2-modern .fc-ficha-download-bar .btn,
    .liud-admin-page .fc2-modern .fc-tratamiento-download-bar .btn {
        width: 100%;
    }

    .liud-admin-page .fc2-treatment-chooser-box {
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px);
        max-height: calc(100dvh - 20px);
    }

    /* Legacy Voyager / formularios antiguos que todavía viven dentro del panel nuevo. */
    .liud-admin-page .panel-title,
    .liud-admin-page .page-title {
        overflow-wrap: anywhere;
    }

    .liud-admin-page .form-group {
        max-width: 100%;
    }

    .liud-admin-page .pull-right,
    .liud-admin-page .pull-left {
        float: none !important;
    }
}

@media (max-width: 575.98px) {
    .liud-admin-page .admin-sidebar {
        width: min(304px, 90vw) !important;
    }

    .liud-admin-page .admin-brand {
        min-height: 68px;
        padding: 14px;
    }

    .liud-admin-page .admin-nav {
        padding: 10px;
    }

    .liud-admin-page .admin-content {
        padding-right: max(10px, env(safe-area-inset-right));
        padding-left: max(10px, env(safe-area-inset-left));
    }

    .liud-admin-page .row.g-4,
    .liud-admin-page .row.g-3,
    .liud-admin-page .row.g-2 {
        --bs-gutter-y: .75rem;
    }

    /* En formularios, columnas de media pantalla pasan a una columna para no apretar campos. */
    .liud-admin-page form .row > .col-6:not(.liud-keep-mobile-column),
    .liud-admin-page form .row > .col-sm-6:not(.liud-keep-mobile-column) {
        width: 100%;
    }

    .liud-admin-page .input-group > .form-control,
    .liud-admin-page .input-group > .form-select {
        min-width: 0;
    }

    .liud-admin-page .pagination {
        justify-content: center;
    }

    .liud-admin-page .fc2-modern .fc2-input-group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .liud-admin-page .fc2-modern .fc2-input-group > .form-control,
    .liud-admin-page .fc2-modern .fc2-input-group > .btn {
        width: 100%;
        border-radius: 10px !important;
    }
}

/* =========================================================
   PÁGINA PÚBLICA DE RESERVA
   ========================================================= */
.reserva-public-page,
.payment-result-page,
.lugh-home-page,
.liud-auth-page,
.liud-app-page {
    overflow-x: hidden;
}

.reserva-public-page input,
.reserva-public-page select,
.reserva-public-page textarea,
.reserva-public-page button {
    touch-action: manipulation;
}

@media (max-width: 767.98px) {
    .reserva-public-page .navbar {
        padding-top: max(8px, env(safe-area-inset-top));
    }

    .reserva-public-page .navbar .container {
        padding-inline: 14px;
    }

    .reserva-public-page .navbar-collapse {
        padding: 10px 4px 8px;
    }

    .reserva-public-page .navbar-nav .nav-link {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 10px 8px;
    }

    .reserva-public-page .reserva-hero {
        min-height: 260px;
    }

    .reserva-public-page .reserva-hero__content {
        padding-inline: 18px;
    }

    .reserva-public-page .reserva-hero__content h1 {
        font-size: clamp(1.7rem, 8vw, 2.4rem);
        line-height: 1.08;
    }

    .reserva-public-page .reserva-container {
        width: min(100% - 20px, 760px);
        margin-inline: auto;
    }

    .reserva-public-page .pasos {
        gap: 4px;
        overflow: visible;
    }

    .reserva-public-page .paso {
        min-width: 0;
    }

    .reserva-public-page .paso p {
        font-size: .7rem;
        line-height: 1.15;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .reserva-public-page .circle {
        width: 48px;
        height: 48px;
    }

    .reserva-public-page .formulario-container {
        padding: 18px 14px;
        border-radius: 18px;
    }

    .reserva-public-page .formulario-step h2,
    .reserva-public-page .titulo-paso3 {
        font-size: clamp(1.35rem, 7vw, 1.8rem);
        line-height: 1.15;
    }

    .reserva-public-page input,
    .reserva-public-page select,
    .reserva-public-page textarea {
        width: 100%;
        min-height: 48px;
        font-size: 16px !important;
    }

    .reserva-public-page .checkbox-group {
        align-items: flex-start;
    }

    .reserva-public-page .checkbox-group input[type="checkbox"] {
        width: 22px;
        height: 22px;
        flex: 0 0 22px;
    }

    .reserva-public-page .button-group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .reserva-public-page .button-group > button,
    .reserva-public-page .btn-siguiente,
    .reserva-public-page .btn-atras,
    .reserva-public-page .btn-confirmar {
        width: 100%;
        min-height: 50px;
        margin: 0;
    }

    .reserva-public-page .doctor-card,
    .reserva-public-page .reserva-payment-method {
        min-height: 58px;
    }

    .reserva-public-page .hora-scroll {
        gap: 8px;
        padding-bottom: 8px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .reserva-public-page .hora-option {
        min-width: 88px;
        min-height: 46px;
        scroll-snap-align: start;
    }

    .reserva-public-page .reserva-captcha,
    .reserva-public-page .reserva-payment-panel {
        padding: 14px;
        border-radius: 16px;
    }

    .reserva-public-page .reserva-captcha__challenge {
        gap: 8px;
    }

    .reserva-public-page .reserva-payment-panel__heading {
        align-items: flex-start;
    }

    .reserva-public-page .reserva-payment-method {
        padding: 12px;
    }

    .reserva-public-page .modal-politicas-content,
    .reserva-public-page .confirmacion-modal .modal-content {
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px);
        max-height: calc(100dvh - 20px);
        overflow-y: auto;
        margin: 10px auto;
        border-radius: 18px;
    }

    .reserva-public-page .modal-buttons {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .reserva-public-page .modal-buttons button {
        width: 100%;
        min-height: 48px;
    }
}

@media (max-width: 420px) {
    .reserva-public-page .reserva-container {
        width: calc(100% - 12px);
    }

    .reserva-public-page .formulario-container {
        padding: 16px 11px;
    }

    .reserva-public-page .paso p {
        font-size: .64rem;
    }

    .reserva-public-page .circle {
        width: 42px;
        height: 42px;
    }
}

/* =========================================================
   RESULTADO DE PAGO
   ========================================================= */
@media (max-width: 767.98px) {
    .payment-result-page .payment-result-shell {
        width: 100%;
        padding: max(18px, env(safe-area-inset-top)) 12px max(18px, env(safe-area-inset-bottom));
    }

    .payment-result-page .payment-result-card {
        width: 100%;
        max-width: 100%;
        padding: 22px 15px;
        border-radius: 20px;
    }

    .payment-result-page .payment-result-summary {
        grid-template-columns: 1fr !important;
    }

    .payment-result-page .payment-result-summary strong,
    .payment-result-page .payment-result-manual {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .payment-result-page .payment-result-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .payment-result-page .payment-result-button,
    .payment-result-page .payment-result-pay-link {
        width: 100%;
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}

/* =========================================================
   LOGIN / PERFIL BREEZE
   ========================================================= */
@media (max-width: 575.98px) {
    .liud-auth-page .lugh-auth-shell {
        min-height: 100dvh;
        padding: max(14px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
        align-items: center;
    }

    .liud-auth-page .lugh-auth-card {
        width: 100%;
        padding: 22px 16px;
        border-radius: 22px;
    }

    .liud-auth-page input,
    .liud-auth-page select,
    .liud-auth-page textarea {
        min-height: 48px;
        font-size: 16px !important;
    }

    .liud-auth-page button,
    .liud-auth-page a.inline-flex {
        min-height: 46px;
    }

    .liud-app-page main,
    .liud-app-page header > div,
    .liud-app-page nav > div {
        min-width: 0;
    }
}

/* =========================================================
   VOYAGER LEGACY (por si alguna ruta antigua aún lo utiliza)
   ========================================================= */
@media (max-width: 767.98px) {
    body.voyager .side-body,
    body.voyager .container-fluid,
    body.voyager .panel,
    body.voyager .panel-body {
        min-width: 0;
        max-width: 100%;
    }

    body.voyager .side-body {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.voyager .table-responsive,
    body.voyager .dataTables_wrapper {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.voyager .modal-dialog {
        width: calc(100vw - 16px) !important;
        margin: 8px auto !important;
    }

    body.login .login-sidebar {
        min-height: 100dvh;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body.login input,
    body.login select,
    body.login textarea,
    body.login button {
        min-height: 46px;
        font-size: 16px !important;
    }
}

/* =========================================================
   ACCESIBILIDAD / DISPOSITIVOS TÁCTILES
   ========================================================= */
@media (pointer: coarse) {
    .liud-admin-page .btn,
    .liud-admin-page button:not(.btn-close),
    .reserva-public-page button,
    .reserva-public-page a.btn,
    .payment-result-page a,
    .liud-auth-page button {
        touch-action: manipulation;
    }
}

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

/* =========================================================
   CELULAR · controles táctiles y checks legibles (2026-08-15 v2)
   Solo afecta teléfonos. Tablet y escritorio conservan su diseño.
   ========================================================= */
@media (max-width: 767.98px) {
    .liud-admin-page .form-check:not(.form-switch) {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        min-height: 44px;
        margin-bottom: 8px;
        padding: 10px 12px !important;
        border: 1px solid rgba(148, 163, 184, .28);
        border-radius: 12px;
        background: #fff;
    }

    .liud-admin-page .form-check:not(.form-switch) .form-check-input,
    .liud-admin-page .form-check:not(.form-switch) input[type="checkbox"],
    .liud-admin-page .form-check:not(.form-switch) input[type="radio"] {
        position: static !important;
        float: none !important;
        flex: 0 0 22px;
        width: 22px !important;
        height: 22px !important;
        margin: 0 !important;
        margin-top: 1px !important;
        accent-color: #2563eb;
        box-shadow: none !important;
    }

    .liud-admin-page .form-check:not(.form-switch) .form-check-label,
    .liud-admin-page .form-check:not(.form-switch) label {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0 !important;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .liud-admin-page .trat-estado-check,
    .liud-admin-page .trat-estado-todos {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        margin: 0 !important;
        accent-color: #198754;
        vertical-align: middle;
    }
}
