/* ============================================================
   Toast notifications — standalone module (LTR + RTL)
   Self-contained: no CSS-variable dependencies.
   Pairs with js/toast.js (window.showToast).
   ============================================================ */

.toast-wrap{position:fixed;top:18px;right:18px;z-index:9999;display:flex;flex-direction:column;gap:12px;width:calc(100vw - 36px);max-width:360px;pointer-events:none;}
html[dir="rtl"] .toast-wrap{right:auto;left:18px;}
.toast{pointer-events:auto;position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px 42px 14px 14px;border-radius:14px;background:rgba(8,12,30,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 44px -16px rgba(0,0,0,.7);color:#fff;overflow:hidden;transform:translateX(120%);opacity:0;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .42s;}
html[dir="rtl"] .toast{padding:14px 14px 14px 42px;transform:translateX(-120%);}
.toast.show{transform:translateX(0);opacity:1;}
html[dir="rtl"] .toast.show{transform:translateX(0);opacity:1;}
.toast.hide{transform:translateX(120%);opacity:0;}
html[dir="rtl"] .toast.hide{transform:translateX(-120%);}
.toast__icon{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px;margin-top:1px;}
.toast__body{min-width:0;}
.toast__title{font-weight:700;font-size:14px;margin-bottom:2px;}
.toast__msg{font-size:13px;color:#c8cfe0;line-height:1.45;}
.toast__close{position:absolute;top:9px;right:11px;background:none;border:0;color:#9aa3ba;font-size:20px;line-height:1;cursor:pointer;transition:color .2s;}
html[dir="rtl"] .toast__close{right:auto;left:11px;}
.toast__close:hover{color:#fff;}
.toast__bar{position:absolute;left:0;bottom:0;height:3px;width:100%;animation:toastBar linear forwards;}
.toast.paused .toast__bar{animation-play-state:paused;}
@keyframes toastBar{from{width:100%}to{width:0}}
.toast--success .toast__icon{background:rgba(31,212,154,.16);color:#1fd49a;} .toast--success .toast__bar{background:#1fd49a;}
.toast--info .toast__icon{background:rgba(91,155,255,.16);color:#5b9bff;} .toast--info .toast__bar{background:#5b9bff;}
.toast--error .toast__icon{background:rgba(255,107,107,.16);color:#ff6b6b;} .toast--error .toast__bar{background:#ff6b6b;}
.toast--warning .toast__icon{background:rgba(251,191,36,.16);color:#fbbf24;} .toast--warning .toast__bar{background:#fbbf24;}
@media (prefers-reduced-motion: reduce){.toast{transition:opacity .2s;transform:none;}.toast.hide{transform:none;}.toast__bar{animation:none;}}

/* ===== Confirmation dialogs — showConfirm / showConfirmTerms ===== */
.confirm-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,4,16,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s;}
.confirm-overlay.show{opacity:1;}
.confirm-card{width:100%;max-width:420px;background:rgba(10,14,34,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 30px 70px -20px rgba(0,0,0,.8);color:#fff;padding:26px 24px 22px;text-align:center;transform:translateY(14px) scale(.96);opacity:0;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s;}
.confirm-overlay.show .confirm-card{transform:none;opacity:1;}
.confirm__icon{width:56px;height:56px;border-radius:16px;margin:0 auto 16px;display:grid;place-items:center;font-size:24px;background:rgba(91,155,255,.16);color:#5b9bff;}
.confirm--success .confirm__icon{background:rgba(31,212,154,.16);color:#1fd49a;}
.confirm--warning .confirm__icon{background:rgba(251,191,36,.16);color:#fbbf24;}
.confirm--error .confirm__icon{background:rgba(255,107,107,.16);color:#ff6b6b;}
.confirm__title{font-size:18px;font-weight:800;margin-bottom:8px;}
.confirm__msg{font-size:14px;color:#c8cfe0;line-height:1.5;margin-bottom:22px;}
.confirm__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
html[dir="rtl"] .confirm__actions{flex-direction:row-reverse;}
.confirm__btn{cursor:pointer;border:0;font-weight:700;font-size:14px;padding:12px 22px;border-radius:11px;display:inline-flex;align-items:center;gap:8px;justify-content:center;min-width:120px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;}
.confirm__btn:hover{transform:translateY(-2px);}
.confirm__accept{background:linear-gradient(135deg,#0e3789,#030641);color:#fff;box-shadow:0 12px 26px -10px rgba(14,55,137,.8);}
.confirm__accept--danger{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 12px 26px -10px rgba(239,68,68,.7);}
.confirm__deny{background:rgba(255,255,255,.06);color:#cdd4e6;border:1px solid rgba(255,255,255,.16);}
.confirm__deny:hover{background:rgba(255,255,255,.1);}
.confirm__btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
.confirm__btn[disabled]:hover{transform:none;}
/* confirm with terms checkbox */
.confirm__check{display:flex;align-items:center;justify-content:center;gap:10px;margin:-4px 0 20px;font-size:13.5px;color:#c8cfe0;cursor:pointer;user-select:none;}
.confirm__check input{position:absolute;opacity:0;width:0;height:0;}
.confirm__check .box{flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff;font-size:11px;transition:background .2s,border-color .2s;}
.confirm__check input:checked + .box{background:linear-gradient(135deg,#0e3789,#030641);border-color:transparent;}
.confirm__check .box i{opacity:0;transition:opacity .15s;}
.confirm__check input:checked + .box i{opacity:1;}
.confirm__check input:focus-visible + .box{outline:2px solid rgba(91,155,255,.6);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){.confirm-overlay,.confirm-card{transition:opacity .2s;transform:none;}}
