@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap');
@keyframes ct-notification-slide-in-right { from { opacity: 0; transform: translateX(120%) scale(.92); } to { opacity: 1; transform: translateX(0) scale(1); } }
@keyframes ct-notification-slide-out-right { from { opacity: 1; transform: translateX(0) scale(1); } to { opacity: 0; transform: translateX(120%) scale(.92); } }
@keyframes ct-notification-progress { from { width: 100%; } to { width: 0%; } }
.ct-notification-stack { position: fixed; top: 1rem; right: 1rem; z-index: 2147483000; display: flex; width: min(384px, calc(100vw - 2rem)); flex-direction: column; gap: .75rem; pointer-events: none; font-family: 'Outfit', sans-serif; }
.ct-notification { --ct-notification-accent: #3db85a; --ct-notification-icon-bg: rgba(61,184,90,.2); --ct-notification-icon-color: #4ade80; --ct-notification-duration: 4000ms; position: relative; width: 100%; overflow: hidden; cursor: pointer; pointer-events: auto; border: 1px solid color-mix(in srgb, var(--ct-notification-accent) 33%, transparent); border-radius: 16px; background: linear-gradient(135deg, #0e2914 0%, #0a1f0d 60%, #071408 100%); box-shadow: 0 0 40px color-mix(in srgb, var(--ct-notification-accent) 12%, transparent), 0 20px 60px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.05); color: #fff; font-family: 'Outfit', sans-serif; isolation: isolate; }
.ct-notification-enter { animation: ct-notification-slide-in-right .45s cubic-bezier(.16,1,.3,1) forwards; }
.ct-notification-exit { animation: ct-notification-slide-out-right .35s cubic-bezier(.4,0,1,1) forwards; }
.ct-notification-top-line { position: absolute; top: 0; right: 0; left: 0; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--ct-notification-accent) 53%, transparent), transparent); }
.ct-notification-content { display: flex; align-items: flex-start; gap: .875rem; padding: 1rem 3rem 1rem 1rem; }
.ct-notification-icon { display: flex; width: 40px; height: 40px; flex: 0 0 40px; align-items: center; justify-content: center; border-radius: 12px; background: var(--ct-notification-icon-bg); color: var(--ct-notification-icon-color); box-shadow: 0 0 0 1px color-mix(in srgb, var(--ct-notification-accent) 20%, transparent), inset 0 1px 0 rgba(255,255,255,.08); }
.ct-notification-copy { min-width: 0; flex: 1; padding-top: 2px; }
.ct-notification-title { margin: 0 0 2px; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.25; letter-spacing: .025em; }
.ct-notification-message { margin: 0; color: rgba(255,255,255,.55); font-size: 12px; font-weight: 400; line-height: 1.55; }
.ct-notification-ok { margin-top: 10px; border: 1px solid color-mix(in srgb, var(--ct-notification-accent) 33%, transparent); border-radius: 8px; padding: 4px 16px; cursor: pointer; background: linear-gradient(135deg, color-mix(in srgb, var(--ct-notification-accent) 20%, transparent), color-mix(in srgb, var(--ct-notification-accent) 10%, transparent)); box-shadow: 0 2px 8px color-mix(in srgb, var(--ct-notification-accent) 13%, transparent); color: var(--ct-notification-accent); font: 600 12px/1.3 'Outfit', sans-serif; transition: filter .15s, transform .15s; }
.ct-notification-ok:hover { filter: brightness(1.25); }
.ct-notification-ok:active { transform: scale(.95); }
.ct-notification-close { position: absolute; top: .75rem; right: .75rem; display: flex; width: 24px; height: 24px; align-items: center; justify-content: center; border: 0; border-radius: 8px; cursor: pointer; background: transparent; color: rgba(255,255,255,.3); transition: color .15s, background .15s; }
.ct-notification-close:hover { background: rgba(255,255,255,.1); color: rgba(255,255,255,.7); }
.ct-notification-progress-track { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: rgba(255,255,255,.05); }
.ct-notification-progress { width: 100%; height: 100%; animation: ct-notification-progress var(--ct-notification-duration) linear forwards; background: var(--ct-notification-accent); box-shadow: 0 0 8px color-mix(in srgb, var(--ct-notification-accent) 53%, transparent); }
@media (max-width: 639px) { .ct-notification-stack { width: min(320px, calc(100vw - 2rem)); } }
@media (prefers-reduced-motion: reduce) { .ct-notification-enter, .ct-notification-exit, .ct-notification-progress { animation-duration: .01ms !important; } }

/* A produção híbrida ainda carrega o host legado no bundle antigo; ocultar só sua superfície para não duplicar cards. */
section[aria-label="Notifications alt+T"] { display: none !important; }

/* A v25 ainda deixava o toast interno do bundle ativo em alguns fluxos; o bridge é a única superfície visual. */
section[aria-label="Notifications alt+T"], [data-sonner-toaster], .cash-confirmation-toast-host { display: none !important; }
