.app-notification-center{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2100;
  width:min(390px,calc(100vw - 24px));
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  pointer-events:none;
}
.app-notification{
  --notice-color:#176b4d;
  --notice-soft:#eaf7f1;
  position:relative;
  min-height:76px;
  overflow:hidden;
  border:1px solid rgba(23,32,51,.12);
  border-radius:12px;
  background:#fff;
  color:#253047;
  box-shadow:0 18px 46px rgba(15,23,42,.2);
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 30px;
  align-items:start;
  gap:10px;
  padding:16px 12px 13px 14px;
  pointer-events:auto;
  opacity:0;
  transform:translateX(calc(100% + 28px));
  transition:opacity .2s ease,transform .24s cubic-bezier(.2,.8,.2,1);
}
.app-notification.is-visible{
  opacity:1;
  transform:translateX(0);
}
.app-notification.is-closing{
  opacity:0;
  transform:translateX(calc(100% + 28px));
}
.app-notification.is-success{--notice-color:#169c52;--notice-soft:#eaf8f0}
.app-notification.is-error{--notice-color:#d92d45;--notice-soft:#fff0f2}
.app-notification.is-warning{--notice-color:#d97706;--notice-soft:#fff7e8}
.app-notification.is-info{--notice-color:#2563eb;--notice-soft:#edf4ff}
.app-notification-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--notice-soft);
  color:var(--notice-color);
  display:grid;
  place-items:center;
  font-size:1rem;
}
.app-notification-content{
  min-width:0;
  padding-top:2px;
}
.app-notification-title{
  display:block;
  margin-bottom:3px;
  color:#172033;
  font-size:.8rem;
  font-weight:900;
}
.app-notification-message{
  color:#4d596f;
  font-size:.92rem;
  font-weight:650;
  line-height:1.42;
  overflow-wrap:anywhere;
}
.app-notification-close{
  width:28px;
  height:28px;
  margin:-5px -4px 0 0;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#98a2b3;
  display:grid;
  place-items:center;
}
.app-notification-close:hover,
.app-notification-close:focus-visible{
  background:#f2f4f7;
  color:#344054;
  outline:0;
}
.app-notification-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:#eef1f5;
}
.app-notification-progress>span{
  display:block;
  width:100%;
  height:100%;
  background:var(--notice-color);
  transform:scaleX(1);
  transform-origin:left center;
  will-change:transform;
}
@media (max-width:575px){
  .app-notification-center{
    right:12px;
    bottom:12px;
    width:calc(100vw - 24px);
  }
  .app-notification{
    min-height:70px;
    grid-template-columns:38px minmax(0,1fr) 28px;
    padding:13px 10px 12px 12px;
  }
  .app-notification-icon{
    width:34px;
    height:34px;
  }
}
@media (prefers-reduced-motion:reduce){
  .app-notification{
    transition:opacity .01ms linear;
    transform:none;
  }
}
.app-prompt-overlay{
  position:fixed;
  inset:0;
  z-index:2200;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(15,23,42,.52);
  backdrop-filter:blur(4px);
  opacity:0;
  transition:opacity .16s ease;
}
.app-prompt-overlay[hidden]{display:none}
.app-prompt-overlay.is-visible{opacity:1}
.app-prompt{
  width:min(440px,100%);
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:14px;
  padding:22px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:20px;
  background:#fff;
  box-shadow:0 26px 70px rgba(15,23,42,.3);
  transform:translateY(10px) scale(.98);
  transition:transform .18s ease;
}
.app-prompt-overlay.is-visible .app-prompt{transform:translateY(0) scale(1)}
.app-prompt-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#edf4ff;
  color:#2563eb;
  font-size:1.25rem;
}
.app-prompt-overlay[data-tone="warning"] .app-prompt-icon{background:#fff7e8;color:#d97706}
.app-prompt-overlay[data-tone="error"] .app-prompt-icon{background:#fff0f2;color:#d92d45}
.app-prompt-overlay[data-tone="success"] .app-prompt-icon{background:#eaf8f0;color:#169c52}
.app-prompt-copy strong{display:block;color:#172033;font-size:1.05rem;margin:2px 0 7px}
.app-prompt-copy p{margin:0;color:#596579;line-height:1.5;overflow-wrap:anywhere}
.app-prompt-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:5px}
.app-prompt-actions button{min-height:42px;padding:9px 18px;border-radius:11px;font-weight:800}
.app-prompt-cancel{border:1px solid #d8dee8;background:#fff;color:#475467}
.app-prompt-accept{border:1px solid #176b4d;background:#176b4d;color:#fff}
.app-prompt-overlay[data-tone="error"] .app-prompt-accept{border-color:#d92d45;background:#d92d45}
@media (max-width:575px){
  .app-prompt{grid-template-columns:44px minmax(0,1fr);padding:18px;border-radius:17px}
  .app-prompt-icon{width:42px;height:42px;border-radius:13px}
  .app-prompt-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  .app-prompt-overlay,.app-prompt{transition-duration:.01ms}
}
