/**
 * 可关闭提示：右上角 ×，5s 自动消失（见 wb-dismissible.js）；关闭时高度/边距收拢动画，减少下方内容上移的突兀感。
 * 可选：data-wb-dismiss-persist="1" data-wb-dismiss-key="…" 时，关闭或自动消失后写入 sessionStorage，整页刷新不再显示（wb_notice_dismissible 第三参）。
 */
.wb-dismissible {
  position: relative;
  margin: 0 0 16px;
  padding: 10px 36px 10px 12px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.45;
  box-sizing: border-box;
  overflow: hidden;
}

.wb-dismissible__body {
  margin: 0;
}

.wb-dismissible__close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.55;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wb-dismissible__close:hover {
  opacity: 1;
  background: rgba(15, 23, 42, 0.06);
}

.wb-dismissible__close:focus {
  outline: 2px solid var(--wb-brand-border, #a5b4fc);
  outline-offset: 1px;
}

/**
 * 关闭时：高度收拢 + 外边距/内边距归零，避免整块移除后下方内容瞬间跳变。
 * max-height 由 wb-dismissible.js 先设为 scrollHeight 再改为 0 以触发动画。
 */
.wb-dismissible--exiting {
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  transform: translateY(-6px);
  border-width: 0 !important;
  pointer-events: none;
  transition:
    max-height 0.42s cubic-bezier(0.33, 1, 0.68, 1),
    margin 0.42s cubic-bezier(0.33, 1, 0.68, 1),
    padding 0.42s cubic-bezier(0.33, 1, 0.68, 1),
    border-width 0.28s ease,
    opacity 0.32s ease,
    transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}

/* 与现有 shell / 表单横幅组合 */
.wb-dismissible.shell-notice {
  color: var(--text);
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
}

.wb-dismissible.form-error-banner {
  color: #b42318;
  background: #fef3f2;
  border: 1px solid #fecdca;
}

/* 工作台脚本核验（原 workbench-notice） */
.wb-dismissible.workbench-notice {
  font-size: 14px;
  background: var(--wb-brand-muted-bg, #eef2ff);
  border: 1px solid var(--wb-brand-border, #a5b4fc);
  color: var(--wb-brand-ink, #3730a3);
}

.wb-dismissible.workbench-notice--warn {
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
}

.wb-dismissible.workbench-notice--err {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

/* 登录页错误：默认浅色；html[data-theme="dark"] 下为深色 */
.wb-dismissible.wb-dismissible--login-error {
  margin: 0 0 1rem;
  padding: 10px 36px 10px 12px;
  font-size: 0.875rem;
  color: #b42318;
  background: #fef3f2;
  border: 1px solid #fecdca;
  border-radius: 4px;
}

.wb-dismissible.wb-dismissible--login-error .wb-dismissible__close:hover {
  background: rgba(15, 23, 42, 0.06);
}

html[data-theme='dark'] .wb-dismissible.wb-dismissible--login-error {
  color: #f85149;
  background: #2d1b1b;
  border-color: #6e2a2a;
}

html[data-theme='dark'] .wb-dismissible.wb-dismissible--login-error .wb-dismissible__close:hover {
  background: rgba(255, 255, 255, 0.08);
}
