 url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Lora:wght@700&display=swap");

.redacamy-notification-item { display:block; width:100%; padding:12px 14px; border:0; border-bottom:1px solid #e5e7eb; background:#fff; color:inherit; text-align:left; cursor:pointer; font:inherit; }
.redacamy-notification-item:hover { background:#f8fafc; }.redacamy-notification-item.is-unread { background:#f1f8f6; }.redacamy-notification-item strong,.redacamy-notification-item span,.redacamy-notification-item time { display:block; }.redacamy-notification-item strong { font-size:13px; margin-bottom:3px; }.redacamy-notification-item span { font-size:12px; line-height:1.4; }.redacamy-notification-item time { margin-top:5px; color:#6b7280; font-size:11px; }
.welcome-back-notification { position:relative; }.welcome-back-notification__bell { width:32px; height:32px; border:0; border-radius:50%; background:transparent; color:#402530; cursor:pointer; position:relative; }
.welcome-back-notification__bell { width: 42px; height: 42px; border: 2px solid #7d2731; background: #fff8e8; box-shadow: 0 2px 7px rgba(80, 31, 41, .18); font-size: 19px; transition: transform .15s ease, background .15s ease; }
.welcome-back-notification__bell:hover, .welcome-back-notification__bell[aria-expanded="true"] { background: #efb83b; transform: translateY(-1px); }
.welcome-back-notification__badge { top: -5px; right: -5px; min-width: 19px; height: 19px; line-height: 19px; font-weight: 700; box-shadow: 0 0 0 2px #fbf4ec; }.welcome-back-notification__badge { position:absolute; top:-3px; right:-2px; min-width:16px; height:16px; border-radius:8px; background:#b42318; color:#fff; font-size:10px; line-height:16px; }.welcome-back-notification__menu { position:absolute; top:40px; right:0; z-index:100; width:min(360px, calc(100vw - 24px)); max-height:440px; overflow:auto; border:1px solid #e5e7eb; border-radius:10px; background:#fff; box-shadow:0 12px 32px rgba(0,0,0,.16); }.welcome-back-notification__head { display:flex; justify-content:space-between; align-items:center; padding:12px 14px; border-bottom:1px solid #e5e7eb; }.welcome-back-notification__head button { border:0; background:none; color:#2e796a; cursor:pointer; font-size:12px; }.welcome-back-notification__empty { padding:16px; color:#6b7280; font-size:13px; }

/* Final notification-control overrides. */
.welcome-back-notification__bell { width:42px; height:42px; border:2px solid #7d2731; background:#fff8e8; box-shadow:0 2px 7px rgba(80,31,41,.18); font-size:19px; }
.welcome-back-notification__badge { top:-5px; right:-5px; min-width:19px; height:19px; line-height:19px; font-weight:700; box-shadow:0 0 0 2px #fbf4ec; }
.welcome-back-notification__menu { top:50px; }

/* Polished dashboard notification trigger. */
.welcome-back-notification__bell { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #ded2c4; border-radius:50%; background:#fffdfa; color:#6d2732; box-shadow:none; font-size:inherit; }
.welcome-back-notification__bell svg { width:18px; height:18px; }
.welcome-back-notification__bell:hover, .welcome-back-notification__bell[aria-expanded="true"] { background:#f8eedf; border-color:#c49755; color:#7d2731; transform:none; }
.welcome-back-notification__badge { top:-4px; right:-4px; min-width:17px; height:17px; line-height:17px; border-radius:50%; background:#b42318; color:#fff; font-size:10px; box-shadow:0 0 0 2px #fffaf4; }

/* Spacing for notification controls inserted beside diverse LMS profile menus. */
.redacamy-global-notification { margin-right:12px; flex:0 0 auto; }

.redacamy-global-notification--existing-bell:not(.redacamy-spiritual-notification) .welcome-back-notification__menu { top: 28px; }

/* Spiritual Direction pages use the same notification treatment as its home page. */
.redacamy-spiritual-notification { position:relative; display:inline-flex; align-items:center; }
.redacamy-spiritual-notification .welcome-back-notification__bell,
.redacamy-spiritual-notification .sp-bell-btn { width:20px; height:20px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#565d6d; }
.redacamy-spiritual-notification .welcome-back-notification__bell:hover,
.redacamy-spiritual-notification .sp-bell-btn:hover,
.redacamy-spiritual-notification .welcome-back-notification__bell[aria-expanded="true"],
.redacamy-spiritual-notification .sp-bell-btn[aria-expanded="true"] { background:transparent; border:0; color:#202632; transform:none; }
.redacamy-spiritual-notification .welcome-back-notification__bell svg,
.redacamy-spiritual-notification .sp-bell-btn svg { width:20px; height:20px; }
.redacamy-spiritual-notification .welcome-back-notification__badge,
.redacamy-spiritual-notification .sp-notification-badge { top:-7px; right:-10px; min-width:16px; height:16px; padding:0 4px; border-radius:8px; background:#b83141; color:#fff !important; font-size:10px; line-height:15px; box-shadow:none; }
.redacamy-spiritual-notification .welcome-back-notification__menu,
.redacamy-spiritual-notification .sp-notification-menu { top:calc(100% + 12px); right:0; width:min(360px, calc(100vw - 32px)); max-height:420px; padding:18px 0 8px; overflow:hidden; border:1px solid #dee1e6; border-radius:18px; background:#fff; box-shadow:0 16px 40px rgba(17,24,39,.12); z-index:30; }
.redacamy-spiritual-notification .welcome-back-notification__head,
.redacamy-spiritual-notification .sp-notification-menu-head { padding:0 18px 14px; border-bottom:1px solid #dee1e6; gap:16px; }
.redacamy-spiritual-notification .welcome-back-notification__head strong,
.redacamy-spiritual-notification .sp-notification-menu-head h3 { color:#171a1f; font-family:"Lora", serif; font-size:18px; line-height:26px; margin:0; font-weight:700; }
.redacamy-spiritual-notification .welcome-back-notification__head button,
.redacamy-spiritual-notification .sp-notification-menu-head button { color:#b83141; font-size:13px; line-height:20px; font-weight:600; }
.redacamy-spiritual-notification [data-notification-list] { padding:8px 0 0; max-height:320px; overflow-y:auto; }
.redacamy-spiritual-notification .redacamy-notification-item { padding:12px 18px; border:0; border-left:3px solid transparent; background:transparent; }
.redacamy-spiritual-notification .redacamy-notification-item.is-unread { border-left-color:#b83141; background:rgba(252,243,244,.45); }
.redacamy-spiritual-notification .redacamy-notification-item + .redacamy-notification-item { border-top:1px solid #f3f4f6; }
.redacamy-spiritual-notification .redacamy-notification-item strong { color:#171a1f; font-size:14px; line-height:20px; }
.redacamy-spiritual-notification .redacamy-notification-item span { color:#565d6d; font-size:13px; line-height:19px; }
.redacamy-spiritual-notification .redacamy-notification-item time { color:#9ca3af; font-size:12px; line-height:18px; }
.redacamy-spiritual-notification .welcome-back-notification__empty { margin:0; padding:20px 18px 16px; color:#565d6d; font-size:14px; line-height:20px; }

/* Consistent compact account menus across LMS pages. */
details[data-user-menu] [class*="user-menu__link"] { display:block; padding:8px 0; }
details[data-user-menu] [class*="user-menu__link"] + [class*="user-menu__link"] { border-top:1px solid #eee5da; }

.redacamy-enable-alerts { border:0; background:transparent; color:#7d2731; cursor:pointer; font-size:12px; font-weight:700; padding:0; }

.redacamy-enable-alerts:disabled { color:#8a8178; cursor:default; }

/* Spiritual Direction notification rows are neutral cards, not page buttons. */
.redacamy-spiritual-notification .sp-notification-item {
  display: grid;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  gap: 4px;
  text-align: left;
  cursor: pointer;
  font: inherit;
  border-radius: 0;
}
.redacamy-spiritual-notification .sp-notification-item:focus-visible {
  outline: 2px solid #b83141;
  outline-offset: -2px;
}
.sp-notification-badge { color: #fff !important; }

/* The unread indicator is always a compact number, even if legacy markup retains is-dot. */
.sp-notification-badge.is-dot {
  top: -7px;
  right: -10px;
  width: auto;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border: 0;
  border-radius: 8px;
  font-size: 10px;
  color: #fff !important;
  line-height: 15px;
}


/* Consent prompt shown only when Redacamy is opened inside the mobile app. */
.redacamy-embedded-notification-prompt {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: end center;
  padding: 20px;
  background: rgba(23, 26, 31, 0.38);
}
.redacamy-embedded-notification-prompt__card {
  width: min(100%, 440px);
  padding: 24px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(17, 24, 39, 0.25);
  color: #171a1f;
}
.redacamy-embedded-notification-prompt__card h2 {
  margin: 0 0 8px;
  font: 700 22px/1.25 "Lora", Georgia, serif;
}
.redacamy-embedded-notification-prompt__card p {
  margin: 0;
  color: #565d6d;
  font-size: 14px;
  line-height: 1.5;
}
.redacamy-embedded-notification-prompt__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
}
.redacamy-embedded-notification-prompt__actions button {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #ded2c4;
  border-radius: 10px;
  background: #fff;
  color: #5d3340;
  font: 600 14px/1 inherit;
  cursor: pointer;
}
.redacamy-embedded-notification-prompt__actions [data-embedded-notification-enable] {
  border-color: #b83141;
  background: #b83141;
  color: #fff;
}
.redacamy-embedded-notification-prompt__actions button:disabled { opacity: 0.65; cursor: wait; }
.redacamy-embedded-notification-prompt__status { min-height: 21px; margin-top: 12px !important; }
