/* amaru — pestañas a pantalla completa + inicio con semáforo (2026-10-03, segunda versión).
 * Alfonso: "que todas las pantallas sean completas, como de un tab a otro tab, sin ver nada
 * atrás" y "me gusta el semáforo, pero si quiero ver, tengo todo el detalle".
 * Va DESPUÉS de app.css y solo en el app (body.shell): app.css lo comparten rios, ruta y paute. */

.shell{--arriba:calc(56px + env(safe-area-inset-top))}

/* ---------- Cada pestaña ocupa todo entre la barra de arriba y la de abajo ---------- */
.shell .vista,
.shell #chat,
.shell #hotspots{position:fixed;top:var(--arriba);bottom:var(--barra);left:0;right:0;z-index:970;
  animation:vistaEntra .2s ease-out}
.shell .vista{background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
@keyframes vistaEntra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.shell .vista,.shell #chat,.shell #hotspots{animation:none}}

/* lo del mapa solo en la pestaña del mapa */
.shell:not([data-tab="mapa"]) #alertbar,
.shell:not([data-tab="mapa"]) #btnCapas,
.shell:not([data-tab="mapa"]) #capas,
.shell:not([data-tab="mapa"]) #amaru-banner.flota{display:none !important}

/* el inicio viejo era una hoja sobre el mapa: ahora es una pestaña más */
.shell #inicio{left:0;right:0;width:auto;bottom:var(--barra);max-height:none;border-radius:0;box-shadow:none;padding:0;
  z-index:970;background:var(--bg);overflow-y:auto}
.shell #inicio .panel-handle{display:none}
#inicio-body{max-width:560px;margin:0 auto;padding:12px 16px 28px}

/* Apagones y riesgo de inundación: las páginas de Mazar y de la costa, dentro de la pestaña */
#vista-apagones,#vista-inundaciones{overflow:hidden}
#vista-apagones iframe,#vista-inundaciones iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:transparent}
#vista-apagones .cargando,#vista-inundaciones .cargando{padding:40px 16px;text-align:center;color:var(--gris)}

/* Preguntar y Alertas: los modales de antes, ahora pantallas */
.shell #chat,.shell #hotspots{background:#fff;align-items:stretch;justify-content:center}
.shell #chat .modal-card,.shell #hotspots .modal-card{max-width:640px;height:auto;max-height:none;border-radius:0;box-shadow:none;
  padding:14px 16px 12px;background:#fff}
.shell #chat-x{display:none}
.shell .chat-head b{font-size:17px}
.chat-ej{padding:4px 0 2px}
.chat-ej.oculto{display:none !important}

/* barra de abajo: la pestaña activa se marca con una pastilla, como en los apps */
.shell #barra button span{padding:2px 16px;border-radius:14px;transition:background .15s}
.shell #barra button.activo span{background:#e6f0fa}

