:root{--toast-shadow:var(--shadow-card,0 6px 18px color-mix(in srgb,var(--shadow-color) 7.06%,transparent))}
.toast-stack{position:fixed;z-index:10000;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.product-toast{--toast-state:var(--toast-info);display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--toast-bg);color:var(--toast-ink);border:1px solid var(--toast-border);border-radius:var(--radius-lg,12px);box-shadow:var(--toast-shadow);font:400 13px/1.45 var(--font-app,Arial,sans-serif);pointer-events:auto;animation:toast-enter .2s ease-out}
.product-toast[data-type=success]{--toast-state:var(--toast-success)}.product-toast[data-type=error]{--toast-state:var(--toast-error)}.product-toast[data-type=warning]{--toast-state:var(--toast-warning)}
.toast-state{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;color:var(--toast-state);font:600 12px/1 Arial,sans-serif}
.toast-message{flex:1;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}
.product-toast .toast-close{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-hint);font:400 22px/1 Arial,sans-serif;cursor:pointer}
.product-toast .toast-close:hover{background:var(--text)}.product-toast .toast-close:focus-visible{outline:2px solid var(--toast-info);outline-offset:2px}
@keyframes toast-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.toast-stack{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:auto}}
@media(prefers-reduced-motion:reduce){.product-toast{animation:none}}
.preview-state{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:7px 12px;border-radius:8px;background:color-mix(in srgb,var(--shadow-color) 93.7%,transparent);color:#e4cf91;font-size:11px;pointer-events:none}.preview-state[hidden]{display:none}
#gridCountSummary[data-error=true]{color:var(--danger)}
