.admin-alert-dropdown { position: relative; }
.admin-alert-toggle { position: relative; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.35); border-radius: 10px; background: rgba(255,255,255,.12); color: #fff; display: grid; place-items: center; font-size: 18px; cursor: pointer; }
.admin-alert-toggle:hover,.admin-alert-toggle:focus-visible { background: rgba(255,255,255,.23); color: #fff; }
.admin-alert-count { position: absolute; top: -7px; right: -9px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; display: grid; place-items: center; background: #e53945; color: #fff; border: 2px solid #6777ef; font-size: 10px; font-weight: 700; line-height: 1; }
.admin-alert-count[hidden] { display: none !important; }
.admin-alert-menu { width: min(380px, calc(100vw - 24px)); padding: 0; border: 1px solid #e4e8f0; border-radius: 12px; overflow: hidden; color: #253046; }
.admin-alert-heading { padding: 14px 16px 11px; display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid #edf0f5; }
.admin-alert-heading strong { font-size: 15px; }
.admin-alert-heading small { color: #647084; font-size: 11px; text-align: right; }
.admin-alert-items { max-height: min(430px, 60vh); overflow-y: auto; }
.admin-alert-item { width: 100%; border: 0; border-bottom: 1px solid #edf0f5; background: #fff; padding: 12px 16px; display: flex; align-items: flex-start; gap: 11px; text-align: left; color: #253046; }
.admin-alert-item:hover,.admin-alert-item:focus-visible { background: #f5f7ff; }
.admin-alert-item-icon { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; flex: none; background: #eef1ff; color: #4258b3; }
.admin-alert-item[data-alert-type="failed_attendance"] .admin-alert-item-icon { background: #fff1e5; color: #b86917; }
.admin-alert-item-text { min-width: 0; flex: 1; }
.admin-alert-item-title { display: block; font-weight: 700; font-size: 13px; }
.admin-alert-item-detail { display: block; font-size: 12px; color: #556176; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-alert-item-date { display: block; font-size: 11px; color: #7b8597; margin-top: 2px; }
.admin-alert-footnote { padding: 10px 16px; background: #f7f8fb; color: #677285; font-size: 11px; }
@media (max-width: 480px) { .admin-alert-menu { position: fixed !important; top: 62px !important; right: 12px !important; left: 12px !important; width: auto; transform: none !important; } }
