/* doc 的公共反馈样式。状态图标保留 SweetAlert2 自带的形状和动画。 */
.swal2-container .swal2-popup:not(.swal2-toast) {
  width: min(27rem, 100%); padding: 0 0 1.5rem;
  border: 1px solid #dedbe9; border-radius: 12px;
  background: white; color: #2d3748;
  box-shadow: 0 14px 44px rgb(17 43 74 / 18%);
  font-family: inherit;
}
.swal2-popup .swal2-title {
  padding: .65rem 1.5rem 0; color: #2d3748; font-size: 1.35rem; line-height: 1.4;
}
.swal2-popup .swal2-html-container {
  margin: .65rem 1.5rem 0; color: #43586e; font-size: 1rem;
  line-height: 1.65; overflow-wrap: anywhere; text-align: start;
}
.swal2-popup .swal2-icon { margin: 1.35rem auto 0; font-size: .7rem; }
.swal2-popup .swal2-icon.swal2-info { color: #5847aa; border-color: #87b3ea; }
.swal2-popup .swal2-icon.swal2-warning { color: #a05a06; border-color: #deac65; }
.swal2-popup .swal2-actions { gap: .625rem; margin: 1.25rem auto 0; }
.swal2-popup .swal2-actions .swal2-styled {
  min-height: 44px; margin: 0; padding: .55rem 1.25rem;
  border-radius: 6px; font-size: 1rem; font-weight: 600;
}
.swal2-popup .swal2-styled.swal2-confirm { color: white; background-color: #5847aa; }
.swal2-popup .swal2-styled.swal2-cancel { color: #294965; background-color: #efedf9; }
.swal2-popup .swal2-actions button:focus-visible { outline: 2px solid #5847aa; outline-offset: 3px; }
.text-for-info.alert, p.notice, #status[role="status"]:not(:empty) {
  border: 1px solid #dedbea;
  border-radius: 6px; background: #f5f3fb; color: #433954; line-height: 1.65;
}
.text-for-info.alert-dismissible { padding-inline-end: 3rem; }
.text-for-info.alert .badge.bg-warning { background-color: #e7e1f7 !important; color: #4e398b !important; }
.text-for-info.alert code { color: #574298; }
p.notice.success { color: #18553d; background: #edf7f1; border-color: #b3d7c1; }
#status[role="status"]:not(:empty) { padding: .65rem 1rem; }

:is(#alertModal, #recommendationsModal, #addToPlaylistModal, #editPlaylistModal) .modal-content { border: 1px solid #dedbe9; border-radius: 12px; color: #2d3748; }
:is(#alertModal, #recommendationsModal, #addToPlaylistModal, #editPlaylistModal) .modal-header { background: #f5f2fc; border-color: #dedbe9; }
:is(#alertModal, #recommendationsModal, #addToPlaylistModal, #editPlaylistModal) .btn-primary { background: #5847aa; border-color: #5847aa; }

:is(#addToPlaylistModal, #editPlaylistModal) .form-control:focus {
  border-color: #7563bc;
  box-shadow: 0 0 0 .18rem rgb(88 71 170 / 17%);
}
:is(#addToPlaylistModal, #editPlaylistModal) .modal-footer { border-color: #dedbea; }
:is(#addToPlaylistModal, #editPlaylistModal) .list-group-item.active {
  background: #efedf9; color: #44328c; border-color: #b8addc;
}
.alert.alert-info[role="alert"] { color: #483969; background: #f4f1fb; border-color: #dcd5ef; }
.alert.alert-warning[role="alert"] { color: #70480b; background: #fff6e4; border-color: #eed8a8; }
.swal2-container .swal2-popup.swal2-toast {
  color: #2d3748; background: white; border: 1px solid #dedbea; border-radius: 10px;
  box-shadow: 0 6px 24px rgb(42 33 72 / 14%);
}
.swal2-popup.swal2-toast .swal2-icon { margin: 0 .5rem 0 0; font-size: 1rem; }
.swal2-popup.swal2-toast .swal2-title { margin: .25rem .5rem; padding: 0; font-size: 1rem; }
@media (max-width: 480px) {
  :is(#addToPlaylistModal, #editPlaylistModal) .modal-content { max-height: calc(100dvh - 2rem); }
  :is(#addToPlaylistModal, #editPlaylistModal) .modal-body { overflow-y: auto; }
}
