/* =====================================================================
   AstraNet — banner di notifica dal basso e pannello "Notifiche e suoni"
   ===================================================================== */
.nb-stack{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:75;display:flex;flex-direction:column-reverse;gap:10px;width:min(440px,calc(100vw - 24px));pointer-events:none}
.nb{position:relative;pointer-events:auto;display:flex;align-items:center;gap:12px;padding:14px 12px 14px 14px;border-radius:20px;overflow:hidden;cursor:pointer;
  background:linear-gradient(135deg,#142137 0%,#1E3150 100%);color:#fff;border:1px solid rgba(134,207,61,.45);
  box-shadow:0 22px 48px rgba(4,10,22,.45),0 0 0 1px rgba(255,255,255,.03) inset;
  transform:translateY(120%) scale(.96);opacity:0;transition:transform .42s cubic-bezier(.2,1.25,.35,1),opacity .25s ease}
.nb::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green)}
.nb.in{transform:none;opacity:1}
.nb.out{transform:translateY(40%) scale(.97);opacity:0;transition:transform .25s ease,opacity .22s ease}
.nb:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.nb-lead .ini{box-shadow:0 0 0 2px rgba(134,207,61,.55)}
.nb-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(134,207,61,.18);color:var(--green)}
.nb-k-mention::before{background:linear-gradient(#9ADB56,#86CF3D);width:5px}
.nb-k-mention{border-color:var(--green)}
.nb-k-event .nb-ic{background:#86CF3D;color:#142137}
.nb-k-call .nb-lead .ini{animation:pulse 1.4s infinite}
.nb-body{flex:1;min-width:0}
.nb-top{display:flex;align-items:baseline;gap:8px}
.nb-top b{font-family:"Sora","Manrope",sans-serif;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.nb-top time{font-size:11px;color:rgba(255,255,255,.55);flex:none}
.nb-txt{font-size:13.5px;color:rgba(255,255,255,.85);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.nb-act{flex:none;height:34px;padding:0 14px;border-radius:999px;background:var(--green);color:#142137;font-weight:800;font-size:13px}
.nb-act:hover{background:#9ADB56}
.nb-x{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.6)}
.nb-x:hover{background:rgba(255,255,255,.1);color:#fff}
.nb-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--green);opacity:.75;transform-origin:left;animation:nbbar linear forwards}
.nb.paused .nb-bar{animation-play-state:paused}
@keyframes nbbar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.nb,.nb.out{transition:opacity .2s}.nb{transform:none}}
@media (max-width:760px){
  .nb-stack{bottom:calc(66px + env(safe-area-inset-bottom));width:calc(100vw - 16px)}
  .nb{padding:12px 10px 12px 12px}
}
/* la toast di sistema resta sopra al banner */
.toast{z-index:76}

/* --- pannello preferenze --- */
.prefs{display:flex;flex-direction:column;gap:2px;max-width:520px}
.pref-h{font-family:"Sora",sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:14px 0 4px}
.pref-h:first-child{margin-top:0}
.pref{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;cursor:pointer}
.pref:hover{background:var(--hover)}
.pref b{font-weight:700;font-size:14px}
.pref.sub{cursor:default;padding:2px 12px 10px 24px;gap:10px}
.pref.sub:hover{background:none}
.pref.sub.vstack{flex-direction:column;align-items:flex-start;gap:6px}
.pref .grow{flex:1;min-width:0}
.pref.sub input[type=range]{flex:1;accent-color:#86CF3D}
.pref.sub.dis{opacity:.45;pointer-events:none}
.sw{position:relative;flex:none;width:44px;height:26px}
.sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.sw i{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background .2s}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s cubic-bezier(.3,1.4,.5,1)}
.sw input:checked + i{background:var(--green)}
.sw input:checked + i::after{transform:translateX(18px)}
.sw input:focus-visible + i{box-shadow:0 0 0 3px rgba(134,207,61,.35)}
.muted-ic{display:inline-flex;color:var(--ink-3);margin-left:4px;flex:none}
.item.on .muted-ic{color:rgba(255,255,255,.6)}
.modal:has(.prefs){width:min(560px,100%)}

.auth-card .credit{margin:6px 0 0;text-align:center;font-size:11px;color:var(--ink-3)}
.about{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:6px 0 4px}
.about-star{width:64px;height:64px;padding:8px;border-radius:18px;background:#fff;box-shadow:0 0 0 3px rgba(134,207,61,.3);margin-bottom:8px}
.about-name{font-family:"Sora",sans-serif;font-size:22px}
.about-credit{margin:12px 0 2px;font-size:14px}
