/* ToastStack: feedback efêmero, independente do layout e dos temas do painel. */
.john-toast-viewport{position:fixed;inset:0;z-index:2147483400;pointer-events:none}
.john-toast-stack,.john-toast-stack *{box-sizing:border-box}
.john-toast-stack{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100% - 32px));pointer-events:none;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.john-toast-card{--toast-accent:#00c4ff;position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) 28px;gap:10px;align-items:start;overflow:hidden;max-height:min(75vh,480px);min-height:64px;padding:13px 12px 17px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(22,22,22,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.2);color:#f7f8fa;pointer-events:auto;animation:john-toast-enter 350ms cubic-bezier(.21,1.02,.73,1) both;transition:opacity 300ms cubic-bezier(.33,0,.67,0),transform 300ms cubic-bezier(.33,0,.67,0),max-height 300ms cubic-bezier(.33,0,.67,0),padding 300ms cubic-bezier(.33,0,.67,0),margin 300ms cubic-bezier(.33,0,.67,0)}
.john-toast-card.john-toast-success{--toast-accent:#00ff88}
.john-toast-card.john-toast-error{--toast-accent:#ff6b6b}
.john-toast-card.john-toast-warning{--toast-accent:#ffc700}
.john-toast-icon{width:18px;height:18px;color:var(--toast-accent)}
.john-toast-icon svg{display:block;width:18px;height:18px}
.john-toast-content{min-width:0;padding-top:1px}
.john-toast-title{font-size:13px;line-height:1.3;font-weight:650;color:#fff}
.john-toast-message{max-height:calc(75vh - 110px);margin-top:3px;font-size:12px;line-height:1.45;font-weight:450;color:#c4c8cd;overflow-wrap:anywhere;overflow-y:auto;white-space:pre-wrap}
.john-toast-close{display:grid;place-items:center;width:28px;height:28px;margin:-5px -5px 0 0;padding:0;border:0;border-radius:7px;background:transparent;color:#abb2bc;cursor:pointer;transition:background .16s,color .16s}
.john-toast-close svg{width:15px;height:15px}
.john-toast-close:hover,.john-toast-close:focus-visible{background:rgba(255,255,255,.1);color:#fff}
.john-toast-close:focus-visible{outline:2px solid var(--toast-accent);outline-offset:2px}
.john-toast-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--toast-accent);pointer-events:none}
.john-toast-progress[hidden]{display:none}
.john-toast-card.is-exiting{opacity:0;transform:translateX(60%) scale(.9);max-height:0!important;min-height:0;padding-top:0;padding-bottom:0;margin-bottom:-10px;border-width:0;animation:none;pointer-events:none}
@keyframes john-toast-enter{from{opacity:0;transform:translateX(100%) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.john-toast-card,.john-toast-close,.john-toast-progress{animation:none!important;transition:none!important}}
