.vpcc{
  position:fixed;
  left:16px;
  right:16px;
  z-index:999999;
  background:var(--vpcc-bg);
  color:var(--vpcc-text);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  padding:14px 14px;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
}
.vpcc-bottom{bottom:16px;}
.vpcc-top{top:16px;}

.vpcc-inner{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}
.vpcc-title{font-weight:700; font-size:15px; line-height:1.2; margin-bottom:6px;}
.vpcc-msg{font-size:13px; line-height:1.35; opacity:.95;}
.vpcc-link{
  appearance:none; border:0; background:transparent;
  color:var(--vpcc-link);
  text-decoration:underline;
  cursor:pointer;
  padding:0 0 0 8px;
  font-size:13px;
}
.vpcc-actions{flex:0 0 auto;}
.vpcc-btn{
  appearance:none;
  border:0;
  background:var(--vpcc-btn-bg);
  color:var(--vpcc-btn-text);
  border-radius:12px;
  padding:10px 14px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}
.vpcc-btn:hover{filter:brightness(1.03);}
.vpcc-btn:active{transform:translateY(1px);}

@media (max-width: 520px){
  .vpcc{left:10px; right:10px;}
  .vpcc-inner{flex-direction:column; align-items:stretch;}
  .vpcc-actions{display:flex; justify-content:flex-end;}
}

/* Modal */
.vpcc-modal{display:none;}
.vpcc-modal.is-open{display:block;}
.vpcc-modal-backdrop{
  position:fixed; inset:0;
  background:rgba(0,0,0,.55);
  z-index:999998;
}
.vpcc-modal-card{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(720px, calc(100vw - 24px));
  max-height:min(80vh, 760px);
  background:#fff;
  color:#111;
  border-radius:18px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
  z-index:999999;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.vpcc-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.vpcc-modal-title{font-weight:800;}
.vpcc-x{
  appearance:none; border:0; background:transparent;
  font-size:26px; line-height:1;
  cursor:pointer; padding:2px 8px;
}
.vpcc-modal-body{
  padding:14px;
  overflow:auto;
  font-size:14px;
  line-height:1.5;
}
.vpcc-modal-foot{
  padding:12px 14px;
  border-top:1px solid rgba(0,0,0,.08);
  display:flex;
  justify-content:flex-end;
}