/* ---------- Cabecera del lugar ---------- */
.ini-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.ini-top .ini-lugar{min-width:0}
.ini-top .ini-lugar b{display:block;font-size:17px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ini-top .ini-lugar small{display:block;font-size:13px;color:var(--gris);font-weight:500;margin-top:1px}
.ini-top .ini-lugar small::first-letter{text-transform:uppercase}
.ini-cambiar{flex:none;background:#fff;border:1.5px solid #d5dee8;border-radius:16px;padding:6px 12px;font:inherit;
  font-size:13px;font-weight:700;color:var(--azul);cursor:pointer}

/* ---------- Semáforo ---------- */
.s-verde   {--s:#00a86b;--s-osc:#00794d;--s-suave:#dcf3ea}
.s-amarillo{--s:#f5c000;--s-osc:#8a6a00;--s-suave:#fdf1c4}
.s-naranja {--s:#f5803e;--s-osc:#b85414;--s-suave:#fde3d1}
.s-rojo    {--s:#e63757;--s-osc:#b3203d;--s-suave:#fbd9df}
.s-gris,.s-apagado{--s:#a3b0bc;--s-osc:#5b6976;--s-suave:#e8edf2}

.sem{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 0 2px}
.sem-luz{width:144px;height:144px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.45),rgba(255,255,255,0) 48%),var(--s);
  box-shadow:0 0 0 12px var(--s-suave),0 16px 34px -12px var(--s)}
.s-amarillo .sem-luz{color:#4a3b00}
.sem-luz svg{width:60px;height:60px}
.s-cargando .sem-luz{animation:latido 1.3s ease-in-out infinite}
@keyframes latido{50%{transform:scale(.94);opacity:.65}}
.sem-palabra{margin-top:22px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--s-osc)}
.sem-escala{display:flex;gap:7px;margin-top:9px;background:none;border:0;padding:4px 6px;cursor:pointer}
.sem-escala i{width:8px;height:8px;border-radius:50%;opacity:.3;transition:transform .2s}
.sem-escala i:nth-child(1){background:#00a86b} .sem-escala i:nth-child(2){background:#f5c000}
.sem-escala i:nth-child(3){background:#f5803e} .sem-escala i:nth-child(4){background:#e63757}
.sem-escala i.on{opacity:1;transform:scale(1.45)}
.sem-tit{font-size:24px;font-weight:800;line-height:1.2;margin-top:10px;text-wrap:balance;color:var(--tinta)}
.sem-sub{font-size:15px;line-height:1.45;color:#33414d;margin-top:6px;max-width:36ch;text-wrap:pretty}

/* lo que viene (mañana y pasado), debajo del color de hoy */
.viene{margin-top:16px;border-radius:14px;padding:11px 13px;background:#fff;border:1px solid var(--linea);display:grid;gap:6px}
.viene.v-ojo{background:#fff5ec;border-color:#f6c9a5}
.viene-t{font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--azul2)}
.viene.v-ojo .viene-t{color:#b85414}
.viene-l,.viene.v-bien{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.4}
.viene-l > span:first-child,.viene.v-bien > span:first-child{font-size:17px;line-height:1.2;flex:none}
/* riesgo de inundación de su sector: primera línea de la caja, con el color de su nivel */
.viene.v-inu2,.viene.v-inu3{background:#fff1e8;border-color:#f6b98f}
.viene.v-inu3{background:#fde6ea;border-color:#f2a3b2}
.viene.v-inu3 .viene-t{color:#b3203d}
.viene-inu small{color:var(--gris);font-weight:500}

.sem-acc{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:16px}
.sem-btn{display:block;width:100%;text-align:center;text-decoration:none;background:var(--azul);color:#fff;border:0;
  border-radius:14px;padding:15px;font:inherit;font-size:16px;font-weight:800;cursor:pointer}
.sem-btn:active,.fila:active,.ini-cambiar:active{transform:scale(.98)}
.sem-sigue{display:inline-flex;align-items:center;gap:6px;background:#dcf3ea;color:#00794d;border-radius:20px;
  padding:7px 13px;font-size:13.5px;font-weight:700}
.sem-mas{display:inline-flex;align-items:center;gap:4px;background:none;border:0;color:var(--azul2);font:inherit;
  font-size:14px;font-weight:700;padding:8px 10px;cursor:pointer}
.sem-mas svg{width:18px;height:18px;animation:bajar 2.2s ease-in-out 1s 3}
@keyframes bajar{0%,100%{transform:none}50%{transform:translateY(3px)}}

@media (max-height:700px){
  .sem{padding-top:6px} .sem-luz{width:112px;height:112px} .sem-luz svg{width:48px;height:48px}
  .sem-palabra{margin-top:18px} .sem-tit{font-size:21px}
}

/* ---------- El detalle ---------- */
.det{padding-top:8px;scroll-margin-top:8px}
.det-tit{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gris);margin:22px 2px 8px}
.det-caja{background:#fff;border-radius:16px;padding:14px}
.det-res{font-size:14px;line-height:1.4;margin-bottom:12px}
.det-aviso{color:var(--gris);font-size:14px;margin-top:20px}

/* hora por hora */
.horas{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
.hr{display:flex;flex-direction:column;align-items:center;min-width:0}
.hr b{font-size:10px;font-weight:700;color:var(--gris);height:14px;font-variant-numeric:tabular-nums}
.hr-b{height:70px;width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--linea)}
.hr-b i{display:block;width:100%;max-width:18px;border-radius:5px 5px 2px 2px}
.hr-b i.cero{height:3px;background:#e4e9ee;border-radius:2px}
.hr-b i.n1{background:#bfe7ee} .hr-b i.n2{background:#5fcbd9} .hr-b i.n3{background:#14a3b6}
.hr-b i.n4{background:#12508f} .hr-b i.n-t{background:#6d3fb0}
.hr span{font-size:10.5px;color:var(--gris);margin-top:5px;height:13px;white-space:nowrap;font-variant-numeric:tabular-nums}

/* los tres días */
.d3s{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.d3{background:#fff;border-radius:16px;padding:12px 10px;display:flex;flex-direction:column;gap:2px;border:1.5px solid transparent}
.d3.ojo{border-color:#f6c9a5;background:#fffaf5}
.d3-n{font-weight:800;font-size:14px}
.d3-e{font-size:26px;line-height:1.25}
.d3-mm{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
.d3-t{font-size:12.5px;color:#4a5866;line-height:1.3}
.d3-temp{font-size:12.5px;color:var(--gris);margin-top:auto;padding-top:6px;font-variant-numeric:tabular-nums}

/* lo que revisamos (el mismo resumen de la ficha del mapa) */
.rev{background:#fff;border-radius:16px;padding:2px 14px}
.rev-it{display:grid;grid-template-columns:24px minmax(0,1fr) 10px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--linea)}
.rev-e{font-size:18px;text-align:center}
.rev-x b{display:block;font-size:14px;line-height:1.3}
.rev-x small{display:block;font-size:12.5px;color:var(--gris);line-height:1.35;margin-top:1px}
.rev-it i{width:10px;height:10px;border-radius:50%;background:#c9d2db}
.rev-it.r-ok i{background:#00a86b} .rev-it.r-ojo i{background:#f5c000} .rev-it.r-aviso i{background:#e63757}
.rev-pie{font-size:12px;color:var(--gris);padding:10px 0 12px;line-height:1.4}

/* filas que llevan a otra pestaña */
.filas{display:grid;gap:8px}
.fila{display:flex;align-items:center;gap:11px;width:100%;background:#fff;border:0;border-radius:14px;padding:13px 14px;
  font:inherit;font-size:14px;line-height:1.35;color:var(--tinta);text-align:left;cursor:pointer}
.fila > span:first-child{font-size:18px;flex:none}
.fila em{margin-left:auto;font-style:normal;font-size:20px;color:var(--gris);flex:none;padding-left:4px}

.det .ini-preg input{background:#fff}
.det-links{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:16px}
.det-links .ini-link{text-decoration:none;padding:8px 0}
.det-app{display:flex;align-items:center;gap:12px;background:var(--azul);color:#fff;border-radius:16px;padding:13px 14px;
  text-decoration:none;margin-top:16px}
.det-app > span:first-child{font-size:24px}
.det-app b{display:block;font-size:14.5px}
.det-app small{display:block;font-size:12.5px;opacity:.85}
.det-app em{margin-left:auto;font-style:normal;background:#f5c000;color:#0b3a66;font-weight:800;border-radius:18px;padding:7px 12px;font-size:13px;flex:none}

/* ---------- Bienvenida (aún no hay lugar) ---------- */
.bienv{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:4vh}
.bienv .sem{padding-top:8px}
.bienv-tit{font-size:24px;font-weight:800;line-height:1.2;margin-top:34px;text-wrap:balance}
.bienv-sub{font-size:15px;line-height:1.45;color:#33414d;margin:8px 0 20px;max-width:34ch}
.bienv .ini-preg{width:100%}
.bienv .ini-preg input{background:#fff}
.bienv-links{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:14px}
.bienv-links .ini-link{padding:8px 0}
.bienv .ini-o{margin:16px 0 10px}
