/* Emergencias: contraste por tema y llamada de acceso inmediato. */
.emergencias-view { padding-bottom: 2rem; }
.emergencias-view .em-hero { margin: 1rem 0 1.5rem; padding: 1.5rem 1rem 1rem; border: 1px solid var(--border); border-top: 5px solid var(--danger); border-radius: 4px 28px 28px 28px; background: var(--bg-secondary); }
.emergencias-view .em-hero::before { display: none; }
.emergencias-view .em-hero .label { color: var(--danger); }
.emergencias-view .em-hero h1 { font-size: 32px; }
.emergencias-view .em-aviso { display: flex; align-items: center; margin: 1.25rem 0 0; padding: .75rem; border: 1px solid var(--danger); border-radius: 4px 14px 14px 14px; background: var(--surface); color: var(--text-primary); }
.emergencias-view .em-aviso > .lucide { width: 26px; height: 26px; margin-right: .75rem; color: var(--danger); }
.emergencias-view .em-aviso a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--danger); text-decoration: underline; }
.emergencias-view .dir-toolbar select { min-height: 44px; max-width: 100%; }
.emergencias-view .btn, .em-modal .btn { gap: 0; }
.emergencias-view .btn > .lucide, .em-modal .btn > .lucide { margin-right: .5rem; }
.emergencias-view .empty-state .btn, .em-modal .modal-footer .btn { white-space: normal; max-width: 100%; }
.em-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.em-card { display: flex; flex-direction: column; min-width: 0; padding: 1.25rem; border: 1px solid var(--border); border-radius: 4px 24px 24px 24px; background: var(--surface); box-shadow: 0 4px 18px var(--shadow); }
.em-card--911 { border: 2px solid var(--danger); border-top-width: 6px; }
.em-card-head { display: flex; align-items: center; }
.em-card-head > div { min-width: 0; }
.em-icono { display: flex; align-items: center; justify-content: center; flex: 0 0 52px; height: 52px; margin-right: .8rem; border-radius: 4px 16px 16px 16px; color: var(--accent); background: var(--accent-soft); }
.em-icono .lucide { width: 28px; height: 28px; }
.em-card--911 .em-icono { color: var(--danger); background: var(--bg-secondary); }
.em-card h2 { margin: .25rem 0 0; font-size: 20px; overflow-wrap: anywhere; word-wrap: break-word; }
.em-numero { margin: 1rem 0 .5rem; color: var(--text-primary); font-size: 40px; line-height: 1.15; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.035em; overflow-wrap: anywhere; word-wrap: break-word; }
.em-card--911 .em-numero { font-size: 64px; color: var(--danger); }
.em-localidad { display: flex; align-items: flex-start; color: var(--text-secondary); font-size: 14px; margin-bottom: 1.25rem; }
.em-localidad .lucide { width: 17px; height: 17px; margin: .2rem .35rem 0 0; color: var(--lake); }
.em-acciones { display: flex; flex-wrap: wrap; margin: auto -.25rem -.25rem; padding-top: .25rem; }
.em-acciones .btn { min-height: 56px; margin: .25rem; }
.em-llamar { flex: 1 1 100px; font-size: 18px; }
.em-copiar { flex: 1 1 90px; }
.em-admin { display: flex; justify-content: flex-end; flex-wrap: wrap; margin-top: .75rem; padding-top: .5rem; border-top: 1px solid var(--border); }
.em-admin .link-btn { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem; margin-left: .4rem; }
.em-admin .lucide { width: 17px; height: 17px; margin-right: .35rem; }
.em-baja { color: var(--danger); }
.em-vacio { grid-column: 1 / -1; }
.em-vacio > .lucide { width: 42px; height: 42px; margin-bottom: 1rem; color: var(--lake); }
.em-cargando-mas { min-height: 90px; margin-top: 1rem; }
.em-copia-aux { position: fixed; top: 0; left: -9999px; font-size: 16px; }
.em-modal .modal-body { min-height: 0; }
.em-modal .modal-footer { flex-shrink: 0; flex-wrap: wrap; gap: 0; padding: .75rem; }
.em-modal .modal-footer .btn { min-height: 44px; margin: .25rem; }
.em-card h2, .em-numero, .em-localidad, .em-modal p, .emergencias-view .em-aviso strong { -webkit-user-select: text; user-select: text; }
.emergencias-view .btn:focus-visible, .em-card .link-btn:focus-visible { outline: 3px solid var(--lake); outline-offset: 3px; }
@media (min-width: 700px) {
  .emergencias-view .em-hero { padding: 2rem 1.5rem 1.25rem; }
  .emergencias-view .em-hero h1 { font-size: 44px; }
  .em-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .em-card--911 { grid-column: 1 / -1; }
  .em-card--911 .em-acciones { max-width: 480px; }
}
@media (min-width: 1050px) {
  .em-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
  .em-numero { font-size: 34px; }
  .em-card { padding: 1rem; }
}
@media (max-width: 768px) {
  .em-modal .modal-footer { padding-bottom: calc(.75rem + env(safe-area-inset-bottom)); }
}
