/* AppKineo - estilos minimos de la capa PWA (banner de instalacion, estado offline, aviso de actualizacion,
   tarjeta de permiso de notificaciones y panel de preferencias). Todo con prefijo .akpwa- para no chocar con la app. */
:root {
  --akpwa-bg: #0E1A22; --akpwa-fg: #E8EEF5; --akpwa-muted: #9AA8B6; --akpwa-line: #243645;
  --akpwa-accent: #5EE3C1; --akpwa-accent-fg: #04120D; --akpwa-warn: #F2B84B; --akpwa-warn-fg: #1B1300;
}
@media (prefers-color-scheme: light) {
  :root { --akpwa-bg: #FFFFFF; --akpwa-fg: #14202B; --akpwa-muted: #566573; --akpwa-line: #D5DEE6; --akpwa-accent: #0E8F73; --akpwa-accent-fg: #FFFFFF; --akpwa-warn: #B97A00; --akpwa-warn-fg: #FFFFFF; }
}

.akpwa-bar {
  position: fixed; left: 0; right: 0; z-index: 2147483000;
  display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
  margin: 0 auto; max-width: 36rem; padding: .75rem 1rem;
  background: var(--akpwa-bg); color: var(--akpwa-fg); border: 1px solid var(--akpwa-line); border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .35); font: 14px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.akpwa-bar--bottom { bottom: calc(12px + env(safe-area-inset-bottom, 0px)); width: calc(100% - 24px); }
.akpwa-bar--top { top: calc(8px + env(safe-area-inset-top, 0px)); width: calc(100% - 24px); }
.akpwa-bar[hidden] { display: none; }
.akpwa-bar__text { flex: 1 1 14rem; min-width: 0; }
.akpwa-bar__title { font-weight: 650; display: block; }
.akpwa-bar__sub { color: var(--akpwa-muted); font-size: 13px; }
.akpwa-actions { display: flex; gap: .5rem; flex: 0 0 auto; }

.akpwa-btn {
  font: inherit; font-weight: 600; cursor: pointer; border-radius: 10px; padding: .55rem .95rem; min-height: 40px;
  border: 1px solid var(--akpwa-line); background: transparent; color: var(--akpwa-fg);
}
.akpwa-btn--primary { background: var(--akpwa-accent); color: var(--akpwa-accent-fg); border-color: transparent; }
.akpwa-btn:focus-visible { outline: 3px solid var(--akpwa-accent); outline-offset: 2px; }
.akpwa-btn[disabled] { opacity: .6; cursor: default; }

/* Estado sin conexion: franja fija arriba */
.akpwa-offline {
  position: fixed; top: 0; left: 0; right: 0; z-index: 2147483001; text-align: center;
  padding: calc(.35rem + env(safe-area-inset-top, 0px)) 1rem .35rem; background: var(--akpwa-warn); color: var(--akpwa-warn-fg);
  font: 600 13px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.akpwa-offline[hidden] { display: none; }

/* Tarjeta para pedir permiso de notificaciones (se muestra dentro del contenedor que elija la app) */
.akpwa-card {
  background: var(--akpwa-bg); color: var(--akpwa-fg); border: 1px solid var(--akpwa-line); border-radius: 14px; padding: 1rem;
  font: 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.akpwa-card h3 { margin: 0 0 .25rem; font-size: 1rem; }
.akpwa-card p { margin: 0 0 .75rem; color: var(--akpwa-muted); }
.akpwa-card .akpwa-actions { flex-wrap: wrap; }
.akpwa-msg { margin-top: .6rem; color: var(--akpwa-muted); font-size: 13px; min-height: 1.2em; }

/* Panel de preferencias */
.akpwa-prefs { display: grid; gap: .75rem; }
.akpwa-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .35rem 0; border-bottom: 1px solid var(--akpwa-line); }
.akpwa-row:last-child { border-bottom: 0; }
.akpwa-row label { flex: 1 1 auto; }
.akpwa-row small { display: block; color: var(--akpwa-muted); }
.akpwa-prefs input[type="time"], .akpwa-prefs select {
  font: inherit; color: var(--akpwa-fg); background: transparent; border: 1px solid var(--akpwa-line); border-radius: 8px; padding: .35rem .5rem; min-height: 38px;
}
.akpwa-prefs input[type="checkbox"] { width: 1.3rem; height: 1.3rem; accent-color: var(--akpwa-accent); }

@media (prefers-reduced-motion: no-preference) {
  .akpwa-bar { animation: akpwa-in .22s ease-out; }
  @keyframes akpwa-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}
