/* Quiet, readable account updates; the same navy and mint as the main menu. */
html body main.app-shell #notificationHub {
  --notification-top: calc(max(12px, env(safe-area-inset-top)) + 60px);
  top: var(--notification-top) !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  left: auto !important;
  width: min(420px, calc(100vw - 36px)) !important;
  max-width: none !important;
  max-height: min(640px, calc(var(--mymappi-visible-height, 100dvh) - var(--notification-top) - env(safe-area-inset-bottom) - 20px)) !important;
  padding: 18px !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  gap: 12px !important;
  border: 1px solid #36586e !important;
  border-radius: 24px !important;
  color: #f9fcff !important;
  background: var(--mymappi-action-navy, #00243f) !important;
  box-shadow: 0 18px 48px rgba(0, 24, 43, .24) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
}
html body main.app-shell #notificationHub[hidden],
html body main.app-shell #notificationHub [hidden] { display: none !important; }
html body main.app-shell #notificationHub .notification-heading {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) 44px !important;
  padding: 0 !important; gap: 10px !important;
}
html body main.app-shell #notificationHub .notification-heading::before { display: none !important; content: none !important; }
html body main.app-shell #notificationHub .notification-heading-icon {
  display: grid; place-items: center; width: 36px; height: 40px;
  color: #75d9c3; background: transparent;
}
html body main.app-shell #notificationHub .notification-heading-icon svg { width: 25px; height: 25px; }
html body main.app-shell #notificationHub .notification-heading > div { gap: 4px !important; }
html body main.app-shell #notificationHub .notification-heading > div > span {
  color: #b8d0dd !important; font-size: 11px !important; font-weight: 650 !important;
  line-height: 1.3 !important; letter-spacing: .01em !important; text-transform: none !important;
}
html body main.app-shell #notificationHub .notification-heading > div > strong {
  font-size: 19px !important; line-height: 1.3 !important; font-weight: 750 !important;
}
html body main.app-shell #notificationHub .notification-close {
  display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px;
  padding: 0; border: 1px solid #48667b; border-radius: 50%;
  color: #fff; background: transparent; box-shadow: none; cursor: pointer;
}
html body main.app-shell #notificationHub .notification-close svg { width: 20px; height: 20px; }
html body main.app-shell #notificationHub .notification-summary {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  min-height: 44px; padding-bottom: 10px; border-bottom: 1px solid #29495f;
}
html body main.app-shell #notificationHub .notification-summary > span {
  color: #b8d0dd; font-size: 12px; font-weight: 650; line-height: 1.4;
}
html body main.app-shell #notificationHub .notification-mark-all {
  min-height: 44px !important; padding: 8px 12px !important; border-radius: 12px !important;
  border: 1px solid #365f70 !important; color: #abeddd !important;
  font-size: 12px !important; line-height: 1.3 !important; font-weight: 700 !important;
  background: #12394c !important; box-shadow: none !important;
}
html body main.app-shell #notificationHub .notification-list {
  max-height: none !important; gap: 8px !important; padding: 2px !important;
  grid-auto-rows: max-content !important;
  align-content: start; scrollbar-color: #75d9c3 #00243f !important;
}
html body main.app-shell #notificationHub .notification-card {
  grid-template-columns: 36px minmax(0, 1fr) 6px !important;
  align-items: start !important; gap: 10px !important; min-height: 80px !important;
  height: auto !important; max-height: none !important;
  padding: 12px !important; border-radius: 16px !important;
  border: 1px solid #2b4c61 !important; background: #0a2e46 !important;
  box-shadow: none !important; opacity: 1 !important; transform: none !important;
}
html body main.app-shell #notificationHub .notification-card.is-unread {
  border-color: #477a82 !important; background: #103b50 !important;
}
html body main.app-shell #notificationHub .notification-card:hover { background: #19475b !important; }
html body main.app-shell #notificationHub .notification-card-topline {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px !important;
}
html body main.app-shell #notificationHub .notification-card-topline strong {
  font-size: 14px !important; line-height: 1.4 !important; font-weight: 700 !important;
  white-space: normal !important; overflow: visible !important; overflow-wrap: anywhere;
}
html body main.app-shell #notificationHub .notification-card-topline time {
  color: #afc8d7 !important; font-size: 11px !important; line-height: 1.8 !important;
}
html body main.app-shell #notificationHub .notification-card-copy > small {
  display: block !important; overflow: visible !important; overflow-wrap: anywhere;
  -webkit-line-clamp: unset !important;
  color: #c4d8e3 !important; font-size: 13px !important; line-height: 1.5 !important;
}
html body main.app-shell #notificationHub .notification-icon {
  width: 36px !important; height: 36px !important; border-radius: 12px !important;
  border: 1px solid #365f70 !important; color: #abeddd !important;
  background: #174658 !important; box-shadow: none !important;
}
html body main.app-shell #notificationHub .notification-icon.sync { color: #ffe0a3 !important; }
html body main.app-shell #notificationHub .notification-card-unread {
  width: 6px !important; height: 6px !important; margin-top: 7px;
  background: #75d9c3 !important; box-shadow: none !important;
}
html body main.app-shell #notificationHub .notification-empty-state {
  min-height: 176px !important; padding: 26px 18px !important; gap: 10px !important;
  border: 1px solid #2b4c61 !important; background: #0a2e46 !important;
}
html body main.app-shell #notificationHub .notification-empty-state strong { font-size: 16px !important; }
html body main.app-shell #notificationHub .notification-empty-state small { color: #c4d8e3 !important; font-size: 13px !important; line-height: 1.5; }
html body main.app-shell #notificationHub .notification-private-note {
  flex-wrap: wrap; justify-content: space-between !important; gap: 4px 10px !important;
  padding-top: 10px; border-top: 1px solid #29495f;
  color: #b8d0dd !important; font-size: 11px !important; line-height: 1.4;
}
html body main.app-shell #notificationHub .notification-private-copy { display: inline-flex; align-items: center; gap: 6px; }
html body main.app-shell #notificationHub .notification-settings-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 44px !important; padding: 8px 10px !important;
  color: #abeddd !important; background: transparent !important; border: 1px solid transparent !important;
  border-radius: 12px !important; font-size: 12px !important; font-weight: 650 !important; box-shadow: none !important;
  width: auto !important; max-width: none !important;
}
html body main.app-shell #notificationHub .notification-settings-button > span { display: inline !important; }
html body main.app-shell #notificationHub .sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap;
}
html body main.app-shell #notificationHub .notification-settings-button svg { width: 16px !important; height: 16px !important; }
html body main.app-shell #notificationHub button:hover { border-color: #75d9c3 !important; }
html body main.app-shell #notificationHub button:focus-visible { outline: 2px solid #75d9c3 !important; outline-offset: -3px !important; }
html body main.app-shell #notificationButton .notification-unread-count {
  color: #00243f !important; background: #75d9c3 !important;
  border-color: #00243f !important; box-shadow: none !important;
}
@media (max-width: 720px) {
  html body main.app-shell #notificationHub {
    right: max(12px, env(safe-area-inset-right)) !important;
    width: calc(100vw - max(12px, env(safe-area-inset-left)) - max(12px, env(safe-area-inset-right))) !important;
    padding: 14px !important; border-radius: 22px !important;
  }
}
@media (max-width: 360px) {
  html body main.app-shell #notificationHub .notification-heading { grid-template-columns: 28px minmax(0, 1fr) 44px !important; gap: 8px !important; }
  html body main.app-shell #notificationHub .notification-heading-icon { width: 28px; }
  html body main.app-shell #notificationHub .notification-heading > div > strong { font-size: 17px !important; }
  html body main.app-shell #notificationHub .notification-card { grid-template-columns: 30px minmax(0, 1fr) 6px !important; padding: 10px !important; gap: 8px !important; }
  html body main.app-shell #notificationHub .notification-icon { width: 30px !important; height: 32px !important; }
  html body main.app-shell #notificationHub .notification-card-topline { grid-template-columns: minmax(0, 1fr); gap: 2px !important; }
  html body main.app-shell #notificationHub .notification-private-note { justify-content: center !important; }
}
/* Match Account's centered reading frame on a sideways phone. Header and
   footer stay reachable while only the updates list scrolls. */
