.login-page{background:var(--surface)}.login-layout{display:grid;grid-template-columns:46% 54%;min-height:100dvh}.login-story{position:relative;overflow:hidden;background:linear-gradient(145deg,#076df1,#0865de 50%,#0759cc);color:white;padding:35px 44px;display:flex;flex-direction:column}.login-story:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(transparent,#0008,transparent);pointer-events:none}.login-story:after{content:"";width:600px;height:600px;position:absolute;right:-390px;top:12%;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff04;pointer-events:none}.login-brand{position:relative;display:flex;align-items:center;gap:13px;width:fit-content}.login-brand .brand-logo{width:61px;height:54px}.login-brand .brand-logo img{filter:none}.login-brand>span:last-child{font-size:20px;letter-spacing:-.5px;font-weight:650}.login-brand small{display:block;font-size:7px;letter-spacing:1.4px;font-weight:500;margin-top:6px;opacity:.65}.login-story-content{position:relative;z-index:1;max-width:470px;width:100%;margin:auto;padding:60px 0 44px}.login-story-tag{font-size:9px;letter-spacing:1.8px;display:flex;gap:8px;align-items:center;color:#d0e5ff;font-weight:550}.login-story-tag>span{width:5px;height:5px;background:#a8d8ff;box-shadow:0 0 0 4px #ffffff0f;border-radius:50%}.login-story h1{font-size:clamp(29px,3vw,44px);line-height:1.22;font-weight:600;letter-spacing:-1.6px;margin:21px 0 18px}.login-story-content>p{font-size:13px;line-height:1.85;color:#d0e4ff;margin:0}.login-story-features{display:flex;flex-wrap:wrap;gap:24px;margin-top:37px;font-size:9px;color:#c9e0ff}.login-story-features>span{display:flex;align-items:center;gap:7px}.login-story-features svg{width:14px;height:14px;color:#c9e0ff}.login-story-footer{position:relative;font-size:9px;color:#acd0ff;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.login-story-footer>span{opacity:.75}.login-entry{display:flex;flex-direction:column;padding:32px 42px;min-width:0;background:var(--surface)}.login-entry-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.login-theme{border:var(--line-w,1px) solid var(--line);width:33px;height:33px;background:var(--surface)}.login-theme svg{width:17px;height:17px}.login-form-wrap{width:100%;max-width:365px;margin:auto;padding:64px 0 58px}.login-mobile-brand{display:none}.login-eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:600;color:var(--blue)}.login-entry h2{font-size:30px;font-weight:650;letter-spacing:-1px;line-height:1.3;margin:13px 0 11px}.login-lead{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 31px}.login-field{margin-bottom:20px}.login-field>label{display:block;font-size:11px;font-weight:550;margin-bottom:9px}.login-input-wrap{display:flex;align-items:center;border:var(--line-w,1px) solid var(--line);border-radius:7px;min-height:46px;background:var(--surface);gap:10px;padding:0 13px;transition:border-color .15s,box-shadow .15s}.login-input-wrap:focus-within{border-color:#84b9ff;box-shadow:0 0 0 3px #0876f910}.login-input-wrap>svg{width:16px;height:16px;color:#99a5b6;flex-shrink:0}.login-input-wrap>input{width:100%;min-width:0;font-size:12px;border:0;background:transparent;color:var(--text);padding:14px 0;outline:0!important}.login-input-wrap>input::placeholder{color:#a2adbc}.password-toggle{width:25px;height:30px;flex-shrink:0;display:grid;place-items:center;border:0;background:transparent;color:#8c9aad;border-radius:4px;padding:0}.password-toggle:hover{color:var(--blue)}.password-toggle svg{width:18px;height:18px}.login-caps{font-size:10px;color:#d78d34;display:block;margin-top:7px}.login-caps[hidden]{display:none}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 24px}.login-remember{display:flex;align-items:center;gap:8px;font-size:10px;color:#7c889b;cursor:pointer}.login-remember input{width:14px;height:14px;margin:0;accent-color:var(--blue);cursor:pointer}.login-forgot{color:var(--blue);font-size:10px;font-weight:500}.login-forgot:hover{text-decoration:underline}.login-submit{display:flex;align-items:center;justify-content:center;gap:14px;padding:13px 18px;width:100%;font-size:12px;color:#fff;background:var(--blue);border:1px solid var(--blue);border-radius:7px;box-shadow:0 3px 8px #0876f918;font-weight:550}.login-submit:hover{background:#0065dd}.login-submit:disabled{opacity:.7;cursor:wait}.login-submit svg{width:16px;height:16px}.login-password-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 0;font-size:9px;color:var(--muted);line-height:1.5}.login-password-note svg{width:12px;height:12px;flex-shrink:0}.login-help{border-top:var(--line-w,1px) solid var(--line);text-align:center;margin-top:29px;padding-top:24px;color:var(--muted)}.login-help>span{font-size:11px;color:var(--text);font-weight:500}.login-help p{font-size:10px;line-height:1.8;margin:6px 0 0}.login-entry-footer{padding:0;display:flex;justify-content:space-between;gap:16px;color:#9aa5b5;font-size:9px}.login-feedback{display:flex;gap:9px;padding:12px 13px;border:1px solid #f4cbd0;background:#fff3f4;color:#c75362;border-radius:7px;font-size:11px;line-height:1.65;margin-bottom:22px}.login-feedback svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.login-feedback-success{background:#ecf9f3;color:#188b67;border-color:#c7ebdc}.dark .login-feedback{background:#32202b;color:#ffadb7;border-color:#57303d}.dark .login-feedback-success{background:#18332c;color:#7ddabb;border-color:#275445}.dark .login-story{background:linear-gradient(145deg,#102d54,#102442 60%,#0c1c35)}.dark .login-remember{color:var(--muted)}.dark .login-entry-footer{color:var(--muted)}
@media(min-width:1600px){.login-story{padding:40px 56px}.login-story-content{max-width:510px}.login-story h1{font-size:48px}.login-entry{padding:40px 56px}.login-form-wrap{max-width:390px}.login-entry h2{font-size:33px}.login-input-wrap{min-height:49px}.login-submit{padding:15px 20px}}
@media(max-width:1000px){.login-layout{grid-template-columns:43% 57%}.login-story{padding:27px}.login-story h1{font-size:30px;letter-spacing:-1px}.login-entry{padding:27px 32px}.login-story-content>p{font-size:11px}.login-brand>span:last-child{font-size:17px}.login-story-footer>span{display:none}.login-story-features{gap:12px;font-size:8px}.login-story-content{padding-top:45px}.login-entry h2{font-size:28px}}
@media(max-width:760px){.login-layout{display:block}.login-story{display:none}.login-entry{min-height:100dvh;padding:22px 25px}.login-form-wrap{max-width:390px;padding:40px 0}.login-mobile-brand{display:flex;margin-bottom:43px}.login-mobile-brand .brand-logo{width:51px;height:46px}.login-mobile-brand>span:last-child{font-size:19px}.login-eyebrow{font-size:8px}.login-entry h2{font-size:29px}.login-lead{font-size:11px}.login-entry-footer{font-size:8px}.login-entry-top{min-height:33px}}@media(max-height:760px) and (min-width:761px){.login-story-content{padding:25px 0}.login-story h1{font-size:32px;margin-top:15px}.login-story-features{margin-top:23px}.login-form-wrap{padding:30px 0}.login-mobile-brand{margin-bottom:25px}.login-entry{padding-top:24px;padding-bottom:24px}}
/* Foto sala VRC al posto dell'anteprima grafica */
.login-photo{position:relative;margin:42px 0 0;max-width:455px;aspect-ratio:16/11;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px #00205a55,0 0 0 1px #ffffff2a}
.login-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:scale(1.02)}
.login-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#031b45d9);pointer-events:none}
.login-photo figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#fff}
.login-photo figcaption small{flex-basis:100%;font-size:9.5px;font-weight:450;color:#c9e0ff;margin-left:14px}
.login-photo-dot{width:6px;height:6px;border-radius:50%;background:#5fe0b5;box-shadow:0 0 0 4px #5fe0b526}
.dark .login-photo{box-shadow:0 24px 60px #0008,0 0 0 1px #ffffff1f}
@media(min-width:1600px){.login-photo{max-width:490px}}@media(max-height:760px) and (min-width:761px){.login-photo{margin-top:24px;aspect-ratio:16/9}}
.login-entry-footer{align-items:center;flex-wrap:wrap}.login-entry-footer .footer-credit{font-size:9px;padding:6px 10px}.login-entry-footer .footer-credit img{height:20px}
.login-entry-top{justify-content:flex-end}
