.notification-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(20,33,61,.52);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  box-sizing:border-box;
}

.notification-modal{
  width:min(680px,100%);
  max-height:calc(100vh - 48px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid #e2e2e2;
  border-radius:16px;
  background:#fff;
  color:#14213d;
  box-shadow:0 24px 70px rgba(15,28,55,.28);
  animation:notification-modal-enter .16s ease-out;
}

@keyframes notification-modal-enter{
  from{opacity:0;transform:translateY(8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.notification-modal-header{
  flex:0 0 auto;
  min-height:78px;
  padding:16px 18px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid #ececec;
  background:linear-gradient(180deg,#fff 0%,#fffaf7 100%);
}

.notification-modal-heading{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.notification-modal-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:#fff0e8;
  color:#e4572e;
}

.notification-modal-icon svg{width:21px;height:21px}
.notification-modal-heading>div{min-width:0}
.notification-modal-heading small{
  display:block;
  margin:1px 0 4px;
  color:#e4572e;
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.notification-modal-heading h2{
  margin:0;
  color:#14213d;
  font-size:20px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.notification-modal-close{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid #e2e2e2;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#6f6f6f;
  cursor:pointer;
}
.notification-modal-close:hover{border-color:#e8b6a3;background:#fff5f0;color:#c84a20}
.notification-modal-close svg{width:17px;height:17px}

.notification-modal-body{
  flex:1 1 auto;
  overflow-y:auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.notification-modal-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.notification-modal-meta>div{
  min-width:0;
  padding:11px 12px;
  border:1px solid #e7e7e7;
  border-radius:10px;
  background:#fafafa;
  display:grid;
  gap:4px;
}
.notification-modal-meta span{
  display:flex;
  align-items:center;
  gap:5px;
  color:#777;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.notification-modal-meta span svg{width:13px;height:13px;color:#e4572e}
.notification-modal-meta strong{font-size:11px;color:#26324a;overflow-wrap:anywhere}

.notification-modal-content{
  padding:14px;
  border:1px solid #eee;
  border-radius:11px;
  background:#fff;
}
.notification-modal-content>span{
  display:block;
  margin-bottom:7px;
  color:#777;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.notification-modal-content p{
  margin:0;
  color:#343434;
  font-size:12px;
  line-height:1.6;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.notification-modal-link-box{
  padding:13px;
  border:1px solid #f0c7b6;
  border-radius:11px;
  background:#fff7f2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.notification-modal-link-box>div{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:9px;
}
.notification-modal-link-box>div>svg{
  width:19px;
  height:19px;
  flex:0 0 19px;
  margin-top:1px;
  color:#e4572e;
}
.notification-modal-link-box>div>span{min-width:0;display:grid;gap:2px}
.notification-modal-link-box strong{font-size:11px;color:#66351f}
.notification-modal-link-box small{font-size:9px;line-height:1.35;color:#876959}
.notification-modal-access{
  min-height:38px;
  flex:0 0 auto;
  padding:0 13px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:#e4572e;
  color:#fff!important;
  text-decoration:none!important;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
.notification-modal-access:hover{background:#c84a20}
.notification-modal-access svg{width:14px;height:14px}

.notification-modal-footer{
  flex:0 0 auto;
  min-height:58px;
  padding:10px 18px;
  border-top:1px solid #ececec;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.notification-modal-footer button,
.notification-modal-footer a{
  min-height:36px;
  padding:0 13px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.notification-modal-footer button{border:1px solid #d9d9d9;background:#fff;color:#5e5e5e}
.notification-modal-footer button:hover{background:#f3f3f3;color:#333}
.notification-modal-footer a{border:1px solid #e4572e;background:#e4572e;color:#fff}
.notification-modal-footer a:hover{background:#c84a20;border-color:#c84a20}

@media(max-width:620px){
  .notification-modal-backdrop{padding:12px;align-items:flex-end}
  .notification-modal{width:100%;max-height:calc(100vh - 24px);border-radius:15px 15px 10px 10px}
  .notification-modal-header{padding:14px}
  .notification-modal-heading h2{font-size:17px}
  .notification-modal-icon{width:38px;height:38px;flex-basis:38px}
  .notification-modal-body{padding:14px;gap:11px}
  .notification-modal-meta{grid-template-columns:1fr}
  .notification-modal-link-box{align-items:stretch;flex-direction:column}
  .notification-modal-access{width:100%;box-sizing:border-box}
  .notification-modal-footer{padding:10px 14px;display:grid;grid-template-columns:1fr 1fr}
  .notification-modal-footer button,.notification-modal-footer a{width:100%;box-sizing:border-box}
  .notification-modal-footer button:only-child{grid-column:1/-1}
}