@media (orientation: landscape) and (max-height: 520px) {
  html body main.app-shell section.map-stage #notificationHub {
    --notification-top: calc(max(10px, env(safe-area-inset-top)) + 54px);
    top: var(--notification-top) !important;
    left: 50% !important;
    right: auto !important;
    width: min(760px, calc(100vw - 2 * max(16px, env(safe-area-inset-left), env(safe-area-inset-right)))) !important;
    max-height: calc(var(--mymappi-visible-height, 100dvh) - var(--notification-top) - var(--bottom-nav-height, 60px) - max(8px, env(safe-area-inset-bottom)) - 8px) !important;
    padding: 8px 14px !important;
    gap: 6px !important;
    grid-template-columns: minmax(0, 1fr) max-content 44px !important;
    grid-template-rows: max-content minmax(0, 1fr) max-content !important;
    grid-template-areas: "heading summary ." "updates updates updates" "footer footer footer" !important;
    border-radius: 20px !important;
    transform: translateX(-50%) !important;
    overflow: hidden !important;
  }
  html body main.app-shell #notificationHub .notification-heading {
    grid-area: heading !important;
    position: static !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    min-height: 44px !important;
    align-items: center !important;
  }
  html body main.app-shell #notificationHub .notification-close {
    position: absolute !important;
    top: 8px !important;
    right: 14px !important;
  }
  html body main.app-shell #notificationHub .notification-heading > div {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px 10px !important;
  }
  html body main.app-shell #notificationHub .notification-heading > div > strong { font-size: 18px !important; }
  html body main.app-shell #notificationHub .notification-summary {
    grid-area: summary !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
  }
  html body main.app-shell #notificationHub .notification-list { grid-area: updates !important; min-height: 0 !important; overflow-y: auto !important; }
  html body main.app-shell #notificationHub .notification-empty-state {
    min-height: 0 !important;
    padding: 12px !important;
    gap: 6px !important;
  }
  html body main.app-shell #notificationHub .notification-private-note { grid-area: footer !important; padding-top: 4px !important; }
}
