/* NECROLOGI FPW - Notifiche OneSignal - attivazione immediata stile FPW v33 stato attivo informativo */
:root{--nec-ok:#607b66;--nec-off:#6f6f6f;--nec-stop:#7b6060;--nec-info:#525b6c}

.nec-notify-mini{
  position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));z-index:2147483000;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:54px;min-width:184px;padding:12px 16px;border-radius:999px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(48,48,48,.86);color:#fff;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 25px rgba(0,0,0,.42);
  font:700 14px/1 Arial,sans-serif;cursor:pointer;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;
  pointer-events:auto;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease,padding .18s ease,min-width .18s ease;
}
.nec-notify-mini:hover{background:rgba(80,80,80,.95);transform:translateY(-1px)}
.nec-mini-icon,.nec-modal-icon{
  border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);
  overflow:hidden;flex:0 0 auto;
}
.nec-mini-icon{width:30px;height:30px}.nec-modal-icon{width:42px;height:42px}
.nec-mini-icon img,.nec-modal-icon img{width:100%;height:100%;object-fit:cover;display:block}
.nec-notify-dot{width:8px;height:8px;border-radius:50%;background:#d5b76a;box-shadow:0 0 0 3px rgba(255,255,255,.10)}

.nec-notify-mini.is-on{background:rgba(76,103,82,.94);padding:10px;min-width:62px;width:62px;height:54px}
.nec-notify-mini.is-on #necNotifyMiniText{display:none}
.nec-notify-mini.is-on .nec-notify-dot{background:#b8f0c4;box-shadow:0 0 0 3px rgba(184,240,196,.18)}
.nec-notify-mini.is-off{background:rgba(83,83,83,.88)}
.nec-notify-mini.is-busy{opacity:.80}
.nec-notify-mini.is-denied{background:rgba(108,69,69,.94)}
.nec-notify-mini.is-denied .nec-notify-dot{background:#ffb1b1}
.nec-notify-mini.is-info{background:rgba(82,91,108,.94)}
.nec-notify-mini.is-info .nec-notify-dot{background:#b6d4ff}

.nec-modal-bg{position:fixed;inset:0;z-index:2147483001;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;padding:16px}
.nec-modal-bg.open{display:flex}
.nec-modal{width:min(380px,100%);border-radius:18px;background:rgba(28,28,28,.97);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 48px rgba(0,0,0,.58);overflow:hidden;font-family:Arial,sans-serif}
.nec-modal-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(128,128,128,.36),rgba(35,35,35,.22))}
.nec-modal-title{font-size:17px;font-weight:800}.nec-modal-sub{font-size:12px;color:rgba(255,255,255,.72);margin-top:2px}
.nec-modal-close{margin-left:auto;background:transparent;color:#fff;border:0;font-size:25px;line-height:1;cursor:pointer;opacity:.86}
.nec-modal-close:hover{opacity:1}
.nec-modal-body{padding:16px}.nec-status{font-size:13px;line-height:1.45;color:rgba(255,255,255,.88);margin:0 0 14px}
.nec-actions{display:flex;gap:9px}.nec-btn{flex:1;min-height:48px;border-radius:999px;padding:12px 14px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:800;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease,opacity .18s ease;box-shadow:0 7px 17px rgba(0,0,0,.22)}
.nec-btn:hover{transform:translateY(-1px)}.nec-btn-primary{background:#fff;color:#303030;border:1px solid rgba(255,255,255,.55)}
.nec-btn-secondary{background:rgba(128,128,128,.22);color:#fff;border:1px solid rgba(255,255,255,.20)}
.nec-modal.state-on .nec-btn-primary{background:var(--nec-ok);color:#fff;border-color:rgba(255,255,255,.22)}
.nec-modal.state-off .nec-btn-secondary{background:var(--nec-off);color:#fff;border-color:rgba(255,255,255,.22)}
.nec-modal.state-denied .nec-btn-primary{background:rgba(255,255,255,.16);color:rgba(255,255,255,.62);border-color:rgba(255,255,255,.14);opacity:.8}
.nec-modal.state-denied .nec-btn-secondary{background:var(--nec-stop);color:#fff}
.nec-help{font-size:12px;line-height:1.4;color:rgba(255,255,255,.60);margin-top:11px}
.nec-toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:10000;max-width:min(360px,calc(100vw - 30px));padding:10px 13px;border-radius:14px;background:rgba(28,28,28,.94);color:#fff;border:1px solid rgba(255,255,255,.18);font:700 13px/1.45 Arial,sans-serif;text-align:center;box-shadow:0 12px 32px rgba(0,0,0,.45);display:none}
.nec-toast.show{display:block}

@media(max-width:520px){
  .nec-notify-mini{right:12px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));min-height:58px;min-width:196px;padding:14px 18px;font-size:15px}
  .nec-notify-mini.is-on{min-width:66px;width:66px;height:58px;padding:11px}
  .nec-mini-icon{width:32px;height:32px}
  .nec-actions{display:block}.nec-btn{width:100%;margin-top:8px}
}
