.student-notifications-trigger { display: flex; width: calc(100% - 24px); align-items: center; gap: 10px; margin: 14px 12px 18px; padding: 11px 14px; border: 0; border-radius: 6px; color: #fff; background: #8d1b60; font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.student-notifications-trigger:hover, .student-notifications-trigger:focus { color: #fff; background: #74164f; }
.student-notifications-trigger .student-notifications__count { margin-left: auto; }
.student-notifications-panel { z-index: 10050 !important; width: min(420px, 100vw) !important; }
.offcanvas-backdrop.show { z-index: 10040 !important; }
.student-notifications-panel__header { color: #fff; background: #8d1b60; }
.student-notifications-panel__header h3 { display: flex; align-items: center; gap: 10px; margin: 0; color: inherit; font-size: 18px; }
.student-notifications-panel__body { padding: 0; background: #f7f7f7; }
.student-notifications { overflow: hidden; background: #fff; }
.student-notifications__count { min-width: 22px; padding: 2px 7px; border-radius: 12px; color: #8d1b60; background: #fff; font-size: 12px; font-weight: 700; text-align: center; }
.student-notification { border-top: 1px solid #eee; }
.student-notification:first-of-type { border-top: 0; }
.student-notification.is-read { opacity: .72; }
.student-notification summary { position: relative; padding: 14px 44px 14px 18px; cursor: pointer; font-weight: 600; list-style: none; }
.student-notification summary::-webkit-details-marker { display: none; }
.student-notification summary::after { content: '+'; position: absolute; right: 18px; color: #8d1b60; font-size: 20px; line-height: 1; }
.student-notification[open] summary::after { content: '\2212'; }
.student-notification__body { padding: 0 18px 16px; line-height: 1.6; }
.student-notification__body p { margin: 14px 0 8px; }
.student-notification__body a { display: inline-flex; align-items: center; padding: 5px 10px; border: 1px solid #8d1b60; border-radius: 4px; color: #8d1b60; background: #fff; font-size: 13px; font-weight: 600; text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.student-notification__body a:hover, .student-notification__body a:focus { color: #fff; background: #8d1b60; }
.student-notification__date { display: block; margin-top: 10px; color: #777; font-size: 12px; }
.student-notifications__empty { margin: 0; padding: 16px 18px; }
