/* DeepFA interface looks: toast messages (ts-*) and SweetAlert dialogs (sw-*).
   Chosen in Admin -> AI Settings; "classic" is the stock look and has no rules.
   Both themes: the light rules are the base, html[data-theme="dark"] adjusts them. */
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast {
  position: relative; display: flex; align-items: center; gap: 12px;
  min-width: 0;
  margin: 0 0 10px; padding: 14px 16px; border: 0; border-radius: 12px;
  opacity: 1 !important; background-image: none !important; background-position: 0 0;
  font-size: 13px; line-height: 1.75; text-shadow: none; overflow: hidden;
  direction: rtl; text-align: right;
  --tc: var(--ui-accent, #16a085); --tc2: color-mix(in srgb, var(--ui-accent, #16a085) 62%, #fff);
}
html[dir="ltr"] :is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast,
html[dir="ltr"] :is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast,
html[dir="ltr"] :is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast,
html[dir="ltr"] :is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast,
html[dir="ltr"] :is(body.ts-night #toast-container, .ui-pv.ts-night) .toast,
html[dir="ltr"] :is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast,
html[dir="ltr"] :is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast { direction: ltr; text-align: left; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-success,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast.toast-success,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast.toast-success,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-success,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast.toast-success,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast.toast-success,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast.toast-success { --tc: var(--ui-accent, #16a085); --tc2: color-mix(in srgb, var(--ui-accent, #16a085) 62%, #fff); }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-error,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast.toast-error,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast.toast-error,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-error,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast.toast-error,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast.toast-error,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast.toast-error { --tc: #e5484d; --tc2: #ff8a8a; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-warning,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast.toast-warning,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast.toast-warning,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-warning,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast.toast-warning,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast.toast-warning,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast.toast-warning { --tc: #f5a524; --tc2: #ffd166; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-info,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast.toast-info,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast.toast-info,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-info,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast.toast-info,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast.toast-info,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast.toast-info { --tc: #3b82f6; --tc2: #7fb2ff; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast:hover,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast:hover,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast:hover,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast:hover,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast:hover,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast:hover,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast:hover { opacity: 1 !important; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast .toast-title,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast .toast-title,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast .toast-title,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast .toast-title,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast .toast-title,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast .toast-title,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast .toast-title { display: none; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast .toast-message,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast .toast-message,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast .toast-message,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast .toast-message,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast .toast-message,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast .toast-message,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast .toast-message { flex: 1 1 auto; margin: 0; padding: 0; word-wrap: break-word; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast::before,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast::before,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast::before,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast::before,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast::before,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast::before,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast::before {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font: bold 14px/1 sans-serif; content: "\2713";
}
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-error::before,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast.toast-error::before,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast.toast-error::before,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-error::before,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast.toast-error::before,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast.toast-error::before,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast.toast-error::before { content: "\2715"; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-warning::before,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast.toast-warning::before,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast.toast-warning::before,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-warning::before,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast.toast-warning::before,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast.toast-warning::before,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast.toast-warning::before { content: "!"; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-info::before,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast.toast-info::before,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast.toast-info::before,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-info::before,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast.toast-info::before,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast.toast-info::before,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast.toast-info::before { content: "i"; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast .toast-close-button,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast .toast-close-button,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast .toast-close-button,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast .toast-close-button,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast .toast-close-button,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast .toast-close-button,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast .toast-close-button {
  position: absolute; top: 4px; inset-inline-start: 8px; float: none; order: 3; background: transparent; border: 0; padding: 0; cursor: pointer;
  font-size: 18px; line-height: 1; color: inherit; opacity: .5; text-shadow: none;
}
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast .toast-close-button:hover,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast .toast-close-button:hover,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast .toast-close-button:hover,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast .toast-close-button:hover,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast .toast-close-button:hover,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast .toast-close-button:hover,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast .toast-close-button:hover { opacity: .9; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast .toast-progress,
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast .toast-progress,
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast .toast-progress,
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast .toast-progress,
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast .toast-progress,
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast .toast-progress,
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast .toast-progress { position: absolute; bottom: 0; inset-inline-start: 0; height: 3px; background: currentColor; opacity: .45; }
body.ts-solid #toast-container .toast, body.ts-pill #toast-container .toast, body.ts-glass #toast-container .toast, body.ts-gradient #toast-container .toast, body.ts-night #toast-container .toast, body.ts-outline #toast-container .toast, body.ts-minimal #toast-container .toast { width: 360px !important; max-width: calc(100vw - 24px); }
/* solid: full colour, the default */
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast { color: #fff; background: var(--tc); box-shadow: 0 10px 24px rgba(0,0,0,.18); }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-success { --tc: var(--ui-accent, #16a085); }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-error { --tc: #d93f46; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-warning { --tc: #e09613; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast.toast-info { --tc: #2f6fdb; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast::before { background: rgba(255,255,255,.22); color: #fff; }
:is(body.ts-solid #toast-container, .ui-pv.ts-solid) .toast .toast-progress { background: #fff; opacity: .6; }

/* pill: dark, calm */
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast { color: #f3f6f9; background: #1f2937; border-radius: 18px; box-shadow: 0 10px 28px rgba(0,0,0,.3); }
:is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast::before { background: var(--tc); color: #fff; }
html[data-theme="dark"] :is(body.ts-pill #toast-container, .ui-pv.ts-pill) .toast { background: #0f141c; border: 1px solid rgba(255,255,255,.09); }

/* glass: translucent with a gradient badge */
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast {
  color: #1e2d3d; background: rgba(255,255,255,.82); border: 1px solid rgba(255,255,255,.9);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-radius: 16px; box-shadow: 0 10px 30px rgba(22,160,133,.2);
}
:is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast::before { border-radius: 10px; width: 30px; height: 30px; background: linear-gradient(135deg, var(--tc), var(--tc2)); color: #fff; }
html[data-theme="dark"] :is(body.ts-glass #toast-container, .ui-pv.ts-glass) .toast { color: #e8edf3; background: rgba(30,38,52,.8); border-color: rgba(255,255,255,.12); box-shadow: 0 10px 30px rgba(0,0,0,.4); }

/* gradient: full colour with a gradient */
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast { color: #fff; background-color: var(--tc); background-image: linear-gradient(135deg, var(--tc), var(--tc2)) !important; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-success { --tc: var(--ui-accent, #16a085); --tc2: color-mix(in srgb, var(--ui-accent, #16a085) 62%, #fff); }
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-error { --tc: #d63a41; --tc2: #ff7a7a; }
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-warning { --tc: #e8890b; --tc2: #ffc247; }
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast.toast-info { --tc: #2563eb; --tc2: #60a5fa; }
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast::before { background: rgba(255,255,255,.25); color: #fff; }
:is(body.ts-gradient #toast-container, .ui-pv.ts-gradient) .toast .toast-progress { background: #fff; opacity: .6; }

/* night: dark card, coloured edge */
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast { color: #e8edf3; background: #151b26; border-radius: 10px; border-inline-start: 4px solid var(--tc); box-shadow: 0 10px 26px rgba(0,0,0,.3); }
:is(body.ts-night #toast-container, .ui-pv.ts-night) .toast::before { background: transparent; color: var(--tc); border: 2px solid var(--tc); }
html[data-theme="dark"] :is(body.ts-night #toast-container, .ui-pv.ts-night) .toast { background: #0e131b; box-shadow: 0 10px 26px rgba(0,0,0,.5); }

/* outline: light card, coloured frame */
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast { color: #1e2d3d; background: #fff; border: 2px solid var(--tc); box-shadow: 0 8px 22px rgba(30,45,61,.12); }
:is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast::before { background: var(--tc); color: #fff; }
html[data-theme="dark"] :is(body.ts-outline #toast-container, .ui-pv.ts-outline) .toast { color: #e8edf3; background: #1b2230; box-shadow: 0 8px 22px rgba(0,0,0,.4); }

/* minimal: flat, a single accent line */
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast {
  color: #1e2d3d; background: #fff; border: 1px solid #e3e8ee; border-bottom: 3px solid var(--tc);
  border-radius: 8px; box-shadow: 0 6px 18px rgba(30,45,61,.1);
}
:is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast::before { width: auto; height: auto; background: transparent; color: var(--tc); font-size: 20px; }
html[data-theme="dark"] :is(body.ts-minimal #toast-container, .ui-pv.ts-minimal) .toast { color: #e8edf3; background: #1b2230; border-color: #2a3445; border-bottom-color: var(--tc); box-shadow: 0 6px 18px rgba(0,0,0,.35); }

/* ---------------------------------------------------------------------------
   Dialog previews in the admin picker: the real dialog at its real width,
   scaled down, so a preview has the proportions of the real thing.
   --------------------------------------------------------------------------- */
.ui-pv[class*="sw-"] { display: flex; justify-content: center; align-items: flex-start; padding: 12px 0; border-radius: 12px; }
.ui-pv .swal2-popup { display: grid !important; position: relative; width: 32em !important; max-width: none !important; margin: 0 !important; animation: none !important; box-sizing: border-box; zoom: .76; }
.ui-pv .swal2-icon, .ui-pv .swal2-actions { display: flex !important; }
.ui-pv .swal2-html-container { display: block !important; }
.ui-pv .swal2-icon, .ui-pv .swal2-icon * { animation: none !important; }
.ui-pv .swal2-icon .swal2-icon-content { opacity: 1 !important; }
.ui-pv.sw-side .swal2-popup { width: 34em !important; zoom: .72; }
.ui-pv.sw-compact .swal2-popup { width: 22em !important; }
.ui-pv.sw-flat .swal2-popup { width: 30em !important; }
.ui-pv.sw-glass { background: linear-gradient(135deg, var(--ui-accent, #16a085), #6366f1 55%, #ec4899); padding: 22px 10px; }
html[data-theme="dark"] .ui-pv.sw-glass { background: linear-gradient(135deg, color-mix(in srgb, var(--ui-accent, #16a085) 70%, #000), #312e81 55%, #831843); }

/* classic in the dark theme: the site darkens a real dialog (.swal2-container > .swal2-popup); a preview has no container */
html[data-theme="dark"] .ui-pv.sw-classic .swal2-popup { background-color: var(--dfa-surface-3, #1b2230) !important; color: var(--dfa-text, #e8edf3) !important; border: 1px solid var(--dfa-border-strong, #2a3445); }

/* widths of the real dialogs */
body.sw-side .swal2-container .swal2-popup:not(.swal2-toast) { width: 34em !important; max-width: 94vw; }
body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast) { width: 22em !important; max-width: 94vw; }
body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast) { width: 30em !important; max-width: 94vw; }

/* ---------------------------------------------------------------------------
   soft: white and rounded, a filled icon, pill buttons side by side at equal width
   --------------------------------------------------------------------------- */
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) { border-radius: 28px !important; padding: 30px 26px 24px !important; background: #fff !important; box-shadow: 0 24px 60px rgba(0,0,0,.16) !important; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-icon { border: 0 !important; background: rgba(248,187,134,.22); zoom: .85; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-title { font-size: 19px !important; padding-top: 4px !important; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-actions { width: 100%; gap: 10px; margin: 22px 0 0 !important; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-styled { flex: 1 1 auto; margin: 0 !important; border-radius: 999px !important; padding: 11px 18px !important; font-weight: 700 !important; font-size: 14px !important; box-shadow: none !important; }
/* with a third answer the cancel button wraps to its own row: it keeps the width of its word there */
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-actions:has(.swal2-deny:not([style*="none"])) .swal2-cancel { flex: 0 1 auto; min-width: 140px !important; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-confirm { background: var(--ui-accent, #16a085) !important; color: #fff !important; box-shadow: 0 8px 18px color-mix(in srgb, var(--ui-accent, #16a085) 32%, transparent) !important; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-cancel { background: #eef1f5 !important; color: #425466 !important; }
html[data-theme="dark"] :is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) { background: #1b2230 !important; color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-title, html[data-theme="dark"] :is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-html-container { color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-cancel { background: #2a3445 !important; color: #cbd5e1 !important; }

/* ---------------------------------------------------------------------------
   dark: a dark dialog in either theme, the icon in the accent colour
   --------------------------------------------------------------------------- */
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) { background: #121821 !important; color: #e5ebf3 !important; border: 1px solid #263044 !important; border-radius: 16px !important; box-shadow: 0 24px 60px rgba(0,0,0,.5) !important; }
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-icon { border-color: color-mix(in srgb, var(--ui-accent, #16a085) 60%, transparent) !important; color: var(--ui-accent, #16a085) !important; background: color-mix(in srgb, var(--ui-accent, #16a085) 12%, transparent); }
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-icon .swal2-icon-content { color: var(--ui-accent, #16a085) !important; }
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-title { color: #fff !important; font-size: 19px !important; }
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-html-container { color: #9fb0c4 !important; }
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-styled { border-radius: 10px !important; font-weight: 700 !important; font-size: 13.5px !important; padding: 10px 26px !important; box-shadow: none !important; }
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-confirm { background: var(--ui-accent, #16a085) !important; color: #fff !important; }
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-cancel { background: #232c3b !important; color: #dbe3ee !important; }
:is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-input, :is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-textarea { background: #0b1017 !important; color: #e5ebf3 !important; border-color: #2a3445 !important; }

/* ---------------------------------------------------------------------------
   glass: frosted over a blurred, darkened page
   --------------------------------------------------------------------------- */
/* a toast's container (a strip as wide as the toast, as tall as the page) is never tinted */
body.sw-glass .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)) { background: rgba(20,30,45,.35) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
:is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) { background: rgba(255,255,255,.5) !important; color: #10202f !important; border: 1px solid rgba(255,255,255,.75) !important; border-radius: 22px !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%); box-shadow: 0 24px 60px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.8) !important; }
:is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-icon { border-color: rgba(255,255,255,.9) !important; color: #fff !important; background: rgba(255,255,255,.25); }
:is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-icon .swal2-icon-content { color: #fff !important; }
:is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-title { font-size: 19px !important; color: #0b1a2a !important; }
:is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-html-container { color: #213547 !important; }
:is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-styled { border-radius: 14px !important; font-weight: 700 !important; font-size: 13.5px !important; padding: 10px 26px !important; box-shadow: none !important; }
:is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-confirm { background: rgba(255,255,255,.92) !important; color: #0b1a2a !important; }
:is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-cancel { background: rgba(255,255,255,.22) !important; color: #0b1a2a !important; border: 1px solid rgba(255,255,255,.7) !important; }
html[data-theme="dark"] :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) { background: rgba(20,26,38,.5) !important; color: #e8edf3 !important; border-color: rgba(255,255,255,.14) !important; box-shadow: 0 24px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08) !important; }
html[data-theme="dark"] :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-title, html[data-theme="dark"] :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-html-container { color: #f1f5f9 !important; }
html[data-theme="dark"] :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-confirm { background: rgba(255,255,255,.9) !important; color: #0b1a2a !important; }
html[data-theme="dark"] :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-cancel { color: #f1f5f9 !important; border-color: rgba(255,255,255,.25) !important; background: rgba(255,255,255,.08) !important; }

/* ---------------------------------------------------------------------------
   accent: a colour bar on top, buttons as one full-width row split by a line
   --------------------------------------------------------------------------- */
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) { padding: 0 !important; overflow: hidden; border-radius: 16px !important; border-top: 7px solid var(--ui-accent, #16a085) !important; box-shadow: 0 18px 44px rgba(0,0,0,.2) !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-icon { zoom: .7; margin: 26px auto 0 !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-title { font-size: 18px !important; padding: 10px 22px 0 !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-html-container { padding: 0 24px !important; margin-top: 8px !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-actions { width: 100%; gap: 0 !important; margin: 22px 0 0 !important; border-top: 1px solid #e6e9ee; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-styled { flex: 1 1 auto; margin: 0 !important; border-radius: 0 !important; background: transparent !important; padding: 14px 10px !important; font-size: 14px !important; box-shadow: none !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-styled + .swal2-styled { border-inline-start: 1px solid #e6e9ee !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-confirm { color: var(--ui-accent, #16a085) !important; font-weight: 800 !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-cancel { color: #6b7c8a !important; font-weight: 600 !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-deny { background: transparent !important; color: #334155 !important; font-weight: 700 !important; }
html[data-theme="dark"] :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-deny { color: #cbd5e1 !important; }
html[data-theme="dark"] :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) { background: #1b2230 !important; color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-title, html[data-theme="dark"] :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-html-container { color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-actions, html[data-theme="dark"] :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-styled + .swal2-styled { border-color: #2a3445 !important; }
html[data-theme="dark"] :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-cancel { color: #9aa8b8 !important; }

/* ---------------------------------------------------------------------------
   compact: small and quick, everything on a smaller scale
   --------------------------------------------------------------------------- */
:is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) { padding: 16px 18px 14px !important; border-radius: 12px !important; box-shadow: 0 14px 36px rgba(0,0,0,.2) !important; }
:is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-icon { zoom: .5; margin: 4px auto 0 !important; }
:is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-title { font-size: 15px !important; padding-top: 6px !important; }
:is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-html-container { font-size: 12.5px !important; margin-top: .4rem !important; }
:is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-actions { margin-top: .8em !important; }
:is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-styled { border-radius: 7px !important; font-weight: 700 !important; font-size: 12px !important; padding: 6px 16px !important; margin: 0 4px !important; box-shadow: none !important; }
:is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-confirm { background: var(--ui-accent, #16a085) !important; color: #fff !important; }
:is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-cancel { background: #eef1f5 !important; color: #425466 !important; }
html[data-theme="dark"] :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) { background: #1b2230 !important; color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-title, html[data-theme="dark"] :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-html-container { color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-cancel { background: #2a3445 !important; color: #cbd5e1 !important; }

/* ---------------------------------------------------------------------------
   side: the icon stands beside the text
   --------------------------------------------------------------------------- */
:is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) { display: grid !important; grid-template-columns: auto 1fr !important; column-gap: 18px; align-items: center; text-align: start !important;
  padding: 22px 24px !important; border-radius: 16px !important; box-shadow: 0 20px 50px rgba(0,0,0,.2) !important; }
:is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-icon { grid-column: 1 !important; grid-row: 1 / span 3 !important; margin: 0 !important; zoom: .7; }
:is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-title { grid-column: 2 !important; justify-self: start; text-align: start !important; margin: 0 !important; padding: 0 !important; font-size: 17px !important; }
:is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-html-container { grid-column: 2 !important; justify-self: start; text-align: start !important; margin: .35rem 0 0 !important; padding: 0 !important; font-size: 13.5px !important; }
:is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-actions { grid-column: 2 !important; justify-content: flex-start !important; margin: 14px 0 0 !important; }
:is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-styled { border-radius: 10px !important; font-weight: 700 !important; font-size: 13px !important; padding: 9px 22px !important; margin: 0 !important; margin-inline-end: 8px !important; box-shadow: none !important; }
:is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-confirm { background: var(--ui-accent, #16a085) !important; color: #fff !important; }
:is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-cancel { background: transparent !important; color: #6b7c8a !important; }
html[data-theme="dark"] :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) { background: #1b2230 !important; color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-title, html[data-theme="dark"] :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-html-container { color: #e8edf3 !important; }

/* ---------------------------------------------------------------------------
   header: a coloured title band
   --------------------------------------------------------------------------- */
:is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) { display: flex !important; flex-direction: column; padding: 0 !important; overflow: hidden; border-radius: 14px !important; box-shadow: 0 20px 50px rgba(0,0,0,.22) !important; }
:is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-title { order: -1; margin: 0 !important; padding: 16px 22px !important; background: var(--ui-accent, #16a085); color: #fff !important; font-size: 17px !important; text-align: start !important; }
:is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-icon { order: 0; zoom: .6; margin: 18px auto 0 !important; }
:is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-html-container { order: 1; margin: 6px 0 0 !important; padding: 0 24px !important; font-size: 14px !important; }
:is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-actions { order: 2; margin: 18px 0 0 !important; padding: 0 24px 22px; }
:is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-styled { border-radius: 8px !important; font-weight: 700 !important; font-size: 13px !important; padding: 9px 24px !important; box-shadow: none !important; }
:is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-confirm { background: var(--ui-accent, #16a085) !important; color: #fff !important; }
:is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-cancel { background: #eef1f5 !important; color: #425466 !important; }
html[data-theme="dark"] :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) { background: #1b2230 !important; color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-html-container { color: #e8edf3 !important; }
html[data-theme="dark"] :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-cancel { background: #2a3445 !important; color: #cbd5e1 !important; }

/* ---------------------------------------------------------------------------
   bold: a thick outline and a hard shadow
   --------------------------------------------------------------------------- */
:is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) { background: #fff !important; color: #111 !important; border: 3px solid #111 !important; border-radius: 6px !important; box-shadow: 8px 8px 0 #111 !important; }
:is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-icon { border-width: 3px !important; border-color: #111 !important; background: #ffd54a; }
:is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-icon .swal2-icon-content { color: #111 !important; }
:is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-title { color: #111 !important; font-size: 20px !important; font-weight: 900 !important; }
:is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-html-container { color: #333 !important; }
:is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-styled { border: 3px solid #111 !important; border-radius: 4px !important; font-weight: 800 !important; font-size: 13.5px !important; padding: 8px 24px !important; box-shadow: 3px 3px 0 #111 !important; }
:is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-confirm { background: var(--ui-accent, #16a085) !important; color: #fff !important; }
:is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-cancel { background: #fff !important; color: #111 !important; }
html[data-theme="dark"] :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) { background: #141a24 !important; color: #f3f6f9 !important; border-color: #f3f6f9 !important; box-shadow: 8px 8px 0 #f3f6f9 !important; }
html[data-theme="dark"] :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-icon { border-color: #f3f6f9 !important; }
html[data-theme="dark"] :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-title, html[data-theme="dark"] :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-html-container { color: #f3f6f9 !important; }
html[data-theme="dark"] :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-styled { border-color: #f3f6f9 !important; box-shadow: 3px 3px 0 #f3f6f9 !important; }
html[data-theme="dark"] :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-cancel { background: #141a24 !important; color: #f3f6f9 !important; }

/* ---------------------------------------------------------------------------
   flat: no shadow, aligned to the side, text-style buttons
   --------------------------------------------------------------------------- */
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) { padding: 22px 26px 14px !important; border-radius: 4px !important; border: 1px solid #d9e0e7 !important; box-shadow: none !important; text-align: start !important; }
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-icon { zoom: .5; margin: 0 0 10px !important; margin-inline-end: auto !important; }
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-title { justify-content: flex-start !important; text-align: start !important; padding: 0 !important; font-size: 17px !important; }
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-html-container { text-align: start !important; margin: .5rem 0 0 !important; padding: 0 !important; justify-content: flex-start !important; }
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-actions { justify-content: flex-end !important; margin: 18px 0 0 !important; }
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-styled { background: transparent !important; box-shadow: none !important; border-radius: 4px !important; font-weight: 800 !important; font-size: 13px !important; padding: 8px 14px !important; letter-spacing: .3px; }
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-confirm { color: var(--ui-accent, #16a085) !important; }
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-cancel { color: #6b7c8a !important; }
:is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-deny { color: #334155 !important; }
html[data-theme="dark"] :is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-deny { color: #cbd5e1 !important; }
html[data-theme="dark"] :is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) { background: #141a24 !important; color: #e8edf3 !important; border-color: #263044 !important; }
html[data-theme="dark"] :is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-title, html[data-theme="dark"] :is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-html-container { color: #e8edf3 !important; }

/* ---------------------------------------------------------------------------
   classic, as a preview only: the stock toast, drawn like toastr draws it
   --------------------------------------------------------------------------- */
.ui-pv.ts-classic .toast { position: relative; box-sizing: border-box; margin: 0 0 8px; padding: 14px 16px; padding-inline-start: 46px; color: #fff; border-radius: 3px;
  box-shadow: 0 0 12px #999; opacity: .92; font-size: 12px; line-height: 1.6; overflow: hidden; direction: rtl; text-align: right; background-image: none !important; }
.ui-pv.ts-classic .toast::before { position: absolute; top: 50%; inset-inline-start: 14px; transform: translateY(-50%); font: bold 15px/1 sans-serif; content: "\2713"; }
.ui-pv.ts-classic .toast-success { background: #51a351; }
.ui-pv.ts-classic .toast-error { background: #bd362f; }
.ui-pv.ts-classic .toast-error::before { content: "\2715"; }
.ui-pv.ts-classic .toast .toast-progress { position: absolute; bottom: 0; inset-inline-start: 0; height: 4px; background: #000; opacity: .4; }

/* toast previews at the real width of a toast */
.ui-pv[class*="ts-"] { display: flex; flex-direction: column; align-items: center; padding: 6px 0 2px; }
.ui-pv[class*="ts-"] .toast { width: 360px !important; max-width: 100%; }

/* all dialog looks: buttons sized by their words */
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-actions, :is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-actions, :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-actions, :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-actions, :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-actions, :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-actions, :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-actions, :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-actions, :is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-actions { flex-wrap: wrap !important; row-gap: 8px; }
body.sw-soft .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)), body.sw-dark .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)), body.sw-accent .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)), body.sw-compact .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)), body.sw-side .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)), body.sw-header .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)), body.sw-bold .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)), body.sw-flat .swal2-container.swal2-backdrop-show:not(:has(.swal2-toast)) { background: rgba(15,23,42,.5) !important; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-styled, :is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-styled, :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-styled, :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-styled, :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-styled, :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-styled, :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-styled, :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-styled, :is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-styled { width: auto !important; min-width: 96px !important; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-transform: none !important; letter-spacing: 0 !important; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-deny, :is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-deny, :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-deny, :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-deny, :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-deny, :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-deny, :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-deny { background: #334155 !important; border-color: #334155 !important; color: #fff !important; }
html[data-theme="dark"] :is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-deny, html[data-theme="dark"] :is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-deny, html[data-theme="dark"] :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-deny, html[data-theme="dark"] :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-deny, html[data-theme="dark"] :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-deny, html[data-theme="dark"] :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-deny, html[data-theme="dark"] :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-deny { background: #475569 !important; border-color: #475569 !important; }

/* cancel: the site's own danger red (the "Delete File Manager" button, --ugc-danger); text-button looks colour the word */
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-cancel, :is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-cancel, :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-cancel, :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-cancel, :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-cancel, :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-cancel, :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-cancel { background: #ef4444 !important; border: 1px solid #ef4444 !important; color: #fff !important; }
html[data-theme="dark"] :is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-cancel, html[data-theme="dark"] :is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-cancel, html[data-theme="dark"] :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-cancel, html[data-theme="dark"] :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-cancel, html[data-theme="dark"] :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-cancel, html[data-theme="dark"] :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-cancel, html[data-theme="dark"] :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-cancel { background: #ef4444 !important; border-color: #ef4444 !important; color: #fff !important; }
:is(body.sw-soft .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-soft .swal2-popup) .swal2-cancel:hover, :is(body.sw-dark .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-dark .swal2-popup) .swal2-cancel:hover, :is(body.sw-glass .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-glass .swal2-popup) .swal2-cancel:hover, :is(body.sw-compact .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-compact .swal2-popup) .swal2-cancel:hover, :is(body.sw-side .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-side .swal2-popup) .swal2-cancel:hover, :is(body.sw-header .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-header .swal2-popup) .swal2-cancel:hover, :is(body.sw-bold .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-bold .swal2-popup) .swal2-cancel:hover { background: #dc2626 !important; border-color: #dc2626 !important; }
:is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-cancel, :is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-cancel { background: transparent !important; color: #ef4444 !important; }
html[data-theme="dark"] :is(body.sw-accent .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-accent .swal2-popup) .swal2-cancel, html[data-theme="dark"] :is(body.sw-flat .swal2-container .swal2-popup:not(.swal2-toast), .ui-pv.sw-flat .swal2-popup) .swal2-cancel { color: #f87171 !important; }
