/* Accessi UniCatena: identità a sinistra, modulo a destra. */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url('/studenti/fonts/dm-sans-latin-wght-normal.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url('/studenti/fonts/manrope-latin-wght-normal.woff2') format('woff2')}
html:has(body.auth-screen){min-height:100%;background:#14276f}
body.auth-screen{margin:0;min-height:100svh;display:flex;align-items:center;padding:48px 6vw;font:16px/1.6 "DM Sans",system-ui,sans-serif;color:#15245c;background:radial-gradient(ellipse at 0% 100%,#2558d455,transparent 55%),radial-gradient(ellipse at 100% 0%,#6635bc88,transparent 55%),#14276f;isolation:isolate}
body.auth-screen::before{content:"";position:fixed;inset:auto auto -230px -180px;width:680px;height:680px;border:85px solid #ffffff04;border-radius:50%;z-index:-1;pointer-events:none;background:none}
body.auth-screen::after{content:"";position:fixed;inset:-260px -190px auto auto;width:650px;height:650px;border:85px solid #ffffff04;border-radius:50%;z-index:-1;pointer-events:none}
body.auth-screen .auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center;gap:clamp(48px,8vw,160px);width:100%;max-width:1420px;margin:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.auth-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;color:#fff;text-decoration:none;min-width:0}
.auth-brand:hover{text-decoration:none;color:#fff}.auth-brand img{display:block;width:min(100%,calc(490px * var(--brand-scale,1)));height:auto;max-height:calc(200px * var(--brand-scale,1));object-fit:contain;object-position:left center}.auth-brand span{font-size:15px;letter-spacing:.08em;color:#dce4ff;margin-left:8px}
.auth-form-area{min-width:0}
body.auth-screen .login,body.auth-screen .student-login{width:100%;max-width:none;margin:0;padding:48px 50px;background:#fff;border:1px solid #ffffff55;border-radius:18px;box-shadow:0 25px 80px #07133135;color:#15245c;position:relative;overflow:hidden}
body.auth-screen .login::before,body.auth-screen .student-login::before{content:none;display:none}
body.auth-screen .guest-logo,body.auth-screen .student-logo{display:none}
body.auth-screen .student-login>a:first-child{display:none}
body.auth-screen h1{font-family:Manrope,system-ui,sans-serif;font-size:25px;line-height:1.3;letter-spacing:-.02em;text-align:left;margin:0 0 22px;font-weight:800;color:#15245c}
body.auth-screen p{font-size:14px;color:#56657f;margin:0 0 22px}
body.auth-screen form{margin-top:24px}
body.auth-screen label{display:block;margin:0 0 22px;font-size:14px;font-weight:700;color:#344369}
body.auth-screen input{display:block;box-sizing:border-box;width:100%;min-height:48px;margin-top:7px;padding:11px 14px;border:1px solid #dbe1ef;border-radius:10px;background:#f9faff;color:#15245c;font:16px "DM Sans",system-ui,sans-serif}
body.auth-screen input:focus-visible{outline:2px solid #2558d4;outline-offset:2px}
body.auth-screen button.primary,body.auth-screen .student-login button{width:100%;min-height:48px;margin:6px 0 22px;padding:12px 20px;border:0;border-radius:10px;background:#14276f;color:#fff;font:700 15px "DM Sans",system-ui,sans-serif;cursor:pointer}
body.auth-screen button:hover{background:#2558d4}
body.auth-screen .login a,body.auth-screen .student-login a{color:#2558d4;font-size:14px}
body.auth-screen .hint,body.auth-screen .student-help{font-size:13px;line-height:1.65}
body.auth-screen .student-error,body.auth-screen .flash-error{padding:14px;border:1px solid #f2c2c7;background:#fff1f2;color:#9a1e32;border-radius:10px}
body.auth-screen .flash{margin-bottom:18px}
@media(min-width:1500px){body.auth-screen .login,body.auth-screen .student-login{padding:50px 54px;min-height:420px}}
@media(max-width:850px){body.auth-screen{padding:16px 24px 36px;align-items:flex-start}body.auth-screen .auth-shell{grid-template-columns:minmax(0,1fr);gap:24px;max-width:520px;margin:0 auto}.auth-brand{align-items:center;gap:12px}.auth-brand img{width:min(100%,calc(280px * var(--brand-scale,1)));max-height:calc(110px * var(--brand-scale,1));object-position:center}.auth-brand span{font-size:13px;margin:0}body.auth-screen .login,body.auth-screen .student-login{padding:32px 28px;border-radius:16px}body.auth-screen h1{font-size:23px}}
@media(max-width:380px){body.auth-screen{padding:12px 16px 28px}body.auth-screen .login,body.auth-screen .student-login{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){body.auth-screen *{scroll-behavior:auto}}

/* Scelta riservata del recupero credenziali. */
body.auth-screen .auth-recovery-options{display:grid;gap:16px;margin:56px 0 64px}
body.auth-screen a.auth-recovery-button{display:block;width:100%;box-sizing:border-box;padding:12px 20px;border-radius:10px;background:#14276f;color:#fff;text-align:center;text-decoration:none;font-weight:700;line-height:1.6}
body.auth-screen a.auth-recovery-button:hover{background:#2558d4}
body.auth-screen a.auth-recovery-button:focus-visible{outline:2px solid #2558d4;outline-offset:3px}
body.auth-screen p.auth-back{text-align:left;margin:28px 0 12px}

body.auth-screen button:disabled{opacity:.55;cursor:not-allowed}
body.auth-screen button:disabled:hover{background:#14276f}
/* Conferma richiesta recupero, condivisa fra studenti e gestione. */
body.auth-screen .auth-email-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:270px;padding:16px 0;text-align:center}
body.auth-screen .auth-email-icon{--email-icon-bg:#2558d4;display:grid;place-items:center;flex:none;width:82px;height:82px;margin:0 0 24px;border-radius:50%;background:var(--email-icon-bg);color:#fff;box-shadow:0 0 0 10px #eaf0ff,0 12px 30px #2558d422}
body.auth-screen .auth-email-confirmation h1{text-align:center;margin:0 0 18px;font-size:25px}
body.auth-screen .auth-email-confirmation p{max-width:390px;margin:0 0 16px}
body.auth-screen .auth-email-confirmation p:last-child{margin-bottom:0}
@media(max-width:380px){body.auth-screen .auth-email-confirmation{min-height:250px}body.auth-screen .auth-email-confirmation h1{font-size:22px}}

body.auth-screen h1.auth-login-title{text-align:center}

.auth-brand.auth-brand-admin{align-items:center;text-align:center}
.auth-brand.auth-brand-admin img{object-position:center}
.auth-brand.auth-brand-admin span{margin-left:0;text-align:center}

/* Telefono: piu spazio tra il logo e il riquadro delle credenziali (gestione e studenti). */
@media(max-width:850px){body.auth-screen{padding-top:32px}body.auth-screen .auth-shell{gap:44px}body.auth-screen .auth-brand{padding-top:8px}}
