/**
 * Aplica tokens a los nombres legacy (--accent, --bg, …).
 * Se carga al final del stack para ganar a temas v4/v5/pro.
 */
:root {
    --font: var(--eeg-font);
    --bg: var(--eeg-content);
    --surface: var(--eeg-surface);
    --surface-2: var(--eeg-gray-50);
    --bg-subtle: var(--eeg-gray-50);
    --text: var(--eeg-content-text);
    --text-secondary: var(--eeg-gray-700);
    --text-muted: var(--eeg-content-muted);
    --border: var(--eeg-border);
    --border-light: var(--eeg-gray-100);
    --link: var(--eeg-info);
    --link-hover: var(--eeg-accent);
    --primary: var(--eeg-accent);
    --primary-dark: var(--eeg-accent-hover);
    --accent: var(--eeg-accent);
    --accent-hover: var(--eeg-accent-hover);
    --accent-soft: var(--eeg-accent-soft);
    --clinical: var(--eeg-success);
    --clinical-soft: var(--eeg-success-soft);
    --clinical-line: var(--eeg-success);
    --warning: var(--eeg-pending);
    --warning-soft: var(--eeg-pending-soft);
    --danger: var(--eeg-danger);
    --danger-soft: var(--eeg-danger-soft);
    --success: var(--eeg-success);
    --radius: var(--eeg-radius);
    --radius-sm: var(--eeg-radius-sm);
    --radius-md: var(--eeg-radius);
    --radius-lg: 6px;
    --radius-xl: 6px;
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --sidebar-bg: var(--eeg-shell);
    --sidebar-text: var(--eeg-shell-text);
    --sidebar-muted: var(--eeg-shell-muted);
    --sidebar-border: var(--eeg-shell-border);
    --sidebar-brand-bg: transparent;
    --sidebar-footer-bg: transparent;
    --sidebar-hover: rgba(255, 255, 255, 0.07);
    --sidebar-logout-bg: rgba(255, 255, 255, 0.06);
    --sidebar-logout-border: rgba(255, 255, 255, 0.12);
    --sidebar-logout-hover: rgba(255, 255, 255, 0.11);
    --win-accent: var(--eeg-accent);
    --win-accent-bg: color-mix(in srgb, var(--eeg-accent) 28%, transparent);
    --win-hover: var(--sidebar-hover);
    --win-border: var(--eeg-shell-border);
    --input-h: var(--eeg-input-h);
    --table-row-stripe: var(--eeg-table-alt);
    --table-row-hover: var(--eeg-table-hover);
    --pro-accent-bar: var(--eeg-accent);
    --eeg-v4-gradient-hero: var(--eeg-shell);
    --eeg-v4-gradient-sidebar: var(--eeg-shell);
    --eeg-v4-gradient-bg: var(--eeg-content);
    --eeg-v4-glass: var(--eeg-surface);
    --eeg-v5-sidebar: var(--eeg-shell);
    --eeg-v4-radius: var(--eeg-radius);
    --eeg-v4-radius-sm: var(--eeg-radius-sm);
    --eeg-v4-radius-lg: 6px;
    --field-locked-bg: var(--eeg-gray-50);
}

@media (prefers-color-scheme: dark) {
    :root {
        color-scheme: dark;
        --bg: var(--eeg-content);
        --surface: var(--eeg-surface);
        --surface-2: var(--eeg-gray-50);
        --bg-subtle: var(--eeg-gray-50);
        --text: var(--eeg-content-text);
        --text-secondary: var(--eeg-content-muted);
        --text-muted: var(--eeg-content-muted);
        --border: var(--eeg-border);
        --border-light: var(--eeg-gray-100);
        --link: var(--eeg-info);
        --link-hover: var(--eeg-accent-hover);
        --primary: var(--eeg-accent);
        --primary-dark: var(--eeg-accent-hover);
        --accent: var(--eeg-accent);
        --accent-hover: var(--eeg-accent-hover);
        --accent-soft: var(--eeg-accent-soft);
        --clinical: var(--eeg-success);
        --clinical-soft: var(--eeg-success-soft);
        --warning: var(--eeg-pending);
        --warning-soft: var(--eeg-pending-soft);
        --danger: var(--eeg-danger);
        --danger-soft: var(--eeg-danger-soft);
        --sidebar-bg: var(--eeg-shell);
        --sidebar-text: var(--eeg-shell-text);
        --sidebar-muted: var(--eeg-shell-muted);
        --win-accent: var(--eeg-accent);
        --win-accent-bg: color-mix(in srgb, var(--eeg-accent) 32%, transparent);
        --win-hover: var(--sidebar-hover);
        --win-border: var(--eeg-shell-border);
        --table-row-stripe: var(--eeg-table-alt);
        --table-row-hover: var(--eeg-table-hover);
        --field-locked-bg: var(--eeg-gray-100);
        --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
        --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4);
        --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.5);
    }
}

