
:root{
  --fvpush-accent:#00a884;
  --fvpush-accent-dark:#008f71;
  --fvpush-navy:#0f172a;
  --fvpush-navy-soft:#162338;
  --fvpush-text:#ecf4ff;
  --fvpush-muted:#b8c7dc;
}
.fvpush-hidden{display:none!important}
.fvpush-root{position:fixed;inset:0;pointer-events:none;z-index:2147483000;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.fvpush-inline{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;padding:0;background:transparent;border:none;box-shadow:none}
.fvpush-inline-text{font-size:13px;font-weight:700;color:#10202b;line-height:1;white-space:nowrap}
.fvpush-switch{position:relative;width:46px;height:26px;flex:0 0 46px}
.fvpush-switch input{position:absolute;inset:0;opacity:0;cursor:pointer}
.fvpush-slider{position:absolute;inset:0;border-radius:999px;background:#cfd7de;transition:.22s ease}
.fvpush-slider:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.22);transition:.22s ease}
.fvpush-switch input:checked + .fvpush-slider{background:linear-gradient(135deg,#6ee7ff,var(--fvpush-accent))}
.fvpush-switch input:checked + .fvpush-slider:before{transform:translateX(20px)}
.fvpush-inline.is-denied .fvpush-slider{background:#f59e0b}
.fvpush-modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.48);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:auto}
.fvpush-modal{width:min(560px,100%);background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(21,32,52,.98));border:1px solid rgba(255,255,255,.08);border-radius:24px;color:var(--fvpush-text);box-shadow:0 30px 80px rgba(2,6,23,.42);overflow:hidden}
.fvpush-modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px 20px 8px}
.fvpush-kicker{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:rgba(110,231,255,.14);border:1px solid rgba(110,231,255,.16);font-size:12px;font-weight:800;color:#dff9ff;margin-bottom:12px}
.fvpush-title{margin:0;font-size:24px;line-height:1.08;font-weight:900}
.fvpush-copy{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--fvpush-muted)}
.fvpush-close{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);color:#fff;font-size:24px;cursor:pointer}
.fvpush-body{padding:10px 20px 20px}
.fvpush-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:14px}
.fvpush-box{padding:16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.fvpush-box h3{margin:0 0 10px;font-size:15px}
.fvpush-box p{margin:0;font-size:13px;line-height:1.6;color:var(--fvpush-muted)}
.fvpush-box ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.fvpush-box li{display:flex;gap:10px;font-size:13px;line-height:1.55;color:#f7fbff}
.fvpush-dot{color:#6ee7ff;font-weight:900}
.fvpush-box-note{background:rgba(251,191,36,.10);border-color:rgba(251,191,36,.18)}
.fvpush-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.fvpush-btn{border:none;border-radius:14px;padding:12px 16px;min-height:46px;font-size:14px;font-weight:800;cursor:pointer}
.fvpush-primary{background:linear-gradient(135deg,#6ee7ff,#5b7cff);color:#07111d}
.fvpush-secondary{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.08)}
.fvpush-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,16px);opacity:0;background:rgba(15,23,42,.97);color:#fff;padding:11px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(2,6,23,.28);transition:.22s ease;pointer-events:none;max-width:min(90vw,460px);text-align:center;font-size:13px;line-height:1.45}
.fvpush-toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:768px){
  .fvpush-inline-text{display:none}
}
@media (max-width:640px){
  .fvpush-modal-backdrop{align-items:flex-end;padding:0}
  .fvpush-modal{width:100%;border-radius:24px 24px 0 0;border-bottom:none;max-height:88vh;overflow:auto}
  .fvpush-modal-head{padding:18px 16px 8px}
  .fvpush-title{font-size:22px}
  .fvpush-body{padding:10px 16px 18px}
  .fvpush-grid{grid-template-columns:1fr}
  .fvpush-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(21,32,52,0),rgba(21,32,52,.98) 25%);padding-top:12px}
  .fvpush-btn{flex:1}
}
