:root{--brand-green:#2f7a4a;--brand-blue:#1f5fa7;--light-gray:#f3f5f6;--white:#fff;--hero-content-max:44rem;--hero-spacing:clamp(.6rem, 1.5vw, 1.25rem)}body{background:var(--light-gray);margin:0}a{text-decoration:none}.home-shell{min-height:100svh}.hero-card{isolation:isolate;background-color:#2b6f78;background-image:url(/assets/sfondo-BJqkC4R6.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;min-height:100svh;position:relative;overflow:hidden}.hero-layout{z-index:2;width:min(100%,1980px);min-height:100svh;padding-inline:var(--hero-spacing);column-gap:var(--hero-spacing);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-inline:auto;display:grid;position:relative}.hero-left{min-height:100svh;position:relative}.hero-right{flex-direction:column;align-items:center;min-height:100svh;padding:clamp(.8rem,2.2vw,1.5rem) clamp(.7rem,2vw,1.25rem);display:flex;position:relative}.hero-logo-mobile-top,.hero-animals-mobile{display:none}.hero-right-panel{width:min(92%, var(--hero-content-max));background:#fff3;border:1px solid #ffffff94;border-radius:1.45rem;flex-direction:column;min-height:calc(100svh - clamp(1.6rem,4.4vw,3rem));padding:clamp(.55rem,1.6vw,.95rem);display:flex;position:relative;box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #ffffff38,0 26px 54px #0016342e}.hero-right-panel:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(110% 62% at 12% 2%,#ffffff6b 0%,#0000 62%),radial-gradient(84% 48% at 90% 98%,#a7d08c1a 0%,#0000 72%);position:absolute;inset:0}.hero-right-panel>*{z-index:1;position:relative}.hero-logo{width:min(92%, var(--hero-content-max));height:auto;position:absolute;top:clamp(1.2rem,3.5vw,2.6rem);left:50%;transform:translate(-50%)}.hero-animals{width:min(92%, var(--hero-content-max));height:auto;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.hero-topstrip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff61;border:1px solid #ffffff61;border-radius:999px;justify-content:space-between;align-items:center;gap:.7rem;min-height:3.2rem;padding:clamp(.4rem,1.2vw,.7rem) clamp(.55rem,1.4vw,.9rem);display:flex;position:relative}.hero-cta{background:#ffffffe6;border:1px solid #ffffffb8;border-radius:1.1rem;margin-top:clamp(.7rem,1.9vw,1.2rem);padding:clamp(.95rem,2.2vw,1.5rem)}.hero-login-panel{-webkit-backdrop-filter:blur(9px)saturate(120%);backdrop-filter:blur(9px)saturate(120%);background:linear-gradient(170deg,#ffffffd1 0%,#ffffff9e 100%);border:1px solid #ffffffb8;border-radius:1.25rem;flex-direction:column;gap:.8rem;margin-top:clamp(.7rem,1.9vw,1.2rem);padding:clamp(1rem,2vw,1.45rem);display:flex;box-shadow:inset 0 1px #ffffffc2,0 18px 32px #071c3e29}.hero-login-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.hero-login-title{color:var(--brand-green);margin:0;font-size:clamp(1.28rem,2vw,1.8rem);line-height:1.15}.hero-login-subtitle{color:var(--text-main);margin:0;font-size:clamp(.94rem,1.25vw,1.08rem);line-height:1.45}.hero-login-form{gap:.65rem;display:grid}.hero-login-field{gap:.28rem;display:grid}.hero-login-field span{color:#29435e;font-size:clamp(.97rem,1.1vw,1.05rem);font-weight:800}.hero-login-field input{background:#fff;border:1px solid #cfd8dc;border-radius:10px;outline:none;width:100%;height:44px;padding:0 12px;font-size:.98rem}.hero-login-field input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1f5fa724}.hero-login-action{cursor:pointer;border:2px solid #0000;border-radius:999px;min-height:3rem;margin-top:.2rem;font-size:clamp(1.02rem,1.16vw,1.16rem);font-weight:800}.hero-login-action:disabled,.hero-login-social-btn:disabled,.hero-role-card:disabled{opacity:.65;cursor:not-allowed}.hero-login-primary{background:var(--brand-green);color:#fff;justify-content:center;align-items:center;gap:.55rem;display:inline-flex;box-shadow:0 14px 24px #2f7a4a3d}.hero-login-button-spinner{border:2px solid #ffffff61;border-top-color:#fff;border-radius:50%;flex:none;width:1rem;height:1rem;animation:.75s linear infinite hero-login-button-spin}@keyframes hero-login-button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.hero-login-button-spinner{animation-duration:1.5s}}.hero-login-submit-row{align-items:center;gap:.85rem;margin-top:.2rem;display:flex}.hero-login-submit-row .hero-login-action{min-width:min(12rem,48%);margin-top:0;padding-inline:1.25rem}.hero-forgot-password-link{color:var(--brand-blue);text-underline-offset:.22em;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:.4rem .2rem;font-size:clamp(.92rem,1vw,1rem);font-weight:850;text-decoration:underline;text-decoration-thickness:2px}.hero-forgot-password-link:disabled{opacity:.6;cursor:not-allowed}.hero-login-divider{color:#4b5d70;align-items:center;font-size:.88rem;font-weight:700;display:flex}.hero-login-divider:before,.hero-login-divider:after{content:"";background:#1f5fa73d;flex:1;height:1px}.hero-login-divider span{padding:0 .7rem}.hero-login-socials{gap:.58rem;display:grid}.hero-login-social-btn{color:#26496d;cursor:pointer;background:#fffffff0;border:1px solid #1f5fa761;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.9rem;font-size:clamp(1rem,1.04vw,1.08rem);font-weight:700;display:inline-flex}.hero-login-social-btn .social-icon{flex:none;width:20px;height:20px;display:block}.hero-login-back{min-height:2.35rem;color:var(--brand-blue);cursor:pointer;background:#ffffffdb;border:1px solid #1f5fa757;border-radius:999px;padding:.42rem .95rem;font-weight:800}.hero-role-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.hero-role-card{text-align:left;color:#23405c;cursor:pointer;background:linear-gradient(#fffffff5 0%,#f3f5f6e0 100%);border:1px solid #1f5fa738;border-radius:1rem;gap:.35rem;min-height:7.2rem;padding:1rem;display:grid;box-shadow:0 14px 26px #071c3e1a}.hero-role-card strong{color:var(--brand-green);font-size:1.02rem}.hero-role-card span{font-size:.94rem;line-height:1.45}.hero-login-status{margin:.15rem 0 0;font-size:.93rem;font-weight:700}.hero-login-status.is-error{color:#b42318}.hero-login-status.is-success{color:var(--brand-green)}.hero-kicker{letter-spacing:.09em;color:var(--brand-blue);margin:0;font-size:clamp(.74rem,1vw,.82rem);font-weight:800}.hero-title{color:var(--brand-green);margin:clamp(.55rem,1.5vw,.85rem) 0 0;font-size:clamp(2rem,4.4vw,3.4rem);font-weight:700;line-height:1.05}.hero-subtitle{color:#2e3a44;margin:clamp(.7rem,1.5vw,.95rem) 0 0;font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.4}.hero-cta-actions{flex-wrap:wrap;gap:.65rem;margin-top:clamp(.95rem,2vw,1.35rem);display:flex}.cta-btn{border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.66rem 1.25rem;font-size:clamp(.95rem,1.2vw,1.1rem);font-weight:800;display:inline-flex}.cta-primary{color:var(--white);background:var(--brand-green);box-shadow:0 12px 24px #2f7a4a3d}.hero-legal{color:#192e49d9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-top:auto;padding:.85rem .35rem .15rem;font-size:.82rem;display:flex}.hero-privacy-link{color:var(--brand-blue);border-bottom:1px solid #1f5fa773;font-weight:700}.email-link{color:var(--brand-blue);overflow-wrap:anywhere;font-size:clamp(.86rem,1.45vw,1rem);font-weight:800}.top-actions{align-items:center;gap:.45rem;display:inline-flex}.user-initial-badge{width:2.55rem;height:2.55rem;color:var(--white);background:linear-gradient(135deg,#2f7a4af5 0%,#1f5fa7f5 100%);border:1px solid #fff9;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:inline-flex;box-shadow:0 12px 20px #10315633}.action{border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.54rem .98rem;font-size:.9rem;font-weight:700;transition:transform .14s,box-shadow .18s;display:inline-flex}.action:hover{transform:translateY(-1px)}.action.solid{color:var(--white);background:var(--brand-green);box-shadow:0 10px 18px #2f7a4a47}.action.ghost{color:var(--brand-blue);cursor:pointer;background:#ffffffe6;border-color:#1f5fa780}.info-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#091a317a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.info-modal{background:#fffffff5;border:1px solid #ffffffa3;border-radius:1rem;width:min(100%,34rem);padding:1rem;box-shadow:0 24px 40px #01143647}.forgot-password-modal{width:min(100%,29rem)}.temporary-password-modal{gap:.85rem;width:min(100%,43rem);display:grid}.info-modal-title{color:#184a7f;margin:0;font-size:1.35rem}.info-modal-subtitle{color:#364656;margin:.4rem 0 0;font-size:.95rem}.info-modal-form{gap:.62rem;margin-top:.85rem;display:grid}.temporary-password-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.temporary-password-rules{background:linear-gradient(#ffffffeb 0%,#f3f5f6c7 100%);border:1px solid #1f5fa724;border-radius:1rem;gap:.65rem;padding:1rem;display:grid}.temporary-password-rules strong{color:#29435e;font-size:.98rem}.temporary-password-rule-list{flex-wrap:wrap;gap:.45rem;display:flex}.temporary-password-rule{color:#29435e;background:#ffffffd1;border:1px solid #cbd5e1;border-radius:999px;padding:.34rem .64rem;font-size:.9rem;font-weight:850}.temporary-password-rule.is-valid{color:#147238;background:#2f7a4a1f;border-color:#2f7a4a59}.temporary-password-rule.is-invalid{color:#b42318;background:#b423181a;border-color:#b4231852}.temporary-password-mismatch{color:#b42318;margin:0;font-size:.92rem;font-weight:800}.info-field{gap:.28rem;display:grid}.info-field span{color:#2a3d51;font-size:.9rem;font-weight:700}.info-field input,.info-field textarea{width:100%;font:inherit;color:#1f2f41;background:#fff;border:1px solid #1f5fa759;border-radius:.65rem;padding:.62rem .72rem}.info-field textarea{resize:none}.info-required-note{color:#4b5a69;margin:.2rem 0 0;font-size:.84rem}.info-modal-actions{justify-content:flex-end;gap:.55rem;margin-top:.35rem;display:flex}.info-btn{cursor:pointer;border:2px solid #0000;border-radius:999px;min-height:2.65rem;padding:.4rem 1rem;font-size:.92rem;font-weight:800}.info-btn:disabled{opacity:.62;cursor:not-allowed}.info-btn-cancel{color:var(--brand-blue);background:#fff;border-color:#1f5fa773}.info-btn-submit{color:#fff;background:var(--brand-green);box-shadow:0 10px 18px #2f7a4a3d}.info-toast{z-index:9999;right:1rem;top:max(1rem, env(safe-area-inset-top));color:#fff;pointer-events:none;border-radius:.8rem;min-width:min(90vw,22rem);max-width:min(90vw,26rem);padding:.75rem .9rem;font-weight:700;position:fixed;box-shadow:0 15px 30px #07162d4d}.info-toast.is-error{color:#fff;background:linear-gradient(135deg,#c63b32 0%,#a02318 100%)}.info-toast.is-success{color:#fff;background:linear-gradient(135deg,#2f7a4a 0%,#1f5fa7 100%)}@media (width<=1024px){.hero-layout{grid-template-rows:auto;grid-template-columns:1fr}.hero-left,.hero-right{min-height:0}.hero-right{gap:0;width:min(100%,48rem);margin-inline:auto;padding:.55rem}.hero-right-panel{border-radius:1rem;width:100%;max-width:none;min-height:0;padding:.5rem}.hero-logo-mobile-top{width:min(100%,44rem);height:auto;margin-inline:auto;display:block}.hero-logo,.hero-animals{display:none}.hero-animals-mobile{z-index:2;width:min(96%,31rem);height:auto;margin:clamp(.75rem,2vw,1.1rem) auto;display:block;position:relative}.hero-left{display:none}.hero-topstrip{border-radius:1rem;flex-direction:column;align-items:stretch;gap:.5rem;min-height:0}.top-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.action{width:100%}.hero-cta,.hero-login-panel{padding:.9rem}.hero-title{font-size:clamp(1.65rem,8.5vw,2.15rem)}.hero-cta-actions{grid-template-columns:1fr;gap:.55rem;display:grid}.hero-login-socials{grid-template-columns:1fr}.hero-login-head{flex-direction:column;align-items:flex-start}.hero-login-submit-row{flex-direction:column;align-items:stretch;gap:.45rem}.hero-login-submit-row .hero-login-action{width:100%}.hero-forgot-password-link{align-self:center}.hero-role-picker{grid-template-columns:1fr}.cta-btn,.hero-login-action,.hero-login-social-btn{width:100%}.hero-legal{padding-top:.75rem;font-size:.78rem}.info-modal{padding:.8rem}.info-modal-actions{grid-template-columns:1fr;display:grid}.temporary-password-grid{grid-template-columns:1fr}.info-btn{width:100%}}
