/* ==========================================================================
   Aura móvil (docs/movil-plan.md, F0.4)
   Solo aplica con body.aura-movil, que app.js pone cuando la sesión se abre
   desde un teléfono. Tabletas y ordenadores no cargan ningún cambio visual.
   ========================================================================== */
body.aura-movil {
    --mnav-alto: 62px;
    --mnav-seguro: env(safe-area-inset-bottom, 0px);
    --mnav-fondo: var(--ui-paper, #ffffff);
    --mnav-linea: var(--ui-line, #e5ebe9);
    --mnav-texto: var(--ui-muted, #5f6c68);
    --mnav-activo: var(--brand-primary-dark, #255b83);
    --mnav-activo-suave: var(--brand-surface-bg, #e8f2fa);
}

/* ---------- Sin menú lateral ---------- */
body.aura-movil .sidebar,
body.aura-movil .navbar .navbar-wrapper,
body.aura-movil .navbar .navbar-toggler,
body.aura-movil #topNavBreadcrumb,
body.aura-movil .main-panel > .footer {
    display: none !important;
}
body.aura-movil .main-panel {
    width: 100%;
    transform: none !important;
}
body.aura-movil .aura-ag__launcher {
    display: none !important;
}

/* ---------- Cabecera compacta ---------- */
body.aura-movil nav.navbar.navbar-aura-3d {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    width: 100%;
    height: calc(52px + env(safe-area-inset-top, 0px));
    min-height: 52px;
    padding: env(safe-area-inset-top, 0px) 0 0;
}
body.aura-movil nav.navbar .container-fluid {
    padding-left: max(14px, env(safe-area-inset-left, 0px));
    padding-right: max(14px, env(safe-area-inset-right, 0px));
}
body.aura-movil #includeTopNav {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
}
body.aura-movil .navbar-collapse {
    display: none !important;
}
.aura-mtop {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}
.aura-mtop__logo {
    display: block;
    max-width: 60%;
    max-height: 32px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.aura-mtop__logo--aura {
    filter: brightness(0) invert(1);
}
.aura-mtop__cuenta {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, 0.14);
    font-size: 20px;
}
.aura-mtop__cuenta:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
.aura-mtop__menu {
    position: fixed;
    top: calc(52px + env(safe-area-inset-top, 0px));
    right: max(10px, env(safe-area-inset-right, 0px));
    z-index: 1040;
    min-width: 220px;
    max-width: calc(100vw - 20px);
    padding: 8px;
    border: 1px solid var(--mnav-linea);
    border-radius: 12px;
    background: var(--mnav-fondo);
    box-shadow: 0 12px 32px rgba(15, 41, 61, 0.18);
}
.aura-mtop__nombre {
    margin: 0;
    padding: 8px 10px 10px;
    border-bottom: 1px solid var(--mnav-linea);
    color: var(--ui-ink, #172b28);
    font-size: 13px;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.aura-mtop__menu button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    margin-top: 6px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    color: #a54242;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
}
.aura-mtop__menu button:active,
.aura-mtop__menu button:focus-visible {
    background: #fff3f2;
}

/* ---------- Contenido: hueco para la barra inferior ---------- */
body.aura-movil .main-panel > .content {
    margin-top: 60px;
    padding-bottom: calc(var(--mnav-alto) + var(--mnav-seguro) + 24px);
}

/* ---------- Barra inferior ---------- */
.aura-mnav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
    min-height: calc(var(--mnav-alto) + var(--mnav-seguro));
    padding: 0 max(4px, env(safe-area-inset-right, 0px)) var(--mnav-seguro) max(4px, env(safe-area-inset-left, 0px));
    border-top: 1px solid var(--mnav-linea);
    background: var(--mnav-fondo);
    box-shadow: 0 -6px 18px rgba(15, 41, 61, 0.08);
}
.aura-mnav__item,
.aura-mnav__laura {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    height: var(--mnav-alto);
    padding: 6px 2px;
    border: 0;
    color: var(--mnav-texto);
    background: transparent;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.1;
    -webkit-tap-highlight-color: transparent;
}
.aura-mnav__item i {
    font-size: 19px;
}
.aura-mnav__item span,
.aura-mnav__laura span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aura-mnav__item.is-active {
    color: var(--mnav-activo);
}
.aura-mnav__item.is-active i {
    padding: 3px 14px;
    border-radius: 999px;
    background: var(--mnav-activo-suave);
}
.aura-mnav__item:focus-visible,
.aura-mnav__laura:focus-visible {
    outline: 2px solid var(--mnav-activo);
    outline-offset: -4px;
    border-radius: 10px;
}
.aura-mnav__laura {
    position: relative;
    justify-content: flex-end;
    padding-bottom: 8px;
    color: var(--mnav-activo);
}
.aura-mnav__laura i {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin-top: -22px;
    border: 4px solid var(--mnav-fondo);
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--brand-primary, #3580bb), var(--brand-primary-dark, #255b83));
    box-shadow: 0 6px 16px rgba(15, 41, 61, 0.28);
    font-size: 21px;
}
.aura-mnav__laura:active i {
    transform: scale(0.96);
}
/* Laura no disponible para el usuario: botón apagado (el toque muestra el aviso) */
.aura-mnav__laura.is-no-disponible {
    color: var(--mnav-texto);
}
.aura-mnav__laura.is-no-disponible i {
    background: var(--mnav-linea);
    color: var(--mnav-texto);
    box-shadow: none;
}
.aura-mnav__hueco {
    display: block;
}

/* Menú de Ventas (Presupuestos y Facturas) sobre la barra */
.aura-mnav__menu {
    position: fixed;
    right: max(8px, env(safe-area-inset-right, 0px));
    bottom: calc(var(--mnav-alto) + var(--mnav-seguro) + 8px);
    z-index: 1031;
    display: grid;
    gap: 4px;
    min-width: 190px;
    padding: 6px;
    border: 1px solid var(--mnav-linea);
    border-radius: 12px;
    background: var(--mnav-fondo);
    box-shadow: 0 12px 32px rgba(15, 41, 61, 0.18);
}
.aura-mnav__menu[hidden] {
    display: none;
}
.aura-mnav__menu button {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 0 12px;
    border: 0;
    border-radius: 8px;
    color: var(--ui-ink, #172b28);
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
}
.aura-mnav__menu button i {
    width: 18px;
    color: var(--mnav-activo);
    text-align: center;
}
.aura-mnav__menu button:active,
.aura-mnav__menu button:focus-visible {
    background: var(--mnav-activo-suave);
}

/* Aviso breve sobre la barra (Laura cargando o no disponible) */
.aura-mnav__aviso {
    position: fixed;
    left: max(12px, env(safe-area-inset-left, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: calc(var(--mnav-alto) + var(--mnav-seguro) + 10px);
    z-index: 1031;
    margin: 0;
    padding: 10px 14px;
    border-radius: 10px;
    color: #fff;
    background: var(--ui-ink, #172b28);
    box-shadow: 0 8px 24px rgba(15, 41, 61, 0.25);
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
}
.aura-mnav__aviso[hidden] {
    display: none;
}

/* ---------- Laura en el teléfono (F1.2) ---------- */
/* 16 px en el cuadro de texto: con menos, el iPhone amplía la página al escribir */
body.aura-movil .aura-ag__composer textarea {
    min-height: 40px;
    font-size: 16px;
    line-height: 1.35;
}
/* Controles cómodos para el dedo (mínimo 40 px) */
body.aura-movil .aura-ag__icon,
body.aura-movil .aura-ag__mic,
body.aura-movil .aura-ag__send {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    min-width: 40px;
}
body.aura-movil .aura-ag__btn {
    min-height: 40px;
}
body.aura-movil .aura-ag__chip {
    min-height: 36px;
    padding: 6px 12px;
    font-size: 13px;
}
body.aura-movil .aura-ag__confirm-toggle {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
}
/* Foto para Laura (docs/pwa-plan.md, P4.2): la cámara solo en el modo móvil y no mientras se dicta */
.aura-ag__mic.aura-ag__foto {
    display: none;
}
body.aura-movil .aura-ag__mic.aura-ag__foto {
    display: grid;
}
body.aura-movil .aura-ag__composer--dictando .aura-ag__mic.aura-ag__foto {
    display: none;
}
.aura-ag__foto-img {
    display: block;
    width: 100%;
    max-width: 220px;
    max-height: 260px;
    margin: 4px 0 2px;
    border-radius: 10px;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.2);
}
.aura-ag__msg--foto p {
    margin-top: 6px;
}
/* Laura en voz alta (docs/pwa-plan.md, P4.1, app-asistente-general.js): solo en el modo móvil */
.aura-ag__voz,
.aura-ag__icon.aura-ag__icon--voz {
    display: none;
}
body.aura-movil .aura-ag__icon.aura-ag__icon--voz {
    display: grid;
}
body.aura-movil .aura-ag__icon--voz[aria-pressed="true"] {
    color: var(--ag-primary-dark);
    background: rgba(var(--ag-primary-rgb), 0.1);
}
body.aura-movil .aura-ag__voz {
    display: grid;
    flex: 0 0 34px;
    place-items: center;
    width: 34px;
    height: 34px;
    margin: -8px -8px -8px 2px;
    border: 0;
    border-radius: 50%;
    color: var(--ag-primary-dark);
    background: transparent;
    font-size: 13px;
    -webkit-tap-highlight-color: transparent;
}
body.aura-movil .aura-ag__voz:active {
    background: rgba(var(--ag-primary-rgb), 0.1);
}
body.aura-movil .aura-ag__voz.is-leyendo {
    color: #fff;
    background: var(--ag-primary-dark);
    box-shadow: 0 0 0 4px rgba(var(--ag-primary-rgb), 0.18);
    animation: aura-voz-latido 1.4s ease-in-out infinite;
}
body.aura-movil .aura-ag__voz:focus-visible {
    outline: 2px solid var(--ag-primary-dark);
    outline-offset: 2px;
}
@keyframes aura-voz-latido {
    0%, 100% { box-shadow: 0 0 0 4px rgba(var(--ag-primary-rgb), 0.18); }
    50% { box-shadow: 0 0 0 7px rgba(var(--ag-primary-rgb), 0.08); }
}
@media (prefers-reduced-motion: reduce) {
    body.aura-movil .aura-ag__voz.is-leyendo { animation: none; }
}
/* Textos auxiliares legibles: nada por debajo de 11 px */
body.aura-movil .aura-ag__meta,
body.aura-movil .aura-ag__msg--assistant .aura-ag__meta,
body.aura-movil .aura-ag__time,
body.aura-movil .aura-ag__sello-name,
body.aura-movil .aura-ag__kpi-label,
body.aura-movil .aura-ag__day span,
body.aura-movil .aura-ag__list-meta,
body.aura-movil .aura-ag__credits {
    font-size: 11px;
}
body.aura-movil .aura-ag__table {
    font-size: 13px;
}
body.aura-movil .aura-ag__table th {
    font-size: 11px;
}
/* El pie de Laura respeta la barra de gestos del teléfono */
body.aura-movil .aura-ag__footer {
    padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
}

/* ---------- Dashboard de bienvenida (F2.1) ---------- */
/* El nombre de la empresa encoge y termina en «…» en vez de salirse por la derecha */
body.aura-movil .dash0-empresa > div {
    min-width: 0;
}

/* ---------- Listados de contactos (F2.2) y artículos (F3.1) ---------- */
/* Solo consulta: sin hueco de «Nuevo», sin Exportar y sin selector de vista (el servidor pinta tarjetas propias) */
body.aura-movil .aura-contactos-page .aura-filter-btn-nuevo-wrap,
body.aura-movil .aura-contactos-export-wrap,
body.aura-movil .aura-contactos-page .aura-document-view-toolbar,
body.aura-movil .aura-articulos-page .aura-filter-btn-nuevo-wrap,
body.aura-movil .aura-articulos-page .aura-filter-action-wrap,
body.aura-movil .aura-articulos-page .aura-filter-cell-export,
body.aura-movil .aura-articulos-page .aura-document-view-toolbar,
body.aura-movil .aura-articulos-heading-badge {
    display: none !important;
}
body.aura-movil #contactos_busqueda,
body.aura-movil #art_busqueda {
    font-size: 16px;
}
/* Aire entre los filtros y la primera tarjeta (el selector de vista oculto era el que separaba) */
body.aura-movil .aura-contactos-page #div_historial_contactos,
body.aura-movil .aura-articulos-page #div_listado_articulos {
    margin-top: 14px;
}
/* La tabla de DataTables solo hace de contenedor: sin bordes, rayas ni fondo */
body.aura-movil #div_historial_contactos table.dataTable,
body.aura-movil #div_listado_articulos table.dataTable {
    width: 100% !important;
    table-layout: fixed;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 !important;
    background: transparent;
}
body.aura-movil #div_historial_contactos table.dataTable thead,
body.aura-movil #div_historial_contactos .aura-contactos-table-header,
body.aura-movil #div_listado_articulos table.dataTable thead,
body.aura-movil #div_listado_articulos .aura-articulo-table-header {
    display: none !important;
}
body.aura-movil #div_historial_contactos table.dataTable tbody tr,
body.aura-movil #div_historial_contactos table.dataTable tbody tr > td,
body.aura-movil #div_listado_articulos table.dataTable tbody tr,
body.aura-movil #div_listado_articulos table.dataTable tbody tr > td {
    padding: 0 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* Tarjeta de contacto (construirTarjetaMovilContacto en funcContactos.php) */
.aura-mcard {
    --mcard-tinta: var(--ui-ink, #172b28);
    --mcard-suave: var(--ui-muted, #5f6c68);
    --mcard-linea: #e7edf0;
    display: block;
    padding: 14px;
    border: 1px solid var(--mcard-linea);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 41, 61, 0.04), 0 6px 18px -10px rgba(15, 41, 61, 0.18);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.aura-mcard:active {
    transform: scale(0.985);
    border-color: #d6e2ea;
    box-shadow: 0 1px 2px rgba(15, 41, 61, 0.05);
}
.aura-mcard:focus-visible {
    outline: 2px solid var(--brand-primary, #3580bb);
    outline-offset: 2px;
}
.aura-mcard__cabecera {
    display: flex;
    align-items: center;
    gap: 12px;
}
.aura-mcard__avatar {
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}
.aura-mcard__avatar--organizacion {
    border-radius: 14px;
}
.aura-mcard__avatar--tono0 { background: #e6f0fa; color: #22577f; }
.aura-mcard__avatar--tono1 { background: #e4f5ee; color: #1b6b4b; }
.aura-mcard__avatar--tono2 { background: #fcefe3; color: #9a4c17; }
.aura-mcard__avatar--tono3 { background: #efeafb; color: #533a9c; }
.aura-mcard__avatar--tono4 { background: #e3f3f6; color: #1a6573; }
.aura-mcard__avatar--tono5 { background: #fbebf0; color: #9b3454; }
.aura-mcard__titulo {
    flex: 1 1 auto;
    min-width: 0;
}
.aura-mcard__nombre {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--mcard-tinta);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: -0.005em;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.aura-mcard__comercial {
    margin: 2px 0 0;
    overflow: hidden;
    color: var(--mcard-suave);
    font-size: 12.5px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aura-mcard__nif {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 5px 0 0;
    color: var(--mcard-tinta);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}
.aura-mcard__nif span {
    padding: 1px 5px;
    border-radius: 4px;
    color: var(--mcard-suave);
    background: #f1f5f7;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
}
.aura-mcard__ir {
    flex: 0 0 auto;
    color: #b5c2ca;
    font-size: 12px;
}
/* Teléfono y correo en la misma línea: el teléfono entero y el correo ocupa el resto y termina en «…» */
.aura-mcard__datos {
    display: flex;
    align-items: center;
    gap: 6px 14px;
    margin: 12px 0 -4px;
    padding-top: 8px;
    border-top: 1px solid #eef2f4;
}
.aura-mcard__dato {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    min-height: 36px;
    margin: 0 -6px;
    padding: 0 6px;
    border-radius: 8px;
    color: var(--mcard-tinta);
    font-size: 13.5px;
    text-decoration: none;
}
.aura-mcard__dato + .aura-mcard__dato {
    flex: 1 1 0;
}
a.aura-mcard__dato:hover,
a.aura-mcard__dato:focus {
    color: var(--mcard-tinta);
    text-decoration: none;
}
a.aura-mcard__dato:active {
    background: #f1f6fa;
}
.aura-mcard__dato i {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    color: var(--brand-primary-dark, #255b83);
    background: var(--brand-surface-bg, #e8f2fa);
    font-size: 12px;
}
.aura-mcard__dato span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
    .aura-mcard { transition: none; }
    .aura-mcard:active { transform: none; }
}

/* ---------- Ficha de contacto (F2.3, funcFichaMovilContacto.php) ---------- */
.aura-mficha {
    --mf-tinta: var(--ui-ink, #172b28);
    --mf-suave: var(--ui-muted, #5f6c68);
    --mf-linea: #e7edf0;
    --mf-fondo: #f5f8fa;
    --mf-marca: var(--brand-primary, #3580bb);
    --mf-marca-osc: var(--brand-primary-dark, #255b83);
    --mf-marca-suave: var(--brand-surface-bg, #e8f2fa);
    margin: -4px -2px 0;
    color: var(--mf-tinta);
}
.aura-mficha__barra {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
.aura-mficha__volver {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    margin-left: -6px;
    padding: 0 10px 0 6px;
    border: 0;
    border-radius: 10px;
    color: var(--mf-marca-osc);
    background: transparent;
    font-size: 15px;
    font-weight: 600;
}
.aura-mficha__volver:active { background: var(--mf-marca-suave); }
.aura-mficha__lectura {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    color: var(--mf-suave);
    background: var(--mf-fondo);
    font-size: 11px;
    font-weight: 600;
}

/* Cabecera */
.aura-mficha__hero {
    padding: 22px 16px 16px;
    border: 1px solid var(--mf-linea);
    border-radius: 20px;
    background:
        radial-gradient(120% 70% at 50% 0%, var(--mf-marca-suave) 0%, rgba(255, 255, 255, 0) 70%),
        #fff;
    box-shadow: 0 1px 2px rgba(15, 41, 61, 0.04), 0 10px 26px -16px rgba(15, 41, 61, 0.25);
    text-align: center;
}
.aura-mcard__avatar.aura-mficha__avatar {
    width: 72px;
    height: 72px;
    margin: 0 auto 12px;
    font-size: 24px;
    box-shadow: 0 0 0 4px #fff, 0 6px 18px -6px rgba(15, 41, 61, 0.3);
}
.aura-mcard__avatar--organizacion.aura-mficha__avatar { border-radius: 22px; }
.aura-mficha__nombre {
    margin: 0;
    color: var(--mf-tinta);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}
.aura-mficha__comercial {
    margin: 4px 0 0;
    color: var(--mf-suave);
    font-size: 13.5px;
}
.aura-mficha__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: 12px;
}
.aura-mficha__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid var(--mf-linea);
    border-radius: 999px;
    color: var(--mf-suave);
    background: #fff;
    font-size: 12px;
    font-weight: 600;
}
.aura-mficha__chip--nif {
    color: var(--mf-tinta);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}
.aura-mficha__chip--nif b {
    color: var(--mf-suave);
    font-size: 10px;
    letter-spacing: 0.06em;
}
.aura-mficha__chip--grupo {
    border-color: transparent;
    color: var(--mf-marca-osc);
    background: var(--mf-marca-suave);
}
.aura-mficha__acciones {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
}
.aura-mficha__accion {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 10px 4px 8px;
    border-radius: 14px;
    color: var(--mf-marca-osc);
    background: var(--mf-fondo);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}
.aura-mficha__accion:hover,
.aura-mficha__accion:focus { color: var(--mf-marca-osc); text-decoration: none; }
.aura-mficha__accion:active { background: var(--mf-marca-suave); }
.aura-mficha__accion-icono {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--mf-marca), var(--mf-marca-osc));
    box-shadow: 0 4px 12px -4px rgba(37, 91, 131, 0.55);
    font-size: 15px;
}
.aura-mficha__accion.is-off { color: #a9b6bd; }
.aura-mficha__accion.is-off .aura-mficha__accion-icono {
    color: #a9b6bd;
    background: #e9eef1;
    box-shadow: none;
}

/* Pestañas: fijas bajo la cabecera de la app al desplazarse */
.aura-mficha__tabs {
    position: sticky;
    top: calc(52px + env(safe-area-inset-top, 0px));
    z-index: 5;
    display: flex;
    gap: 6px;
    margin: 14px -16px 12px;
    padding: 8px 16px;
    overflow-x: auto;
    background: rgba(244, 243, 239, 0.94); /* fondo de la página */
    -webkit-backdrop-filter: saturate(1.4) blur(8px);
    backdrop-filter: saturate(1.4) blur(8px);
    scrollbar-width: none;
}
.aura-mficha__tabs::-webkit-scrollbar { display: none; }
.aura-mficha__tab {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid var(--mf-linea);
    border-radius: 999px;
    color: var(--mf-suave);
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
.aura-mficha__tab.is-active {
    border-color: transparent;
    color: #fff;
    background: var(--mf-marca-osc);
}
.aura-mficha__tab:focus-visible { outline: 2px solid var(--mf-marca); outline-offset: 2px; }
.aura-mficha__cuenta {
    min-width: 20px;
    padding: 1px 6px;
    border-radius: 999px;
    color: var(--mf-suave);
    background: var(--mf-fondo);
    font-size: 11px;
    text-align: center;
}
.aura-mficha__tab.is-active .aura-mficha__cuenta {
    color: var(--mf-marca-osc);
    background: #fff;
}

/* Datos agrupados */
.aura-mficha__grupo { margin-bottom: 14px; }
.aura-mficha__grupo h2 {
    margin: 0 4px 6px;
    color: var(--mf-suave);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.aura-mficha__lista {
    margin: 0;
    padding: 2px 14px;
    border: 1px solid var(--mf-linea);
    border-radius: 16px;
    background: #fff;
}
/* Etiqueta encima del valor: todo el ancho para correos y direcciones largas */
.aura-mficha__fila {
    padding: 10px 0;
}
.aura-mficha__fila + .aura-mficha__fila { border-top: 1px solid #eef2f4; }
.aura-mficha__fila dt {
    margin-bottom: 2px;
    color: var(--mf-suave);
    font-size: 12px;
    font-weight: 500;
}
.aura-mficha__fila dd {
    min-width: 0;
    margin: 0;
    color: var(--mf-tinta);
    font-size: 14px;
    font-weight: 500;
    overflow-wrap: anywhere;
}
.aura-mficha__fila dd .aura-mcard__dato { margin: -4px -6px; }
.aura-mficha__texto { display: block; line-height: 1.4; }
.aura-mficha__mapa {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: var(--mf-marca-osc);
    font-size: 13px;
    font-weight: 600;
}
.aura-mficha__notas {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--mf-linea);
    border-radius: 16px;
    background: #fff;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* Elementos de las listas (direcciones, bancos, contactos) */
.aura-mficha__item {
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid var(--mf-linea);
    border-radius: 16px;
    background: #fff;
}
.aura-mficha__item-cabecera {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.aura-mficha__item-icono {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: var(--mf-marca-osc);
    background: var(--mf-marca-suave);
    font-size: 15px;
}
.aura-mcard__avatar.aura-mficha__item-avatar {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    font-size: 14px;
}
.aura-mficha__item-titulo {
    flex: 1 1 auto;
    min-width: 0;
}
.aura-mficha__item-titulo h3 {
    margin: 0;
    color: var(--mf-tinta);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.aura-mficha__item-titulo p {
    margin: 3px 0 0;
    color: var(--mf-suave);
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.aura-mficha__iban {
    color: var(--mf-tinta) !important;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
}
.aura-mficha__bic { font-size: 12px !important; }
.aura-mficha__principal {
    flex: 0 0 auto;
    padding: 3px 8px;
    border-radius: 999px;
    color: #1b6b4b;
    background: #e4f5ee;
    font-size: 11px;
    font-weight: 700;
}
/* Como en la tarjeta del listado: teléfono y correo en la misma línea si caben (el correo termina en «…») */
.aura-mficha__item-datos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 14px;
    margin: 10px 0 -4px;
    padding-top: 6px;
    border-top: 1px solid #eef2f4;
}
.aura-mficha__item-datos .aura-mcard__dato { flex: 0 0 auto; }
.aura-mficha__item-datos a.aura-mcard__dato[href^="mailto:"] { flex: 1 1 140px; }

/* CRM */
/* El color del tipo va solo en el punto junto a su nombre */
.aura-mficha__crm {
    margin-bottom: 10px;
    padding: 12px 14px;
    border: 1px solid var(--mf-linea);
    border-radius: 16px;
    background: #fff;
}
.aura-mficha__crm-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: var(--mf-suave);
    font-size: 12px;
}
.aura-mficha__crm-tipo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aura-mficha__crm-tipo i {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--crm-tipo, var(--mf-marca));
}
.aura-mficha__crm-meta time {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
}
.aura-mficha__crm h3 {
    margin: 6px 0 0;
    color: var(--mf-tinta);
    font-size: 14.5px;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.aura-mficha__crm h3 .fa-star { color: #e0a400; font-size: 12px; }
.aura-mficha__crm p {
    display: -webkit-box;
    margin: 4px 0 0;
    overflow: hidden;
    color: var(--mf-suave);
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.aura-mficha__crm-pie {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    color: var(--mf-suave);
    font-size: 12px;
}
.aura-mficha__estado {
    padding: 2px 8px;
    border-radius: 999px;
    color: #9a4c17;
    background: #fcefe3;
    font-weight: 700;
}
.aura-mficha__estado.is-hecho {
    color: #1b6b4b;
    background: #e4f5ee;
}
.aura-mficha__responsable {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aura-mficha__mas {
    margin: 4px 0 0;
    color: var(--mf-suave);
    font-size: 12px;
    text-align: center;
}
.aura-mficha__vacio {
    padding: 34px 16px;
    border: 1px dashed #d9e2e7;
    border-radius: 16px;
    color: var(--mf-suave);
    text-align: center;
}
.aura-mficha__vacio i {
    display: block;
    margin-bottom: 8px;
    color: #b5c2ca;
    font-size: 24px;
}
.aura-mficha__vacio p { margin: 0; font-size: 13.5px; }

/* ---------- Presupuestos y facturas: filtros compactos y tarjetas (F3.2) ---------- */
/* Rejilla de dos columnas con líneas finas: Buscar arriba a todo el ancho, fechas juntas, estado/serie y Filtrar */
body.aura-movil :is(.aura-presupuestos-page, .aura-facturas-page) .aura-filter-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e5ebe9;
    border-radius: 14px;
    background: #e5ebe9;
}
body.aura-movil :is(.aura-presupuestos-page, .aura-facturas-page) .aura-filter-bar > * {
    min-width: 0;
    min-height: 56px;
    margin: 0;
    border: 0 !important;
    background: #fff;
}
body.aura-movil :is(.aura-presupuestos-page, .aura-facturas-page) .aura-filter-field {
    padding: 8px 12px;
}
body.aura-movil :is(.aura-presupuestos-page, .aura-facturas-page) .aura-filter-field:has(#pre_busqueda, #fac_busqueda) {
    grid-column: 1 / -1;
    order: -1;
}
body.aura-movil :is(.aura-presupuestos-page, .aura-facturas-page) .aura-filter-field :is(input, select) {
    font-size: 16px; /* el iPhone no amplía la página al tocar */
}
body.aura-movil :is(.aura-presupuestos-page, .aura-facturas-page) .aura-filter-btn-wrap {
    padding: 8px;
}
body.aura-movil .aura-facturas-page .aura-filter-btn-wrap:not(.aura-filter-cell-export) {
    grid-column: 1 / -1;
}
body.aura-movil :is(.aura-presupuestos-page, .aura-facturas-page) .aura-filter-btn {
    justify-content: center;
    width: 100%;
    min-height: 40px;
}
body.aura-movil :is(.aura-presupuestos-page, .aura-facturas-page) :is(.aura-filter-btn-nuevo-wrap, .aura-filter-cell-export, .aura-document-view-toggle),
body.aura-movil .aura-presupuestos-page .aura-document-view-toolbar,
body.aura-movil :is(.aura-presupuestos-heading-badge, .aura-facturas-heading-badge) {
    display: none !important;
}
body.aura-movil .aura-facturas-page .aura-document-view-toolbar:not(:has(.aura-lotes-aviso:not([hidden]))) {
    display: none !important; /* sin avisos de remesas no ocupa sitio */
}
body.aura-movil :is(#div_historial_presupuestos, #div_historial_facturas) {
    margin-top: 14px;
}
body.aura-movil :is(#div_historial_presupuestos, #div_historial_facturas) table.dataTable {
    width: 100% !important;
    table-layout: fixed;
    margin: 0 !important;
    border: 0;
    background: transparent;
}
body.aura-movil :is(#div_historial_presupuestos, #div_historial_facturas) :is(thead, .aura-document-table-header) {
    display: none !important;
}
body.aura-movil :is(#div_historial_presupuestos, #div_historial_facturas) tbody {
    display: block !important;
}
body.aura-movil :is(#div_historial_presupuestos, #div_historial_facturas) tbody tr,
body.aura-movil :is(#div_historial_presupuestos, #div_historial_facturas) tbody tr > td {
    display: block !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Tarjeta de documento (construirTarjetaMovilDocumento en funcFinanciero.php) */
.aura-mcard__doc-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.aura-mcard__doc-ref {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--brand-primary-dark, #255b83);
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
}
.aura-mcard__doc-ref i {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--brand-surface-bg, #e8f2fa);
    font-size: 12px;
}
.aura-mcard__estado {
    flex: 0 0 auto;
    padding: 3px 9px;
    border-radius: 999px;
    color: #4d5b62;
    background: #eef2f4;
    font-size: 11px;
    font-weight: 700;
}
.aura-mcard__estado--exito { color: #1b6b4b; background: #e4f5ee; }
.aura-mcard__estado--aviso { color: #8a5a00; background: #fdf3dc; }
.aura-mcard__estado--peligro { color: #a33a3a; background: #fbeaea; }
.aura-mcard__estado--info { color: #22577f; background: #e6f0fa; }
.aura-mcard__doc-cliente {
    margin-top: 10px !important;
}
.aura-mcard__doc-pie {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
}
.aura-mcard__doc-fecha {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--mcard-suave);
    font-size: 12.5px;
    font-variant-numeric: tabular-nums;
}
.aura-mcard__doc-total {
    color: var(--mcard-tinta);
    font-size: 17px;
    font-weight: 750;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.aura-mcard__cobro {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 10px 0 0;
    padding: 7px 10px;
    border-radius: 10px;
    color: #8a5a00;
    background: #fdf6e7;
    font-size: 12.5px;
}
.aura-mcard__cobro b { font-variant-numeric: tabular-nums; }
.aura-mcard__cobro.is-vencida {
    color: #a33a3a;
    background: #fbeeee;
}

/* ---------- Detalle de presupuesto y factura (F3.3, funcDetalleMovilDocumento.php) ---------- */
.aura-mdoc__hero { text-align: left; }
.aura-mdoc__ref {
    margin: 14px 0 0;
    color: var(--mf-tinta);
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}
.aura-mdoc__hero .aura-mficha__comercial { margin-top: 2px; }
.aura-mdoc__importe {
    margin: 10px 0 0;
    color: var(--mf-tinta);
    font-size: 30px;
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}
.aura-mdoc__fechas {
    display: flex;
    gap: 22px;
    margin-top: 12px;
    font-size: 14px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.aura-mdoc__fechas small {
    display: block;
    color: var(--mf-suave);
    font-size: 11.5px;
    font-weight: 600;
}
.aura-mcard__cobro.is-cobrada {
    color: #1b6b4b;
    background: #e9f7f0;
}
.aura-mdoc__pdf {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}
.aura-mdoc__btn {
    display: inline-flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid var(--mf-linea);
    border-radius: 14px;
    color: var(--mf-marca-osc);
    background: #fff;
    font-size: 14.5px;
    font-weight: 650;
}
.aura-mdoc__btn--primario {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, var(--mf-marca), var(--mf-marca-osc));
    box-shadow: 0 6px 16px -6px rgba(37, 91, 131, 0.6);
}
.aura-mdoc__btn:active { transform: scale(0.98); }
.aura-mdoc__btn:disabled { opacity: 0.65; }
.aura-mdoc__sin-pdf {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    color: var(--mf-suave);
    background: var(--mf-fondo);
    font-size: 13px;
}
.aura-mdoc__linea {
    margin-bottom: 8px;
    padding: 12px 14px;
    border: 1px solid var(--mf-linea);
    border-radius: 14px;
    background: #fff;
}
.aura-mdoc__linea-texto {
    color: var(--mf-tinta);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.aura-mdoc__linea-ref {
    display: block;
    margin-top: 3px;
    color: var(--mf-suave);
    font-size: 12px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}
.aura-mdoc__linea-pie {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #eef2f4;
}
.aura-mdoc__linea-calc {
    min-width: 0;
    color: var(--mf-suave);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}
.aura-mdoc__linea-calc em {
    padding: 1px 6px;
    border-radius: 999px;
    color: #1b6b4b;
    background: #e4f5ee;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}
.aura-mdoc__linea-calc small {
    display: block;
    margin-top: 2px;
    font-size: 11.5px;
}
.aura-mdoc__linea-pie strong {
    flex: 0 0 auto;
    color: var(--mf-tinta);
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.aura-mdoc__totales {
    margin: 4px 0 16px;
    padding: 6px 16px;
    border-radius: 16px;
    background: var(--mf-fondo);
}
.aura-mdoc__totales > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 8px 0;
    color: var(--mf-suave);
    font-size: 13.5px;
}
.aura-mdoc__totales b {
    color: var(--mf-tinta);
    font-variant-numeric: tabular-nums;
}
.aura-mdoc__totales .aura-mdoc__total {
    border-top: 1px solid #dfe6ea;
    color: var(--mf-tinta);
    font-size: 15px;
    font-weight: 700;
}
.aura-mdoc__total strong {
    font-size: 20px;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
}
.aura-mdoc__relacionado {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-bottom: 8px;
    padding: 12px 14px;
    border: 1px solid var(--mf-linea);
    border-radius: 14px;
    color: var(--mf-tinta);
    background: #fff;
    font-size: 14.5px;
    font-weight: 650;
    text-align: left;
}
.aura-mdoc__relacionado > i:first-child {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: var(--mf-marca-osc);
    background: var(--mf-marca-suave);
}
.aura-mdoc__relacionado > span { flex: 1 1 auto; min-width: 0; }
.aura-mdoc__relacionado small {
    display: block;
    color: var(--mf-suave);
    font-size: 11.5px;
    font-weight: 600;
}
.aura-mdoc__relacionado > i:last-child { color: #b5c2ca; font-size: 12px; }
.aura-mdoc__relacionado:active { background: var(--mf-fondo); }

/* ---------- Artículos: tarjeta del listado y ficha (F3.1) ---------- */
.aura-mcard--articulo .aura-mcard__cabecera { align-items: flex-start; }
.aura-mcard.is-fija { cursor: default; }
.aura-mcard.is-fija:active { transform: none; }
.aura-mcard__media {
    display: grid;
    place-items: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    overflow: hidden;
    border: 1px solid var(--mcard-linea);
    border-radius: 12px;
    background: #fff;
}
.aura-mcard__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.aura-mcard__media--icono {
    border-color: transparent;
    color: var(--brand-primary-dark, #255b83);
    background: var(--brand-surface-bg, #e8f2fa);
    font-size: 19px;
}
.aura-mcard__ref {
    margin: 3px 0 0;
    color: var(--mcard-suave);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}
.aura-mcard__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    margin: 6px 0 0;
}
.aura-mcard__meta span {
    padding: 1px 7px;
    border-radius: 6px;
    color: var(--mcard-suave);
    background: #f1f5f7;
    font-size: 11px;
    font-weight: 600;
}
.aura-mcard__precio {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    padding-top: 1px;
    text-align: right;
}
.aura-mcard__precio strong {
    color: var(--mcard-tinta);
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.aura-mcard__precio span {
    color: var(--mcard-suave);
    font-size: 11px;
}

/* Ficha: imagen o icono, precio destacado y tarifas */
.aura-mficha__galeria {
    display: flex;
    gap: 8px;
    margin: -8px -6px 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.aura-mficha__galeria::-webkit-scrollbar { display: none; }
.aura-mficha__foto {
    flex: 0 0 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    aspect-ratio: 4 / 3;
    scroll-snap-align: center;
}
.aura-mficha__galeria.is-varias .aura-mficha__foto { flex-basis: 86%; }
.aura-mficha__foto img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.aura-mficha__galeria-nota {
    margin: -10px 0 12px;
    color: var(--mf-suave);
    font-size: 11.5px;
}
.aura-mficha__icono-articulo {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 12px;
    border-radius: 22px;
    color: var(--mf-marca-osc);
    background: var(--mf-marca-suave);
    box-shadow: 0 0 0 4px #fff, 0 6px 18px -6px rgba(15, 41, 61, 0.3);
    font-size: 28px;
}
.aura-mficha__precio {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 16px;
    background: var(--mf-fondo);
    text-align: left;
}
.aura-mficha__precio-etiqueta {
    display: block;
    margin-bottom: 2px;
    color: var(--mf-suave);
    font-size: 11.5px;
    font-weight: 600;
}
.aura-mficha__precio strong {
    color: var(--mf-tinta);
    font-size: 26px;
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}
.aura-mficha__precio-iva { text-align: right; }
.aura-mficha__precio-iva b {
    color: var(--mf-marca-osc);
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.aura-mficha__cuerpo { margin-top: 16px; }
.aura-mficha__tarifa {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px;
    padding: 8px 0;
}
.aura-mficha__tarifa + .aura-mficha__tarifa { border-top: 1px solid #eef2f4; }
.aura-mficha__tarifa-nombre {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    min-width: 0;
    font-size: 14px;
    font-weight: 600;
}
.aura-mficha__tarifa-nombre em {
    padding: 1px 7px;
    border-radius: 999px;
    color: #1b6b4b;
    background: #e4f5ee;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}
.aura-mficha__tarifa-precio {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
}
.aura-mficha__tarifa-precio strong {
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.aura-mficha__tarifa-precio span {
    color: var(--mf-suave);
    font-size: 11.5px;
    font-variant-numeric: tabular-nums;
}
.aura-mficha__chips--izq {
    justify-content: flex-start;
    margin-top: 2px;
}

/* ---------- Aviso de versión nueva (P0.2, app-pwa.js) ---------- */
.aura-pwa-version {
    position: fixed;
    left: max(10px, env(safe-area-inset-left, 0px));
    right: max(10px, env(safe-area-inset-right, 0px));
    bottom: calc(var(--mnav-alto, 62px) + var(--mnav-seguro, 0px) + 10px);
    z-index: 1032;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px 10px 14px;
    border-radius: 16px;
    color: #fff;
    background: var(--ui-ink, #172b28);
    box-shadow: 0 12px 30px -8px rgba(15, 41, 61, 0.45);
    animation: aura-pwa-entrar 0.25s ease-out;
}
.aura-pwa-version__icono {
    flex: 0 0 auto;
    color: #8cc4ef;
    font-size: 20px;
}
.aura-pwa-version__texto {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12.5px;
    line-height: 1.35;
    opacity: 0.92;
}
.aura-pwa-version__texto b {
    display: block;
    font-size: 14px;
    opacity: 1;
}
.aura-pwa-version__si {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 14px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--brand-primary, #3580bb);
    font-size: 14px;
    font-weight: 650;
}
.aura-pwa-version__si:disabled { opacity: 0.7; }
.aura-pwa-version__no {
    display: grid;
    flex: 0 0 36px;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.75);
    background: transparent;
}
.aura-pwa-version__si:focus-visible,
.aura-pwa-version__no:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
@keyframes aura-pwa-entrar {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .aura-mnav__laura:active i { transform: none; }
    .aura-pwa-version { animation: none; }
}
