/* ===== Hộp thoại xác nhận / thông báo dùng chung (thay confirm/alert gốc) ===== */

html.ui-dialog-open,
html.ui-dialog-open body{
  overflow:hidden;
}

.ui-dialog-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(11,37,64,0.46);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  animation:ui-dialog-fade-in .18s ease both;
}
.ui-dialog-overlay.is-closing{
  animation:ui-dialog-fade-out .16s ease both;
}

.ui-dialog-card{
  width:100%;
  max-width:340px;
  background:#fff;
  border-radius:22px;
  padding:28px 24px 22px;
  box-shadow:var(--shadow-lg, 0 20px 46px -12px rgba(11,37,64,0.24));
  text-align:center;
  animation:ui-dialog-pop-in .2s cubic-bezier(.32,1.4,.5,1) both;
}
.ui-dialog-overlay.is-closing .ui-dialog-card{
  animation:ui-dialog-pop-out .16s ease both;
}

.ui-dialog-icon{
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
}
.ui-dialog-icon svg{width:26px;height:26px;}
.ui-dialog-icon-default{background:rgba(15,110,100,0.1);color:var(--teal, #0F6E64);}
.ui-dialog-icon-warning{background:rgba(240,162,2,0.12);color:var(--gold, #F0A202);}
.ui-dialog-icon-danger{background:rgba(255,111,145,0.14);color:var(--coral, #FF6F91);}
.ui-dialog-icon-success{background:rgba(15,110,100,0.1);color:var(--teal, #0F6E64);}

.ui-dialog-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:17px;
  font-weight:800;
  color:var(--navy, #0B2540);
  line-height:1.3;
  margin-bottom:6px;
}

.ui-dialog-message{
  font-family:'Inter',sans-serif;
  font-size:13.5px;
  font-weight:500;
  color:var(--slate, #5B7085);
  line-height:1.55;
  margin-bottom:22px;
}
.ui-dialog-title + .ui-dialog-message{margin-top:0;}
.ui-dialog-card:not(:has(.ui-dialog-title)) .ui-dialog-message{margin-top:2px;}

.ui-dialog-actions{
  display:flex;
  gap:10px;
}
.ui-dialog-actions:has(.ui-dialog-btn:only-child){
  flex-direction:column;
}

.ui-dialog-btn{
  flex:1;
  padding:13px 16px;
  border-radius:13px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:14.5px;
  font-weight:700;
  transition:transform .12s, opacity .12s;
}
.ui-dialog-btn:active{transform:scale(0.97);}

.ui-dialog-btn-secondary{
  background:var(--sky-50, #F6F9FC);
  color:var(--slate, #5B7085);
  border:1.5px solid var(--line, #E6EDF1);
}

.ui-dialog-btn-primary{
  background:var(--navy, #0B2540);
  color:#fff;
  box-shadow:0 10px 20px -8px rgba(11,37,64,0.45);
}
.ui-dialog-btn-primary.ui-dialog-btn-danger{
  background:var(--coral, #FF6F91);
  box-shadow:0 10px 20px -8px rgba(255,111,145,0.5);
}

@keyframes ui-dialog-fade-in{from{opacity:0;}to{opacity:1;}}
@keyframes ui-dialog-fade-out{from{opacity:1;}to{opacity:0;}}
@keyframes ui-dialog-pop-in{from{opacity:0;transform:translateY(10px) scale(0.95);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes ui-dialog-pop-out{from{opacity:1;transform:translateY(0) scale(1);}to{opacity:0;transform:translateY(6px) scale(0.96);}}

@media (prefers-reduced-motion: reduce){
  .ui-dialog-overlay,.ui-dialog-card,.ui-dialog-overlay.is-closing,.ui-dialog-overlay.is-closing .ui-dialog-card{
    animation:none;
  }
}
