#notification-container{max-width:100vw;padding:0 1rem;pointer-events:none}#notification-container>*{pointer-events:auto}.notification-enter{opacity:0;transform:translateX(100%);transition:opacity .3s ease-out,transform .3s ease-out}.notification-enter-active,.notification-exit{opacity:1;transform:translateX(0)}.notification-exit{transition:opacity .3s ease-in,transform .3s ease-in}.notification-exit-active{opacity:0;transform:translateX(100%)}@media (max-width:640px){#notification-container{left:1rem!important;right:1rem!important;top:1rem!important;transform:none!important}#notification-container .alert{max-width:none;width:100%}}.alert{backdrop-filter:blur(8px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.alert-success{background-color:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#15803d}.alert-error{background-color:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#991b1b}.alert-warning{background-color:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3);color:#92400e}.alert-info{background-color:rgba(59,130,246,.1);border-color:rgba(59,130,246,.3);color:#1e40af}.alert .btn-ghost{background-color:transparent;border:none;color:inherit;opacity:.7;transition:opacity .2s}.alert .btn-ghost:hover{background-color:rgba(0,0,0,.1);opacity:1}.alert svg{flex-shrink:0;height:1.5rem;width:1.5rem}@keyframes notification-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.alert-error.critical{animation:notification-pulse 2s infinite}.alert:focus-within{outline:2px solid currentColor;outline-offset:2px}.notification-counter{transition:all .3s ease}.notification-counter.has-notifications{transform:scale(1.1)}@media (prefers-color-scheme:dark){.alert{backdrop-filter:blur(12px)}.alert-success{background-color:rgba(34,197,94,.15);color:#4ade80}.alert-error{background-color:rgba(239,68,68,.15);color:#f87171}.alert-warning{background-color:rgba(245,158,11,.15);color:#fbbf24}.alert-info{background-color:rgba(59,130,246,.15);color:#60a5fa}}@media (max-width:640px){.notification-enter,.notification-exit-active{transform:translateY(-100%)}}@media (prefers-reduced-motion:reduce){.notification-enter,.notification-exit{transition-duration:.01ms!important}.alert-error.critical{animation:none}}