:root {
    color-scheme: light dark;
}

body {
    font-family: var(--eeg-font);
    background: var(--eeg-content);
    color: var(--eeg-content-text);
    color-scheme: light dark;
}

/* Contenido clínico (sigue tokens; se oscurece con prefers-color-scheme) */
.main-content,
.page-body,
.content-wrapper,
.bandeja-app,
.cfg-content,
.cfg-dash,
.planilla-app,
.cal-app,
.msg-layout,
.pdb,
.dash-home,
.ft-app,
.farm-app {
    background: var(--eeg-content);
    color: var(--eeg-content-text);
    color-scheme: light dark;
}

/* Shell oscuro neutro */
.sidebar,
.sidebar.sidebar--v2,
body.eeg-ui-v4 .sidebar.sidebar--v2 {
    background: var(--eeg-shell) !important;
    color: var(--eeg-shell-text);
    box-shadow: none;
}
.app-topbar,
body.eeg-ui-v4 .app-topbar {
    background: var(--eeg-shell) !important;
    color: var(--eeg-shell-text);
    border-bottom: 1px solid var(--eeg-shell-border);
    backdrop-filter: none !important;
    box-shadow: none !important;
    border-top: none;
}
.app-topbar::before,
.app-topbar::after,
body.eeg-ui-v4 .app-topbar::after {
    display: none !important;
}
.sidebar,
.app-topbar,
body.layout-config .cfg-aside,
body.layout-config .config-sidebar,
.planilla-dock {
    color-scheme: dark;
}

.topbar-title strong,
body.eeg-ui-v4 .topbar-title strong,
.app-topbar .topbar-title strong,
.topbar-action-btn {
    color: var(--eeg-shell-text) !important;
}
.topbar-title span,
body.eeg-ui-v4 .topbar-title span,
.app-topbar .topbar-title span {
    color: var(--eeg-shell-muted) !important;
}
.app-topbar .topbar-date,
body.eeg-ui-v4 .topbar-date,
.topbar-date {
    background: var(--eeg-shell-raised) !important;
    border: 1px solid var(--eeg-shell-border) !important;
    color: var(--eeg-shell-text) !important;
}
.topbar-action-btn {
    background: var(--eeg-shell-raised);
    border-color: var(--eeg-shell-border);
    color: var(--eeg-shell-text);
}
.nav-item.active,
.sidebar--v2 .nav-item.active {
    background: var(--eeg-accent) !important;
    color: var(--eeg-accent-text) !important;
}

