/**
 * ROTA30(TM) feedback visual compartilhado.
 * ATIVACAO/MIGRACAO: veja /README_NOTIFICACOES_ROTA30.md.
 */
:root{
  --r30-notify-surface:rgba(255,255,255,.96);
  --r30-notify-text:#111827;
  --r30-notify-muted:#64748b;
  --r30-notify-line:rgba(15,23,42,.12);
  --r30-notify-shadow:0 26px 80px rgba(15,23,42,.24),0 8px 24px rgba(15,23,42,.12)
}
[data-theme="dark"]{
  --r30-notify-surface:rgba(11,23,40,.97);
  --r30-notify-text:#f8fafc;
  --r30-notify-muted:#a9b9cc;
  --r30-notify-line:rgba(255,255,255,.12);
  --r30-notify-shadow:0 30px 90px rgba(0,0,0,.58),0 8px 28px rgba(0,0,0,.35)
}
.r30-notify-region{position:fixed;z-index:10050;top:max(92px,calc(env(safe-area-inset-top) + 76px));right:max(18px,env(safe-area-inset-right));width:min(430px,calc(100vw - 30px));display:grid;gap:12px;pointer-events:none}
.r30-notify-backdrop{position:fixed;z-index:10040;inset:0;background:rgba(3,8,20,.58);backdrop-filter:blur(7px);opacity:0;animation:r30NotifyFade .24s ease forwards}
.r30-notify{--notify-color:#5b67ff;--notify-color-2:#35d7ff;position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 32px;gap:14px;align-items:center;min-height:96px;padding:16px 14px 16px 16px;border:1px solid color-mix(in srgb,var(--notify-color) 42%,var(--r30-notify-line));border-radius:22px;color:var(--r30-notify-text);background:linear-gradient(135deg,color-mix(in srgb,var(--notify-color) 9%,var(--r30-notify-surface)),var(--r30-notify-surface) 62%);box-shadow:var(--r30-notify-shadow);overflow:hidden;pointer-events:auto;opacity:0;transform:translateX(34px) scale(.94);animation:r30NotifyIn .5s cubic-bezier(.2,.9,.22,1.25) forwards}
.r30-notify::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--notify-color),var(--notify-color-2))}
.r30-notify::after{content:"";position:absolute;width:120px;height:120px;right:-65px;bottom:-78px;border-radius:50%;background:var(--notify-color);filter:blur(42px);opacity:.16;pointer-events:none}
.r30-notify.is-leaving{animation:r30NotifyOut .28s ease forwards}
.r30-notify.is-success{--notify-color:#16b86a;--notify-color-2:#7cf29f}
.r30-notify.is-warning{--notify-color:#f2a51a;--notify-color-2:#ffe278}
.r30-notify.is-error{--notify-color:#ef476f;--notify-color-2:#ff8aa4}
.r30-notify.is-info{--notify-color:#3478f6;--notify-color-2:#35d7ff}
.r30-notify.is-xp{--notify-color:#7c5cff;--notify-color-2:#ffd34d;min-height:116px;border-width:2px;background:radial-gradient(circle at 12% 25%,rgba(255,211,77,.18),transparent 30%),linear-gradient(135deg,color-mix(in srgb,#7c5cff 16%,var(--r30-notify-surface)),var(--r30-notify-surface) 64%)}
.r30-notify-icon{position:relative;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--notify-color),var(--notify-color-2));font-size:23px;box-shadow:0 12px 30px color-mix(in srgb,var(--notify-color) 34%,transparent)}
.r30-notify.is-xp .r30-notify-icon{width:64px;height:64px;border-radius:21px;color:#201536;font-size:28px;animation:r30XpPulse 1.15s ease-in-out infinite alternate}
.r30-notify-copy{min-width:0;position:relative;z-index:1}.r30-notify-kicker{display:block;margin-bottom:3px;color:var(--notify-color);font-size:9px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.r30-notify-title{display:block;font-size:17px;line-height:1.18;font-weight:900;letter-spacing:-.025em}.r30-notify-message{display:block;margin-top:5px;color:var(--r30-notify-muted);font-size:12px;line-height:1.45}.r30-notify-xp{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--notify-color-2) 55%,transparent);border-radius:999px;color:color-mix(in srgb,var(--notify-color-2) 82%,var(--r30-notify-text));background:color-mix(in srgb,var(--notify-color-2) 12%,transparent);font-size:13px;font-weight:950}
.r30-notify-close{align-self:start;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:10px;color:var(--r30-notify-muted);background:transparent;cursor:pointer;transition:.2s ease}.r30-notify-close:hover{color:var(--r30-notify-text);background:color-mix(in srgb,var(--r30-notify-text) 8%,transparent)}
.r30-notify-actions{grid-column:2/4;display:flex;align-items:center;gap:8px;margin-top:-3px}.r30-notify-action,.r30-notify-dismiss{min-height:38px;padding:9px 13px;border-radius:11px;font-size:11px;font-weight:850;cursor:pointer}.r30-notify-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;color:#fff;background:linear-gradient(135deg,var(--notify-color),color-mix(in srgb,var(--notify-color) 72%,#111827));box-shadow:0 8px 20px color-mix(in srgb,var(--notify-color) 26%,transparent)}.r30-notify-dismiss{border:1px solid var(--r30-notify-line);color:var(--r30-notify-text);background:transparent}
.r30-notify-progress{position:absolute;left:0;bottom:0;width:100%;height:3px;background:color-mix(in srgb,var(--notify-color) 15%,transparent);transform-origin:left;animation:r30NotifyTime var(--notify-duration,6s) linear forwards}
.r30-notify.is-persistent .r30-notify-progress{display:none}
.r30-notify-region.has-spotlight{top:50%;right:50%;width:min(520px,calc(100vw - 28px));transform:translate(50%,-50%)}.r30-notify-region.has-spotlight .r30-notify{grid-template-columns:70px minmax(0,1fr) 34px;min-height:170px;padding:24px;border-radius:28px}.r30-notify-region.has-spotlight .r30-notify-icon{width:70px;height:70px;border-radius:22px;font-size:28px}.r30-notify-region.has-spotlight .r30-notify-title{font-size:23px}.r30-notify-region.has-spotlight .r30-notify-message{font-size:14px}.r30-notify-region.has-spotlight .r30-notify-actions{margin-top:6px}
.r30-notify-sparks{position:absolute;inset:0;pointer-events:none}.r30-notify-sparks i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--notify-color-2);opacity:0;animation:r30Spark 1.4s ease-out infinite}.r30-notify-sparks i:nth-child(1){left:12%;top:15%;animation-delay:.05s}.r30-notify-sparks i:nth-child(2){left:30%;top:8%;animation-delay:.35s}.r30-notify-sparks i:nth-child(3){right:21%;top:18%;animation-delay:.7s}.r30-notify-sparks i:nth-child(4){right:9%;bottom:20%;animation-delay:.2s}.r30-notify-sparks i:nth-child(5){left:42%;bottom:10%;animation-delay:.9s}.r30-notify-sparks i:nth-child(6){left:7%;bottom:18%;animation-delay:.55s}
@keyframes r30NotifyIn{to{opacity:1;transform:none}}@keyframes r30NotifyOut{to{opacity:0;transform:translateX(38px) scale(.94)}}@keyframes r30NotifyFade{to{opacity:1}}@keyframes r30NotifyTime{to{transform:scaleX(0)}}@keyframes r30XpPulse{to{transform:translateY(-3px) scale(1.06);box-shadow:0 16px 40px color-mix(in srgb,var(--notify-color-2) 38%,transparent)}}@keyframes r30Spark{0%{opacity:0;transform:translateY(10px) scale(.4)}35%{opacity:1}100%{opacity:0;transform:translateY(-24px) scale(1.25)}}
@media(max-width:620px){.r30-notify-region{top:auto;right:50%;bottom:max(18px,env(safe-area-inset-bottom));width:calc(100vw - 20px);transform:translateX(50%)}.r30-notify{grid-template-columns:52px minmax(0,1fr) 30px;min-height:91px;padding:14px 12px;border-radius:19px}.r30-notify-icon{width:52px;height:52px;border-radius:16px}.r30-notify.is-xp .r30-notify-icon{width:54px;height:54px}.r30-notify-region.has-spotlight{top:50%;bottom:auto;width:calc(100vw - 22px);transform:translate(50%,-50%)}.r30-notify-region.has-spotlight .r30-notify{grid-template-columns:58px minmax(0,1fr) 30px;min-height:0;padding:20px 15px}.r30-notify-region.has-spotlight .r30-notify-icon{width:58px;height:58px;border-radius:18px}.r30-notify-region.has-spotlight .r30-notify-title{font-size:20px}.r30-notify-actions{grid-column:1/4}.r30-notify-action,.r30-notify-dismiss{flex:1}.r30-notify-title{font-size:15px}}
@media(prefers-reduced-motion:reduce){.r30-notify,.r30-notify-backdrop,.r30-notify-icon,.r30-notify-sparks i,.r30-notify-progress{animation:none!important}.r30-notify{opacity:1;transform:none}.r30-notify-backdrop{opacity:1}}
