.sm-notification { --notice-accent:#248264; --notice-soft:#eaf6f0; --notice-line:#d1e8dd; display:flex; align-items:flex-start; gap:.85rem; padding:1rem 1.1rem; margin:0 0 1rem; border:1px solid var(--notice-line); border-inline-start:3px solid var(--notice-accent); border-radius:13px; background:#fff; color:#263d5b; box-shadow:0 5px 20px #182b4b06; text-align:start; }
.sm-notification-danger { --notice-accent:#b73540; --notice-soft:#fff0f2; --notice-line:#efd5d9; }
.sm-notification-warning { --notice-accent:#946414; --notice-soft:#fff7e5; --notice-line:#eee0bd; }
.sm-notification-info, .sm-notification-primary { --notice-accent:#2459bd; --notice-soft:#edf3ff; --notice-line:#d5e2f8; }
.sm-notification-secondary, .sm-notification-light { --notice-accent:#65758d; --notice-soft:#f1f4f8; --notice-line:#e0e6ee; }
.sm-notification-dark { --notice-accent:#364d6c; --notice-soft:#edf1f7; --notice-line:#d7e0ec; }
.sm-notification .sm-notification-icon { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:10px; color:var(--notice-accent); background:var(--notice-soft); font-size:1.05rem; }
.sm-notification .sm-notification-content { flex:1; min-width:0; }
.sm-notification .sm-notification-heading { font-size:.81rem; font-weight:650; color:#263d5b; line-height:1.5; margin:.05rem 0 .2rem; }
.sm-notification .sm-notification-message { color:#65758d; font-size:.8rem; line-height:1.7; overflow-wrap:anywhere; }
.sm-notification .sm-notification-message > :last-child { margin-bottom:0; }
.sm-notification .sm-notification-message p { margin:0 0 .4rem; }
.sm-notification .sm-notification-message ul, .sm-notification .sm-notification-message ol { padding-inline-start:1.15rem; margin:.35rem 0 0; }
.sm-notification .sm-notification-message a { color:var(--notice-accent); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.sm-notification .sm-notification-message a:hover { text-decoration-thickness:2px; }
.sm-notification .sm-notification-close { display:grid; place-items:center; width:26px; height:26px; padding:0; margin:-.15rem -.25rem 0 0; border:0; border-radius:7px; background:transparent; color:#91a0b5; font-size:.7rem; flex-shrink:0; transition:background .15s,color .15s; }
.sm-notification .sm-notification-close:hover, .sm-notification .sm-notification-close:focus-visible { color:var(--notice-accent); background:var(--notice-soft); }
.sm-toast-stack { position:fixed; z-index:1090; display:flex; flex-direction:column; gap:.75rem; width:min(390px,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); overflow-y:auto; overscroll-behavior:contain; padding:2px; pointer-events:none; }
.sm-toast-stack[data-location="top-right"] { top:max(1rem,env(safe-area-inset-top)); right:max(1rem,env(safe-area-inset-right)); }
.sm-toast-stack[data-location="top-left"] { top:max(1rem,env(safe-area-inset-top)); left:max(1rem,env(safe-area-inset-left)); }
.sm-toast-stack[data-location="bottom-right"] { bottom:max(1rem,env(safe-area-inset-bottom)); right:max(1rem,env(safe-area-inset-right)); }
.sm-toast-stack[data-location="bottom-left"] { bottom:max(1rem,env(safe-area-inset-bottom)); left:max(1rem,env(safe-area-inset-left)); }
.toast.sm-notification-floating { width:100%; flex-shrink:0; margin:0; pointer-events:auto; box-shadow:0 8px 24px #182b4b14; background:#fff; }
.toast.sm-notification-floating.show, .toast.sm-notification-floating.showing { display:flex; }
.toast.sm-notification-floating.show { animation:sm-notification-appear .2s ease-out; }
@keyframes sm-notification-appear { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:575.98px) { .sm-notification { padding:.85rem; gap:.65rem; border-radius:11px; } .sm-notification .sm-notification-icon { width:30px; height:30px; border-radius:9px; } .sm-toast-stack { width:calc(100vw - 1.5rem); } .sm-toast-stack[data-location] { left:.75rem; right:.75rem; } }
@media (prefers-reduced-motion:reduce) { .sm-notification, .sm-notification *, .toast.sm-notification-floating { transition:none !important; animation:none !important; } }
