/* Shared confirmation dialogs: cool white, blue accents, touch-friendly controls. */
.confirm-overlay{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;box-sizing:border-box;padding:20px;background:rgba(35,20,12,.58);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.confirm-overlay *{box-sizing:border-box}
.confirm-overlay .confirm-box{width:min(390px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #e1f4ff;border-radius:22px;background:linear-gradient(155deg,#fbfeff,#edf8ff);color:#214c64;box-shadow:0 24px 80px #082b4240,0 4px 16px #082b421a;font-family:inherit;animation:confirm-pop .2s ease-out}
.confirm-overlay .confirm-head{display:flex;align-items:center;gap:13px;padding:23px 22px 0;background:none;color:#173e56;font-size:19px;font-weight:750;line-height:1.35}
.confirm-overlay .confirm-heading{min-width:0;display:flex;flex-direction:column;gap:5px}
.confirm-overlay .confirm-eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#5c91ad}
.confirm-overlay .confirm-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border:1px solid #bce3f7;border-radius:15px;background:linear-gradient(145deg,#e6f6ff,#ccecff);color:#1684bb;box-shadow:0 3px 9px #1684bb10}
.confirm-overlay .confirm-icon svg{width:25px;height:25px;display:block}
.confirm-overlay .confirm-message{margin:0;padding:17px 22px 21px;font-size:14px;font-weight:500;line-height:1.65;color:#567a90;overflow-wrap:anywhere}
.confirm-overlay .confirm-actions{display:flex;gap:10px;margin:0;padding:16px 22px 22px;border-top:1px solid #dceef8;background:#f0f9ff66}
.confirm-overlay .confirm-actions button{min-width:0;min-height:44px;height:auto;padding:11px 16px;border-radius:12px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.35;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s;-webkit-tap-highlight-color:transparent}
.confirm-overlay .confirm-cancel{flex:0 0 30%;border:1px solid #c7e1ef!important;background:#f3faff;color:#527b94;box-shadow:none}
.confirm-overlay .confirm-accept{flex:1;border:1px solid #147fb6;background:linear-gradient(135deg,#39ade0,#1685bf);color:#fff;box-shadow:0 5px 12px #1685bf26}
.confirm-overlay .confirm-actions button:hover{filter:none;transform:translateY(-1px)}
.confirm-overlay .confirm-accept:hover{box-shadow:0 7px 16px #1685bf40}
.confirm-overlay .confirm-actions button:active{transform:translateY(0)}
.confirm-overlay .confirm-actions button:focus-visible,.confirm-overlay .zalo-download-link:focus-visible{outline:3px solid #52b8ec80;outline-offset:3px}
.confirm-overlay.zalo-download-dialog .confirm-box{width:min(370px,100%)}
.confirm-overlay.zalo-download-dialog .confirm-message{padding-bottom:10px;color:#285c79;font-weight:650}
.confirm-overlay .zalo-download-help{margin:0 22px 18px;padding:13px;border:1px solid #cde7f5;border-radius:12px;background:#e8f6ff80;color:#577e95;font-size:12px;line-height:1.65}
.confirm-overlay .zalo-download-help[hidden]{display:none}
.confirm-overlay .zalo-download-help p{margin:0 0 11px}
.confirm-overlay .zalo-download-help strong{color:#326480;font-weight:650}
.confirm-overlay .zalo-download-link{width:100%;min-width:0;padding:10px;border:1px solid #c8e2f0;border-radius:8px;background:#fbfeff;color:#376680;font-family:inherit;font-size:12px;user-select:text;-webkit-user-select:text}
.confirm-overlay .zalo-download-help .zalo-copy-status{margin:10px 0 0;color:#377350;font-size:12px;font-weight:600;line-height:1.5}
.confirm-overlay .zalo-copy-status:empty{display:none}
@keyframes confirm-pop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:360px){.confirm-overlay{padding:14px}.confirm-overlay .confirm-head{padding:20px 17px 0;font-size:17px;gap:10px}.confirm-overlay .confirm-message{padding-left:17px;padding-right:17px}.confirm-overlay .confirm-actions{padding:14px 17px 18px;gap:8px}.confirm-overlay .confirm-actions button{padding:10px;font-size:13px}.confirm-overlay .zalo-download-help{margin-left:17px;margin-right:17px}}
@media(prefers-reduced-motion:reduce){.confirm-overlay .confirm-box{animation:none}.confirm-overlay .confirm-actions button{transition:none}}
.confirm-overlay.open{display:flex}

/* Higher contrast text and stronger accents. */
.confirm-overlay .confirm-box{background:linear-gradient(145deg,#f8fdff,#def2ff);border-color:#7fc5e9;color:#123e5a}
.confirm-overlay .confirm-head{color:#104e77}
.confirm-overlay .confirm-eyebrow{color:#24688d}
.confirm-overlay .confirm-icon{background:linear-gradient(145deg,#ceefff,#9edcff);border-color:#68b8e4;color:#075e94}
.confirm-overlay .confirm-message{color:#214e69;font-weight:600}
.confirm-overlay .confirm-actions{background:#cceaff;border-top-color:#9bccE8}
.confirm-overlay .confirm-cancel{background:#f2faff;border-color:#6aa8ce!important;color:#174d70}
.confirm-overlay .confirm-accept{background:linear-gradient(135deg,#087eb6,#075b94);border-color:#064f80;color:#fff;box-shadow:0 5px 13px #075b9433}
.confirm-overlay.zalo-download-dialog .confirm-message{color:#164b70}
.confirm-overlay .zalo-download-help{background:#d5eeff;border-color:#91c5e6;color:#25516c}
.confirm-overlay .zalo-download-help strong{color:#104c74;font-weight:750}
.confirm-overlay .zalo-download-link{background:#fafeff;border-color:#6daccf;color:#153f5b}
.confirm-overlay .zalo-download-help .zalo-copy-status{color:#175b32}
/* Richer heading and message area. */
.confirm-overlay .confirm-head{padding-bottom:17px;background:linear-gradient(120deg,#bceaff,#83ccef);border-bottom:1px solid #6cb0d6;color:#093f65}
.confirm-overlay .confirm-eyebrow{color:#1a567c}
.confirm-overlay .confirm-icon{background:#e9f8ff;border-color:#5ba5d0;color:#075b90;box-shadow:0 3px 10px #075b9018}
.confirm-overlay .confirm-message{background:#dcefff;color:#173f5c;font-weight:650;padding-top:18px}
.confirm-overlay.zalo-download-dialog .confirm-message{color:#173f5c}