/* Login coerente con Assessment NIS2 GruppoVPM. Solo presentazione. */
body.access-page{background:radial-gradient(ellipse at 12% 8%,#eaf2e0 0,transparent 43%),#f5f7f3}
.access-page .brand-band{height:6px}
.main.access-main{max-width:none;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:64px 24px;gap:18px}
.access-main>.notice{width:min(1272px,100%);margin:0}
.access-shell{display:grid;grid-template-columns:46% 54%;width:min(1272px,100%);background:#fff;border:1px solid #dbe4d4;border-radius:28px;overflow:hidden;box-shadow:0 24px 55px #243b1910}
.login-visual{position:relative;isolation:isolate;background:linear-gradient(145deg,#263e1c 0%,#40591a 45%,#5e7d12 100%);color:#f5f9ed;padding:50px 52px;overflow:hidden}
.login-visual::after{content:"";position:absolute;z-index:-1;width:400px;height:400px;right:-180px;bottom:-210px;border:1px solid #bfd07655;border-radius:50%;box-shadow:0 0 0 41px #b7c86819,0 0 0 83px #b7c86816,0 0 0 126px #b7c86812}
.login-brand{display:block;width:170px;max-width:65%;height:auto;filter:brightness(0) invert(1);margin:0 0 68px}
.login-kicker{font-size:12px;line-height:1.5;font-weight:800;letter-spacing:.14em;color:#dce7c7;margin:0 0 16px}
.login-intro h1{font-size:44px;line-height:1.12;letter-spacing:-1.8px;color:#fff;margin:0 0 24px;font-weight:750;max-width:480px}
.login-description{font-size:18px;line-height:1.55;margin:0;color:#f0f5e5;max-width:490px}
.login-steps{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-direction:column;gap:19px}
.login-steps li{display:flex;align-items:flex-start;gap:14px}
.step-number{width:31px;height:31px;border:1px solid #dce6b678;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;line-height:1;font-weight:700;margin-top:1px}
.login-steps strong{font-size:15px;font-weight:750;line-height:1.5;color:#eef4df}
.login-steps p{font-size:13px;line-height:1.5;color:#eef4df;margin:1px 0 0}
.login-form-panel{padding:50px 54px;align-self:center;min-width:0}
.login-form-panel h2{font-size:34px;letter-spacing:-1.2px;line-height:1.2;font-weight:750;margin:0 0 11px}
.login-subtitle{font-size:16px;line-height:1.55;color:#6b7a63;margin:0 0 26px}
.login-form label{font-size:14px;line-height:1.5;font-weight:750;color:#253333;margin:22px 0 7px}
.login-form .field{height:57px;border:1px solid #c9d8c0;border-radius:11px;padding:14px 16px;font-size:16px;line-height:1.5;margin:0;box-shadow:inset 0 1px 2px #25333303}
.login-form .field::placeholder{color:#84908e;opacity:1}
.password-field{position:relative}
.password-field .field{padding-right:105px}
.password-toggle,.password-toggle:hover{position:absolute;right:9px;top:8px;border:0;border-radius:6px;background:transparent;color:#46630b;padding:9px;min-height:39px;font-size:13px;font-weight:550;line-height:1.3;box-shadow:none}
.password-toggle:hover{background:#f0f5e8}
.password-toggle[hidden]{display:none!important}
.login-recovery{text-align:right;margin:10px 0 0;font-size:12px}
.login-recovery a{color:#637553;text-decoration:none}
.login-recovery a:hover{text-decoration:underline}
.login-submit{display:flex;width:100%;gap:12px;align-items:center;justify-content:center;min-height:59px;margin:26px 0 0;border-radius:12px;background:#536f0f;border:1px solid #536f0f;box-shadow:0 7px 16px #4f68152b;font-size:14px;font-weight:650;padding:15px 18px}
.login-submit:hover{background:#435c0b;border-color:#435c0b}
.login-submit span:last-child{font-size:19px;line-height:1}
.login-register{font-size:13px;line-height:1.6;text-align:center;color:#6b7a63;margin:25px 0 0}
.login-register a{font-weight:750;color:#46630b}
.login-admin{font-size:12px;line-height:1.7;text-align:center;color:#6b7a63;margin:14px 0 0}
.login-admin a{color:#536f0f;font-weight:750;text-decoration:none}
.login-admin a:hover{text-decoration:underline}
.login-assurance{border-top:1px solid #dbe5d4;margin:28px 0 0;padding:22px 0 0;display:flex;gap:11px;align-items:flex-start}
.login-assurance svg{width:19px;height:21px;flex-shrink:0;fill:none;stroke:#5a740f;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;margin-top:2px}
.login-assurance p{font-size:12px;line-height:1.65;letter-spacing:.01em;color:#6b7a63;margin:0}
@media(min-width:1600px){.main.access-main{padding-top:90px;padding-bottom:90px}}
@media(max-width:1100px){.access-shell{grid-template-columns:44% 56%}.login-visual{padding:42px 34px}.login-form-panel{padding:44px 38px}.login-intro h1{font-size:37px;letter-spacing:-1.3px}.login-description{font-size:16px}.login-brand{margin-bottom:55px}.login-steps p{font-size:12px}.login-steps strong{font-size:14px}}
@media(max-width:760px){.main.access-main{padding:28px 16px;justify-content:flex-start}.access-shell{grid-template-columns:1fr;border-radius:22px;max-width:570px}.login-visual{padding:30px 28px}.login-brand{width:154px;margin-bottom:28px}.login-kicker{font-size:10px;margin-bottom:12px}.login-intro h1{font-size:33px;line-height:1.12;max-width:400px;margin-bottom:18px}.login-description{font-size:15px;line-height:1.55}.login-steps{gap:13px;margin-top:25px}.login-steps strong{font-size:13px}.login-steps p{font-size:12px}.step-number{width:27px;height:27px;font-size:12px}.login-form-panel{padding:32px 28px}.login-form-panel h2{font-size:29px}.login-subtitle{font-size:14px;margin-bottom:22px}.login-form .field{height:54px;font-size:16px}.login-submit{font-size:13px;min-height:55px}.login-admin{font-size:11px}.login-assurance{margin-top:24px;padding-top:20px}}
@media(max-width:360px){.main.access-main{padding-left:10px;padding-right:10px}.login-visual,.login-form-panel{padding-left:22px;padding-right:22px}.login-intro h1{font-size:30px}.login-submit{padding-left:10px;padding-right:10px;gap:8px}}
