/* OSC v99 — compact top-right notification center; no viewport backdrop. */
/* An invisible blocker prevents double actions while awaiting Confirm/Hủy. */
.osc-dialog-guard{position:fixed!important;inset:0!important;z-index:2147483645!important;background:transparent!important;pointer-events:auto!important}

.osc-notice-stack,.osc-notice-stack *,.osc-notice-stack *::before,.osc-notice-stack *::after{box-sizing:border-box}
.osc-notice-stack{
 position:fixed!important;top:max(16px,env(safe-area-inset-top,0px))!important;
 right:max(16px,env(safe-area-inset-right,0px))!important;left:auto!important;
 bottom:auto!important;width:min(390px,calc(100vw - 32px))!important;max-height:calc(100dvh - 30px);
 display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;
 z-index:2147483646!important;pointer-events:none!important;overflow:visible!important;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important
}
.osc-notice-item,.osc-notice-dialog{
 pointer-events:auto!important;flex:none!important;width:100%!important;max-width:100%!important;
 border:1px solid #eadce4!important;border-radius:16px!important;
 box-shadow:0 16px 48px rgba(50,17,35,.17),0 2px 8px rgba(50,17,35,.07)!important;
 background:rgba(255,255,255,.985)!important;color:#4d2d3d!important;
 overflow-wrap:anywhere!important;white-space:normal!important
}
.osc-notice-item{
 position:relative!important;display:flex!important;align-items:flex-start!important;gap:12px!important;
 min-height:76px!important;padding:15px 12px 15px 14px!important;
 animation:osc-notice-in .3s cubic-bezier(.2,.8,.2,1) both;
}
.osc-notice-item::before{
 content:"";position:absolute;top:10px;bottom:10px;left:0;width:3px;background:#ad7898;border-radius:0 4px 4px 0
}
.osc-notice-item[data-kind="success"]::before{background:#22936c}
.osc-notice-item[data-kind="error"]::before{background:#bd425c}
.osc-notice-item[data-kind="loading"]::before{background:#b87a3b}
.osc-notice-symbol{
 display:grid!important;place-items:center!important;width:32px!important;height:32px!important;min-width:32px!important;
 border-radius:11px!important;background:#f6edf2!important;color:#853d5f!important;
 font-size:16px!important;line-height:1!important;font-weight:850!important
}
.osc-notice-item[data-kind="success"] .osc-notice-symbol{background:#eaf8f1!important;color:#1f855e!important}
.osc-notice-item[data-kind="error"] .osc-notice-symbol{background:#fff0f2!important;color:#ab3952!important}
.osc-notice-item[data-kind="loading"] .osc-notice-symbol{background:#fff7e9!important;color:#a06b28!important;animation:osc-loading-turn 1.4s linear infinite}
.osc-notice-content{min-width:0!important;flex:1!important}
.osc-notice-title{font-size:13px!important;font-weight:830!important;color:#4d2b3e!important;line-height:1.4!important;margin:0 0 3px!important}
.osc-notice-message{font-size:12.5px!important;line-height:1.65!important;font-weight:470!important;color:#68505d!important;
 overflow-wrap:anywhere!important;max-height:220px!important;overflow-y:auto!important;white-space:pre-line!important}
.osc-notice-close{
 border:none!important;background:transparent!important;color:#8f7a85!important;display:grid!important;place-items:center!important;
 flex:none!important;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;
 border-radius:9px!important;margin:-5px -4px 0 0!important;padding:0!important;font-size:20px!important;line-height:1!important;cursor:pointer!important
}
.osc-notice-close:hover{background:#f6ecf1!important;color:#66334f!important}
.osc-notice-close:focus-visible,.osc-notice-dialog button:focus-visible,.osc-notice-dialog input:focus-visible{
 outline:3px solid #cd90ae!important;outline-offset:2px!important
}
.osc-notice-leaving{animation:osc-notice-out .19s ease-in both!important}
.osc-notice-dialog{
 position:relative!important;display:block!important;max-height:min(78dvh,580px)!important;overflow:auto!important;
 padding:20px 20px 18px!important;min-height:0!important;margin:0!important;
 animation:osc-notice-in .25s cubic-bezier(.2,.8,.2,1) both;
}
.osc-notice-dialog .osc-dialog-heading{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 12px!important}
.osc-notice-dialog .osc-dialog-symbol{
 display:grid!important;place-items:center!important;flex:none!important;width:36px!important;height:36px!important;
 border-radius:12px!important;background:#f8eaf1!important;border:1px solid #edd5e1!important;
 font-size:20px!important;font-weight:800!important;color:#803754!important
}
.osc-notice-dialog .osc-dialog-eyebrow{display:block!important;color:#a17c8d!important;font-size:9px!important;font-weight:800!important;letter-spacing:.13em!important;margin:0 0 2px!important}
.osc-notice-dialog .osc-dialog-title{font-size:17px!important;line-height:1.3!important;margin:0!important;color:#532b40!important;font-weight:820!important}
.osc-notice-dialog .osc-dialog-message{margin:0 0 17px!important;color:#664e5c!important;font-size:13px!important;line-height:1.7!important;font-weight:450!important;white-space:pre-line!important;overflow-wrap:anywhere!important}
.osc-notice-dialog .osc-dialog-input{width:100%!important;min-height:43px!important;margin:0 0 14px!important;padding:10px 12px!important;border:1px solid #d9c7d1!important;border-radius:10px!important;background:#fff!important;color:#47283a!important;font:inherit!important;font-size:13px!important}
.osc-notice-dialog .osc-dialog-actions{display:flex!important;gap:9px!important;justify-content:flex-end!important;flex-wrap:wrap!important;margin:0!important}
.osc-notice-dialog .osc-dialog-btn{
 min-height:39px!important;min-width:90px!important;margin:0!important;padding:8px 13px!important;
 border-radius:10px!important;font-family:inherit!important;font-size:12.5px!important;font-weight:740!important;
 line-height:1.4!important;cursor:pointer!important;box-shadow:none!important
}
.osc-notice-dialog .osc-dialog-btn-cancel{background:#f5f0f3!important;color:#6a5060!important;border:1px solid #e9dee5!important}
.osc-notice-dialog .osc-dialog-btn-accept{background:#79314f!important;color:#fff!important;border:1px solid #79314f!important}
.osc-notice-dialog .osc-dialog-btn-cancel:hover{background:#ece4e9!important}
.osc-notice-dialog .osc-dialog-btn-accept:hover{background:#8f4062!important}
@keyframes osc-notice-in{from{opacity:0;transform:translateX(28px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes osc-notice-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(28px)}}
@keyframes osc-loading-turn{to{transform:rotate(360deg)}}
@media(max-width:520px){
 .osc-notice-stack{top:max(10px,env(safe-area-inset-top,0px))!important;right:max(10px,env(safe-area-inset-right,0px))!important;width:calc(100vw - 20px)!important;gap:8px!important}
 .osc-notice-item{padding:12px 10px 12px 12px!important;min-height:68px!important}
 .osc-notice-dialog{padding:17px!important}
 .osc-notice-dialog .osc-dialog-btn{flex:1!important}
}
@media(prefers-reduced-motion:reduce){
 .osc-notice-item,.osc-notice-dialog,.osc-notice-leaving,.osc-notice-item[data-kind="loading"] .osc-notice-symbol{animation:none!important}
}
