/**
 * Auth gate per documenti tecnici NIS2 Agile (adattato da TRPG, Fase 5 / G17).
 * Protezione lato client (non crittografica) — scopo: evitare visualizzazione casuale.
 * Caricare nel <head> PRIMA di qualsiasi altro script o CSS.
 *
 * Password di default: Nis2Agile2026!@
 * Override per-pagina: aggiungere data-pw="..." allo script tag, es:
 *     <script src="/js/auth-gate.js" data-pw="Angelo@2026!"></script>
 * La session key è derivata dalla pw, quindi pagine con pw diverse non condividono sessione.
 */
(function(){
    var DEFAULT_PW = 'Nis2Agile2026!@';
    var scriptTag = document.currentScript || (function(){
        var all = document.getElementsByTagName('script');
        for (var i = 0; i < all.length; i++) if (all[i].src && all[i].src.indexOf('auth-gate.js') !== -1) return all[i];
        return null;
    })();
    var EXPECTED = (scriptTag && scriptTag.getAttribute('data-pw')) || DEFAULT_PW;
    var keySuffix = '';
    try { keySuffix = btoa(EXPECTED).replace(/=/g, '').slice(0, 10); } catch (e) { keySuffix = String(EXPECTED.length); }
    var KEY = 'nis2_tech_auth_' + keySuffix;
    if (sessionStorage.getItem(KEY) === 'ok') return;
    var pwd = prompt('Documento riservato — inserisci password:');
    if (pwd === EXPECTED) {
        sessionStorage.setItem(KEY, 'ok');
        return;
    }
    try { window.stop(); } catch (e) {}
    document.documentElement.innerHTML = '<head><meta charset="UTF-8"><title>Accesso riservato</title></head>'
        + '<body style="background:#0F172A;color:#fff;font-family:system-ui,-apple-system,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;">'
        + '<div style="text-align:center;padding:40px;max-width:420px;">'
        + '<div style="font-size:3rem;margin-bottom:20px;">&#128274;</div>'
        + '<h1 style="font-size:1.5rem;margin:0 0 12px;">Accesso riservato</h1>'
        + '<p style="color:#94A3B8;font-size:.95rem;line-height:1.6;margin:0 0 24px;">Questo documento richiede autenticazione. Contatta il team Agile Software per ottenere la password.</p>'
        + '<button onclick="location.reload()" style="padding:10px 24px;background:#3B82F6;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;">Riprova</button>'
        + '</div></body>';
})();
