.dit-notification-bell {
  position: relative;
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 44px;
  border: 1px solid var(--line, #d9e3ee);
  border-radius: 50%;
  background: #fff;
  color: var(--ink, #13233f);
}

.dit-notification-bell:hover,
.dit-notification-bell[aria-expanded="true"] { background: #f3f7fb; }
.dit-notification-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #c62828;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}
.dit-notification-badge[hidden] { display: none !important; }
.dit-notification-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(19,35,63,.28); }
.dit-notification-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 81;
  width: min(520px, 100vw);
  height: 100dvh;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  border-left: 1px solid var(--line, #d9e3ee);
  background: #fff;
  color: var(--ink, #13233f);
  box-shadow: -18px 0 44px rgba(19,35,63,.16);
}
.dit-notification-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px; border-bottom: 1px solid var(--line, #d9e3ee); }
.dit-notification-panel-head h2 { margin: 0 0 5px; font-size: 24px; }
.dit-notification-panel-head p { margin: 0; color: var(--muted, #617083); font-size: 13px; }
.dit-notification-close { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line, #d9e3ee); border-radius: 50%; background: #fff; color: var(--ink, #13233f); font-size: 24px; line-height: 1; }
.dit-notification-summary { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line, #d9e3ee); background: #f8fbff; }
.dit-notification-summary span { display: grid; gap: 4px; padding: 13px 16px; border-right: 1px solid var(--line, #d9e3ee); color: var(--muted, #617083); font-size: 12px; }
.dit-notification-summary span:last-child { border-right: 0; }
.dit-notification-summary strong { color: var(--ink, #13233f); font-size: 20px; }
.dit-notification-summary .critical strong { color: #b42318; }
.dit-notification-toolbar { display: grid; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--line, #d9e3ee); }
.dit-notification-tabs { display: flex; gap: 6px; overflow-x: auto; }
.dit-notification-tabs button { min-height: 34px; padding: 0 12px; border: 1px solid var(--line, #d9e3ee); border-radius: 999px; background: #fff; color: var(--ink, #13233f); white-space: nowrap; }
.dit-notification-tabs button.active { border-color: #174b8f; background: #174b8f; color: #fff; font-weight: 800; }
.dit-notification-toolbar label { min-height: 0; display: flex; grid-template-rows: none; align-items: center; justify-content: flex-end; gap: 8px; color: var(--muted, #617083); font-size: 12px; }
.dit-notification-toolbar select { min-height: 36px; padding: 5px 10px; }
.dit-notification-list { min-height: 0; overflow-y: auto; padding: 12px; background: #f6f9fd; }
.dit-notification-item { margin-bottom: 10px; border: 1px solid var(--line, #d9e3ee); border-left: 4px solid #6b8fb6; border-radius: 8px; background: #fff; overflow: hidden; }
.dit-notification-item.severity-warning { border-left-color: #d97706; }
.dit-notification-item.severity-critical { border-left-color: #c62828; }
.dit-notification-item.is-read { background: #fbfcfe; }
.dit-notification-item.is-resolved { opacity: .68; }
.dit-notification-open { width: 100%; display: grid; gap: 8px; border: 0; padding: 14px; background: transparent; color: inherit; text-align: left; }
.dit-notification-item-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.dit-notification-item-head strong { font-size: 15px; }
.dit-notification-item-head time { flex: 0 0 auto; color: var(--muted, #617083); font-size: 11px; }
.dit-notification-description { color: #394b63; font-size: 13px; line-height: 1.5; }
.dit-notification-meta { color: #174b8f; font-size: 12px; font-weight: 700; }
.dit-notification-flags { display: flex; flex-wrap: wrap; gap: 6px; }
.dit-notification-flags em { padding: 3px 7px; border-radius: 999px; background: #edf4fb; color: #48627f; font-size: 10px; font-style: normal; }
.dit-notification-actions { display: flex; justify-content: flex-end; gap: 6px; padding: 0 12px 12px; }
.dit-notification-actions button { min-height: 32px; border: 1px solid var(--line, #d9e3ee); border-radius: 999px; padding: 0 10px; background: #fff; color: var(--ink, #13233f); font-size: 11px; }
.dit-notification-empty { margin: 0; padding: 34px 16px; color: var(--muted, #617083); text-align: center; }
.dit-notification-open { overflow: hidden; }
.admin-dataset-upload .upload-button { cursor: pointer; }
.admin-dataset-upload .upload-button[aria-disabled="true"] { cursor: wait; opacity: .65; }

@media (max-width: 560px) {
  .dit-notification-panel { left: 0; right: 0; width: auto; }
  .dit-notification-panel-head { padding: 17px 15px; }
  .dit-notification-toolbar { padding: 12px; }
  .dit-notification-list { padding: 8px; }
  .dit-notification-item-head { display: grid; gap: 4px; }
  .dit-notification-summary span { padding: 11px; }
  .header-actions .dit-notification-bell { width: 40px; height: 40px; flex-basis: 40px; }
}
