/* Panel de administración. Celular, tablet de 10" y escritorio: el diseño parte de una columna y crece. */

:root {
    --bs-primary: #0b5fa5;
    --bs-primary-rgb: 11, 95, 165;
    --bs-link-color: #0b5fa5;
}

.btn-primary {
    --bs-btn-bg: #0b5fa5;
    --bs-btn-border-color: #0b5fa5;
    --bs-btn-hover-bg: #094d86;
    --bs-btn-hover-border-color: #094d86;
    --bs-btn-active-bg: #083f6d;
    --bs-btn-disabled-bg: #0b5fa5;
}

.bg-primary { background-color: #0b5fa5 !important; }
.text-bg-primary { background-color: #0b5fa5 !important; }

/* El texto largo (correos, direcciones, subdominios) no debe ensanchar la página en pantallas angostas. */
main { overflow-wrap: anywhere; }

/* Zonas táctiles cómodas (mínimo 44 px) en pantallas de dedo: celular y tableta. */
@media (pointer: coarse) {
    .btn, .form-control, .form-select { min-height: 44px; }
    .form-check-input { width: 1.4em; height: 1.4em; }
    .nav-link, .breadcrumb a { padding-top: .5rem; padding-bottom: .5rem; }
    .list-group-item { padding-top: .85rem; padding-bottom: .85rem; }
}

.form-control-color { min-height: 44px; }

.tarjeta-clinica:active,
.tarjeta-clinica:focus-visible { outline: 2px solid var(--bs-primary); }

.logo-clinica {
    max-width: 160px;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.vista-logo {
    max-width: 200px;
    max-height: 100px;
    width: auto;
    height: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: .375rem;
    padding: .25rem;
    background: #fff;
}

/* En celular los botones de guardar quedan a la vista al final de la pantalla. */
.acciones-fijas {
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin-inline: calc(var(--bs-gutter-x, 1.5rem) * -.5);
    padding: .75rem calc(var(--bs-gutter-x, 1.5rem) * .5);
    background: rgba(255, 255, 255, .96);
    border-top: 1px solid var(--bs-border-color);
    padding-bottom: max(.75rem, env(safe-area-inset-bottom));
}

@media (min-width: 768px) {
    .acciones-fijas { position: static; background: transparent; border-top: 0; margin-inline: 0; padding-inline: 0; }
}

/* Que ningún ancho fijo fuerce scroll horizontal. */
img, svg { max-width: 100%; }
html { -webkit-text-size-adjust: 100%; }

@media (prefers-reduced-motion: reduce) {
    * { scroll-behavior: auto !important; transition: none !important; }
}

/* Portal de la clínica: logo en la barra (sobre fondo blanco, para que se vea con cualquier color) y en el ingreso */
.portal-logo { height: 32px; width: auto; max-width: 120px; object-fit: contain; background: #fff; border-radius: .25rem; padding: 2px 4px; }
.portal-logo-grande { max-height: 96px; width: auto; max-width: 100%; object-fit: contain; }

/* Pacientes: sugerencias del buscador de obras sociales */
.lista-sugerencias { max-height: 16rem; }
.lista-sugerencias .list-group-item { cursor: pointer; }

/* Texto largo escrito por personas o por el agente: respeta los saltos de línea sin interpretar HTML. */
.texto-pre { white-space: pre-line; }
