/* 个人推演会话：载入进度、上限提示、结束确认等共用弹窗。 */
dialog.mwb-dialog {
  width: min(520px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 14px;
  background: #fff; color: #1b3047; box-shadow: 0 24px 60px rgba(15, 34, 54, .32);
  font: 14px/1.6 -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
}
dialog.mwb-dialog::backdrop { background: rgba(15, 34, 54, .42); }
.mwb-dialog form, .mwb-dialog .mwb-body { padding: 22px 24px 20px; margin: 0; }
.mwb-dialog h2 { margin: 0 0 4px; font-size: 18px; font-weight: 650; color: #142f47; }
.mwb-dialog .mwb-desc { margin: 0 0 14px; color: #5d7287; font-size: 13.5px; }
.mwb-dialog .mwb-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.mwb-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 6px 14px;
  border: 1px solid #d5dfea; border-radius: 8px; background: #fff; color: #1b3047; font: inherit; font-size: 13.5px;
  cursor: pointer; text-decoration: none; white-space: nowrap;
}
.mwb-btn:hover { border-color: #9fbfe6; color: #176ce2; }
.mwb-btn.primary { border-color: #176ce2; background: #176ce2; color: #fff; }
.mwb-btn.primary:hover { background: #135fca; color: #fff; }
.mwb-btn.danger { border-color: #f0c9cf; color: #b42335; }
.mwb-btn.danger:hover { background: #fff6f7; color: #b42335; }
.mwb-btn.small { min-height: 28px; padding: 3px 10px; font-size: 12.5px; }
.mwb-btn[disabled] { opacity: .5; cursor: not-allowed; }
.mwb-steps { display: grid; gap: 9px; margin: 14px 0 6px; }
.mwb-step { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: #9cadbd; }
.mwb-step i { width: 18px; height: 18px; flex: none; border: 2px solid #cbd6e1; border-radius: 50%; }
.mwb-step.done { color: #1b3047; }
.mwb-step.done i { border-color: #1f9d63; background: #1f9d63 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat; }
.mwb-step.current { color: #176ce2; font-weight: 600; }
.mwb-step.current i { border-color: #176ce2; border-top-color: transparent; animation: mwb-spin .8s linear infinite; }
@keyframes mwb-spin { to { transform: rotate(360deg); } }
.mwb-bar { height: 6px; border-radius: 4px; background: #e8eef4; overflow: hidden; }
.mwb-bar i { display: block; height: 100%; width: 10%; background: #176ce2; transition: width .4s ease; }
.mwb-error { margin: 12px 0 0; padding: 10px 12px; border-radius: 8px; background: #fff4f4; color: #b42335; font-size: 13px; }
.mwb-note { margin: 10px 0 0; color: #5d7287; font-size: 12.5px; }
.mwb-option { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 8px; padding: 10px 12px; border: 1px solid #e1e7ef; border-radius: 9px; cursor: pointer; }
.mwb-option:has(input:checked) { border-color: #176ce2; background: #f3f8fe; }
.mwb-option input { margin-top: 4px; }
.mwb-option b { display: block; color: #142f47; font-weight: 600; }
.mwb-option span { color: #5d7287; font-size: 12.5px; }
.mwb-field { display: grid; gap: 6px; margin-top: 12px; font-size: 13px; color: #334b63; font-weight: 600; }
.mwb-field input[type=text], .mwb-field input[type=password] {
  min-height: 36px; padding: 6px 10px; border: 1px solid #d5dfea; border-radius: 8px; font: inherit; font-weight: 400; color: #1b3047;
}
.mwb-field input:focus { outline: 2px solid #9fc4ee; border-color: #176ce2; }
.mwb-check { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 13px; color: #334b63; }
.mwb-list { display: grid; gap: 8px; margin: 8px 0 0; }
.mwb-list-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid #e1e7ef; border-radius: 9px; font-size: 13px; }
.mwb-list-item .grow { flex: 1; min-width: 0; }
.mwb-list-item small { display: block; color: #5d7287; }
.mwb-pill { display: inline-flex; align-items: center; gap: 5px; padding: 1px 8px; border-radius: 10px; background: #edf3fc; color: #176ce2; font-size: 12px; font-weight: 600; white-space: nowrap; }
.mwb-pill.ok { background: #e6f5ee; color: #16815f; }
.mwb-pill.warn { background: #fbf0dc; color: #9b640d; }
.mwb-pill.muted { background: #eef1f4; color: #5d7287; }
.mwb-pill.err { background: #fbe7ea; color: #b42335; }
.mwb-pill i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.mwb-preview { margin-top: 10px; padding: 10px 12px; border-radius: 9px; background: #f5f8fc; font-size: 13px; color: #334b63; }
.mwb-preview b { color: #142f47; }
