.crm-feedback-toast {
    position:fixed; inset:auto; top:calc(18px + env(safe-area-inset-top,0px)); right:calc(22px + env(safe-area-inset-right,0px));
    z-index:2147483000; display:flex; align-items:flex-start; gap:11px; margin:0;
    width:max-content; max-width:min(400px,calc(100vw - 36px)); padding:14px 12px 14px 16px;
    color:var(--crm-text,#f1f2f4); font-size:13px; font-weight:400; line-height:1.5; letter-spacing:normal; overflow:visible;
    background:radial-gradient(ellipse at 0 0,var(--apollo-glass-reflection,rgba(234,238,246,.035)),transparent 65%),linear-gradient(145deg,var(--crm-glass,rgba(39,42,47,.34)),var(--crm-glass-end,rgba(14,16,19,.24)));
    border:1px solid var(--crm-line,rgba(222,226,234,.14)); border-top-color:var(--crm-top,rgba(245,247,250,.35)); border-radius:17px;
    box-shadow:0 14px 38px var(--crm-shadow,rgba(0,0,0,.32)),inset 0 1px var(--crm-inset,rgba(246,248,252,.14));
    backdrop-filter:blur(24px) saturate(115%); -webkit-backdrop-filter:blur(24px) saturate(115%);
    opacity:0; transform:translateY(-9px); transition:opacity .2s ease,transform .2s ease; pointer-events:none;
}
.crm-feedback-toast[hidden] { display:none; }
.crm-feedback-toast.is-visible { opacity:1; transform:translateY(0); pointer-events:auto; }
.crm-feedback-toast>.crm-feedback-icon { display:flex; color:var(--crm-success,#65d4ac); flex:0 0 18px; line-height:1.2; padding-top:1px; }
.crm-feedback-toast.is-error>.crm-feedback-icon { color:var(--crm-danger,#ff8998); }
.crm-feedback-toast.is-warning>.crm-feedback-icon { color:var(--crm-warning,#edc477); }
.crm-feedback-message { min-width:0; flex:1; overflow-wrap:anywhere; white-space:pre-line; }
.crm-feedback-close { display:grid; place-items:center; flex:0 0 25px; width:25px; height:25px; padding:0; margin:-2px 0 -2px 2px; border:0; border-radius:8px; background:transparent; color:var(--crm-muted,#a1a5ae); line-height:1; cursor:pointer; }
.crm-feedback-close:hover { background:var(--crm-hover,rgba(220,225,234,.11)); color:var(--crm-text,#f1f2f4); }
.crm-feedback-close:focus-visible { outline:2px solid var(--crm-accent,#e4e7ed); outline-offset:2px; }
.crm-feedback-close>svg { width:14px;height:14px; }
.crm-feedback-dialog-note { display:flex; align-items:flex-start; gap:12px; padding:12px 14px; margin-bottom:16px; border:1px solid var(--crm-danger,#ff8998); border-radius:12px; color:var(--crm-danger,#ff8998); background:var(--crm-control,rgba(220,225,234,.055)); font-size:13px; line-height:1.5; }
.crm-feedback-dialog-note>span { flex:1; overflow-wrap:anywhere; }
/* Emergency script fallback has the same fixed position and does not move the page. */
.cl-feedback.crm-feedback-fallback,.clinical-workspace .cl-feedback.crm-feedback-fallback { position:fixed; top:18px; right:22px; left:auto; width:max-content; max-width:min(400px,calc(100vw - 36px)); z-index:2147483000; margin:0; }
@media(max-width:575px) {
    .crm-feedback-toast,.cl-feedback.crm-feedback-fallback { top:calc(12px + env(safe-area-inset-top,0px)); right:12px; max-width:calc(100vw - 24px); padding:12px 10px 12px 13px; font-size:12px; border-radius:15px; }
}
@media(prefers-reduced-motion:reduce) { .crm-feedback-toast { transition:none; transform:none; } }

/* Compatibility for legacy SweetAlert toast callers: the same compact visual
   contract, while input, confirmation and progress dialogs keep their own UI. */
.swal2-container:has(.swal2-popup.swal2-toast) {
    top:calc(18px + env(safe-area-inset-top,0px))!important;right:calc(22px + env(safe-area-inset-right,0px))!important;
    left:auto!important;bottom:auto!important;width:auto!important;max-width:calc(100vw - 36px);height:auto!important;
    padding:0!important;display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;
    background:transparent!important;overflow:visible!important;pointer-events:none;
}
div.swal2-container div.swal2-popup.swal2-toast {
    box-sizing:border-box;width:max-content!important;max-width:min(400px,calc(100vw - 36px))!important;
    padding:14px 12px 14px 16px!important;margin:0!important;pointer-events:auto;
    display:grid!important;grid-template-columns:18px minmax(0,1fr)25px;grid-template-areas:"icon title close" "icon html close";gap:0 11px;align-items:start;
    color:var(--crm-text,#f1f2f4)!important;font-family:inherit!important;font-size:13px!important;line-height:1.5!important;
    background:radial-gradient(ellipse at 0 0,var(--apollo-glass-reflection,rgba(234,238,246,.035)),transparent 65%),linear-gradient(145deg,var(--crm-glass,rgba(39,42,47,.34)),var(--crm-glass-end,rgba(14,16,19,.24)))!important;
    border:1px solid var(--crm-line,rgba(222,226,234,.14))!important;border-top-color:var(--crm-top,rgba(245,247,250,.35))!important;border-radius:17px!important;
    box-shadow:0 14px 38px var(--crm-shadow,rgba(0,0,0,.32)),inset 0 1px var(--crm-inset,rgba(246,248,252,.14))!important;
    backdrop-filter:blur(24px) saturate(115%);-webkit-backdrop-filter:blur(24px) saturate(115%);
}
.swal2-popup.swal2-toast :is(.swal2-title,.swal2-html-container) {
    margin:0!important;padding:0!important;min-width:0;color:inherit!important;font-family:inherit!important;font-size:13px!important;font-weight:400!important;
    line-height:1.5!important;letter-spacing:normal!important;text-align:left!important;white-space:pre-line;overflow-wrap:anywhere;
}
.swal2-popup.swal2-toast .swal2-title {grid-area:title;}
.swal2-popup.swal2-toast .swal2-html-container {grid-area:html;}
.swal2-popup.swal2-toast .swal2-icon {
    grid-area:icon;box-sizing:border-box;width:17px!important;height:17px!important;min-width:17px;margin:1px 0 0!important;
    border:1.5px solid currentColor!important;border-radius:50%;color:var(--crm-success,#65d4ac)!important;font-size:12px!important;
    display:grid!important;place-items:center;position:relative;animation:none!important;
}
.swal2-popup.swal2-toast .swal2-icon>* {display:none!important;}
.swal2-popup.swal2-toast .swal2-icon::before {content:"✓";font-family:system-ui,sans-serif;font-size:12px;line-height:1;}
.swal2-popup.swal2-toast .swal2-icon.swal2-error {color:var(--crm-danger,#ff8998)!important;}
.swal2-popup.swal2-toast .swal2-icon.swal2-warning {color:var(--crm-warning,#edc477)!important;}
.swal2-popup.swal2-toast .swal2-icon:is(.swal2-error,.swal2-warning)::before {content:"!";}
.swal2-popup.swal2-toast .swal2-icon.swal2-info::before {content:"i";}
.swal2-popup.swal2-toast .swal2-icon.swal2-question::before {content:"?";}
.swal2-popup.swal2-toast .swal2-close {
    grid-area:close;position:static!important;align-self:start;box-sizing:border-box;width:25px!important;height:25px!important;
    padding:0!important;margin:-2px 0 -2px 2px!important;border:0!important;border-radius:8px!important;box-shadow:none!important;
    color:var(--crm-muted,#a1a5ae)!important;background:transparent!important;font-size:22px!important;font-weight:300;line-height:1!important;
}
.swal2-popup.swal2-toast .swal2-close:hover {background:var(--crm-hover,rgba(220,225,234,.11))!important;color:var(--crm-text,#f1f2f4)!important;}
.swal2-popup.swal2-toast .swal2-actions {grid-column:2 / 4;margin:8px 0 0!important;}
.swal2-popup.swal2-toast .swal2-timer-progress-bar-container {display:none!important;}
html[data-bs-theme=light] :is(.crm-feedback-toast,.swal2-popup.swal2-toast) {
    --crm-text:#30343a;--crm-muted:#626871;--crm-success:#247357;--crm-warning:#996318;--crm-danger:#bb3449;
    --crm-glass:rgba(246,248,250,.94);--crm-glass-end:rgba(231,235,238,.92);--crm-line:rgba(55,65,82,.18);--crm-top:rgba(255,255,255,.8);
}
@media(max-width:575px) {
    .swal2-container:has(.swal2-popup.swal2-toast) {top:calc(12px + env(safe-area-inset-top,0px))!important;right:12px!important;max-width:calc(100vw - 24px);}
    div.swal2-container div.swal2-popup.swal2-toast {max-width:calc(100vw - 24px)!important;padding:12px 10px 12px 13px!important;border-radius:15px!important;}
    .swal2-popup.swal2-toast :is(.swal2-title,.swal2-html-container) {font-size:12px!important;}
}
