.security-access-chip{position:fixed;right:18px;top:82px;z-index:1085;display:none;align-items:center;gap:9px;padding:9px 13px;border-radius:999px;background:rgba(7,17,31,.94);border:1px solid rgba(0,220,235,.35);box-shadow:0 12px 32px rgba(0,0,0,.35);backdrop-filter:blur(12px);font-size:.78rem;font-weight:800;letter-spacing:.35px;color:#e8fbff;max-width:min(92vw,470px)}
.security-access-chip.show{display:flex}.security-access-chip .security-dot{width:10px;height:10px;border-radius:50%;background:#64748b;box-shadow:0 0 12px currentColor}.security-access-chip.write .security-dot{background:#22c55e}.security-access-chip.readonly .security-dot{background:#f59e0b}.security-access-chip.blocked .security-dot{background:#ef4444}.security-access-chip.setup .security-dot{background:#38bdf8}
.security-hero{position:relative;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 15% 20%,rgba(0,220,235,.18),transparent 38%),radial-gradient(circle at 90% 10%,rgba(139,92,246,.18),transparent 35%),linear-gradient(135deg,#07111f,#111827);border:1px solid rgba(0,220,235,.24);box-shadow:0 20px 60px rgba(0,0,0,.32)}
.security-hero:after{content:"";position:absolute;inset:-2px;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.04),transparent 65%);pointer-events:none}.security-shield{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;font-size:2rem;color:#00dceb;background:rgba(0,220,235,.1);border:1px solid rgba(0,220,235,.35);box-shadow:inset 0 0 24px rgba(0,220,235,.12),0 0 30px rgba(0,220,235,.08)}
.security-kpi{height:100%;padding:18px;border-radius:18px;background:rgba(15,23,42,.86);border:1px solid rgba(148,163,184,.17)}.security-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1.2px;color:#94a3b8;font-weight:800}.security-kpi-value{font-size:1.18rem;font-weight:900;margin-top:7px;overflow-wrap:anywhere}.security-status-good{color:#4ade80}.security-status-warn{color:#fbbf24}.security-status-bad{color:#fb7185}.security-status-info{color:#67e8f9}
.security-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.security-policy-item{padding:15px;border-radius:16px;background:#0b1322;border:1px solid #25324a}.security-policy-item .form-check-label{font-weight:800}.security-help{font-size:.76rem;color:#94a3b8;margin-top:6px;line-height:1.35}
.security-device-card{border:1px solid rgba(148,163,184,.18);background:rgba(9,16,29,.88);border-radius:18px;padding:16px}.security-device-status{font-size:.7rem;font-weight:900;letter-spacing:1px;padding:5px 9px;border-radius:999px}.security-device-status.APPROVED{background:rgba(34,197,94,.14);color:#4ade80}.security-device-status.PENDING{background:rgba(245,158,11,.14);color:#fbbf24}.security-device-status.REVOKED{background:rgba(239,68,68,.14);color:#fb7185}
.security-otp-modal .modal-content{background:linear-gradient(145deg,#07111f,#111827);border:1px solid rgba(0,220,235,.4);border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.62),0 0 40px rgba(0,220,235,.09)}.security-otp-code{font-size:2rem!important;letter-spacing:.45em;text-align:center;font-weight:900;background:#050b14!important;color:#fff!important;border:2px solid #00dceb!important;border-radius:14px!important;padding-left:.45em!important}.security-otp-summary{background:#0b1322;border:1px solid #28364f;border-radius:14px;padding:13px;color:#dbeafe;font-size:.9rem;line-height:1.4}.security-countdown{font-variant-numeric:tabular-nums;font-weight:900;color:#67e8f9}.security-modal-shield{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 12px;background:rgba(0,220,235,.11);color:#00dceb;font-size:1.55rem;border:1px solid rgba(0,220,235,.35)}
.security-lock-overlay{display:none;position:absolute;inset:0;background:rgba(3,7,18,.72);backdrop-filter:blur(2px);z-index:5;border-radius:inherit;align-items:center;justify-content:center;text-align:center;padding:24px}.security-lock-overlay.show{display:flex}
@media(max-width:767.98px){.security-access-chip{top:auto;bottom:14px;right:10px;left:10px;max-width:none;justify-content:center}.security-hero{border-radius:18px}.security-shield{width:60px;height:60px;border-radius:18px}.security-otp-code{font-size:1.65rem!important}.security-policy-grid{grid-template-columns:1fr}}


/* OTP LOGIN OVERLAY FIX 20260729B
   #login-overlay usa z-index:9999; Bootstrap usa normalmente 1050/1055.
   Durante la verifica OTP eleviamo solo il popup di sicurezza e il suo backdrop. */
body.security-otp-open #securityOtpModal{
  z-index:20060!important;
}
body.security-otp-open .modal-backdrop{
  z-index:20050!important;
}
body.security-otp-open #securityOtpModal .modal-dialog{
  position:relative;
  z-index:1;
}
