/* Frontend only. Keep Layer DOM, callbacks, placement and stacking unchanged.
   Exclude toasts, loading/iframe/page layers and existing bespoke dialogs. */
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) {
  --hmi-alert-primary: #1965d8;
  --hmi-alert-ink: #203653;
  --hmi-alert-muted: #536780;
  width: 420px;
  min-width: 0;
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
  border: 1px solid #e2e9f3;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(17,39,76,.14);
  color: var(--hmi-alert-ink);
  font-family: inherit;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)):not(:has(> .layui-layer-title))::before {
  content: none;
  display: none;
  padding: 0 64px 0 24px;
  height: 58px;
  line-height: 58px;
  border-bottom: 1px solid #edf1f7;
  font-size: 17px;
  font-weight: 600;
  color: var(--hmi-alert-ink);
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-title {
  display: none;
  padding: 0 64px 0 24px;
  height: 58px;
  line-height: 58px;
  border-radius: 12px 12px 0 0;
  border-bottom: 1px solid #edf1f7;
  background: #fff;
  color: var(--hmi-alert-ink);
  font-size: 17px;
  font-weight: 650;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-content {
  padding: 32px 24px 24px;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: anywhere;
  max-height: 60vh;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-padding {
  padding: 32px 24px 24px;
  min-height: 0;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-content > .layui-layer-ico {
  position: relative;
  display: none;
  top: auto;
  left: auto;
  width: 48px;
  height: 48px;
  margin: 0 auto 16px;
  padding: 12px;
  box-sizing: border-box;
  border-radius: 50%;
  background: #edf4ff !important;
  color: var(--hmi-alert-primary);
  font-size: 0;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-content > .layui-layer-ico::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin: 0;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v6m0 3v1' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-content > :is(.layui-layer-ico1,.layui-layer-ico6)::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 24px 24px;
  border-top: 0;
  background: #fff;
  border-radius: 0 0 12px 12px;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-btn a {
  box-sizing: border-box;
  min-width: 88px;
  height: 44px;
  line-height: 42px;
  margin: 0;
  padding: 0 22px;
  border: 1px solid #dce5f1;
  border-radius: 7px;
  background: #f6f8fc;
  color: var(--hmi-alert-muted);
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: background-color .16s, box-shadow .16s;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-btn .layui-layer-btn0 {
  background: var(--hmi-alert-primary);
  border-color: var(--hmi-alert-primary);
  color: #fff;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-btn a:hover { filter: brightness(.96); }
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-setwin { top: 7px; right: 8px; }
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-setwin .layui-layer-close {
  position: relative;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: 50%;
  background: none;
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-close::before,
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-close::after {
  content: "";
  position: absolute;
  top: 21px;
  left: 14px;
  width: 16px;
  height: 2px;
  background: #64748b;
  transform: rotate(45deg);
}
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-close::after { transform: rotate(-45deg); }
html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) :is(.layui-layer-btn a,.layui-layer-close):focus-visible { outline: 3px solid #90b9fa; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) { animation: none !important; }
  html.hmi-frontend-alerts .layui-layer-dialog:not(:is(.layui-layer-msg,.points-exchange-confirm-layer,.points-feedback-layer,.ask-delete-confirm)) .layui-layer-btn a { transition: none; }
}