/* Botones: 3 variantes, sin gradiente ni glow */
.btn-primary,
.btn-action,
.btn-submit-form,
.btn-action-top,
.btn-filter,
.btn-save,
.btn-pagar-all,
body.eeg-ui-v4 .btn-primary,
body.eeg-ui-v4 .btn-action,
body.eeg-ui-v4 .btn-submit-form,
body.eeg-ui-v4 .btn-save {
    background: var(--eeg-accent) !important;
    border-color: var(--eeg-accent) !important;
    color: var(--eeg-accent-text) !important;
    box-shadow: none !important;
    text-transform: none;
    letter-spacing: 0;
}
.btn-secondary,
.btn-volver,
.btn-back {
    background: var(--eeg-surface) !important;
    border: 1px solid var(--eeg-border-strong) !important;
    color: var(--eeg-content-text) !important;
    box-shadow: none !important;
}
.btn-danger,
.btn-mini.btn-danger {
    background: var(--eeg-surface) !important;
    border: 1px solid var(--eeg-danger) !important;
    color: var(--eeg-danger) !important;
    box-shadow: none !important;
}
.btn-success,
.btn-pagar,
.btn-check-pro,
.btn-liquidar {
    background: var(--eeg-success) !important;
    border-color: var(--eeg-success) !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* Tablas mixtas + numerales tabulares */
.table-scroll,
.card-table,
.catalogo-table,
.planilla-table,
.planilla-table-scroll,
.uadm-directory,
table.data {
    background: var(--eeg-table-bg);
    color: var(--eeg-table-text);
}
.table-scroll table,
.card-table table,
.catalogo-table,
.planilla-table,
.planilla-table-scroll table {
    font-variant-numeric: tabular-nums;
}
.table-scroll th,
.card-table th,
.catalogo-table th,
.planilla-table th,
.planilla-table-scroll th {
    background: var(--eeg-table-row);
    color: var(--eeg-table-muted);
    border-bottom: 1px solid var(--eeg-table-line);
}
.table-scroll td,
.card-table td,
.catalogo-table td,
.planilla-table td,
.planilla-table-scroll td {
    border-bottom: 1px solid var(--eeg-table-line);
    color: var(--eeg-table-text);
}
.table-scroll tbody tr:nth-child(even) td,
.card-table tbody tr:nth-child(even) td,
.catalogo-table tbody tr:nth-child(even) td,
.planilla-table tbody tr:nth-child(even) td,
.planilla-table-scroll tbody tr:nth-child(even) td {
    background: var(--eeg-table-alt);
}
.table-scroll tbody tr:hover td,
.card-table tbody tr:hover td,
.catalogo-table tbody tr:hover td,
.planilla-table tbody tr:hover td,
.planilla-table-scroll tbody tr:hover td {
    background: var(--eeg-table-hover) !important;
}

/* Densidad en pantallas Fase 2 (no bandeja / informe / patientdb) */
body:not(.layout-bandeja):not(.layout-informe):not(.layout-patientdb) .card,
body:not(.layout-bandeja):not(.layout-informe):not(.layout-patientdb) .form-section {
    border-radius: var(--eeg-radius);
    box-shadow: none;
    border: 1px solid var(--eeg-border);
}

/* Sin gradientes de marketing */
.dash-hero,
body.eeg-ui-v4 .dash-hero {
    background: var(--eeg-surface) !important;
    color: var(--eeg-content-text) !important;
    box-shadow: none !important;
}
.dash-hero::before,
body.eeg-ui-v4 .dash-hero::before,
.dash-hero__accent {
    display: none !important;
}
.page-actions-bar,
.form-actions-row {
    background: var(--eeg-surface) !important;
    box-shadow: none !important;
}

body.layout-config .card,
body.layout-config .cfg-content .card,
body.layout-config .version-release {
    box-shadow: none !important;
    border-radius: 0 !important;
}
body.layout-config .cfg-aside,
body.layout-config .config-sidebar {
    background: var(--eeg-shell) !important;
    color: var(--eeg-shell-text) !important;
    box-shadow: none !important;
    color-scheme: dark;
    border-right: 1px solid var(--eeg-shell-border) !important;
}
body.layout-config .cfg-aside-brand {
    background: transparent !important;
    border-bottom: 1px solid var(--eeg-shell-border) !important;
}
body.layout-config .cfg-aside-brand__text strong,
body.layout-config .cfg-aside-brand strong {
    color: var(--eeg-shell-text) !important;
}
body.layout-config .cfg-aside-brand__text span,
body.layout-config .cfg-aside-brand span {
    color: var(--eeg-shell-muted) !important;
}
body.layout-config .cfg-aside-icon {
    background: color-mix(in srgb, var(--eeg-accent) 28%, var(--eeg-shell-raised)) !important;
    border: 1px solid color-mix(in srgb, var(--eeg-accent) 40%, var(--eeg-shell-border)) !important;
    color: #fff !important;
    box-shadow: none !important;
}
body.layout-config .cfg-aside-icon .cfg-icon,
body.layout-config .cfg-aside-icon svg {
    stroke: #fff !important;
    color: #fff !important;
}
body.layout-config .cfg-aside .cfg-nav,
body.layout-config .cfg-aside .config-nav {
    background: transparent !important;
}
body.layout-config .cfg-aside .cfg-nav-item,
body.layout-config .cfg-aside .config-nav-item {
    color: var(--eeg-shell-muted) !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
body.layout-config .cfg-aside .cfg-nav-item:hover,
body.layout-config .cfg-aside .config-nav-item:hover {
    color: var(--eeg-shell-text) !important;
    background: var(--eeg-shell-raised) !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
body.layout-config .cfg-aside .cfg-nav-item.active,
body.layout-config .cfg-aside .config-nav-item.active {
    background: color-mix(in srgb, var(--eeg-accent) 22%, var(--eeg-shell-raised)) !important;
    color: #fff !important;
    border: 1px solid color-mix(in srgb, var(--eeg-accent) 45%, var(--eeg-shell-border)) !important;
    box-shadow: none !important;
}
body.layout-config .cfg-aside .cfg-nav-label,
body.layout-config .cfg-aside .nav-label,
body.layout-config .cfg-aside .cfg-nav-item .cfg-nav-label {
    color: inherit !important;
}
body.layout-config .cfg-aside .cfg-nav-desc {
    color: var(--eeg-shell-muted) !important;
}
body.layout-config .cfg-aside .cfg-nav-item.active .cfg-nav-desc {
    color: color-mix(in srgb, #fff 70%, var(--eeg-accent)) !important;
}
body.layout-config .cfg-aside .cfg-nav-icon,
body.layout-config .cfg-aside .nav-icon {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
}
body.layout-config .cfg-aside .cfg-nav-icon .cfg-icon,
body.layout-config .cfg-aside .cfg-nav-icon svg,
body.layout-config .cfg-aside .nav-icon svg {
    stroke: currentColor !important;
    color: inherit !important;
}
body.layout-config .cfg-aside-foot {
    background: color-mix(in srgb, #000 22%, var(--eeg-shell)) !important;
    border-top: 1px solid var(--eeg-shell-border) !important;
}
body.layout-config .cfg-version-pill {
    background: var(--eeg-shell-raised) !important;
    border: 1px solid var(--eeg-shell-border) !important;
    color: var(--eeg-shell-muted) !important;
}
body.layout-config .cfg-exit-link,
body.layout-config .cfg-exit-link--aside {
    background: transparent !important;
    border: 1px solid var(--eeg-shell-border) !important;
    color: var(--eeg-shell-text) !important;
}
body.layout-config .cfg-exit-link:hover,
body.layout-config .cfg-exit-link--aside:hover {
    border-color: color-mix(in srgb, var(--eeg-accent) 50%, var(--eeg-shell-border)) !important;
    color: #fff !important;
    background: var(--eeg-shell-raised) !important;
}
body.layout-config .cfg-exit-link .cfg-icon,
body.layout-config .cfg-exit-link svg {
    stroke: currentColor !important;
}

/* Inicio: el tema v4 pintaba el hero en blanco sobre superficie clara */
body.eeg-ui-v4 .dash-hero,
.dash-hero--sober {
    background: var(--eeg-surface) !important;
    color: var(--eeg-content-text) !important;
}
body.eeg-ui-v4 .dash-hero--sober .dash-hero__title,
body.eeg-ui-v4 .dash-hero--sober .dash-hero__greeting,
body.eeg-ui-v4 .dash-hero--sober .dash-hero p,
.dash-hero__title,
.dash-hero__lead,
.dash-hero__kicker {
    color: var(--eeg-content-text) !important;
}
.dash-hero__kicker,
.dash-hero__lead {
    color: var(--eeg-content-muted) !important;
}
body.eeg-ui-v4 .dash-stat__value,
.dash-stat__value {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    color: var(--eeg-accent) !important;
}
.dash-stat--warn .dash-stat__value,
body.eeg-ui-v4 .dash-stat--warn .dash-stat__value {
    color: var(--eeg-pending) !important;
}
.dash-stat--ok .dash-stat__value,
body.eeg-ui-v4 .dash-stat--ok .dash-stat__value {
    color: var(--eeg-success) !important;
}
.dash-stat--primary .dash-stat__value,
body.eeg-ui-v4 .dash-stat--primary .dash-stat__value {
    color: var(--eeg-accent) !important;
}

.dash-recent {
    background: var(--eeg-surface);
    color: var(--eeg-content-text);
}
.dash-recent-item strong {
    color: var(--eeg-content-text);
}

/* Estado vacío reutilizable */
.eeg-empty,
.bandeja-empty,
.dash-recent__empty,
.msg-empty,
.planilla-sin-resultado {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 220px;
    padding: 32px 24px;
    margin: 0;
    text-align: center;
    background: var(--eeg-surface);
    color: var(--eeg-content-muted);
    border: 1px dashed var(--eeg-border);
    border-radius: var(--eeg-radius);
}
.eeg-empty strong,
.bandeja-empty h2,
.msg-empty-card h2 {
    color: var(--eeg-content-text);
    font-size: var(--eeg-fs-subtitle);
    font-weight: var(--eeg-fw-subtitle);
}
.planilla-app .planilla-list:has(.planilla-empty-row) {
    background: var(--eeg-surface);
}
.planilla-app .planilla-empty-row td.table-empty,
.planilla-app .planilla-empty-row td {
    height: 50vh;
    vertical-align: middle;
    background: var(--eeg-surface) !important;
    border: none;
}

/* display:flex de .eeg-empty / .planilla-sin-resultado no debe pisar [hidden] */
.eeg-empty[hidden],
.bandeja-empty[hidden],
.dash-recent__empty[hidden],
.msg-empty[hidden],
.planilla-sin-resultado[hidden],
.bandeja-sin-paciente[hidden] {
    display: none !important;
}

input.input-gs {
    font-variant-numeric: tabular-nums;
}

/* ——— Overlays que quedaron fuera de la pasada de tokens ——— */
.app-toast-stack,
.app-toast,
.app-dialog,
.app-dialog-overlay,
dialog.app-confirm-dialog,
.modal-content,
.notif-hub-dropdown,
.notif-dropdown,
.topbar-hub__dropdown,
.cfg-protect-dialog,
.sidebar-float-tip {
    color-scheme: light;
}

.app-toast {
    background: var(--eeg-info-soft) !important;
    color: var(--eeg-info-text) !important;
    border: 1px solid var(--eeg-info) !important;
    border-radius: var(--eeg-radius) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.app-toast-body,
.app-toast-close {
    color: inherit !important;
}
.app-toast-success {
    background: var(--eeg-success-soft) !important;
    color: var(--eeg-success-text) !important;
    border-color: var(--eeg-success) !important;
}
.app-toast-error,
.app-toast-danger {
    background: var(--eeg-danger-soft) !important;
    color: var(--eeg-danger-text) !important;
    border-color: var(--eeg-danger) !important;
}
.app-toast-warning,
.app-toast-aviso {
    background: var(--eeg-pending-soft) !important;
    color: var(--eeg-pending-text) !important;
    border-color: var(--eeg-pending) !important;
}
.app-toast-info {
    background: var(--eeg-info-soft) !important;
    color: var(--eeg-info-text) !important;
    border-color: var(--eeg-info) !important;
}
.app-toast-success .app-toast-icon,
.app-toast-success .app-toast-progress { color: var(--eeg-success) !important; }
.app-toast-error .app-toast-icon,
.app-toast-danger .app-toast-icon,
.app-toast-error .app-toast-progress,
.app-toast-danger .app-toast-progress { color: var(--eeg-danger) !important; }
.app-toast-warning .app-toast-icon,
.app-toast-aviso .app-toast-icon,
.app-toast-warning .app-toast-progress,
.app-toast-aviso .app-toast-progress { color: var(--eeg-pending) !important; }
.app-toast-info .app-toast-icon,
.app-toast-info .app-toast-progress { color: var(--eeg-info) !important; }

.app-dialog,
dialog.app-confirm-dialog .app-dialog,
.modal-content,
.app-modal__card,
.cfg-protect-dialog {
    background: var(--eeg-surface) !important;
    color: var(--eeg-content-text) !important;
    border: 1px solid var(--eeg-border) !important;
    border-radius: var(--eeg-radius) !important;
    box-shadow: none !important;
}
.app-dialog-head,
.modal-header,
.notif-hub-head,
.notif-dropdown-head {
    background: var(--eeg-gray-50) !important;
    color: var(--eeg-content-text) !important;
    border-bottom: 1px solid var(--eeg-border) !important;
}
.app-dialog-body,
.modal-box {
    color: var(--eeg-content-text) !important;
    background: var(--eeg-surface);
}

.notif-hub-dropdown,
.notif-dropdown,
.topbar-hub__dropdown {
    background: var(--eeg-surface) !important;
    color: var(--eeg-content-text) !important;
    border: 1px solid var(--eeg-border) !important;
    border-radius: var(--eeg-radius) !important;
    box-shadow: none !important;
}
.notif-hub-item.unread {
    background: var(--eeg-accent-soft) !important;
}

.sidebar-float-tip {
    background: var(--eeg-shell-raised) !important;
    color: var(--eeg-shell-text) !important;
    border: 1px solid var(--eeg-shell-border) !important;
    box-shadow: none !important;
    color-scheme: dark;
}

/* Campos bloqueados / solo lectura: siempre claros y legibles (el OS oscuro no los pinta de negro). */
body:not(.login-page) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):disabled,
body:not(.login-page) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"])[readonly],
body:not(.login-page) input.field-locked,
body:not(.login-page) select:disabled,
body:not(.login-page) textarea:disabled,
body:not(.login-page) textarea[readonly],
body:not(.login-page) textarea.field-locked {
    background: var(--eeg-gray-50) !important;
    color: var(--eeg-content-text) !important;
    -webkit-text-fill-color: var(--eeg-content-text) !important;
    caret-color: var(--eeg-content-text);
    border-color: transparent !important;
    box-shadow: none !important;
    opacity: 1;
    color-scheme: inherit;
    cursor: default;
    appearance: none;
}

/* Documentos clínicos / PDF en pantalla: permanecen claros en modo noche */
@media (prefers-color-scheme: dark) {
    .informe-modelo-doc,
    .informe-modelo-doc p,
    .informe-modelo-doc h1,
    .informe-modelo-doc h2,
    .informe-modelo-doc h3,
    .informe-modelo-doc .informe-modelo-textarea,
    .informe-editor-paper,
    .infed-paper,
    .pdf-preview-frame,
    .informe-pdf-viewer,
    .informe-pdf-viewer iframe,
    .pdb--hc-ver .hc-doc__paper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
    .pdb--hc-ver .hc-doc__paper select,
    .pdb--hc-ver .hc-doc__paper textarea,
    .pdb--hc-ver .hc-doc__paper #imc,
    .pdb--hc-ver .hc-doc__paper .hc-espec section.card,
    .pdb--hc-ver .hc-doc__paper .hc-espec .chip span {
        background: #ffffff !important;
        color: #141414 !important;
        -webkit-text-fill-color: #141414 !important;
        color-scheme: light;
    }

    .infed-work,
    .informe-pdf-with-qr,
    .infed-app .informe-panel-preview,
    .infed-app .informe-panel-preview--solo,
    .pdb--hc-ver .hc-workspace,
    .pdb--hc-ver .hc-doc {
        background: var(--eeg-content, #e8eef0) !important;
    }

    body.eeg-ui-v4 .sidebar--v2 .sidebar-brand {
        background: transparent !important;
    }
}

/* Confirmaciones y alertas: siempre centradas en viewport (PC y móvil). */
#app-dialog-root {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    height: 100vh !important;
    pointer-events: none;
    z-index: 12000 !important;
}
#app-dialog-root > * {
    pointer-events: auto;
}
.app-dialog-overlay,
.cfg-protect-overlay {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: max(12px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) max(12px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)) !important;
    box-sizing: border-box !important;
    z-index: 12001 !important;
}
dialog.app-confirm-dialog,
dialog.eeg-cat-dialog {
    position: fixed !important;
    inset: 0 !important;
    margin: auto !important;
    width: min(480px, calc(100vw - 24px)) !important;
    max-width: min(480px, calc(100vw - 24px)) !important;
    height: fit-content !important;
    max-height: min(90dvh, 90vh) !important;
    transform: none !important;
}
.app-dialog,
dialog.app-confirm-dialog .app-dialog,
.cfg-protect-dialog,
.firma-auth-dialog,
.app-modal__card {
    max-width: min(520px, calc(100vw - 24px)) !important;
    max-height: min(90dvh, 90vh) !important;
    overflow: auto !important;
}
.app-dialog-body,
.app-dialog-head,
.app-dialog-actions {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
}
dialog.msg-pick-dialog {
    position: fixed !important;
    inset: 0 !important;
    margin: auto !important;
    height: fit-content !important;
}
@media (max-width: 640px) {
    dialog.app-confirm-dialog,
    dialog.eeg-cat-dialog {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
    }
    .app-dialog-actions {
        flex-wrap: wrap;
    }
    .app-dialog-actions .btn {
        flex: 1 1 auto;
        min-height: 44px;
    }
}
