/* v142.0 — Notifications Center : deux volets, morph au scroll, listes longues fluides. */

/* L'ancienne alerte séparée n'existe plus. Protection pour anciens caches. */
#alert-open,
#alert-sheet,
#alert-badge { display:none !important; }

.v142-notification-panel {
  box-sizing:border-box !important;
  width:min(720px, 100%) !important;
  height:min(84dvh, 760px) !important;
  max-height:min(84dvh, 760px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:16px 18px calc(var(--safe-bottom, 0px) + 82px) !important;
}

.v142-notification-head.notification-head {
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(72px,1fr) minmax(0,2fr) minmax(72px,1fr) !important;
  align-items:start !important;
  gap:8px !important;
  margin:0 !important;
  padding:1px 0 10px !important;
}
.v142-notification-head #notification-close {
  grid-column:1 !important;
  justify-self:start !important;
  align-self:start !important;
  margin:0 !important;
}
.v142-notification-heading {
  grid-column:2 !important;
  min-width:0 !important;
  text-align:center !important;
}
.v142-notification-heading .settings-sheet-title {
  margin:0 !important;
  font-size:clamp(25px, 5vw, 34px) !important;
  line-height:1.05 !important;
}
.v142-notification-heading .settings-sheet-subtitle {
  margin:5px auto 0 !important;
  max-width:320px !important;
  color:var(--muted, #6f7891) !important;
  font-size:13px !important;
  line-height:1.28 !important;
}
.v142-head-balance { grid-column:3 !important; }

/* Même langage visuel que Charges récurrentes / Dépenses variables. */
.v142-notification-tabs {
  --nt-notifications-fr:1fr;
  --nt-alerts-fr:1fr;
  --nt-gap:20px;
  --nt-underline-inset:16%;
  --nt-inactive-opacity:1;
  --nt-active-size:13px;
  position:relative !important;
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,var(--nt-notifications-fr)) minmax(0,var(--nt-alerts-fr)) !important;
  gap:var(--nt-gap) !important;
  width:100% !important;
  border:0 !important;
  border-bottom:1px solid var(--ui-border, var(--line, #e7eaee)) !important;
  background:color-mix(in srgb, var(--paper, #fff) 94%, transparent) !important;
  transition:grid-template-columns 70ms linear, gap 70ms linear, box-shadow 180ms ease, background-color 180ms ease !important;
  z-index:3 !important;
}
.v142-notification-tabs.is-scrolled {
  background:color-mix(in srgb, var(--paper, #fff) 86%, transparent) !important;
  -webkit-backdrop-filter:blur(18px) saturate(150%) !important;
  backdrop-filter:blur(18px) saturate(150%) !important;
  box-shadow:0 10px 20px rgba(20,28,35,.055) !important;
}
.v142-notification-tabs button {
  position:relative !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  padding:3px 4px 10px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--ui-muted, var(--muted)) !important;
  font:inherit !important;
  overflow:hidden !important;
  opacity:var(--nt-inactive-opacity) !important;
  transition:opacity 90ms linear, color 180ms ease, transform 180ms cubic-bezier(.22,.8,.24,1) !important;
}
.v142-notification-tabs button.active {
  color:var(--ink, var(--text)) !important;
  opacity:1 !important;
}
.v142-notification-tabs button::after {
  content:'' !important;
  position:absolute !important;
  left:var(--nt-underline-inset) !important;
  right:var(--nt-underline-inset) !important;
  bottom:-1px !important;
  height:2px !important;
  border-radius:999px !important;
  background:transparent !important;
  transition:left 90ms linear, right 90ms linear, background-color 160ms ease !important;
}
.v142-notification-tabs button.active::after { background:var(--accent-user, var(--ca-accent)) !important; }
.v142-notification-tabs.is-maximized button:not(.active) { opacity:0 !important; pointer-events:none !important; }
.v142-notification-tabs button.active .v142-tab-title { font-size:var(--nt-active-size) !important; }
.v142-tab-stack {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  width:100% !important;
  min-width:0 !important;
}
.v142-tab-title {
  display:block !important;
  width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  text-align:center !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.08 !important;
  transition:font-size 90ms linear !important;
}
.v142-tab-count {
  display:block !important;
  width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  text-align:center !important;
  color:var(--muted, #6f7891) !important;
  font-size:10.5px !important;
  font-weight:650 !important;
  line-height:1.05 !important;
}
.v142-notification-tabs button.active .v142-tab-count { color:color-mix(in srgb, var(--ink) 70%, var(--muted) 30%) !important; }

.v142-notification-toolbar {
  flex:0 0 auto !important;
  min-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:16px !important;
  padding:6px 2px 5px !important;
  border-bottom:1px solid rgba(23,34,49,.055) !important;
}
.v142-notification-toolbar .profile-text-button {
  min-height:28px !important;
  padding:0 !important;
  white-space:nowrap !important;
}

.v142-notification-stage {
  position:relative !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}
.v142-notification-scroll {
  box-sizing:border-box !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
  padding:2px 0 20px !important;
  outline:none !important;
}
.v142-notification-scroll::-webkit-scrollbar { display:none !important; }
.v142-notification-scroll[hidden] { display:none !important; }

/* Les sous-listes ne scrollent plus chacune de leur côté : un seul scroll naturel par volet. */
.v142-notification-scroll .notification-list,
.v142-notification-scroll .household-activity-list {
  max-height:none !important;
  overflow:visible !important;
}
.v142-notification-scroll .notification-list { display:block !important; }
.v142-notification-scroll .notification-row,
.v142-notification-scroll #alert-list .alert-row {
  min-height:58px !important;
  padding:13px 0 !important;
}
.v142-notification-scroll .notification-empty,
.v142-notification-scroll .profile-empty {
  padding:28px 2px !important;
  text-align:center !important;
}
.notification-activity-block {
  margin:0 !important;
  padding:0 0 8px !important;
  border-bottom:1px solid var(--ui-border, var(--line, #e7eaee)) !important;
}
.notification-subsection-head {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:12px 0 5px !important;
}
.notification-subsection-title {
  font-size:12px !important;
  font-weight:760 !important;
  letter-spacing:.01em !important;
  color:var(--muted, #6f7891) !important;
}

/* Transition latérale courte au changement de volet. */
.v142-panel-enter[data-v142-dir="forward"] { animation:v142-panel-forward 260ms cubic-bezier(.22,.8,.24,1) both; }
.v142-panel-enter[data-v142-dir="back"] { animation:v142-panel-back 260ms cubic-bezier(.22,.8,.24,1) both; }
@keyframes v142-panel-forward { from { opacity:.3; transform:translate3d(16px,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes v142-panel-back { from { opacity:.3; transform:translate3d(-16px,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }

html[data-motion="economy"] .v142-notification-tabs.is-scrolled {
  -webkit-backdrop-filter:blur(6px) !important;
  backdrop-filter:blur(6px) !important;
  box-shadow:none !important;
}
html[data-motion="minimal"] .v142-notification-tabs,
html[data-motion="minimal"] .v142-notification-tabs button,
html[data-motion="minimal"] .v142-notification-tabs button::after {
  transition:none !important;
}
html[data-motion="minimal"] .v142-notification-tabs.is-scrolled {
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
  background:var(--paper, #fff) !important;
}

html[data-theme="dark"] .v142-notification-tabs.is-scrolled,
html[data-ui-theme="oled"] .v142-notification-tabs.is-scrolled {
  background:color-mix(in srgb, var(--paper) 88%, transparent) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.22) !important;
}

@media (max-width:640px) {
  .v142-notification-panel {
    width:100% !important;
    height:min(86dvh, 760px) !important;
    max-height:min(86dvh, 760px) !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .v142-notification-head.notification-head {
    grid-template-columns:72px minmax(0,1fr) 72px !important;
  }
  .v142-notification-heading .settings-sheet-title { font-size:26px !important; }
  .v142-notification-heading .settings-sheet-subtitle { font-size:12.5px !important; }
}

@media (max-width:360px) {
  .v142-notification-panel { padding-left:13px !important; padding-right:13px !important; }
  .v142-notification-head.notification-head { grid-template-columns:64px minmax(0,1fr) 64px !important; }
  .v142-tab-count { font-size:9.7px !important; }
}

/* Neutralisation explicite des anciens layouts v136 à forte spécificité. */
#notification-sheet .v142-notification-head.notification-head {
  grid-template-columns:minmax(72px,1fr) minmax(0,2fr) minmax(72px,1fr) !important;
  grid-template-areas:none !important;
  column-gap:8px !important;
  row-gap:0 !important;
  padding:1px 0 10px !important;
}
#notification-sheet .v142-notification-head #notification-close {
  grid-area:auto !important;
  grid-column:1 !important;
  grid-row:1 !important;
}
#notification-sheet .v142-notification-head > .v142-notification-heading:first-of-type {
  grid-area:auto !important;
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  justify-items:normal !important;
  align-content:normal !important;
  gap:0 !important;
  text-align:center !important;
}
#notification-sheet .v142-notification-heading .settings-sheet-title {
  grid-area:auto !important;
  font-size:clamp(25px, 5vw, 34px) !important;
}
#notification-sheet .v142-notification-heading .settings-sheet-subtitle {
  grid-area:auto !important;
  max-width:320px !important;
  font-size:13px !important;
}
#notification-sheet .v142-head-balance {
  grid-column:3 !important;
  grid-row:1 !important;
}

@media (max-width:640px) {
  #notification-sheet .v142-notification-head.notification-head {
    grid-template-columns:72px minmax(0,1fr) 72px !important;
    column-gap:8px !important;
  }
  #notification-sheet .v142-notification-heading .settings-sheet-title { font-size:26px !important; }
  #notification-sheet .v142-notification-heading .settings-sheet-subtitle { max-width:260px !important; font-size:12.5px !important; }
}
@media (max-width:360px) {
  #notification-sheet .v142-notification-head.notification-head {
    grid-template-columns:64px minmax(0,1fr) 64px !important;
  }
}
