/* ===========================
TOASTS GLOBALES
=========================== */

.toast-container{
	position:fixed;
	top:18px;
	right:18px;
	z-index:10000;

	width:min(92vw, 390px);

	display:flex;
	flex-direction:column;
	gap:10px;

	pointer-events:none;
}

.toast{
	width:100%;

	display:flex;
	align-items:center;
	gap:12px;

	padding:14px 14px;

	border:1px solid var(--border);
	border-radius:16px;

	background:var(--secondary-background);
	color:var(--text-color);

	box-shadow:0 18px 55px rgba(0,0,0,.32);

	opacity:0;
	transform:translateX(18px) scale(.98);

	pointer-events:auto;

	transition:
		opacity .22s ease,
		transform .22s ease,
		background-color .2s ease,
		border-color .2s ease,
		color .2s ease;
}

.toast.is-visible{
	opacity:1;
	transform:translateX(0) scale(1);
}

.toast.is-hiding{
	opacity:0;
	transform:translateX(18px) scale(.98);
}

.toast-icon{
	width:34px;
	height:34px;

	display:inline-flex;
	align-items:center;
	justify-content:center;

	border-radius:12px;

	flex-shrink:0;
}

.toast-content{
	flex:1;
	min-width:0;
}

.toast-title{
	margin:0;
	font-size:.88rem;
	font-weight:900;
	line-height:1.25;
	color:var(--text-color);
}

.toast-message{
	margin:4px 0 0 0;
	font-size:.8rem;
	line-height:1.35;
	color:var(--muted-text-color);
}

.toast-close{
	width:28px;
	height:28px;

	display:inline-flex;
	align-items:center;
	justify-content:center;

	border:0;
	border-radius:9px;

	background:transparent;
	color:var(--muted-text-color);

	cursor:pointer;
	flex-shrink:0;

	transition:
		background-color .2s ease,
		color .2s ease;
}

.toast-close:hover{
	background:var(--accent-soft);
	color:var(--accent);
}

.toast-close i{
	font-size:12px;
}

/* SUCCESS */

.toast.toast-success{
	border-color:var(--success-border, #1E7A45);
	background:linear-gradient(135deg, var(--secondary-background), var(--success-bg, #10251B));
}

.toast.toast-success .toast-icon{
	color:var(--success-text, #74D99F);
	background:var(--success-bg, #10251B);
	border:1px solid var(--success-border, #1E7A45);
}

/* WARNING */

.toast.toast-warning{
	border-color:#A97916;
	background:linear-gradient(135deg, var(--secondary-background), #251D0D);
}

.toast.toast-warning .toast-icon{
	color:#F6C76B;
	background:#251D0D;
	border:1px solid #A97916;
}

html[data-theme="light"] .toast.toast-warning{
	border-color:#FEDF89;
	background:linear-gradient(135deg, var(--secondary-background), #FFFAEB);
}

html[data-theme="light"] .toast.toast-warning .toast-icon{
	color:#B54708;
	background:#FFFAEB;
	border-color:#FEDF89;
}

/* ERROR */

.toast.toast-error{
	border-color:var(--danger-border);
	background:linear-gradient(135deg, var(--secondary-background), var(--danger-bg));
}

.toast.toast-error .toast-icon{
	color:var(--danger-text);
	background:var(--danger-bg);
	border:1px solid var(--danger-border);
}

/* INFO */

.toast.toast-info{
	border-color:var(--accent);
	background:linear-gradient(135deg, var(--secondary-background), var(--accent-soft));
}

.toast.toast-info .toast-icon{
	color:var(--color-accent);
	background:var(--accent-soft);
	border:1px solid var(--accent);
}

@media (max-width:520px){
	.toast-container{
		top:12px;
		right:12px;
		left:12px;
		width:auto;
	}

	.toast{
		border-radius:14px;
		padding:12px;
	}

	.toast-title{
		font-size:.84rem;
	}

	.toast-message{
		font-size:.76rem;
	}
}