/* Tenant login shell: shared by sign-in, registration, password recovery and activation. */
body.login-page {isolation:isolate;--login-accent:#397fa7;--login-ink:#30485b;--login-card-y:clamp(14px,calc(4vh - 10px),28px);--login-logo-height:clamp(52px,9vh,76px);--login-section-gap:clamp(11px,calc(3vh - 7px),20px);--login-field-gap:clamp(9px,1.7vh,15px);--login-label-gap:clamp(4px,.8vh,7px);margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:#263d49;color:var(--login-ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}
.login-page *,.login-page *:before,.login-page *:after {box-sizing:border-box}
.login-page [hidden] {display:none!important}
.login-background,.login-shade {position:fixed;inset:0;pointer-events:none}
.login-background {z-index:-2;background:radial-gradient(ellipse at 25% 15%,#496570,#203541 80%)}
.login-background-slide {position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}
.login-background-slide.is-visible {opacity:1}
.login-shade {z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.72) 20%,rgba(0,0,0,.50) 40%,rgba(0,0,0,.28) 65%,rgba(0,0,0,.20) 100%)}
.login-page .login-header {display:flex;justify-content:flex-end;align-items:center;min-height:clamp(40px,7vh,64px);padding:clamp(5px,1.3vh,13px) 5vw;position:relative;z-index:5;flex:0 0 auto}
.login-platform-logo {display:block;width:clamp(130px,20vh,170px);height:clamp(30px,4.5vh,38px);object-fit:cover;object-position:center;margin-right:auto;flex-shrink:0}
.login-page #language_selector {width:auto;margin:0;background:none;padding:0;height:auto}
.login-language {position:relative;color:#30485b;font-size:13px}
.login-language summary {display:flex;align-items:center;gap:9px;min-height:40px;padding:8px 12px;border:1px solid #dce5eb;border-radius:6px;background:#fff;box-shadow:0 2px 10px #0002;font-weight:600;list-style:none;cursor:pointer}
.login-language summary::-webkit-details-marker {display:none}
.login-language summary:hover,.login-language[open] summary {background:#edf5fa}
.login-language-flag {display:block;flex:0 0 20px;width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #30485b26}
.login-language summary .fa-angle-down {font-size:12px;margin-left:2px}
.login-language-options {position:absolute;right:0;top:calc(100% + 7px);width:175px;padding:5px;background:#fff;border:1px solid #dce5eb;border-radius:7px;box-shadow:0 9px 28px #172a3940;color:#405d72}
.login-language-options button {display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:9px 11px;border:0;border-radius:4px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.login-language-options .fa-check {margin-left:auto}
.login-language-options button:hover,.login-language-options button[aria-current=true] {background:#edf5fa;color:var(--login-accent)}
.login-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:center;gap:clamp(36px,7vw,110px);width:100%;flex:1 0 auto;padding:12px 8vw 20px;margin:auto;position:relative;min-height:0}
.login-visual {grid-column:1;align-self:end;min-width:0;padding-bottom:10px}
.login-copy {color:#fff;max-width:490px;text-align:left;text-shadow:0 2px 18px #0003}
.login-copy-name {display:block;font-size:10px;line-height:1.5;font-weight:600;letter-spacing:1.8px;margin-bottom:18px;overflow-wrap:anywhere}
.login-copy h1 {font-family:Georgia,serif;font-size:clamp(26px,2.6vw,36px);line-height:1.18;font-weight:400;letter-spacing:-.5px;color:inherit;margin:0 0 20px;overflow-wrap:anywhere}
.login-copy p {margin:0;font-size:14px;line-height:1.8;color:#fffffff0;overflow-wrap:anywhere}
.login-card-stack {grid-column:2;min-width:0;width:100%}
.login-page .div_login_register {display:none;position:relative;inset:auto;width:100%;max-width:none;margin:0;padding:var(--login-card-y) 30px;text-align:left;border:1px solid #ffffffa0;border-radius:11px;background:#fffffff7;box-shadow:0 20px 70px #17231c20;opacity:1!important;z-index:auto!important}
.login-page .div_login_register.is-active {display:block}
.login-page .logo_form {display:block;width:auto;max-width:100%;height:auto;max-height:var(--login-logo-height);object-fit:contain;object-position:left center;margin:0 0 clamp(7px,1.2vh,12px)!important}
.login-tenant-name {color:#536d80;font-size:14px;line-height:1.4;font-weight:600;letter-spacing:.4px;overflow-wrap:anywhere}
.login-description {margin:5px 0 0;font-size:12px;line-height:1.6;color:#8294a1;overflow-wrap:anywhere}
.login-page .div_login_register h2,.login-page #titolo_login {margin:var(--login-section-gap) 0!important;color:#29475c;font-size:clamp(21px,2.8vh,26px);line-height:1.25;font-weight:600;letter-spacing:-.7px;overflow-wrap:anywhere}
.login-page .form_login_reg {width:100%;max-width:none;margin:0;padding:0}
.login-page .form-group {margin:0 0 var(--login-field-gap);position:relative}
.login-page .form-group>label {display:block;margin:0 0 var(--login-label-gap);color:#526c80;font-size:12px;font-weight:600;line-height:1.4}
.login-page .form-control {display:block;width:100%;height:44px;border:1px solid #d9e3eb;border-radius:6px;background:#fff;box-shadow:none;color:#344f63;font:inherit;font-size:14px;padding:11px 13px;outline:0}
.login-page .form-control:focus {border-color:#77a5bf;box-shadow:0 0 0 3px #609dbd16}
.login-page .form-control::placeholder {color:#a0adb8}
.login-page .form_control_margin {margin-top:0}
.login-page .login-password .form-control {padding-right:43px}
.login-page .login-password-toggle {position:absolute;right:1px;bottom:1px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:0 6px 6px 0;background:transparent;color:#849baa;cursor:pointer;padding:0}
.login-page .login-password-toggle:hover {color:var(--login-accent);background:#f2f7fa}
.login-page .login-password .form-control-feedback {right:40px;top:27px;font-size:11px;pointer-events:none}
.login-page .has-error .form-control {border-color:#cf8175;background:#fffaf8}
.login-page .has-success .form-control {border-color:#91bfa5}
.login-options {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:1px 0 var(--login-section-gap);font-size:11px;line-height:1.5}
.login-page .login-remember {display:flex;align-items:center;gap:7px;margin:0;color:#7a8f9f;font-weight:400;font-size:11px;cursor:pointer}
.login-remember input {width:15px;height:15px;margin:0;accent-color:var(--login-accent);cursor:pointer}
.login-page a {color:#397fa7}
.login-page a:hover {color:#2a6385}
.login-page .form_login_reg>.btn-primary {display:flex;align-items:center;justify-content:center;gap:15px;width:100%;min-height:44px;margin:5px 0 0;padding:10px 13px;border:1px solid #34789e;border-radius:6px;background:var(--login-accent);color:#fff;font:inherit;font-size:13px;font-weight:600;line-height:1.5;white-space:normal;box-shadow:none}
.login-page .form_login_reg>.btn-primary:hover {background:#306e92}
.login-page .form_login_reg>.btn-primary .fa {font-size:12px}
.login-page .cambia_form_div {margin:var(--login-field-gap) 0 0;padding:0;border:0;background:none;text-align:center;font-size:12px;line-height:1.6;color:#8f9fac}
.login-page .cambia_form_div a {font-weight:600}
.login-registration a {margin-left:4px}
.login-page .social_div {padding:20px 0 0}
.login-page .social_img {width:36px;height:36px;margin:0 6px 0 0;object-fit:contain}
.login-page #loading_login {display:none;position:absolute;inset:0;border-radius:10px;background:#ffffffc9;z-index:10!important;opacity:1;align-items:center;justify-content:center;text-align:center;color:var(--login-accent);font-size:24px;padding-top:48%}
.login-activation-user {font-size:13px;line-height:1.6;color:#516b7f;overflow-wrap:anywhere}
.login-activation-user small {display:block;font-size:12px;color:#8a9caa}
.login-form-help {font-size:12px;line-height:1.6;color:#7f93a2;margin-bottom:20px}
.login-footer {flex:0 0 auto;text-align:center;padding:clamp(7px,1.4vh,14px) 20px;font-size:10px;color:#e4ecef;text-shadow:0 1px 5px #0008;line-height:1.5;position:relative}
.login-page .alertify .ajs-dialog {border-radius:9px;box-shadow:0 12px 55px #142c4230;font-family:inherit;max-width:calc(100vw - 30px)}
.login-page .alertify .ajs-header {border-radius:9px 9px 0 0;background:#f3f7fa;color:#304e64;font-size:16px}
.login-page .alertify .ajs-footer {background:#fbfcfd;border-radius:0 0 9px 9px;border-top-color:#e0e8ef}
.login-page .alertify .ajs-footer .ajs-buttons .ajs-button {border-radius:5px;box-shadow:none}
.login-page button:focus-visible,.login-page a:focus-visible,.login-page summary:focus-visible {outline:2px solid #8dbbd4;outline-offset:3px}
@media(max-width:767px){
    .login-platform-logo {width:140px;height:32px}
    .login-page .login-header {min-height:clamp(40px,7vh,54px);padding:clamp(5px,1.2vh,10px) 18px}
    .login-layout {display:flex;flex-direction:column;align-items:center;gap:19px;padding:12px 18px;flex:1 0 auto}
    .login-visual {order:2;align-self:center;width:100%;max-width:420px;padding:0}
    .login-visual:not(:has(.login-copy)) {display:none}
    .login-copy-name {font-size:9px;letter-spacing:1.4px;margin-bottom:10px}
    .login-copy h1 {font-size:25px;margin-bottom:12px;line-height:1.2}
    .login-copy p {font-size:13px;line-height:1.7}
    .login-card-stack {order:1;width:100%;max-width:420px}
    .login-page .div_login_register {padding:min(24px,var(--login-card-y)) 23px;border-radius:9px}
    .login-page .div_login_register h2,.login-page #titolo_login {font-size:clamp(21px,2.8vh,24px);margin:var(--login-section-gap) 0!important}
    .login-page .logo_form {max-height:min(68px,var(--login-logo-height))}
    .login-page .form-control {font-size:16px}
    .login-page .login-options {font-size:10px;gap:9px}
    .login-page .login-remember {font-size:11px}
    .login-page .login-footer {padding:clamp(7px,1.4vh,14px) 18px;font-size:9px}
}
@media(max-width:359px){.login-page .div_login_register {padding:min(21px,var(--login-card-y)) 18px}.login-page .login-options {align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.login-background-slide {transition:none}}
.login-page .alertify .ajs-footer .ajs-buttons .ajs-ok {background:#397fa7;border:1px solid #34789e;color:#fff}
.login-page .alertify .ajs-footer .ajs-buttons .ajs-cancel {background:#fff;border:1px solid #cbd8e3;color:#45657c}
