/* CPE UX enhancement: notification bell + toast */
.cpe-top-bell{position:fixed;top:14px;right:18px;z-index:1060;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(148,163,184,.28);border-radius:999px;padding:8px 12px;color:#0f172a;text-decoration:none;box-shadow:0 12px 32px rgba(15,23,42,.14);transition:.2s}
.cpe-top-bell:hover{transform:translateY(-1px);color:#0d6efd;text-decoration:none;box-shadow:0 16px 38px rgba(15,23,42,.18)}
.cpe-top-bell .bell-icon{width:34px;height:34px;border-radius:999px;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center}
.cpe-top-bell .bell-text{display:flex;flex-direction:column;line-height:1.15}.cpe-top-bell .bell-title{font-size:12px;font-weight:800}.cpe-top-bell .bell-sub{font-size:11px;color:#64748b}.cpe-top-bell .bell-badge{position:absolute;top:-6px;right:-4px;min-width:22px;height:22px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #fff;padding:0 5px}
.cpe-toast-wrap{position:fixed;right:18px;top:82px;z-index:2000;display:flex;flex-direction:column;gap:10px;max-width:min(380px,calc(100vw - 30px))}.cpe-toast{background:#fff;border:1px solid rgba(148,163,184,.25);border-left:5px solid #4f46e5;border-radius:18px;box-shadow:0 18px 45px rgba(15,23,42,.18);padding:12px 14px;display:flex;gap:10px;align-items:flex-start;animation:cpeToastIn .22s ease-out}.cpe-toast.success{border-left-color:#22c55e}.cpe-toast.error{border-left-color:#ef4444}.cpe-toast.warning{border-left-color:#f59e0b}.cpe-toast .toast-icon{width:32px;height:32px;border-radius:999px;background:#eef2ff;color:#4f46e5;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.cpe-toast.success .toast-icon{background:#dcfce7;color:#16a34a}.cpe-toast.error .toast-icon{background:#fee2e2;color:#dc2626}.cpe-toast.warning .toast-icon{background:#fef3c7;color:#d97706}.cpe-toast .toast-body{font-size:14px;color:#0f172a;font-weight:600;line-height:1.45}.cpe-toast .toast-close{border:0;background:transparent;color:#94a3b8;font-size:18px;line-height:1;cursor:pointer;margin-left:auto}
@keyframes cpeToastIn{from{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:575.98px){.cpe-top-bell{top:auto;right:12px;bottom:70px;padding:8px}.cpe-top-bell .bell-text{display:none}.cpe-toast-wrap{top:14px;right:12px;left:12px;max-width:none}.cpe-floating-tools .notif{display:flex!important}}

/* CPE Toast notification */
.cpe-toast-wrap{position:fixed;top:18px;right:18px;z-index:99999;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 24px));pointer-events:none;font-family:'Prompt',sans-serif}
.cpe-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:14px 14px;border-radius:18px;background:#fff;border:1px solid rgba(148,163,184,.25);box-shadow:0 20px 50px rgba(15,23,42,.18);color:#0f172a;animation:cpeToastIn .18s ease-out;overflow:hidden;position:relative}
.cpe-toast:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#3b82f6}.cpe-toast.success:before{background:#16a34a}.cpe-toast.error:before{background:#dc2626}.cpe-toast.warning:before{background:#f59e0b}.cpe-toast.info:before{background:#3b82f6}
.cpe-toast .toast-icon{font-size:20px;line-height:1;margin-top:1px;color:#3b82f6}.cpe-toast.success .toast-icon{color:#16a34a}.cpe-toast.error .toast-icon{color:#dc2626}.cpe-toast.warning .toast-icon{color:#f59e0b}
.cpe-toast .toast-body{font-size:14px;font-weight:700;line-height:1.45;flex:1;padding-right:6px}.cpe-toast .toast-close{border:0;background:transparent;color:#94a3b8;font-size:20px;line-height:1;cursor:pointer;padding:0 2px}.cpe-toast .toast-close:hover{color:#334155}
@keyframes cpeToastIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:575.98px){.cpe-toast-wrap{top:12px;right:12px;left:12px;width:auto}.cpe-toast{border-radius:16px}}


/* FIX: show notification button on mobile */
@media (max-width:575.98px){
  .cpe-floating-tools .notif{display:flex!important;visibility:visible!important;opacity:1!important;}
  .cpe-floating-tools{right:12px!important;bottom:12px!important;z-index:1100!important;}
  .cpe-notif-anchor{right:12px!important;bottom:70px!important;z-index:1101!important;}
  .cpe-notif-panel{position:fixed!important;left:12px!important;right:12px!important;bottom:66px!important;width:auto!important;max-height:calc(100vh - 95px)!important;}
  .cpe-notif-list{max-height:calc(100vh - 245px)!important;overflow-y:auto!important;}
}
