.yn-notifications-container{position:fixed;top:20px;right:20px;width:min(760px,calc(100vw - 40px));display:flex;flex-direction:column;gap:12px;z-index:999999;pointer-events:none}.yn-notifications-container .yn-notice{pointer-events:auto;width:100%;box-sizing:border-box}.yn-notice{position:relative;display:flex;align-items:flex-start;gap:14px;max-width:760px;margin:18px auto;padding:18px 52px 18px 18px;border:1px solid #d7e2f0;border-right:5px solid #2271b1;border-radius:14px;background:#fff;color:#182230;box-shadow:0 10px 28px rgba(20,40,70,.12);animation:yn-enter .35s ease both;z-index:9999}.yn-notice-image{width:48px;height:48px;object-fit:cover;border-radius:10px;flex:0 0 auto}.yn-notice-content{min-width:0;flex:1}.yn-notice-title{display:block;margin-bottom:5px;font-size:16px}.yn-notice-body{line-height:1.65;overflow-wrap:anywhere}.yn-notice-close{position:absolute;top:8px;right:12px;border:0;background:transparent;color:inherit;font-size:27px;line-height:1;cursor:pointer;opacity:.7}.yn-notice-close:hover{opacity:1;transform:scale(1.08)}.yn-success{border-right-color:#159447;background:#f3fff7}.yn-warning{border-right-color:#d99000;background:#fffaf0}.yn-error{border-right-color:#d63638;background:#fff5f5}.yn-info{border-right-color:#2271b1}.yn-custom{border-right-color:#8b5cf6;background:#faf7ff}.yn-glow{animation:yn-enter .35s ease both,yn-pulse 2.4s ease-in-out infinite}.yn-notice.yn-leaving{opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s}@keyframes yn-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes yn-pulse{0%,100%{box-shadow:0 10px 28px rgba(20,40,70,.12)}50%{box-shadow:0 0 20px rgba(34,113,177,.32)}}@media(max-width:600px){.yn-notifications-container{top:10px;right:10px;width:calc(100vw - 20px)}.yn-notice{margin:12px;padding:14px 42px 14px 12px;gap:10px}.yn-notice-image{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){.yn-notice,.yn-glow{animation:none!important;transition:none!important}}
/* Persistent notifications on the student's account page (not fixed and never auto-dismissed). */
.yn-account-notifications{position:relative;display:flex;flex-direction:column;gap:12px;margin:18px 0;padding:18px;border:1px solid #dbe4ef;border-radius:16px;background:#f8fafc;color:#182230;z-index:1}
.yn-account-notifications>h3{margin:0 0 4px;font-size:1.15rem;line-height:1.4}
.yn-account-notice{position:relative;display:flex;align-items:flex-start;gap:14px;width:100%;box-sizing:border-box;padding:16px;border:1px solid #d7e2f0;border-right:5px solid #2271b1;border-radius:12px;background:#fff;color:#182230;box-shadow:0 4px 14px rgba(20,40,70,.06);overflow-wrap:anywhere}
.yn-account-notice.yn-success{border-right-color:#159447;background:#f3fff7}.yn-account-notice.yn-warning{border-right-color:#d99000;background:#fffaf0}.yn-account-notice.yn-error{border-right-color:#d63638;background:#fff5f5}.yn-account-notice.yn-custom{border-right-color:#8b5cf6;background:#faf7ff}
.yn-account-notice .yn-notice-body{line-height:1.7}.yn-account-date{display:block;margin-top:8px;color:#64748b;font-size:12px}
.yn-account-glow{box-shadow:0 0 0 1px rgba(34,113,177,.1),0 0 18px rgba(34,113,177,.15)}
/* Existing Y Exams student notification feed receives the same visual language while remaining in-page. */
.dz-notifs{margin:18px 0;padding:18px;border:1px solid #dbe4ef;border-radius:16px;background:#f8fafc;color:#182230}
.dz-notifs>h3{margin:0 0 12px}.dz-notif{margin:10px 0;padding:14px;border:1px solid #d7e2f0;border-right:5px solid #2271b1;border-radius:12px;background:#fff;overflow-wrap:anywhere}
.dz-notif>b{display:block;margin-bottom:5px}.dz-notif>div{line-height:1.7}.dz-notif>a{display:inline-block;margin-top:8px}.dz-notif>time{display:block;margin-top:8px;color:#64748b;font-size:12px}
@media(max-width:600px){.yn-account-notifications,.dz-notifs{padding:12px}.yn-account-notice{padding:12px;gap:10px}.yn-account-notice .yn-notice-image{width:36px;height:36px}}
