.adv-toast-region{
position:fixed;
left:50%;
bottom:var(--space-6);
transform:translateX(-50%);
z-index:var(--z-toast);
display:flex;
flex-direction:column;
gap:var(--space-3);
width:min(420px,calc(100vw - var(--space-8)));
pointer-events:none;
}
@media (min-width:960px){
.adv-toast-region{left:auto;right:var(--space-8);top:calc(var(--header-height) + var(--space-5));bottom:auto;transform:none}
}

.adv-toast{
display:flex;
align-items:flex-start;
gap:var(--space-3);
padding:var(--space-4) var(--space-5);
background:var(--color-bg);
border:1px solid var(--color-line);
border-left:3px solid var(--color-accent);
border-radius:var(--radius-md);
box-shadow:var(--shadow-md);
font-size:var(--font-size-base);
color:var(--color-ink);
pointer-events:auto;
animation:advFadeInUp var(--duration-medium) var(--ease-out) both;
}

.adv-toast--success{border-left-color:var(--color-success)}
.adv-toast--warning{border-left-color:var(--color-warning)}
.adv-toast--danger{border-left-color:var(--color-danger)}
.adv-toast--info{border-left-color:var(--color-info)}

.adv-toast__icon{
flex-shrink:0;
margin-top:1px;
color:var(--color-accent);
}
.adv-toast--success .adv-toast__icon{color:var(--color-success)}
.adv-toast--warning .adv-toast__icon{color:var(--color-warning)}
.adv-toast--danger .adv-toast__icon{color:var(--color-danger)}
.adv-toast--info .adv-toast__icon{color:var(--color-info)}

.adv-toast__body{flex:1 1 auto;min-width:0}
.adv-toast__title{
font-weight:var(--weight-semibold);
margin:0 0 var(--space-1);
font-size:var(--font-size-base);
color:var(--color-ink);
}
.adv-toast__desc{
margin:0;
font-size:var(--font-size-sm);
color:var(--color-muted);
line-height:var(--line-normal);
}
.adv-toast__actions{
display:flex;
gap:var(--space-3);
margin-top:var(--space-3);
}
.adv-toast__actions button,
.adv-toast__actions a{
font-size:var(--font-size-sm);
font-weight:var(--weight-semibold);
color:var(--color-accent);
background:transparent;
border:0;
padding:0;
cursor:pointer;
text-decoration:none;
}
.adv-toast__actions button:hover,
.adv-toast__actions a:hover{text-decoration:underline;text-underline-offset:3px}

.adv-toast__close{
flex-shrink:0;
width:28px;
height:28px;
display:inline-flex;
align-items:center;
justify-content:center;
color:var(--color-muted);
border-radius:var(--radius-sm);
transition:var(--transition-base);
}
.adv-toast__close:hover{background:var(--color-bg-muted);color:var(--color-ink)}

@keyframes advToastOut{
to{opacity:0;transform:translateY(8px);pointer-events:none}
}
.adv-toast.is-leaving{animation:advToastOut var(--duration-base) var(--ease-in) both}

@media (prefers-reduced-motion: reduce){
.adv-toast,
.adv-toast.is-leaving{animation:none}
}