/* Pagina di accesso: la porta d'ingresso di silinitax.com/app/. Stessi colori e carattere dell'app. */
:root{
  --app:#F7F9FD;--surface:#FFFFFF;--soft:#E8F0FE;--border:#D9E1EE;
  --ink:#0E1B3D;--text:#1E2A44;--muted:#55627A;--accent:#2563EB;--on-accent:#FFFFFF;--link:#1D5BC6;
  --alert:#B91C1C;--ok:#15803D;
  --font:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{--app:#0E1422;--surface:#151C2C;--soft:#16213A;--border:#2A3550;--ink:#EEF2FA;--text:#D9E0EC;--muted:#A8B1C3;--accent:#6C9BFF;--on-accent:#0A0F1A;--link:#8AB0FF;--alert:#F58A8A;--ok:#5FD08A;color-scheme:dark}
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{background:var(--app);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5;caret-color:var(--accent)}
::selection{background:color-mix(in srgb,var(--accent) 24%,transparent);color:var(--ink)}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
[hidden]{display:none!important}

/* contenitore: telefono = una colonna, computer = due metà */
.acc{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr)}
.acc-brand{padding:max(20px,env(safe-area-inset-top)) 20px 8px;display:grid;gap:20px;align-content:start}
.acc-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);justify-self:start}
.acc-logo b{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1}
.acc-logo .l1{stroke:var(--ink)}.acc-logo .l2{stroke:var(--accent)}
.acc-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.acc h1{font-size:30px;line-height:1.06;letter-spacing:-.035em;font-weight:800;color:var(--ink);text-wrap:balance}
.acc-lead{margin-top:10px;font-size:16px;color:var(--muted);max-width:34ch}
.acc-salvo{height:112px;width:auto;display:block}
.acc-punti,.acc-studio{display:none}

.acc-lato{padding:12px 20px max(24px,env(safe-area-inset-bottom));display:grid;gap:16px;align-content:start}
.acc-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px 20px;display:grid;gap:16px}
.acc h2{font-size:22px;line-height:1.15;letter-spacing:-.02em;font-weight:750;color:var(--ink)}
.acc-sub{margin-top:-10px;color:var(--muted);font-size:15px}
.acc-attesa{color:var(--muted);font-size:15px}
.acc-card form{display:grid;gap:16px}
.acc-campo{display:grid;gap:6px;min-width:0}
.acc-campo label{font-size:13.5px;font-weight:600;color:var(--text)}
.acc input[type=email],.acc input[type=password],.acc input[type=text]{width:100%;min-height:50px;border:1px solid var(--border);border-radius:12px;background:var(--app);padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.acc input[type=email]:hover,.acc input[type=password]:hover,.acc input[type=text]:hover{border-color:color-mix(in srgb,var(--muted) 55%,var(--border))}
.acc input[type=email]:focus,.acc input[type=password]:focus,.acc input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.acc input[aria-invalid=true]{border-color:var(--alert)}
.acc-pw{position:relative}
.acc-pw input{padding-right:84px}
.acc-mostra{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:40px;padding:0 12px;border:0;background:none;border-radius:8px;font:inherit;font-size:14px;font-weight:600;color:var(--link);cursor:pointer}
.acc-mostra:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.acc-ricorda{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14.5px;color:var(--text);cursor:pointer}
.acc-ricorda input{width:20px;height:20px;accent-color:var(--accent);flex:none}
.acc-err{min-height:1.5em;font-size:14px;color:var(--alert);margin-top:-4px}
.acc-vai{min-height:52px;border:0;border-radius:14px;background:var(--accent);color:var(--on-accent);font:inherit;font-size:16px;font-weight:650;cursor:pointer;transition:background-color .15s,box-shadow .2s var(--ease),transform .15s var(--ease)}
.acc-vai:hover{background:color-mix(in srgb,var(--accent) 90%,#000);box-shadow:0 10px 22px -12px color-mix(in srgb,var(--accent) 80%,transparent)}
.acc-vai:active{transform:scale(.985)}
.acc-vai[disabled]{opacity:.6;cursor:default;box-shadow:none;transform:none}
.acc-spento{font-size:15px;color:var(--text);background:var(--soft);border-radius:12px;padding:12px 14px}
.acc-link{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14.5px}
.acc-piede{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;color:var(--muted);padding:0 4px}
.acc-noscript{padding:16px;text-align:center;color:var(--alert)}

/* stati della pagina */
.acc[data-stato=controllo] form,.acc[data-stato=controllo] .acc-link,.acc[data-stato=controllo] .acc-spento,
.acc[data-stato=login] .acc-attesa,.acc[data-stato=login] .acc-spento,
.acc[data-stato=apro] form,.acc[data-stato=apro] .acc-link,.acc[data-stato=apro] .acc-spento,
.acc[data-stato=spento] form,.acc[data-stato=spento] .acc-attesa,.acc[data-stato=spento] .acc-sub{display:none}

/* computer: metà marchio, metà modulo */
@media (min-width:900px){
  .acc{grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}
  .acc-brand{background:var(--soft);padding:40px clamp(40px,6vw,96px);gap:0;grid-template-rows:auto 1fr auto auto;align-content:stretch}
  .acc-hero{grid-template-columns:minmax(0,1fr);align-content:center;gap:28px;padding:48px 0 32px;align-items:start}
  .acc-hero>div{order:2}
  .acc-salvo{height:min(34vh,280px);order:1}
  .acc h1{font-size:clamp(40px,4.2vw,58px);line-height:1.02;max-width:12ch}
  .acc-lead{font-size:18px;max-width:36ch;margin-top:16px}
  .acc-punti{display:grid;gap:12px;list-style:none;font-size:16px;color:var(--text);padding-bottom:40px}
  .acc-punti li{display:flex;gap:12px;align-items:baseline}
  .acc-punti li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translateY(-1px)}
  .acc-studio{display:block;font-size:13.5px;color:var(--muted)}
  .acc-lato{padding:40px clamp(32px,5vw,72px);align-content:center;gap:20px}
  .acc-card{max-width:440px;width:100%;justify-self:center;padding:36px 32px;border-radius:28px}
  .acc-piede{max-width:440px;justify-self:center}
  .acc h2{font-size:26px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
