/* r110 PC unified HTML dialog system. Intentionally isolated from existing dialogs. */
.sh-dialog {
  box-sizing: border-box; width: min(440px, calc(100vw - 32px));
  max-height: min(85dvh, 720px); margin: auto; padding: 0;
  border: 1px solid #dce3eb; border-radius: 12px;
  background: #fff; color: #243244;
  box-shadow: 0 20px 65px rgba(12, 27, 43, .23);
  font: inherit; overflow: auto; overscroll-behavior: contain;
}
.sh-dialog::backdrop { background: rgba(12, 24, 38, .52); }
.sh-dialog__panel { padding: 24px; }
.sh-dialog__header { display: flex; align-items: center; gap: 12px; }
.sh-dialog__title { margin: 0; font-size: 19px; line-height: 1.4; font-weight: 700; }
.sh-dialog__message { margin: 14px 0 20px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.sh-dialog__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.sh-dialog__button {
  box-sizing: border-box; min-height: 40px; padding: 0 18px; border-radius: 7px;
  border: 1px solid #c9d2dc; background: #fff; color: #25354a;
  font: inherit; font-weight: 600; cursor: pointer;
}
.sh-dialog__button:focus-visible, .sh-dialog__input:focus-visible {
  outline: 3px solid #77b9ff; outline-offset: 2px;
}
.sh-dialog__button--accept { background: #1865ac; border-color: #1865ac; color: #fff; }
.sh-dialog[data-kind="danger"] .sh-dialog__button--accept { background: #b42318; border-color: #b42318; }
.sh-dialog[data-kind="warning"] .sh-dialog__button--accept { background: #9a5800; border-color: #9a5800; }
.sh-dialog__input-label { display: grid; gap: 8px; margin: 0 0 20px; }
.sh-dialog__input { width: 100%; box-sizing: border-box; min-height: 40px; padding: 10px;
  border: 1px solid #aab6c5; border-radius: 7px; font: inherit; }
textarea.sh-dialog__input { min-height: 100px; resize: vertical; }
.sh-dialog__loading { padding: 28px 24px; text-align: center; line-height: 1.6; }
.sh-dialog-toast {
  position: fixed; z-index: 2147483647; bottom: 28px; left: 50%;
  transform: translateX(-50%); width: max-content; max-width: calc(100vw - 36px);
  box-sizing: border-box; padding: 12px 20px; background: #243244; color: #fff;
  border-radius: 9px; box-shadow: 0 8px 30px rgba(0,0,0,.18);
  overflow-wrap: anywhere;
}
@media (max-width: 480px) {
  .sh-dialog__panel { padding: 18px; }
  .sh-dialog__actions { flex-direction: column-reverse; }
  .sh-dialog__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .sh-dialog, .sh-dialog-toast { transition: none; animation: none; } }
