/* SEXY ALERT — toasts oscuros con borde-timer + sexyConfirm */

/* Host fijo (sustituye notifyjs-corner para estos toasts) */
.kp-sexy-toasts{
	position:fixed;
	z-index:2147483646;
	right:16px;
	bottom:16px;
	left:auto;
	top:auto;
	display:flex;
	flex-direction:column-reverse;
	align-items:flex-end;
	gap:10px;
	max-width:min(420px, calc(100vw - 24px));
	pointer-events:none;
	filter:none!important;
}
.kp-sexy-toast{
	--kp-toast-accent:#22c55e;
	--kp-toast-accent-soft:rgba(34,197,94,.18);
	--kp-toast-ms:5600ms;
	pointer-events:auto;
	position:relative;
	width:min(400px, calc(100vw - 24px));
	box-sizing:border-box;
	border-radius:22px;
	background:#0f1112;
	color:#fff;
	box-shadow:0 12px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04);
	/* visible: el trazo del borde vive en el perímetro (overflow:hidden lo mutilaba) */
	overflow:visible;
	opacity:0;
	transform:translateY(12px) scale(.98);
	transition:opacity .22s ease, transform .22s ease;
}
.kp-sexy-toast.is-on{opacity:1;transform:none}
.kp-sexy-toast.is-out{opacity:0;transform:translateY(10px) scale(.97);pointer-events:none}
.kp-sexy-toast--success{
	--kp-toast-accent:#22c55e;
	--kp-toast-accent-soft:rgba(34,197,94,.2);
}
.kp-sexy-toast--warning{
	--kp-toast-accent:#eab308;
	--kp-toast-accent-soft:rgba(234,179,8,.2);
}
.kp-sexy-toast--error{
	--kp-toast-accent:#ef4444;
	--kp-toast-accent-soft:rgba(239,68,68,.2);
}

