/* Stili delle schermate della versione installata: accesso, profilo, utenti, backup. */
.gate-link{display:block; margin:12px auto 0; font-size:12.5px;}
.gate-codice{font-family:var(--font-mono); font-size:18px; letter-spacing:.12em; text-align:center;}
.gate-note-forte{color:var(--text-2); font-size:12.5px;}
.chiave-recupero{font-family:var(--font-mono); font-size:17px; font-weight:600; letter-spacing:.06em; text-align:center;
  padding:14px 10px; border:2px dashed var(--accent); border-radius:12px; background:var(--accent-soft); color:var(--accent-strong);
  word-break:break-all; user-select:all; margin:4px 0 10px;}
.df-attiva{display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap;}
.df-qr{flex:0 0 200px; background:#fff; border-radius:12px; padding:6px; border:1px solid var(--border);}
.df-qr svg{display:block; width:100%; height:auto;}
.df-passi{flex:1 1 300px; min-width:0;}
.df-passi ol{margin:0 0 12px; padding-left:20px; display:flex; flex-direction:column; gap:8px; font-size:13.5px;}
.df-segreto{font-family:var(--font-mono); font-size:13px; margin-top:6px; padding:6px 9px; background:var(--surface-2); border-radius:7px; word-break:break-all; user-select:all;}
.ruoli-legenda{display:grid; gap:6px; margin-top:14px; font-size:12.5px; color:var(--text-2);}
tr.riga-spenta td{opacity:.55;}
table.data select{padding:5px 7px; font-size:12.5px; width:auto;}
.tbl-wrap.registro{max-height:520px; overflow-y:auto;}
.bk-info{display:grid; gap:8px; margin:0 0 14px; font-size:12.5px;}
.bk-info span{display:block; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted);}
.bk-info code{font-family:var(--font-mono); font-size:12px; word-break:break-all;}
.bk-info .avviso{color:var(--warn);}
.imp-riepilogo{margin-top:14px; padding:13px 15px; border:1px solid var(--accent); border-radius:12px; background:var(--accent-soft);}
.imp-conti{display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:8px; margin:10px 0;}
.imp-conti div{background:var(--bg-elev); border-radius:9px; padding:9px 11px; display:flex; flex-direction:column;}
.imp-conti strong{font-family:var(--font-mono); font-size:19px;}
.imp-conti span{font-size:11.5px; color:var(--text-muted);}
#imp-file{margin:6px 0 2px;}
.ps-chiave{font-family:var(--font-body); color:#111; padding:30px;}
.ps-chiave h2{font-size:20px; margin-bottom:6px;}
.ps-chiave-codice{font-family:var(--font-mono); font-size:22px; font-weight:700; letter-spacing:.08em; border:2px solid #111; border-radius:10px; padding:18px; text-align:center; margin:22px 0;}
a.nav-btn{text-decoration:none;}
td.mono{font-family:var(--font-mono); font-size:12.5px;}
.bk-file{margin-top:14px; font-size:12.5px; color:var(--text-2); display:flex; gap:8px; align-items:center; flex-wrap:wrap;}
.rete-titolo{font-family:var(--font-body); font-size:13.5px; font-weight:700; margin:4px 0 4px;}
.rete-passi{display:flex; flex-direction:column; gap:16px; margin-top:8px;}
.rete-passo{display:flex; gap:18px; align-items:flex-start; flex-wrap:wrap;}
.rete-passo > div:last-child{flex:1 1 260px; min-width:0;}
.rete-passo p{margin:4px 0 8px;}
.rete-qr{flex:0 0 150px; background:#fff; border-radius:10px; padding:4px; border:1px solid var(--border);}
.rete-qr svg{display:block; width:100%; height:auto;}
/* Nel piano alimentare serve più spazio in larghezza: con la libreria aperta le
   colonne diventano tre e i nomi degli alimenti non devono troncarsi. */
@media (min-width:1100px){
  .content:has(.piano-layout){max-width:1240px;}
  .content:has(.piano-layout.con-libreria){max-width:1440px;}
}

/* attivazione della verifica in due passaggi al primo accesso (server) */
.gate-qr{width:180px; margin:12px auto 6px;}
.gate-qr svg{width:100%; height:auto; display:block;}
.gate-passi{font-size:13px; color:var(--text-2); padding-left:20px; margin:8px 0 12px;}
.gate-passi li{margin-bottom:6px;}
