.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 15%,#263b7355 0,transparent 30%),radial-gradient(circle at 85% 80%,#d4a84b22 0,transparent 28%),#090f1d;padding:24px}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;border:1px solid #ffffff12;border-radius:26px;overflow:hidden;box-shadow:0 35px 100px #0008;background:#0e1728}.login-visual{position:relative;min-height:560px;padding:55px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(155deg,#0b1425,#142341 58%,#0f1b31);color:#fff;overflow:hidden}.login-visual:after{content:"";position:absolute;width:410px;height:410px;border-radius:50%;border:2px solid #d4a84b55;top:-170px;right:-120px;box-shadow:0 0 0 34px #13c8e80a,0 0 0 68px #635bff0b}.login-visual h2{font-size:38px;line-height:1.08;margin:12px 0 18px;position:relative;z-index:2}.login-visual p{color:#9eacc5;position:relative;z-index:2}.login-orbit{position:absolute;left:55px;top:70px;width:190px;height:190px;border:14px solid #ffffff10;border-top-color:#13c8e899;border-right-color:#d4a84b88;border-radius:50%;transform:rotate(25deg)}.login-orbit span{position:absolute;height:6px;border-radius:9px;background:linear-gradient(90deg,#246bfe,#13c8e8);left:-38px;top:95px}.login-orbit span:nth-child(1){width:138px}.login-orbit span:nth-child(2){width:105px;top:122px}.login-orbit span:nth-child(3){width:74px;top:148px}.login-card{background:#fff;padding:54px 48px;display:flex;flex-direction:column;justify-content:center}.login-logo{width:72px;height:72px;border-radius:20px;box-shadow:0 16px 38px #246bfe28;margin-bottom:24px}.login-card h1{margin:7px 0 4px;font-size:31px}.login-card form{display:grid;gap:16px;margin-top:26px}.login-card label{display:grid;gap:8px;font-size:12px;font-weight:750}.login-card label small{font-weight:500;color:#99a1b0;margin-left:4px}.login-card input{width:100%;border:1px solid #d8dde7;border-radius:11px;padding:13px;font:inherit;outline:none}.login-card input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.login-card button{width:100%;margin-top:4px}.login-card #error{min-height:20px;margin:0;text-align:center;color:#dc2626;font-size:13px}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-card{padding:40px 26px}}

/* Isola il login dalla griglia generale della dashboard */
body.login-page{grid-template-columns:1fr!important;display:grid!important;width:100%!important;min-width:0!important}.login-page main.login-shell{width:min(980px,calc(100vw - 48px))!important;max-width:980px!important;margin:auto!important;padding:0!important;min-width:0!important}.login-page .login-card{min-width:0}.login-page .login-visual{min-width:0}.login-page .login-card button{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 72%,var(--secondary)))}

/* v19: password leggibile su richiesta */
.login-card .password-field{position:relative;display:block}.login-card .password-field input{padding-right:48px}.login-card .password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:34px;min-width:38px;padding:0;margin:0;border:0;border-radius:8px;background:transparent!important;color:#475467!important;box-shadow:none!important;font-size:17px;display:grid;place-items:center}.login-card .password-toggle:hover{background:#f2f4f7!important;transform:translateY(-50%)!important}
