:root{--pp-primary:#5b4bff;--pp-bg:#fff;--pp-text:#1f2a44}

.pp-card,.pp-bell,.pp-pop,.pp-toast,.pp-card *,.pp-pop *{box-sizing:border-box}
.pp-card{
  --pp-soft:color-mix(in srgb,var(--pp-primary) 13%,var(--pp-bg));
  --pp-line:color-mix(in srgb,var(--pp-text) 12%,var(--pp-bg));
  position:fixed;z-index:999990;display:flex;gap:14px;align-items:flex-start;
  width:min(380px,calc(100vw - 24px));padding:18px;border-radius:18px;
  background:var(--pp-bg);color:var(--pp-text);border:1px solid var(--pp-line);
  box-shadow:0 1px 2px rgba(20,24,40,.08),0 12px 32px -8px rgba(20,24,40,.28);
  font:400 14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  animation:pp-in .38s cubic-bezier(.2,.8,.2,1) both;
}
.pp-card--static{position:static;animation:none;width:100%}
.pp-pos-bottom-right{right:16px;bottom:16px}
.pp-pos-bottom-left{left:16px;bottom:16px}
.pp-card__icon{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--pp-soft);color:var(--pp-primary)}
.pp-card__body{min-width:0;flex:1}
.pp-card__body strong{display:block;font-size:15px;line-height:1.3;margin:0 0 4px;color:var(--pp-text)}
.pp-card__body p{margin:0 0 14px;color:color-mix(in srgb,var(--pp-text) 78%,var(--pp-bg))}
.pp-card__btns{display:flex;gap:8px;flex-wrap:wrap}

.pp-btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:600;padding:9px 16px;border-radius:10px;line-height:1.2;transition:transform .12s,background .12s,box-shadow .12s}
.pp-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--pp-primary) 45%,transparent);outline-offset:2px}
.pp-btn--primary{background:var(--pp-primary);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 4px 10px -3px color-mix(in srgb,var(--pp-primary) 65%,transparent)}
.pp-btn--primary:hover{transform:translateY(-1px)}
.pp-btn--primary:disabled{opacity:.6;cursor:progress;transform:none}
.pp-btn--ghost{background:transparent;color:color-mix(in srgb,var(--pp-text) 70%,var(--pp-bg))}
.pp-btn--ghost:hover{background:var(--pp-soft)}

/* Top bar */
.pp-card--bar{top:0;left:0;right:0;bottom:auto;width:100%;border-radius:0;border-width:0 0 1px;align-items:center;justify-content:center;padding:12px 18px;animation-name:pp-drop}
.pp-card--bar .pp-card__body{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;flex:0 1 auto}
.pp-card--bar .pp-card__body strong{margin:0}
.pp-card--bar .pp-card__body p{margin:0}
.pp-card--bar .pp-card__icon{width:36px;height:36px;border-radius:11px}
body.admin-bar .pp-card--bar{top:32px}

/* Dialog */
.pp-overlay{position:fixed;inset:0;z-index:999980;background:rgba(15,18,32,.5);backdrop-filter:blur(2px);animation:pp-fade .25s both}
.pp-card--modal{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);flex-direction:column;align-items:center;text-align:center;padding:30px 28px 24px;width:min(420px,calc(100vw - 28px));animation-name:pp-pop}
.pp-card--modal .pp-card__icon{width:64px;height:64px;border-radius:20px}
.pp-card--modal .pp-card__icon svg{width:30px;height:30px}
.pp-card--modal .pp-card__btns{justify-content:center}
.pp-card--modal .pp-card__body strong{font-size:18px}

/* Bell */
.pp-bell{position:fixed;z-index:999970;bottom:16px;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:var(--pp-bg);color:var(--pp-primary);box-shadow:0 1px 2px rgba(20,24,40,.12),0 8px 20px -6px rgba(20,24,40,.3);transition:transform .15s}
.pp-bell:hover{transform:scale(1.06)}
.pp-bell.is-on{background:var(--pp-primary);color:#fff}
.pp-bell:focus-visible{outline:3px solid color-mix(in srgb,var(--pp-primary) 45%,transparent);outline-offset:2px}
.pp-bell--bottom-left{left:16px}
.pp-bell--bottom-right{right:16px}
.pp-pop{position:fixed;z-index:999971;bottom:72px;width:min(280px,calc(100vw - 32px));padding:16px;border-radius:14px;background:var(--pp-bg);color:var(--pp-text);border:1px solid color-mix(in srgb,var(--pp-text) 12%,var(--pp-bg));box-shadow:0 12px 32px -8px rgba(20,24,40,.3);font:400 14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.pp-pop p{margin:0 0 12px}
.pp-pop--bottom-left{left:16px}
.pp-pop--bottom-right{right:16px}

/* Toast */
.pp-toast{position:fixed;left:50%;bottom:24px;z-index:999999;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:min(440px,calc(100vw - 32px));padding:12px 18px;border-radius:12px;background:var(--pp-text);color:var(--pp-bg);font:500 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;transition:opacity .25s,transform .25s}
.pp-toast.is-on{opacity:1;transform:translate(-50%,0)}

.pp-inline-btn{appearance:none;border:0;cursor:pointer;padding:11px 20px;border-radius:12px;background:var(--pp-primary);color:#fff;font:600 15px/1.2 inherit}
.pp-inline-btn:hover{filter:brightness(1.08)}

@keyframes pp-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pp-drop{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
@keyframes pp-pop{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes pp-fade{from{opacity:0}to{opacity:1}}

@media (max-width:480px){
  .pp-pos-bottom-right,.pp-pos-bottom-left{left:12px;right:12px;bottom:12px;width:auto}
  .pp-bell--bottom-left{left:12px}.pp-bell--bottom-right{right:12px}
  .pp-card--bar{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  .pp-card,.pp-overlay{animation:none}
  .pp-toast,.pp-btn,.pp-bell{transition:none}
}
