/* Shared confirmation dialogs and notifications. */
.swal2-container{padding:20px!important;background:rgba(15,23,42,.48)!important;backdrop-filter:blur(3px)}
.swal2-popup.tv-swal{width:440px;max-width:100%;padding:0!important;border:1px solid #e2e8f0;border-radius:18px!important;overflow:hidden;text-align:left;font-family:'VisaPilotSans',Arial,sans-serif!important;box-shadow:0 24px 80px #0f172a40!important;color:#17263e;--popup-accent:#2454eb;--popup-tint:#edf2ff}
.tv-swal.tv-swal--danger{--popup-accent:#c92b3b;--popup-tint:#fff0f1}.tv-swal.tv-swal--warning{--popup-accent:#a85e12;--popup-tint:#fff6e9}
.tv-swal .swal2-icon{width:48px!important;height:48px!important;margin:26px 26px 14px!important;border:1px solid #dfe7f6!important;background:var(--popup-tint);color:var(--popup-accent)!important;font-size:12px!important;animation:none!important}
.tv-swal .swal2-icon.swal2-warning,.tv-swal .swal2-icon.swal2-error{border-color:#f6d1d5!important}
.tv-swal .swal2-icon .swal2-icon-content{font-size:30px!important;font-weight:500;line-height:1}
.tv-swal .swal2-title{padding:0 26px!important;margin:0!important;text-align:left;font-family:inherit!important;font-size:20px!important;line-height:1.4!important;letter-spacing:-.5px;font-weight:700!important;color:#17263e!important}
.tv-swal .swal2-html-container{padding:10px 26px 25px!important;margin:0!important;text-align:left;font-size:14px!important;line-height:1.75!important;color:#63718a!important;overflow-wrap:anywhere}
.tv-swal .swal2-actions{width:100%;margin:0!important;padding:17px 26px!important;gap:10px!important;justify-content:flex-end!important;border-top:1px solid #e8edf5;background:#f8fafc;box-sizing:border-box}
.tv-swal .swal2-actions button{margin:0!important;min-height:42px;padding:10px 18px!important;border-radius:9px!important;font-family:inherit!important;font-size:13px!important;line-height:1.5;font-weight:650!important;cursor:pointer;box-shadow:none!important;transition:background .15s}
.tv-swal .tv-swal-confirm{background:var(--popup-accent)!important;color:#fff!important;border:1px solid var(--popup-accent)!important;min-width:116px}
.tv-swal .tv-swal-confirm:hover{filter:brightness(.92)}
.tv-swal .tv-swal-cancel{background:#fff!important;color:#455570!important;border:1px solid #d7dfeb!important;min-width:85px}
.tv-swal .tv-swal-cancel:hover{background:#eef2f7!important}
.tv-swal .swal2-actions button:focus-visible,.tv-swal .swal2-close:focus-visible{outline:3px solid #9bb6ff!important;outline-offset:3px}
.tv-swal .swal2-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;font-size:25px!important;font-weight:400;color:#7e8ca2!important;box-shadow:none!important}
.tv-swal .swal2-close:hover{background:#eef2f7!important;color:#17263e!important}
#toast-container{font-family:'VisaPilotSans',Arial,sans-serif!important;max-width:calc(100vw - 32px)}
#toast-container>div{position:relative;opacity:1!important;width:360px;max-width:100%;min-height:70px;padding:18px 38px 18px 58px!important;border:1px solid #e0e7f0!important;border-left:4px solid var(--toast-accent,#2454eb)!important;border-radius:12px!important;background:#fff!important;background-image:none!important;color:#455570!important;font-size:13px!important;line-height:1.65;box-shadow:0 8px 30px #14213d1a!important;box-sizing:border-box}
#toast-container>.toast-success{--toast-accent:#13855d;--toast-tint:#eaf8f0}#toast-container>.toast-error{--toast-accent:#c92b3b;--toast-tint:#fff0f1}#toast-container>.toast-warning{--toast-accent:#a85e12;--toast-tint:#fff6e9}#toast-container>.toast-info{--toast-accent:#2454eb;--toast-tint:#edf2ff}
#toast-container>div:before{content:'i';position:absolute;left:16px;top:18px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:var(--toast-accent);background:var(--toast-tint);font-size:17px;font-weight:700}
#toast-container>.toast-success:before{content:'\2713'}#toast-container>.toast-error:before,#toast-container>.toast-warning:before{content:'!'}
#toast-container .toast-title{color:#17263e;font-size:13px;font-weight:700;margin-bottom:3px}#toast-container .toast-message{overflow-wrap:anywhere}
#toast-container .toast-close-button{position:absolute;top:12px;right:12px;color:#75839b!important;text-shadow:none;font-size:20px;opacity:1;font-weight:400}
#toast-container .toast-progress{height:2px!important;background:var(--toast-accent)!important;opacity:.3}
@media(max-width:480px){.swal2-container{padding:16px!important}.tv-swal .swal2-actions{padding:16px 20px!important}.tv-swal .swal2-actions button{flex:1}.tv-swal .swal2-title{font-size:19px!important}#toast-container{right:16px;left:16px;width:auto}#toast-container>div{width:100%}}
@media(prefers-reduced-motion:reduce){.swal2-container,.tv-swal,.tv-swal *{animation:none!important;transition:none!important}}

/* Inline feedback shares the same tone and spacing as popup notifications. */
.vp-workspace .alert{border:1px solid var(--alert-line,#dce6f9);border-left:3px solid var(--alert-accent,#2454eb);border-radius:11px;padding:15px 20px;background:var(--alert-bg,#f2f6ff);color:var(--alert-ink,#35558a);font-size:13px;line-height:1.7;box-shadow:none}
.vp-workspace .alert-success{--alert-line:#d4ecdf;--alert-accent:#13855d;--alert-bg:#f0faf4;--alert-ink:#25654d}.vp-workspace .alert-danger{--alert-line:#f1d8dc;--alert-accent:#c92b3b;--alert-bg:#fff4f5;--alert-ink:#97404b}.vp-workspace .alert-warning{--alert-line:#f2e2c7;--alert-accent:#a85e12;--alert-bg:#fff9ee;--alert-ink:#855c27}
.vp-workspace .alert-dismissible{padding-right:48px}.vp-workspace .alert-dismissible .btn-close{padding:18px;opacity:.5;box-shadow:none}.vp-workspace .alert-dismissible .btn-close:focus-visible{outline:2px solid #2454eb;outline-offset:-5px}