/* SVG borde: path en píxeles reales (= border-radius del toast) */
.kp-sexy-toast__border{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	pointer-events:none;
	overflow:visible;
	z-index:2;
	display:block;
}
.kp-sexy-toast__track,
.kp-sexy-toast__progress{
	fill:none;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.kp-sexy-toast__track{
	stroke:rgba(255,255,255,.08);
	stroke-width:2;
}
.kp-sexy-toast__progress{
	stroke:var(--kp-toast-accent);
	stroke-width:2.5;
	stroke-dasharray:100;
	stroke-dashoffset:0;
	filter:drop-shadow(0 0 4px color-mix(in srgb, var(--kp-toast-accent) 55%, transparent));
	animation:kp-sexy-toast-drain var(--kp-toast-ms) linear forwards;
}
.kp-sexy-toast.is-paused .kp-sexy-toast__progress{
	animation-play-state:paused;
}
@keyframes kp-sexy-toast-drain{
	to{stroke-dashoffset:100}
}
@media (prefers-reduced-motion: reduce){
	.kp-sexy-toast__progress{animation-duration:1ms!important}
	.kp-sexy-toast{transition:none}
}

.kp-sexy-toast__inner{
	position:relative;
	z-index:1;
	display:flex;
	align-items:flex-start;
	gap:14px;
	padding:16px 16px 16px 14px;
}
.kp-sexy-toast__icon{
	flex:0 0 auto;
	width:40px;
	height:40px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--kp-toast-accent-soft);
	color:var(--kp-toast-accent);
	font-size:16px;
	margin-top:2px;
}
.kp-sexy-toast__body{flex:1 1 auto;min-width:0;padding-right:2px}
.kp-sexy-toast__top{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:4px;
}
.kp-sexy-toast__title{
	flex:1 1 auto;
	min-width:0;
	font-size:12px;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:#9aa0a6;
	line-height:1.2;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.kp-sexy-toast__time{
	flex:0 0 auto;
	font-size:11px;
	color:#6b7280;
	white-space:nowrap;
	font-variant-numeric:tabular-nums;
}
.kp-sexy-toast__close{
	flex:0 0 auto;
	width:22px;
	height:22px;
	margin:0;
	padding:0;
	border:0;
	border-radius:6px;
	background:transparent;
	color:#6b7280;
	font-size:18px;
	line-height:1;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.kp-sexy-toast__close:hover{color:#fff;background:rgba(255,255,255,.08)}
.kp-sexy-toast__text{
	font-size:14px;
	font-weight:500;
	line-height:1.4;
	color:#f3f4f6;
	word-break:break-word;
}

@media (max-width:520px){
	.kp-sexy-toasts{right:10px;bottom:10px;left:10px;max-width:none;align-items:stretch}
	.kp-sexy-toast{width:100%}
}

/* Compat: si queda algún toast notifyjs viejo */
.notifyjs-corner{
	position:fixed;
	z-index:2147483646 !important;
	filter: none !important;
}

/* SEXY CONFIRM (reemplazo de confirm/alert nativos) */
.sexy-confirm{
	position:fixed;inset:0;z-index:2147483640;display:none;align-items:center;justify-content:center;padding:16px;
	opacity:1;
	filter: none !important;
}
.sexy-confirm.is-open,
.sexy-confirm.is-closing{display:flex!important}
.sexy-confirm.is-closing{pointer-events:none}
.sexy-confirm__backdrop{position:absolute;inset:0;background:rgba(8,8,10,.55);filter:none!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.sexy-confirm.is-closing .sexy-confirm__backdrop{animation:sexyConfirmFadeOut .18s ease-in forwards}
.sexy-confirm__dialog{
	position:relative;z-index:1;width:100%;max-width:420px;
	background:#1f1f1f;border:1px solid #353535;border-radius:12px;color:#ddd;
	box-shadow:0 24px 70px rgba(0,0,0,.6);padding:28px 24px 22px;text-align:center;
}
.sexy-confirm.is-open:not(.is-closing) .sexy-confirm__dialog{animation:sexyConfirmIn .22s ease-out}
.sexy-confirm.is-closing .sexy-confirm__dialog{animation:sexyConfirmOut .18s ease-in forwards}
@keyframes sexyConfirmFadeOut{from{opacity:1}to{opacity:0}}
@keyframes sexyConfirmIn{
	from{opacity:0;transform:translateY(10px) scale(.97)}
	to{opacity:1;transform:none}
}
@keyframes sexyConfirmOut{
	from{opacity:1;transform:none}
	to{opacity:0;transform:translateY(8px) scale(.97)}
}
@media (prefers-reduced-motion: reduce){
	.sexy-confirm.is-open:not(.is-closing) .sexy-confirm__dialog,
	.sexy-confirm.is-closing .sexy-confirm__dialog,
	.sexy-confirm.is-closing .sexy-confirm__backdrop{
		animation:none!important;opacity:1!important;transform:none!important;
	}
}
.sexy-confirm__icon{
	width:56px;height:56px;margin:0 auto 14px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;font-size:24px;
	background:rgba(255,192,82,.15);color:#FFC052;
}
.sexy-confirm--error .sexy-confirm__icon{background:rgba(225,85,84,.18);color:#E15554}
.sexy-confirm--info .sexy-confirm__icon{background:rgba(101,187,214,.18);color:#65BBD6}
.sexy-confirm--success .sexy-confirm__icon{background:rgba(104,195,159,.18);color:#68c39f}
.sexy-confirm__title{margin:0 0 10px;color:#fff;font-size:20px;font-weight:700;line-height:1.25}
.sexy-confirm__text{margin:0 0 20px;color:#aaa;font-size:14px;line-height:1.5}
.sexy-confirm__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.sexy-confirm__btn{
	min-width:120px;padding:10px 18px;border-radius:8px;border:1px solid #3a3a42;
	font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s;
}
.sexy-confirm__btn--ghost{background:#2b2b31;color:#ddd}
.sexy-confirm__btn--ghost:hover{border-color:#666;color:#fff}
.sexy-confirm__btn--ok{background:#ff9800;border-color:#ff9800;color:#111}
.sexy-confirm__btn--ok:hover{background:#ffb74d;border-color:#ffb74d;color:#111}
.sexy-confirm--error .sexy-confirm__btn--ok{background:#E15554;border-color:#E15554;color:#fff}
.sexy-confirm--error .sexy-confirm__btn--ok:hover{background:#eb6b6a;border-color:#eb6b6a;color:#fff}
body.sexy-confirm-open{overflow:hidden!important}
