/* nucleo.css — pagine del Nucleo di Tower; sopra stile-tower.css */
@media (prefers-color-scheme:dark){
  :root{--sfondo:#2A2420;--superficie:#38302A;--testo:#F1E9DF;--lieve:#BFB2A4;--bordo:#5A4D43;--scuro:#5A4638;--avviso-bg:#4a3d1c;--ombra:0 8px 24px rgba(0,0,0,.35);--ombra-lieve:0 3px 10px rgba(0,0,0,.3);color-scheme:dark}
  .tower :focus-visible{outline-color:#E0C9B3}
  .t-avviso.errore{background:#4a2420;color:#ffd9d4;box-shadow:inset 0 0 0 2px #8a4a44}
  .t-btn.t-pericolo{background:var(--superficie);color:#ff9a90;border-color:#8a4a44}
  .t-btn.t-contorno{color:var(--testo)}
}
main{max-width:880px;margin:0 auto;padding:22px 16px max(28px,env(safe-area-inset-bottom))}
.t-top{padding-top:max(12px,env(safe-area-inset-top))}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.mark{width:48px;height:48px;border-radius:999px;background:rgba(255,255,255,.16);display:grid;place-items:center}
.brand b{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1;display:block}
.brand .org{font-size:14px;opacity:.85;display:block}
.chi{display:flex;flex-direction:column;font-weight:500;line-height:1.15;margin-left:auto}
.chi span{font-size:13px;font-weight:400;opacity:.85}
h1{font-size:clamp(34px,6vw,44px);line-height:1.05;margin:8px 0 0}
.sub{color:var(--lieve);margin:6px 0 22px;font-size:17px}
form.inline{display:inline;margin:0}
svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico{width:48px;height:48px;flex:none;border-radius:999px;background:color-mix(in srgb,var(--primario) 16%,var(--superficie));display:grid;place-items:center;color:var(--testo)}
.ico.grande{width:64px;height:64px;margin-bottom:6px}
.ico.grande svg{width:30px;height:30px}
footer{margin-top:36px;font-size:13px;color:var(--lieve);text-align:center}

/* schede centrate: login, password */
.scheda{padding:24px}
.scheda.stretta{max-width:440px;margin:24px auto}
.scheda form{display:grid;gap:10px;margin-top:6px}
.scheda form .t-btn{margin-top:10px}
.scheda .t-btn.t-grande{margin-top:12px}
.segreto{font:500 clamp(28px,8vw,40px)/1.2 ui-monospace,Menlo,monospace;letter-spacing:.04em;text-align:center;padding:18px 8px;margin:6px 0 16px;border-radius:var(--r-campo);background:color-mix(in srgb,var(--primario) 14%,var(--superficie));user-select:all;word-break:break-all}

/* griglia dei moduli */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.tile{padding:22px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px;min-height:160px;position:relative;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
a.tile:hover{transform:translateY(-2px)} a.tile:active{transform:scale(.98)}
.tile h2{font-size:28px;line-height:1.1;margin:0}
.tile p{font-size:15px;color:var(--lieve);line-height:1.4;margin:0}
.badge{position:absolute;top:18px;right:18px}
.t-pillola.sec{background:color-mix(in srgb,var(--primario) 14%,var(--superficie));color:var(--lieve)}
.soon{opacity:.7}

/* pannello utenti */
.lista{display:grid;gap:14px;margin-top:16px}
.utente{padding:0}
.utente.nuovo{margin-bottom:0}
.utente summary{list-style:none;display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;min-height:var(--tocco);border-radius:var(--r-card)}
.utente summary::-webkit-details-marker{display:none}
.utente summary .nome{flex:1;min-width:0;display:flex;flex-direction:column}
.utente summary .nome b{font-size:19px;font-weight:500}
.utente summary small{color:var(--lieve);font-size:14px}
.utente .stati{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.utente.spento{opacity:.75}
.utente[open] summary{border-bottom:1px solid var(--bordo);border-radius:var(--r-card) var(--r-card) 0 0}
.utente form{display:grid;gap:12px;padding:16px 18px 6px}
.utente .azioni{padding:6px 18px 18px;gap:10px}
.due{display:grid;grid-template-columns:1fr 1fr;gap:12px}
select.t-campo{appearance:auto}
fieldset.moduli{border:0;padding:0;margin:0}
fieldset.moduli legend{padding:0;margin-bottom:8px}
.chks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.chk{display:flex;align-items:center;gap:12px;min-height:var(--tocco);padding:6px 14px;border-radius:var(--r-campo);box-shadow:inset 0 0 0 1.5px var(--bordo);cursor:pointer}
.chk:has(input:checked){background:color-mix(in srgb,var(--primario) 14%,var(--superficie));box-shadow:inset 0 0 0 2px var(--primario)}
.chk input{width:24px;height:24px;flex:none;accent-color:var(--primario)}
.chk span{display:flex;flex-direction:column;line-height:1.2}
.chk small{color:var(--lieve);font-size:13px}
.azioni-lista{display:flex;gap:8px;margin-bottom:8px}
.t-btn.piccolo{min-height:40px;padding:0 16px;font-size:14px}
@media (max-width:560px){
  .due{grid-template-columns:1fr}
  .t-top{position:static;border-radius:0 0 22px 22px;padding-bottom:12px}
  .brand b{font-size:28px}
  .chi{margin-left:0;flex-basis:100%;order:3}
  .utente summary{flex-wrap:wrap}
  .utente .stati{flex-basis:100%;justify-content:flex-start;margin-left:62px}
}
